Uitwerking van ons concept

Nu we de infrastructuur voor onze nieuwe applicatie op poten hebben, is het hoog tijd dat we beter nadenken over het soort site dat we eigenlijk willen. Normaal gesproken is dat natuurlijk de eerste stap bij het ontwikkelen van een nieuwe site; maar omdat we snel op weg willen met het Zend Framework, heb ik die uit didactische overwegingen wat naar achter geschoven. Totaal onverantwoord natuurlijk, maar in dit leerproces mogen we een steekje laten vallen. Luister eens, ik zou ook liever meteen in de code duiken, maar dat zou echt dom zijn.

Beschrijving in woorden

Een site over e-boeken en e-readers dus. Wat willen we? In ieder geval recensies lezen, van zowel boeken als readers. Die recensies gaan we niet allemaal zelf schrijven; geregistreerde gebruikers kunnen hun eigen recensies uploaden. Tegelijk willen we het voor uitgevers van e-boeken en producenten van e-readers gemakkelijk maken om hun nieuwe producten en boeken in te voeren – dan hoeven we dat allemaal niet zelf te doen.

Als er veel producten en recensies zijn, moet je die gemakkelijk kunnen terugvinden. Een zoekfunctie is daarom essentieel.

Het zou prettig zijn als die gebruikers zich werkelijk deel voelen van een gemeenschap. Kenmerken daarvan zijn onder andere dat het mogelijk moet zijn om contacten te leggen met je bestaande netwerken op Facebook, Twitter en Hyves; je moet je Outlook, Gmail en MSN-adressenlijst kunnen uitnodigen om een kijkje te komen nemen; en het moet gemakkelijk worden gemaakt om de onderlinge contacten op peil te houden door bijvoorbeeld een forum of zoiets dergelijks. Wie een recensie post, wil daar bovendien zijn relaties van op de hoogte te stellen; dus het zou fijn zijn als er meteen een berichtje op de Twitter-tijdlijn of de Facebook-wall van de gebruiker geplaatst kon worden. Ingelogde gebruikers kunnen reageren op nieuwsartikelen en recensies.

Natuurlijk moeten er mogelijkheden zijn om foto’s te uploaden, alsmede video’s van de apparaten. En er moet gelinkt kunnen worden naar webwinkels waarmee Elisio een affiliate account kan openen. Daarmee verdienen we ons geld – en er moeten advertenties geplaatst kunnen worden. Ook dat kan onderdeel zijn van ons verdienmodel.

Ten slotte moet er nieuws over nieuwe producten en boeken op de site geplaatst kunnen worden. Dat komt op onze voorpagina te staan, naast de nieuwste recensies, de hoogst gewaardeerde boeken en misschien nog wat andere widgets en snufjes.

Binnen het admin-gedeelte van de website, waarvoor de toegang vanzelfsprekend wordt beperkt tot een kleine categorie beheerders, moet beheer van recensies, producten, gebruikers en nieuws kunnen plaatsvinden. De administratie moet simpel en overzichtelijk zijn.

We willen veel gebruik maken van ajax-functies: de applicatie moet snel reageren op input van gebruikers. Dat betekent dat er behoorlijk wat javascript komt kijken bij de bouw. Zend Framework maakt standaard gebruik van Dojo, maar wij hebben veel meer ervaring met JQuery. Deze bibliotheek wordt, in mindere mate weliswaar, ook ondersteund door het Zend Framework.

Opbouw van de site

In het algemene sjabloon van de site, op elke pagina dus, moeten logo, navigatie, zoekbox en login-informatie duidelijk herkenbaar terugkeren. Dit zijn vaste onderdelen, net als overigens de plek waar we copyright informatie, de nodige disclaimers, en misschien wat informatie over de initiatiefnemer kwijt kunnen. Wie ingelogd is, ziet een welkomstboodschap staan, en misschien een linkje om zijn gebruikersinformatie te veranderen, alsmede een mogelijkheid om meteen een nieuwe recensie te schrijven. Als de gebruiker voldoende rechten heeft, komt er ook nog een linkje naar de beheersomgeving van de hele applicatie te staan.

We hebben natuurlijk de voorpagina, waarop de verschillende onderdelen van de site geƫtaleerd worden. Dat zijn dus de nieuwe producten, de nieuwe recensies, het nieuws uit e-readersland, en misschien nog wat saillante forumdiscussies. In de navigatie moet een link komen te staan naar de pagina met producten, die wellicht ondergebracht gaan worden in categorieƫn. Dat vraagt om een submenu. Hetzelfde geldt voor recensies. We hoeven niet het hele bibliotheeksysteem met zijn bibliografische nummering over te nemen, maar een kleine onderverdeling in bijvoorbeeld fictie, non-fictie, jeugd, studieboeken is misschien wel praktisch.

Als ik dan goed heb geteld, kom ik op vier paginasjablonen: de voorpagina zelf, een overzichtspagina waarop recensies en producten van een bepaalde categorie zichtbaar zijn, een productpagina waarop een product in detail wordt besproken, en een artikelpagina dat recensies en nieuwsartikelen bevat. Vanzelfsprekend zullen er nog meer moeten komen: een pagina met een contactformulier en nog wat andere statische pagina’s, maar je mag ervan uitgaan dat die sjablonen ‘vanzelf’ zullen volgen als eenmaal het raamwerk van de andere delen van de site vastligt.

OK, dit vormt een aardige samenvatting van onze wensen. Mooi moment om dit deel af te sluiten. In het volgende hoofdstuk gaan we, eindelijk, coderen. Dat wil zeggen: we gaan een begin maken met het aanpassen van het raamwerk zoals dat door het Zend Framework zelf is gebouwd. En we zullen zien welke taken de verschillende bestanden in het raamwerk voor hun rekening nemen.

One Comment

Comments are closed.