Mobile Zukunft
17.08.2009, 14:57 Uhr
Trends für Entwickler
Je besser die mobilen Geräte werden, umso stärker steigt die Nachfrage nach innovativer Software für Handy, PDA & Co. Welche Applikationen sind besonders gefragt und wie bereiten sich Anwendungsentwickler am besten darauf vor?
Der Beitrag entstand unter Mitwirkung von Juliana Sutanto, Assistant Professor ETH Zurich (sie wird die Keynote an der SQC-Konferenz halten), Anar Gasimov, Research Assistant ETH Zurich, Tan Chuan Hoo, Assistant Professor City University of Hongkong, Phang CheeWei, Assistant Professor Fudan University China
Die mobile Welt war noch nie so aufregend wie heute. Aktuelle Mobiltelefone sind super flach, haben ein grosses Display und mehr Rechenleistung als vergleichbare Notebooks. Gleichzeitig führen die Hersteller neue mobile Technologien ein. Das motiviert Entwickler, noch bessere und innovativere mobile Anwendungen zu kreieren. Aber wohin geht der Trend und welche neuen Qualitätsanforderungen müssen die Entwickler beachten, um auf dem immer stärker konkurrierenden Markt bestehen zu können?
Trends bei mobilen Applikationen
Zwar sind die Vorhersagen höchst spekulativ, dennoch lassen sich vor allem zwei Trends in der Entwicklung mobiler Anwendungen erkennen:
1. Soziale Vernetzung: Der deutlichste Trend ist die zunehmende Vernetzung «people-to-people». Ein aktuelles Beispiel ist Google Latitude (www.google.ch/latitude), ein Dienst, der in Echtzeit Handys von Freunden lokalisieren kann und anzeigt, wo sich deren Besitzer gerade befinden. Andere mobile Anwendungen wie Digby (www.digby.com), GyPSii (www.gypsii.com), Mobiqa (www.mobiqa.com), Nokia Friend View (http://betalabs.nokia.com), Plazes (http://plazes.com) oder Twitter (www.twitter.com) machen ebenfalls einen umfangreichen und räumlich unabhängigen Informationsaustausch möglich. Eine Verschmelzung der Social-Network-Konzepte mit ortsgebundenen Services erwarten wir schon für die nahe Zukunft. Per mobile Device abrufbare Informationen werden dann zum Beispiel Sehenswürdigkeiten, Museen, Kinos und andere sogenannte Points of Interests am Handy-Ort sein, ebenso der Ticketkauf zu diesen POIs via Handy, das Versenden von Einladungen und Ähnliches mehr.
2. Multimediale Inhalte: Der zweite Trend ist die Bereitstellung von Inhalten über Multimedia-Anwendungen, die eigentlich dafür entwickelt wurden, Filme oder Musik abzuspielen. Diese Entwicklung wird noch verstärkt durch den immer grösser werdenden Druck auf die Handy-Hersteller, die Kosten der Handy-Netzbetreiber zu senken und die politische Diskussion über die Gewinnmargen einiger Handy-Services. Dies eröffnet vielen Unternehmen die Chance, sich anders als über die vordefinierten Services der Handy-Netzbetreiber, ihre eigene Infrastruktur zur Verbreitung von Inhalten zu schaffen, und führt zu einer deutlichen Öffnung des sonst so geschlossenen Markts der Netzbetreiber.
Welche Plattform hat Zukunft?
Bis heute beherrschen vier Hersteller mobiler Betriebssysteme den Markt: Nokia (Symbian), Microsoft (Windows Mobile), Rand (BlackBerry OS) und Apple (iPhone OS). Keiner der vier ist einflussreich genug, um einen vorherrschenden Standard durchzusetzen.
Die Notwendigkeit zur Standardisierung wird dabei durchaus von Software-Entwicklern und mobilen Herstellern erkannt. Während Software-Hersteller plattformübergreifende Layer (z.B. Adobe Air), virtuelle Maschinen
(z.B. Java), Middleware-Lösungen (z.B. QT) oder erweiterte Browser entwickeln (z.B. Google Gear oder Microsoft Silverlight), versuchen die Hersteller mobiler Geräte, die Software-Entwicklung zu vereinfachen, indem sie die Kompatibilität zwischen den Betriebssystemversionen verbessern. Die neue Generation der Open-Source-Betriebssysteme wie Android wird dazu führen, dass die etablierten Hersteller sich öffnen oder zumindest mehr Angebote an Werkzeugen bzw. Dienstleistungen anbieten, um die Anwendungsentwicklung zu erleichtern.
Welche Entwicklungsplattform soll man nun als Entwickler wählen? Dies hängt von einer Reihe von Faktoren ab. Der Marktanteil ist von Land zu Land deutlich unterschiedlich. Während Symbian der Hauptanbieter in China und Japan ist, liegt der Marktanteil in Nordamerika unter 10 Prozent. Zeichnet sich ab, dass eine Entwicklung einen längeren Zeitraum benötigt, sollte man die zukünftigen Trends im Auge behalten. Auch die minimalen Anforderungen an die Hardware schränken die Zielplattform der mobilen Endgeräte weiter ein.
Qualität in der Entwicklung
Natürlich gilt es, auch die Anforderungen der Nutzer an die Qualität mobiler Applikationen zu berücksichtigen. Qualität definiert sich aber nicht nur extern über den Anwender. Für den Entwickler sind noch andere, interne Faktoren wesentlich, dazu zählen zum Beispiel:
Änderbarkeit: Die Software sollte gut strukturiert und dokumentiert sein, damit Debugging und/oder Erweiterungen problemlos möglich sind. Oft entsteht ein Zielkonflikt zwischen der Wartbarkeit der Software und den Anforderungen an eine effiziente Entwicklung. Insbesondere dann, wenn die Markteinführung (time to market) sehr schnell passieren muss.
Übertragbarkeit: Bei mobiler Hardware und Software fehlt es an einheitlichen und allgemein akzeptierten Standards. Jährlich werden neue Generationen von mobilen Endgeräten entwickelt, wodurch die Notwendigkeit von einheitlichen Standards mehr und mehr an Bedeutung gewinnt.
Funktionalität: Schon der Einsatzzweck von Mobiltelefonen legt nahe, den Test vom Labor in die Praxis zu verlegen. Der Schwerpunkt sollte im praktischen Feldtest liegen, für den die mobilen Endgeräte ja auch ausgelegt sind.
Vollständigkeit: Die Software-Entwicklung muss dafür Sorge tragen, dass bei der Änderung von Komponenten bzw. Modulen die abhängigen Komponenten ebenfalls analysiert und gegebenenfalls angepasst werden. Zum Beispiel kann ein neues GPS-Modul durchaus noch mit älteren Bibliotheken funktionieren, trotz allem besteht die Gefahr, dass es zu sporadischen Fehlfunktionen kommt.
Stabilität: Stabilität und Anpassbarkeit sind die massgeblichen Qualitätsfaktoren. Das wird am Beispiel einer lokalen Applikation zur Filterung von Nachrichten deutlich: Zunächst werden die Nachrichten auf das mobile Endgerät heruntergeladen. Anschliessend wird nach den gesetzten Präferenzen des Benutzers gefiltert. Da sich die Leistungsfähigkeit mobiler Endgeräte nicht beliebig steigern lässt, könnte eine grosse Menge an Nachrichten zur völligen Überlastung führen.
Zuverlässigkeit: Hierunter versteht man die Wahrscheinlichkeit des fehlerfreien Betriebs einer Applikation in einem definierten Umfeld für einen vorgegebenen Zeitraum. Die Zuverlässigkeit kann in jedem Schritt des Entwicklungsprozesses verbessert werden, angefangen bei den Requirements bis zum Test.
Änderbarkeit: Die Software sollte gut strukturiert und dokumentiert sein, damit Debugging und/oder Erweiterungen problemlos möglich sind. Oft entsteht ein Zielkonflikt zwischen der Wartbarkeit der Software und den Anforderungen an eine effiziente Entwicklung. Insbesondere dann, wenn die Markteinführung (time to market) sehr schnell passieren muss.
Übertragbarkeit: Bei mobiler Hardware und Software fehlt es an einheitlichen und allgemein akzeptierten Standards. Jährlich werden neue Generationen von mobilen Endgeräten entwickelt, wodurch die Notwendigkeit von einheitlichen Standards mehr und mehr an Bedeutung gewinnt.
Funktionalität: Schon der Einsatzzweck von Mobiltelefonen legt nahe, den Test vom Labor in die Praxis zu verlegen. Der Schwerpunkt sollte im praktischen Feldtest liegen, für den die mobilen Endgeräte ja auch ausgelegt sind.
Vollständigkeit: Die Software-Entwicklung muss dafür Sorge tragen, dass bei der Änderung von Komponenten bzw. Modulen die abhängigen Komponenten ebenfalls analysiert und gegebenenfalls angepasst werden. Zum Beispiel kann ein neues GPS-Modul durchaus noch mit älteren Bibliotheken funktionieren, trotz allem besteht die Gefahr, dass es zu sporadischen Fehlfunktionen kommt.
Stabilität: Stabilität und Anpassbarkeit sind die massgeblichen Qualitätsfaktoren. Das wird am Beispiel einer lokalen Applikation zur Filterung von Nachrichten deutlich: Zunächst werden die Nachrichten auf das mobile Endgerät heruntergeladen. Anschliessend wird nach den gesetzten Präferenzen des Benutzers gefiltert. Da sich die Leistungsfähigkeit mobiler Endgeräte nicht beliebig steigern lässt, könnte eine grosse Menge an Nachrichten zur völligen Überlastung führen.
Zuverlässigkeit: Hierunter versteht man die Wahrscheinlichkeit des fehlerfreien Betriebs einer Applikation in einem definierten Umfeld für einen vorgegebenen Zeitraum. Die Zuverlässigkeit kann in jedem Schritt des Entwicklungsprozesses verbessert werden, angefangen bei den Requirements bis zum Test.
Qualität für den Anwender
Die externen Aspekte der Qualität fokussieren insbesondere auf die Benutzbarkeit durch den Anwender. Hierunter fallen Aspekte wie Verständlichkeit, Erlernbarkeit und Bedienbarkeit, aber auch sicherheitsrelevante Anforderungen:
Effizienz: Moderne Mobiltelefone verfügen über zwei Prozessoren. Einer übernimmt die Basisfunktionen des Mobiltelefons (Anrufe tätigen und entgegennehmen), der andere alle nicht auf die Telefonie bezogenen Funktionen. Dieses Konzept funktioniert in der Praxis auch ganz gut, trotzdem kommt es gelegentlich zu Abstürzen des Betriebssystems. So kann zum Beispiel die Nutzung einer Graphic Engine zur Anzeige einer 3D-Navigation dazu führen, dass sich die Ladezeiten erheblich verlängern. Dies sollte mit Rücksicht auf den Qualitätsaspekt «Zeitverhalten» unbedingt vermieden werden.
Benutzbarkeit: Auch für diesen Bereich existieren keine allgemein akzeptierten Standards. So ist etwa eine Tastatur für Nutzer, die oft lange Texte schreiben, sehr angenehm, für andere eher hinderlich. Effizienz und Benutzbarkeit sollten daher immer im Kontext betrachtet werden.
Sicherheit: Sicherheitskomponenten sind Bestandteil des Betriebssystems. Benutzer dürfen meist keine Produkte von Drittanbietern installieren. Hier zeichnet sich ein deutlicher Wandel ab. Speziell Googles Android ermöglicht die einfache Installation von mobilen Applikationen. Dies verschafft den Benutzern deutlich mehr Flexibilität und verbesserte Marktzugänge für Entwickler - öffnet aber auch die Tür für Schad-Software.
Verständlichkeit: Die Anzeigegrösse von mobilen Endgeräten ist eine Herausforderung für das Design des grafischen Interface und die integrierte Hilfefunktion. Wir empfehlen die Aufteilung in kleine Einheiten, die jedes Mal angezeigt werden, wenn es sinnvoll erscheint.
Das gleiche Konzept findet auch in Webdokumenten (HTML, ALT tag) Anwendung. So wird zum Beispiel ergänzende Information in einem kleinen Fenster immer dann angezeigt, wenn man mit der Maus über das entsprechende Icon fährt.
Effizienz: Moderne Mobiltelefone verfügen über zwei Prozessoren. Einer übernimmt die Basisfunktionen des Mobiltelefons (Anrufe tätigen und entgegennehmen), der andere alle nicht auf die Telefonie bezogenen Funktionen. Dieses Konzept funktioniert in der Praxis auch ganz gut, trotzdem kommt es gelegentlich zu Abstürzen des Betriebssystems. So kann zum Beispiel die Nutzung einer Graphic Engine zur Anzeige einer 3D-Navigation dazu führen, dass sich die Ladezeiten erheblich verlängern. Dies sollte mit Rücksicht auf den Qualitätsaspekt «Zeitverhalten» unbedingt vermieden werden.
Benutzbarkeit: Auch für diesen Bereich existieren keine allgemein akzeptierten Standards. So ist etwa eine Tastatur für Nutzer, die oft lange Texte schreiben, sehr angenehm, für andere eher hinderlich. Effizienz und Benutzbarkeit sollten daher immer im Kontext betrachtet werden.
Sicherheit: Sicherheitskomponenten sind Bestandteil des Betriebssystems. Benutzer dürfen meist keine Produkte von Drittanbietern installieren. Hier zeichnet sich ein deutlicher Wandel ab. Speziell Googles Android ermöglicht die einfache Installation von mobilen Applikationen. Dies verschafft den Benutzern deutlich mehr Flexibilität und verbesserte Marktzugänge für Entwickler - öffnet aber auch die Tür für Schad-Software.
Verständlichkeit: Die Anzeigegrösse von mobilen Endgeräten ist eine Herausforderung für das Design des grafischen Interface und die integrierte Hilfefunktion. Wir empfehlen die Aufteilung in kleine Einheiten, die jedes Mal angezeigt werden, wenn es sinnvoll erscheint.
Das gleiche Konzept findet auch in Webdokumenten (HTML, ALT tag) Anwendung. So wird zum Beispiel ergänzende Information in einem kleinen Fenster immer dann angezeigt, wenn man mit der Maus über das entsprechende Icon fährt.
Fazit: Mehr Vielfalt und Qualität
2008 prognostizierte das Marktforschungsinstitut In-Stat ein Anwachsen der Nutzer von mobilen Applikationen auf weltweit 975 Millionen im Jahr 2012. Ungeachtet dieses beträchtlichen Marktpotenzials, fordern die Kunden zunehmend eine grössere Vielfalt und Qualität der mobilen Applikationen. Einfach auf den fahrenden Zug aufzuspringen, ist sicher nicht hilfreich.
Als Basis für die erfolgreiche mobile Anwendungsentwicklung bedarf es fundierter Marktkenntnisse und Know-how in der Umsetzung der qualitativen Aspekte.
Software & Systems Quality Conference
Interessieren Sie sich für Software-Qualitätsmanagement und -Testing? Seit 1996 treffen sich die Experten der Branche an den weltweit stattfindenden SQS-Konferenzen. Kommen Sie zur Konferenz für Software-Qualität und Software-Testing in Zürich am 15. September 2009 im Holiday Inn Zürich Messe.
IT-Verantwortliche und Experten berichten über praktische Erfahrungen, prominente Keynote-Sprecher präsentieren die neus-ten Trends. Zum ersten Mal gestaltet die Schweizerische Vereinigung für Qualitäts- und Management-Systeme die Konferenz inhaltlich mit. Das Motto: Führungsaspekte im übergeordneten Qualitätsmanagement. Computerworld begleitet den Event als Medienpartner.
Tauschen Sie sich mit anderen Teilnehmern aus, profitieren Sie von den Erfahrungen der Referenten und knüpfen Sie neue Kontakte zu wichtigen Tool- und Serviceanbietern.
Anmeldung & weitere Informationen: www.sqc-ch-conference.ch/ch
Interessieren Sie sich für Software-Qualitätsmanagement und -Testing? Seit 1996 treffen sich die Experten der Branche an den weltweit stattfindenden SQS-Konferenzen. Kommen Sie zur Konferenz für Software-Qualität und Software-Testing in Zürich am 15. September 2009 im Holiday Inn Zürich Messe.
IT-Verantwortliche und Experten berichten über praktische Erfahrungen, prominente Keynote-Sprecher präsentieren die neus-ten Trends. Zum ersten Mal gestaltet die Schweizerische Vereinigung für Qualitäts- und Management-Systeme die Konferenz inhaltlich mit. Das Motto: Führungsaspekte im übergeordneten Qualitätsmanagement. Computerworld begleitet den Event als Medienpartner.
Tauschen Sie sich mit anderen Teilnehmern aus, profitieren Sie von den Erfahrungen der Referenten und knüpfen Sie neue Kontakte zu wichtigen Tool- und Serviceanbietern.
Anmeldung & weitere Informationen: www.sqc-ch-conference.ch/ch
Juliana Sutanto