Ontwerptechnieken: Use Cases
Voor het IAM vak ontwerptechnieken moeten we use cases schrijven. Omdat een aantal mensen hier toch wat vraagtekens bij zetten en het ook niet behandeld wordt in het boek heb ik hier wat tips en voorbeelden.
Een use case omschrrijft een functionaliteit van je product, elke grote noemenswaardigheid van wat je product kan is een use case. De functionaliteit gaat altijd om een doel wat je bereikt, dit is dus het eindpunt van je use case. Omdat het onduidelijk is waar de gebruiker zich bevindt wanneer hij begint aan de use case (hij kan op elke pagina zijn en ineens een functie willen uitvoeren) is de startpositie iets lastiger. Soms ligt die niet precies vast maar moet er wel een vereiste zijn (bijvoorbeeld de gebruiker moet ingelogd zijn), dit noemen we een Preconditie.
Een use case beschrijft het stappenplan van alle stappen die een gebruikersrol (actor) samen met de interface (of, je product) moeten doorlopen om een functie uit te voeren (de naam van je use case).
De stappen zijn veel vager dan pagina’s of onderdelen op pagina’s, deze die zijn totaal niet van belang in een use case.
Toen ik met mijn use cases bezig was kwam ik erachter dat er veel stappen in mijn use cases waren die ik voor verschillende functionaliteit nodig had. Ik moest vaak om tot verschillende doelen te komen een aantal dezelfde stappen doorlopen. Om dit allemaal iets logischer en overzichtelijker te maken heb ik use cases in use cases gestopt. In de onderstaande plaatjes kan je zien wat ik bedoel.
In de volgende use case moet ik een programma toe voegen, dit moet ik in heel veel use cases. Nu kan ik heel gemakkelijk het volgende doen:
Deze tutorial is gericht op Interactieve Media studenten aan de HvA. Ik maak namelijk gebruik van de stap server die alleen maar voor IAM studenten aan de HvA beschikbaar is.
Deze tutorial is gemaakt op basis van deze tutorial van Layar zelf, in de mijne ga ik ook in op een database maken op de stap server en hoe je een tabel maakt en de data er in zet.
Hier ga ik behandelen hoe je heel snel je eigen layer opzet, ik ga redelijk snel door de theorie heen want deze tutorial is gericht op het zo snel mogelijk realiseren van je layer.
Stap 1
Maak een database aan.
Layar werkt met objecten, zogeheten POI’s. Als jij Layar naar een bepaald huis wil linken moet daarvoor een object in een database staan.
Op de stap server (de server die je tijdens internetstandaarden hebt gebruikt voor je website) kan je een een database aanmaken. Dit kan je doen door naar de stap website te gaan en in te loggen.
Als je dit gedaan hebt krijg je een mailtje met gegevens die je nodig hebt in latere stappen.
Stap 2
Vul de database.
Hiervoor ga je naar de phpMyadmin van stap. Hier log je in met de gegevens uit de mail. Vervolgens klik je aan de linkerkant op je database (de naam van de database staat in de mail, waarschijnlijk is het stu_[studentlogin]). En hierna op het tabblad SQL. Nu moet je de onderstaande code kopieren naar het invulscherm en op Go klikken.
CREATE TABLE IF NOT EXISTS `POI_Table` ( `id` varchar(255) NOT NULL, `attribution` varchar(150) default NULL, `title` varchar(150) NOT NULL, `lat` decimal(20,10) NOT NULL, `lon` decimal(20,10) NOT NULL, `imageURL` varchar(255) default NULL, `line4` varchar(150) default NULL, `line3` varchar(150) default NULL, `line2` varchar(150) default NULL, `type` int(11) default '0', `dimension` int(1) default '1', `alt` int(10) default NULL, `relativeAlt` int(10) default NULL, `distance` decimal(20,10) NOT NULL, `inFocus` tinyint(1) default '0', `doNotIndex` tinyint(1) default '0', `showSmallBiw` tinyint(1) default '1', `showBiwOnClick` tinyint(1) default '1', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Hiermee maken we een tabel in de database waar we info van dingen die zichtbaar moeten zijn in de layer in kunnen zetten.
Stap 2b
Laten we dit maar gelijk doen, laten we de locatie van het singelgrachtgebouw opnemen: Klik links op POI_Table en daarna op het tabblad insert.
Hier moeten we alle info invullen die Layar nodig heeft per object. Je moet dit lijstje invullen per object die je in je layer wilt hebben.
De gegevens:
id: je eerste object is 1, je tweede 2, je begint nu dus met 1.
Attribution: Wat link je op de kaart? In dit geval: De locatie van het Singelgrachtgebouw
Title: de titel van je object: Het Singelgrachtgebouw
de waarde lat en lon zijn de coördinaten van het object, deze kan je gemakkelijk via google maps opvragen. Als je bij google maps zoekt naar het Singelgrachtgebouw, Rhijnspoorplein, Amsterdam dan krijg je ons schoolgebouw met een rode pijl. Als je rechts klikt op de rode pijl en klikt op wat is hier dan worden de coördinaten in het zoekveld gezet.
in ons geval dus:
lat: 52.360585
lon:4.909558
imageURL is een link naar een plaatje, zoals bijvoorbeeld het logo van de HvA: http://www.4c4u.nl/userfiles/image/hva_logo.jpg
line4, 3 en 2: zijn regels waar je info over de locatie kan neerzetten die dan ook in Layar te zien zijn als je naar je object kijkt.
distance: 0.0000000000
type: 1
Alles wat niet genoemd is kan je leeg laten, ten slotte kan je op Go klikken.
Je hebt nu een object in de database staan!
Stap 3
Maak een script waarmee de info uit de database aan Layer gekoppeld kan worden.
Dit script hoef jij gelukken niet te maken, je kan hem hier downloaden. Je moet drie regels wijzigen met gegevens uit het mailtje van de database, namelijk regel 10, 11 en 12:
$dbdata = "*VUL HIER JE DATABASE NAAM IN*"; $dbuser = "*VUL HIER JE DATABASE USER IN"; $dbpass = "VUL HIER JE DATABASE WACHTWOORD IN";
De gegevens kan je uit het mailtje halen (je moet de ” ” laten staan)
Dit scriptje haalt gegevens uit je database en stuurt ze terug naar Layar.
Als je dit gedaan hebt kan je het bestand opslaan en uploaden naar de stapsite zoals we dat geleerd hebben bij internetstandaarden, namelijk:
Gebruik een FTP programma zoals Filezilla en log in op jouw plekje op de stap server:
server: stap.iam.hva.nl
gebruikersnaam: [login]
wachtwoord: [wachtwoord] <- dit wachtwoord is je schoolwachtwoord, NIET die uit de mail.
Zet nu het php bestand wat je zojuist aangepast hebt op de server (in het PUBLIC_HTML mapje) zodat je hem kan bereiken via je browser.
Stap 4
Je hebt alles gedaan voor je layer, nu moet je hem alleen nog koppelen aan Layar zelf.
Ga naar layar.com en maak een account aan. Als je dit gedaan moet je jezelf aanmelden als developer (klik op become a developer). Als je hier bent ingelogd moet je klikken op “my layers” en dan op “create a layer”.
Hier kan je alles invullen, maar:
Layer type kan je op “Generic 2d” laten staan.
de API Endpoint URL is de weblink naar het php bestandje wat je op de stap server hebt gezet in stap 3.
Stap 5
Als je alles goed hebt gedaan kan je nu bij “my layers” klikken op de test knop naast de layer die je net hebt aangemaakt. Als je vervolgens het poppetje iets meer richting school verplaatst (anders valt school niet binnen het bereik) en klikt op Load POI’s dan zal Layar verbinding maken met je script op de stap server en die geeft alle data uit de database (ook op de stap server) terug.
Rechts onder zie je een lijst met objecten die Layer heeft kunnen krijgen op basis van de positie van het poppetje.
Stap 6
Ga terug naar stap 2b en vul nog wat andere locaties in de buurt toe (denk eraan dat je id door moet nummeren vanaf je eerste object).
Als er iets niet klopt of onduidelijk is kan je dat hieronder aangeven. Ook kan je kijken naar de tutorial van Layar zelf (link staat bovenaan).
Supersnel effectieve wireframes maken
Bij het vak ontwerptechnieken (van het P jaar interactieve media) moeten we oa. wireframes maken. Uiteindelijk moeten we van elk uniek scherm een wireframe hebben gemaakt. Dus hoe doe je dat zo goed (en het liefst ook zo snel) mogelijk?
Dit plaatje hierboven heb ik gemaakt met een online tool gemaakt om wireframes te maken. Dit was even snel een voorbeeldje ter illustratie wat je allemaal kan maken. Het voordeel van deze tool is dat alles heel erg sketchy is, wat iedereen duidelijk maakt dat je nog niet in een designfase zit en het niet om de vormpjes, lettertypes en kleuren gaat. Dit voorbeeld hierboven heb ik in enkele minuten gemaakt.
De tool is webbased wat betekent dat het op elk platform draait, zolang je maar flash hebt. Hier kan je hem bereiken:
http://builds.balsamiq.com/b/mockups-web-demo/
Als je iets wilt opslaan kan je dat doen via mockup – export, je krijgt dan code die je later weer kan importeren om terug te gaan waar je gebleven was. Als je klaar bent kan je er een plaatje van maken (of printscreenen).
Hit The Blob!
Tijdens het eerste jaar van mijn opleiding IAM hebben wij (team Happy Times) een game gemaakt waarbij kinderen (doelgroep is groep 7) op een leuke en interactieve manier werken aan woordenschat.
We hebben in de game woorden gebruikt uit de WAK (Woordenlijst Amsterdamse Kinderen).
Ik heb even snel een website om de game Hit The Blob! heen gemaakt, hier kan je de game spelen (en liken).
Alle vormgeving is gemaakt door groepsgenoot Bas Kranendonk.
De game is regel voor regel geschreven in ActionScript 3, met hulp van de programmeerlessen en het Techlab. Ik heb verder geen code van het internet gebruikt. De willekeurige woorden zijn wel hardcoded en zijn afkomstig uit de WAK (zie link hierboven).
De game is ontwikkeld in Flash en Flashbuilder (aan elkaar gekoppeld zoals uitgelegd in dit filmpje) en ik heb een export gemaakt in Flashbuilder. Dit heeft als gevolg dat je alleen de code kan downloaden zonder visuals, elke keer als je een lege class met Super(); tegenkomt dan is die klasse een plaatje in flash. Wel kan je alle code bekijken om te zien hoe ik dingen gedaan heb.
HCI opdracht: EK bierkratten
Voor het vak HCI (Human Computer Interaction) heb ik een website gedesignd waar mensen bierflesjes kunnen customizen voor het EK. De kern van de opdracht ligt in de interactie en hoe ik het best de benodigde gegevens uit de gebruiker kan “trekken”.
Het resultaat heb ik via issuu.com online gezet.


