Niet meer dan één iPhone-applicatie tegelijk

Een van de opvallende beperkingen van de iPhone SDK is het feit dat applicaties van derden niet op de achtergrond kunnen draaien. Daarbij mag steeds slechts één applicatie gelijktijdig actief zijn.
Gonny van der Zwaag | iCulture.nl -

Afgelopen vrijdag schreef ik voor een andere website een compilatie van reacties op de iPhone SDK. Naast een verbeten discussie die daarna uitbarstte tussen aanhangers van iPhone en Windows Mobile, was er nog een andere quote die wat ophef veroorzaakte, namelijk die van Michael Arrington. Hij had niet helemaal goed begrepen hoe VoIP op de iPhone werkt, maar had wel de iPhone Human Interface Guidelines goed doorgelezen.


Daarin staat, dat er slechts één iPhone-applicatie gelijktijdig actief mag zijn. iPhone-applicaties van derden kunnen niet in de achtergrond blijven draaien. Dat levert voor ontwikkelaars een extra uitdaging op. Als je bezig bent een document te schrijven of een todo-lijstje te maken en er komt tussendoor een telefoongesprek binnen, dan moet je de openstaande applicatie verlaten. Anders sluit ‘ie vanzelf wel af. Hetzelfde geldt wanneer je tijdens het gebruik van een applicatie even in je e-mail of je adresboek wilt kijken (da’s bijvoorbeeld handig bij navigatietoepassingen). Door de richtlijnen wordt het lastig om bepaalde functies te implementeren. Wat nog niet duidelijk is, is of ze voor alle ontwikkelaars gelden, of dat er voor geselecteerde ontwikkelaars waarmee Apple nauw samenwerkt (bijvoorbeeld EA Games of Salesforce.com) uitzonderingen worden gemaakt. Om daarmee even op Windows Mobile terug te komen: daarbij blijven applicaties altijd op de achtergrond draaien, totdat je ze handmatig afsluit of de mobiele telefoon tegen ernstige geheugenschaarste aanloopt.

De ene multitasking is trouwens de andere niet… het feit dat je muziek kunt afspelen en tegelijk andere activiteiten kunt doen wordt vaak aangehaald als argument dat toch multitasking mogelijk is. Bij sommige besturingssystemen die geen multitasking ondersteunen (zoals PalmOS) kun je wel meerdere applicaties gelijktijdig gebruiken en bijvoorbeeld tijdens het luisteren naar muziek gewoon je browser openen of een notitie gaan schrijven. Of tijdens het bellen in je adresboek of agenda kijken, maar echte multitasking is het niet. Er zijn trouwens weinig (geen?) mobiele besturingssystemen waarbij je meerdere applicaties tegelijk op het scherm kunt zien: bijna allemaal tonen ze applicaties schermvullend. Het enige wat er nog een beetje op lijkt, zijn woordenboeken met residente modules, waarbij een applicatie op de achtergrond zichtbaar blijft terwijl je in een woordenboek pop-up bladert.

Reacties: 6 reacties

  1. Sins wanneer kan je geen muziek beluisteren terwijl je in Safari zit te browsen?!
    Werkt bij mij anders perfect..

    Ook gaat mijn ‘Timer’ gewoon door tellen, terwijl ik iets anders doe..

  2. ook draait TuneWiki op de achtergrond net als MxTube, en dat zijn dus apps van derden…Dus allemaal één grote onzin…

  3. De iPhone Human Interface Guidelines is volgens mij dan ook geen beschrijving van wat mogelijk of onmogelijk is maar eerder hoe ziet een goed iPhone programma er uit. We zullen moeten afwachten hoe streng Apple daarop toeziet als ze programma’s selecteren voor de App Store.

  4. Er zijn een aantal programma’s die toch echt automatisch sluiten. Bijvoorbeeld een MSN applicatie die beweerd door te blijven draaien maar dus mooi sluit, waarschijnlijk komt dit door de powermanagement.. voor mijn gevoel iig dat dus internet wordt afgesloten dus ga je offline. Maar inderdaad. Ik dacht gister toevallig aan een nieuwe mobiel OS waar je gewoon een startbalk heb of systembalk net als in windows waar al je progs open staan. Enige geval waar dit mogelijk is is bij windows mobile. Zou wel mooi zij als iemand dat kan maken en hele kleine balk die non stop onderaan in beeld staat

  5. Ik snap het probleem niet zo.. In de SDK zit ook SQLLite en alle gegevens van wat je zou willen op de iPhone ( zoals contacten, email ) zitten gewoon in een db file. dus wat je nodig hebt kan je zo oproepen.. je moet wel zelf weer even een lijstje maken.. maar goed. lijkt me niet erg moeilijk om te maken zeker niet met de SDK…

  6. Gelukkig haalt de schrijver van dit artikel niet allerlei zooi door elkaar en geeft hij of zij ook nog eens onjuiste informatie.

    De Human Interface Guidelines gaan over hoe het programma eruit ziet. Apple vindt het niet leuk als je 8 kleine knopjes naast elkaar zet of 4 pagina’s moet scrollen voordat je spelletje start (ik noem maar wat).

    In de SDK zijn beperking opgelegd. Je mag alleen commando’s gebruiken die gedocumenteerd zijn. Bij jailbreak applicaties kan je natuurlijk gewoon alles gebruiken wat je wilt, bij de SDK kán je deze dingen wel in je code zetten, en zelfs testen op je eigen iPhone, maar Apple zal die programma’s nooit toelaten op de App Store. Tot die beperking behoort dus andere het niet kunnen laten draaien van een programma op de achtergrond. Een programma sluit standaard af wanneer je gebeld wordt of op de home-knop drukt, maar dit is te overrulen. Dat mag niet met programma’s in de SDK.

Reacties zijn gesloten voor dit artikel.