Om de iPhone SDK onder de knie te krijgen ben ik aan het lezen in "Beginning iPhone Developement - Exploring the iPhone SDK". Ondanks dat ik in de paasvakantie dit boek al voor een kwart gelezen heb ben ik deze vakantie terug in het begin van het boek begonnen; kwestie van de basis nog eens te herhalen.
Bij de eerste hoofdstukken horen allerlei saaie voorbeeldprogramma's waar ik niet zo veel zin in had, dus heb ik een kleine app geschreven om de basis nog eens te herhalen. Omdat ik niet zomaar een saaie app wou maken heb ik er meteen iets "speciaal" in gestoken; een app voor twee gebruikers waarbij de huidige gebruiker afhankelijk is van de oriëntatie van de iPhone.
Beeldt u een game voor twee spelers dat gespeeld wordt op één toestel. Een voorbeeld hiervan is Advance Wars op de Nintendo DS. Hierbij wordt het toestel om de beurt aan de andere speler doorgegeven. Omdat een speler meerdere zetten kan doen in een beurt moet hij in de game aangeven dat hij stopt met zijn beurt. Vervolgens geeft hij het toestel aan de andere speler. Als de andere speler tegenover de eerste speler zit moet hij het toestel omdraaien zodat hij aan zijn beurt kan beginnen.
Beeld je twee spelers in die samen een iPhone game, gelijkaardig aan bijvoorbeeld Advance Wars, spelen in. Als de eerste speler klaar is met zijn beurt geeft hij het toestel aan de andere speler. De andere speler hoeft het toestel niet om te draaien, de iPhone detecteert dat het toestel omgekeerd rechtop gehouden wordt, waardoor automatisch van beurt gewisseld wordt. Door de symmetrie van de iPhone (of iPod Touch) kan het spel gespeeld worden ongeacht of het toestel naar boven of naar onderen gehouden wordt. Met dit systeem worden dus de twee stappen van de Nintendo DS onnodig: de speler hoeft niet aan te geven dat hij wilt stoppen met zijn beurt (dit wordt automatisch bepaald doordat de iPhone van oriëntatie verandert) en het toestel hoeft niet omgedraaid te worden.
Maar goed, ik ging dus een iPhone app schrijven! Zoals je kan vermoeden heb ik bovenstaand concept uitgewerkt. Omdat ik niet de tijd of kennis heb om een vette game te schrijven heb ik een eenvoudige chat applicatie gemaakt.

In het tekstvak bovenaan kan de gebruiker zijn bericht ingeven, de discussie wordt getoond in het tekst kader eronder. Als er te veel tekst is om op het scherm weer te geven kan de gebruiker scrollen. Het is slechts een kleine applicatie, die ik op een uurtje in elkaar gestoken heb, maar het was een fijne oefening.
Deze app is niet echt nuttig, maar het concept van van gebruiker wisselen kan wel interessant zijn voor echte, uitgewerkte apps, in het bijzonder games.
Het type spel waarvoor dit systeem zeer geschikt is, is een spel met een beurtensysteem waarbij de speler meerdere acties kan ondernemen tijdens zijn beurt. Dit laatste omdat anders de applicatie altijd weet dat na eender welke actie de beurt aan de andere speler moet zijn en het voordel van dit systeem dus minder groot is.
Het systeem heeft ook z'n nadelen: gebruikers zijn niet vertrouwd met dit concept (dit kan aangeleerd worden) en als de telefoon gaat kan men de telefoon omgekeerd opnemen (dit is lastig, maar kan grappig zijn).