OMT Driehoek Copy 3

Onbeantwoorde iPhone-wensen en het synchroniseren van data met de desktop

Op dit moment is het erg ingewikkeld om een iPhone-programma te laten communiceren met je computer, bijvoorbeeld om nieuwe documenten of gegevens te downloaden naar de telefoon. Ontwikkelaars zien geen andere oplossing dan het integreren van complexe netwerk-opties, waarbij de gebruiker meerdere ingewikkelde handelingen moet uitvoeren om een simpele bestandsoverdracht mogelijk te maken. In dit artikel bekijken we hoe dit eenvoudiger zou kunnen: via iTunes.

De iPhone is een fantastisch apparaat. Sterker nog: het is de meest uitgekiende en gebruiksvriendelijke smartphone die op dit moment verkrijgbaar is. Dat wil echter niet zeggen dat we geen wensen meer hebben. De vorige keer schreef ik over de integratie tussen applicaties en het universeel zoeken op het toestel en op Internet, en hoe dit op de Palm Pre op dit moment beter lijkt te zijn opgelost. Dit keer bekijken we hoe de verschillende iPhone apps kunnen communiceren met programma’s die we op onze desktop Mac gebruiken. Want ook dat is een aandachtspuntje voor de iPhone in zijn huidige vorm.

Waarom gegevens uitwisselen met de desktop?

Er zijn een hoop toepassingen te bedenken waarbij een desktop applicatie voordeel kan hebben van een mobiele variant, zodat je je gegevens altijd mee kunt nemen. Denk bijvoorbeeld aan het uitstekende programma 1Password, waarmee je je wachtwoorden en andere gevoelige informatie kunt beheren. Die gegevens kun je, uiteraard goed versleuteld, met je meenemen in de 1Password iPhone app. Of wat te denken van je persoonlijke database van boeken en DVD’s? Het kan heel handig zijn om die lijst altijd bij te hebben (bijvoorbeeld als je in de boekwinkel bent of in de videotheek staat). Tot voorkort was hiervoor een iPhone equivalent van het bekende Delicious Library beschikbaar. Een akkefietje met Amazon vanwege het gebruik van de bibliografische gegevens heeft hier op dit moment een stokje voor gestoken, maar dit probleem zal naar verwachting snel opgelost worden, en anders springt er hoogstwaarschijnlijk een andere partij in deze markt. Als laatste voorbeeld tenslotte is het altijd handig om een aantal Office of PDF bestanden met je mee te kunnen nemen en te kunnen bekijken op je iPhone.

En hiermee komen we op een punt wat me al een tijdje dwars zit: de complexiteit die om de hoek komt kijken telkens wanneer ik gegevens wil uitwisselen tussen een desktop applicatie op mijn Mac, en een programma op de iPhone.

De huidige beperkingen

Deze complexiteit komt voort uit een aantal ontwerpbeslissingen die Apple heeft gemaakt. Om te beginnen is er geen “disk” toegang tot de iPhone, zodat een desktop app niet eenvoudigweg de bestanden op de iPhone kan benaderen om er wijzingen door te voeren of nieuwe bestanden bij te zetten. Maar zelfs wanneer er wel disk access zou zijn, zou Apple het niveau waarop je deze bestanden kan benaderen waarschijnlijk behoorlijk beperken, om te voorkomen dat er dingen onklaar gemaakt worden. De apps behouden dan waarschijnlijk hun “sandbox”, zodat het niet mogelijk zal zijn om daarbinnen gegevens aan te passen zodat het programma die kan inlezen en gebruiken.

Op dit moment is de enige manier om een iPhone app en een desktop app met elkaar te laten praten het gebruik maken van een Wi-Fi netwerk. Maar dit werpt enkele serieuze obstakels op. Op de eerste plaats moet er een draadloos netwerk beschikbaar zijn, is wat zeker in zakelijke omgevingen niet altijd het geval is. Op de tweede plaats moeten de iPhone en de computer met hetzelfde netwerk zijn verbonden, om het communiceren goed te kunnen laten werken. Ten derde moet het programma op de iPhone actief zijn op het moment dat het met de desktop wil communiceren. En ten vierde, tenslotte, biedt dit geen gestandaardiseerde interface waarmee de gebruiker vanaf de computer met de iPhone kan communiceren: het is in elk programma weer anders.

Gegevens uitwisselen via iTunes

Hoe zou het zijn als Apple de iPhone SDK (de ontwikkelomgeving voor programmeurs van iPhone apps) zo zou aanpassen dat programma’s direct data kunnen uitwisselen met de iPhone via iTunes? Ontwikkelaars kunnen op deze manier hun programma’s met de telefoon laten communiceren zonder de gebruiker lastig te vallen met ingewikkelde synchronisatie-processen. En wanneer het betreffende desktop programma zo wordt geschreven dat het automatisch de wijzigingen aan zijn iPhone-evenknie doorgeeft, dan is er zelfs helemaal geen gebruikersinteractie meer vereist. Een ander belangrijk voordeel van deze methode is dat het betreffende programma op de iPhone helemaal niet hoeft de draaien om nieuwe gegevens te ontvangen.

Als we terugdenken aan de voorbeelden van toepassingen die ik eerder noemde, dan zou mijn up-to-date lijst met wachtwoorden en mijn actuele DVD-bestand automatisch naar de iPhone worden gekopiëerd, zonder dat ik daar iets voor hoef te doen. De gegevens zijn altijd gesynchroniseerd met de desktop.

Natuurlijk komen er wel enkele ontwerpaanpassingen om de hoek kijken bij deze aanpak.

Op dit moment kan een app geen gegevens ontvangen van andere partijen behalve zichzelf (en de netwerkverbindingen die het zelf heeft opgezet). Dit verhoogt de veiligheid, want onbevoegde partijen kunnen zo nooit de gegevens van een andere app aanpassen. Als Apple deze veiligheidsvoorziening (of -beperking, afhankelijk van je standpunt) in tact wil laten, dan zal er een vorm van authenticatie plaats moeten vinden tussen de iPhone app en het desktop programma dat er mee wil communiceren. Apple zou beveiligde sleutels kunnen aanbieden als onderdeel van het SDK-programma. En, afhankelijk van Apple’s stemming, zou de broekriem nog wat losser kunnen worden gemaakt en zou het mogelijk moeten worden dat verschillende desktopprogramma’s met één en hetzelfde iPhone programma kunnen praten. Denk bijvoorbeeld aan een app die verschillende gegevens uit je computer van verschillende programma’s orderlijk samen kan voegen.

Keuzevrijheid in ondersteunde iPhone apps

Kritische lezers zullen op dit moment wellicht opmerken dat een en ander tot hoogoplopende discussies kan leiden. Want wat nu als bijvoorbeeld Microsoft besluit om deze “communiceren via iTunes met de iPhone”-methode te integreren in Office, en een bijbehorende Office-viewer voor de iPhone zou uitbrengen? Dit veegt in één klap de vrije markt van Office viewer applicaties van de kaart.

Dit kan worden opgelost door de verschillende documenttypes die een desktop applicatie kan aanbieden aan de iPhone te specificeren, en de keuze voor welk programma op de iPhone de gegevens moet geruiken aan de gebruiker te laten. Vergelijk dit maar met de manier waarop een besturingssysteem op een computer altijd het standaard programma opent als je een document dubbelklikt, maar waarbij je als gebruiker eventueel de keuze hebt om een ander programma te gebruiken. Voor veel programma’s is dit niet nodig (zoals in het voorbeeld van 1Password, het desktop programma en de iPhone app zijn als totaal-oplossing geschreven), maar het is wel zinvol voor een heleboel andere soorten documenten en gegevens. Dit zou zelfs een compleet nieuwe markt voor iPhone applicaties kunnen genereren.

Uiteraard moeten, geheel volgens Apple-normen, de interactie-dialogen waarmee een gebruiker de communicatie tussen de computer en de iPhone kan regelen worden gestandaardiseerd, en worden opgenomen in de Human Interface Guidelines. Op die manier zijn ze eenvoudig herkenbaar voor gebruikers, en kunnen ze op een universele manier worden gebruikt. Niet langer is het nodig om IP-adressen in te voeren in je browser om een paar bestandjes te uploaden naar de telefoon, en niet langer zal elk iPhone-programma deze communicatie op zijn eigen specifieke wijze oplossen.

Het kabeltje is nog niet afgeschreven

Sommigen zullen stellen dat heden ten dagen de aandacht meer zou moeten liggen op “over-the-air” oplossingen om dit soort synchronistatie-problemen te verhelpen. Verschillende smartphones, waaronder toestellen die zijn gebaseerd op Android, bieden zelfs helemaal geen synchronisatiemogelijkheid met een computer via een kabeltje. Vergeet echter niet dat we het hier specifiek hebben over de interactie met desktop applicaties. In het algemeen zul je, wanneer je gegevens van een desktop-programma wilt verplaatsen naar de iPhone, bij je computer in de buurt zijn. Het is niet iets dat op elk moment moet worden “gepushed” naar de telefoon. Bovendien moet de iPhone toch gekoppeld worden met de computer als je iTunes nieuwe muziek, films of foto’s wilt laten uploaden naar het toestel. Het biedt zelfs nog een voordeel voor Apple, omdat het iTunes een nog sterkere strategische positie geeft binnen het iPhone/iTunes eco-systeem.

Met iPhone OS 3.0 zijn er wederom een groot aantal zaken verbeterd en toegevoegd aan de iPhone. Maar wanneer Apple zich voor een volgende update nog eens wil buigen over de manier waarop ik data van mijn computer naar de iPhone kan verplaatsen, dan zou dat fijn zijn. Er kan op dit vlak nog heel veel worden verbeterd.

Archief