2007-12-13 - SDN - Mobile Application Development Do's and Don'ts

660 views

Published on

Presentation about the common pitfalls of mobile application development

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
660
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Een voorbeeld van hoe het niet moet Dit kan zeer veel simpeler: Exchange kan dit standaard, en je kunt nog direct syncen met die server ook (geen dubbelingen in invoeren van agenda-items).
  • Voorbeeld van hoe het wel moet
  • TeleCare-platform voor Zorg buiten kantooruren De dienstdoende arts krijgt met zijn PDA toegang tot meer gegevens dan vroeger. Bovendien kan hij de gegevens sneller delen met de Eerste Hulp.
  • Dienstregeling Heel veel data Synchronisatie via cradle (inclusief updates applicatie) Actuele railsituatie Relatief weinig data Zeer generieke data On-demand refresh SQL database op device via WiFi/GPRS Procesmatig getriggerd door SMS Controle NS Business Card Weinig maar zeer specifieke en vooral dynamische data Webservice ontsloten via applicatie in combinatie GPRS
  • Mijn vader zei vroeger altijd: als je het kwijtraakt, kun je het maar beter goed kwijtraken
  • Remote selfdestruct, the Dell way Weinig gebruikersacceptatie Gezeur met vliegtuigmaatschappijen
  • 2007-12-13 - SDN - Mobile Application Development Do's and Don'ts

    1. 1. Mobile application Do’s and Don’ts Jaap van Ekris DNV-CIBIT ModernNomads.info
    2. 2. Mobile devices
    3. 3. Mobiele applicaties <ul><li>Snel en gemakkelijk overal over informatie beschikken: </li></ul><ul><ul><li>In het veld (mobiele ontsluiting) </li></ul></ul><ul><ul><li>Uit het veld (mobiele datacollectie) </li></ul></ul><ul><li>Over nieuwe soorten informatie beschikken: </li></ul><ul><ul><li>Visuele informatie, meetresultaten, contextinformatie, … </li></ul></ul><ul><li>Het vermijden van dubbel werk als men “uit het veld” komt </li></ul><ul><li>… . </li></ul>
    4. 4. Runtime environments <ul><li>(Smart) phones: </li></ul><ul><ul><li>Windows Smartphone / PocketPC / CE </li></ul></ul><ul><ul><li>Symbian (Nokia / SonyEricsson / …) </li></ul></ul><ul><ul><li>Linux </li></ul></ul><ul><li>Java runtime (J2ME) </li></ul><ul><ul><li>Beschikbaar op proprietary OS-en, maar ook Windows / Symbian / PalmOS / Linux </li></ul></ul>
    5. 5. Iedereen kan mobiele software maken Database Web Messaging DRM... PC Pocket PC Phone Tablet PC Set-top Device VB C# J# ... Visual Studio.net XML SOAP CLR CLR CLR CLR CLR MSIL Web Services Shared Services
    6. 6. <ul><li>Kwaad kapotgooien is </li></ul><ul><li>doodsoorzaak #4 </li></ul><ul><li>onder de mobiele devices </li></ul>
    7. 7. <ul><li>95% van alle ontwikkelaars </li></ul><ul><li>snapt niet wat </li></ul><ul><li>mobiele applicaties inhouden </li></ul>
    8. 8. Context
    9. 9. Desktop gebruikers
    10. 10. Mobiele gebruikers
    11. 11. Traditioneel product
    12. 12. “ Mobilized” versie
    13. 13. Echt mobiel product
    14. 14. Context verschillen <ul><li>De omgeving eist een significant deel van zijn aandacht op </li></ul><ul><li>De omgeving legt beperkingen op aan de interactie </li></ul><ul><li>De omgeving is niet vertrouwd </li></ul><ul><li>De applicatie wordt meer gebruikt om beslissingen in de echte wereld te nemen </li></ul><ul><li>De omgeving kan druk uitoefenen op (de snelheid van) interactiepatronen </li></ul>
    15. 15. De gebruiker centraal Kennisniveau, mate van begeleiden Grootte van de tekst Grootte en robuustheid van de handheld Grootte van plaatjes en schermcomponenten
    16. 16. Maar ook devicebeperkingen Weinig CPU power Beperkte batterylife Beperkt geheugen Beperkte bandbreedte
    17. 17. Menselijke beperkingen
    18. 18. Fysiek ongemak <ul><li>Effectiviteit klein toetsenbord </li></ul><ul><ul><li>Werksnelheid neemt sterk af </li></ul></ul><ul><ul><li>Eigen RSI variant: “Blackberry thumb” </li></ul></ul><ul><li>Effectiviteit klein beeldscherm </li></ul><ul><ul><li>Informatieopname neemt sterk af </li></ul></ul><ul><ul><li>“ Eye Strain” syndrom </li></ul></ul>
    19. 19. Keuzes…
    20. 20. Succesfactoren om te falen <ul><li>Gebruikersinterface: </li></ul><ul><ul><li>Te technisch </li></ul></ul><ul><ul><li>Windows Look & Feel </li></ul></ul><ul><ul><li>Te fragiel, stylus vereist </li></ul></ul><ul><ul><li>Handleiding nodig </li></ul></ul><ul><li>Hardware: </li></ul><ul><ul><li>Te klein scherm </li></ul></ul><ul><ul><li>Te groot apparaat </li></ul></ul><ul><ul><li>Onvoldoende capaciteit </li></ul></ul>
    21. 21. Succesfactoren om te slagen <ul><li>Zelfverklarende applicatie </li></ul><ul><li>Vingers/toetsen versus stylus </li></ul><ul><li>Ondersteunend waar mogelijk: </li></ul><ul><ul><li>Werkproces duidelijk </li></ul></ul><ul><ul><li>Automatische administratie </li></ul></ul><ul><li>Hardware benutten </li></ul><ul><li>Gebruiksgemak </li></ul><ul><li>Gevoel van vrijheid </li></ul><ul><li>Hou rekening met vertrouwelijkheid </li></ul>
    22. 22. Sterke integratie <ul><li>Weinig handmatige invoer </li></ul><ul><li>Integratie met aanwezige applicaties op het platform </li></ul><ul><li>Vermijden dubbel werk </li></ul><ul><li>Integratie met desktop applicatie </li></ul>
    23. 23. Minder goed voorbeeld <ul><li>Er bestaat zoiets als teveel integratie </li></ul>
    24. 24. Goed voorbeeld <ul><li>Een gebruiker is minder nauwkeurig met input </li></ul><ul><li>Een gebruiker krijgt specifieke informatie voor zijn context </li></ul><ul><li>Erg up-to-date informatie </li></ul><ul><li>Minder goed bedienbaar  </li></ul>
    25. 25. Always On <ul><li>Realtime </li></ul><ul><li>Deployment (geen versie-beheer mobiel) </li></ul><ul><li>Security (geen info opgeslagen) </li></ul><ul><li>Bekendheid met browser </li></ul>
    26. 26. Altijd connected ?
    27. 27. Nadelen pure weboplossing <ul><li>Beschikbaarheid bepaald door de aanwezigheid van infrastructuur </li></ul><ul><li>Batterij-levensduur </li></ul><ul><li>Kosten netwerk </li></ul><ul><li>Bandbreedte </li></ul><ul><li>Geen integratie met lokale data </li></ul>
    28. 28. Mogelijke architecturen <ul><li>Volledig lokaal </li></ul><ul><li>Updaten op synchronisatie sessie </li></ul><ul><li>SQLCE sessie wireless </li></ul><ul><li>Webservice </li></ul><ul><li>Volledig internet/serverbased </li></ul>
    29. 29. De juiste Sync Architecture Zie http://download.microsoft.com/download/9/f/a/9fadc29f-8df1-486f-b200-94f79ee7a7de/MED D3 SQL 2005 Mobile Evolution of SQL Server CE.ppt
    30. 30. Beslissingscriteria <ul><li>Beschikbaarheid over ‘eigen’ betrouwbare netwerken? </li></ul><ul><li>Mobiliteit medewerker belangrijk? </li></ul><ul><li>Hoe actueel moeten de getoonde/opgeslagen data zijn? </li></ul><ul><li>Hoeveel energie mag de applicatie verbruiken? </li></ul><ul><li>Hoe blokkerend/frusterend is afwezigheid oplossing? </li></ul>
    31. 31. Database replicatie <ul><li>Mobile client en server hebben een eigen database </li></ul><ul><li>Op gepaste tijden worden de nieuwe records uitgewisseld </li></ul><ul><li>Relatief lage overhead </li></ul><ul><li>Standaard component met SQL-CE </li></ul>
    32. 32. Data transfer CLIENT SERVER Storage Engine Internal SE API eDB API QP Internal QP API Replication and RDA OLEDB / Replication API IIS Server Agent: Replication and Remote Data Access HTTP XML/BizTalk/CS 2002/DTS Enterprise Backend Oracle / db2 / etc Occasionally Connected OLE DB PIM Apps Native Apps Managed SQL CE + eDB Apps VS 2005 C++ CLR / .NET CF SQL Mobile Data Provider SQL Client Provider VS 2005 (VB.NET, C#)
    33. 33. Combineer plus en min: <ul><li>Online indien mogelijk/acceptabel </li></ul><ul><li>Voldoende data voor offline doorwerken </li></ul><ul><li>Primair proces offline beschikbaar </li></ul><ul><li>Automatisch schakelen on/off </li></ul><ul><li>Geen (sync) acties gebruiker vereist </li></ul><ul><li>Statische plaatjes lokaal </li></ul>
    34. 34. Goed voorbeeld <ul><li>Uitlezen van analoge data en onderhoud in het veld </li></ul><ul><ul><li>Hufterproof® </li></ul></ul><ul><ul><li>Gedetailleerde informatie </li></ul></ul><ul><ul><li>Werkt compleet stand-alone (noodzaak uit omgeving) </li></ul></ul><ul><li>Datauitwisseling: </li></ul><ul><ul><li>Complete handleidingen en plattegronden geinstalleerd </li></ul></ul><ul><ul><li>Integreert naadloos met locale systemen door middel syncrelatie </li></ul></ul>
    35. 35. Voorbeeld <ul><li>Webbased agenda </li></ul><ul><li>Integreert vooral niet met bestaande systemen (Outlook) </li></ul><ul><li>Levert dus dubbel werk op </li></ul><ul><li>Werkt niet zonder GPRS/WiFi </li></ul><ul><li>Vreet stroom </li></ul><ul><li>Kost kapitalen bij grote uitrol </li></ul>
    36. 36. Voorbeeld <ul><li>Vermijd dubbel werk </li></ul><ul><li>Locale data-opslag, gesynchroniseerd met centrale server via SQL-CE </li></ul><ul><li>Gebruikt weinig bandbreedte via WiFi (bouwput), dus weinig kosten </li></ul><ul><li>Actuele contextspecifieke informatie </li></ul><ul><li>Sterke integratie met server/desktop applicatie </li></ul><ul><li>Red data van de betonmolen </li></ul>
    37. 37. Telecare applicatie (1)
    38. 38. Telecare applicatie (2)
    39. 39. <ul><li>Volledig werkende applicatie </li></ul><ul><li>Medisch georienteerde interface </li></ul><ul><li>Online als het kan, offline indien nodig </li></ul>Telecare applicatie (3)
    40. 40. TomTom Navigator <ul><li>Deur tot deur navigatie op basis van vaste kaart (onderdeel installatie) </li></ul><ul><li>andere-informatie </li></ul><ul><ul><li>Low volume </li></ul></ul><ul><ul><li>Webservice </li></ul></ul><ul><ul><li>Download via GPRS, niet gratis via TMC </li></ul></ul><ul><li>Platform voor aanvullende diensten </li></ul>
    41. 41. Aanvullende diensten TomTom <ul><li>Flitspalen </li></ul><ul><ul><li>Peer-to-peer concept </li></ul></ul><ul><ul><li>Betaalde download </li></ul></ul><ul><ul><li>GUI integratie </li></ul></ul><ul><li>Vertragingsinformatie </li></ul><ul><ul><li>Real-time berekend </li></ul></ul><ul><ul><li>Wijzigt routes </li></ul></ul>
    42. 42. Hybride modellen Verkeersleiding Grote Boze Internet Kaartverkoop
    43. 43. Mixen informatie
    44. 44. 3 soorten informatie <ul><li>Dienstregeling </li></ul><ul><ul><li>Heel veel data </li></ul></ul><ul><ul><li>Wijzigt nauwelijks </li></ul></ul><ul><ul><li>Synchronisatie via cradle (inclusief updates applicatie) </li></ul></ul><ul><li>Actuele railsituatie </li></ul><ul><ul><li>Relatief weinig data </li></ul></ul><ul><ul><li>Zeer generieke data </li></ul></ul><ul><ul><li>On-demand refresh SQL database op device via WiFi/GPRS </li></ul></ul><ul><ul><li>Procesmatig getriggerd door SMS </li></ul></ul><ul><li>Controle NS Business Card </li></ul><ul><ul><li>Weinig maar zeer specifieke en vooral dynamische data </li></ul></ul><ul><ul><li>Billing gebeurt gewoon achteraf </li></ul></ul><ul><li>Boetes </li></ul><ul><ul><li>Veel data, niet tijdskritisch </li></ul></ul>
    45. 45. <ul><li>Zo’n 60% van de bedrijven begint niet aan mobiele oplossingen omdat ze zich zorgen maken over de beveiliging daarvan </li></ul>
    46. 46. Verlies/Diefstal… <ul><li>40% van de mensen is wel eens een GSM kwijt geraakt </li></ul><ul><li>25% is wel eens een laptop/PDA kwijtgeraakt </li></ul><ul><li>Waar worden die spullen verloren? </li></ul><ul><ul><li>40% in de taxi </li></ul></ul><ul><ul><li>20% in een restaurant/cafe </li></ul></ul>
    47. 47. Nieuwe soort applicaties… <ul><li>Een mobiel verlengstuk van kritieke bedrijfssystemen </li></ul><ul><li>Rechtstreekse ontsluiting </li></ul><ul><li>Credentials grotendeels op device zelf </li></ul>
    48. 48. Beschermen van communicatie <ul><li>SSL gebruiken voor communicatie </li></ul>
    49. 49. Voorkomen ongeoorloofde toegang… <ul><li>“ On idle”/“Power on” password, beschermt: </li></ul><ul><ul><li>Inkomende poorten </li></ul></ul><ul><ul><li>Gebruikersinterface </li></ul></ul><ul><ul><li>Credentials </li></ul></ul><ul><ul><li>Kan wel inkomende gesprekken aannemen </li></ul></ul><ul><li>Instelbare tijd voor activering </li></ul>
    50. 50. The ultimate defense
    51. 51. Trends voor 2008 <ul><li>Location Based services (LoBS) </li></ul><ul><li>Smart tagging (RFID) </li></ul><ul><li>Transactie-afhandeling (NFC) </li></ul>
    52. 52. Location based services Environment Zoom Points of interest Information & Services Buddies Follow me!
    53. 53. Smart Tagging <ul><li>Beste alternatief voor barcodes: </li></ul><ul><ul><li>Sneller </li></ul></ul><ul><ul><li>Grotere afstand </li></ul></ul><ul><ul><li>Bulk </li></ul></ul><ul><li>Maar ook: </li></ul><ul><ul><li>Meer info (bijv. complete url) </li></ul></ul><ul><ul><li>Actief onderdeel in de supply chain </li></ul></ul>
    54. 54. Transactie-afhandeling met NFC <ul><li>+/- 10 telefoons ondersteunen NFC </li></ul><ul><li>Insteekkaarten voor PDA’s </li></ul><ul><li>Toepassingen in: </li></ul><ul><ul><li>Betalingen </li></ul></ul><ul><ul><li>Smart Ticketing </li></ul></ul><ul><ul><li>Actieve toegangscontrole </li></ul></ul>
    55. 55. <ul><li>Vragen? </li></ul>

    ×