1 / 32

Developing Mobile Applications

Developing Mobile Applications. Milenko Petrovic May 18 th , 2005, Toronto. Agenda. Emerging mobile services Limitations of current technology Developing mobile applications using Eximius mBaze framework Bookstore service: an example application. Demand Drivers. Consumer applications

paul
Download Presentation

Developing Mobile Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Developing Mobile Applications Milenko Petrovic May 18th, 2005, Toronto

  2. Agenda • Emerging mobile services • Limitations of current technology • Developing mobile applications using Eximius mBaze framework • Bookstore service: an example application

  3. Demand Drivers • Consumer applications • Communication • Entertainment • Enterprise applications • Collaboration • Integration with Personal Information Management Systems (PIM) • New application frontiers • More capable devices open new possibilities

  4. Consumer Applications • Messaging • Text messaging is the top data service world wide • Driven by convenience and simplicity • Users want more • Use of picture and video messaging significantly increases data traffic • Game downloads • Driven by availability of better devices and increasing familiarity with mobile internet • On the phone games are fast, convenient, have nice user interface • Information Retrieval • From service provider to users • Local news/weather/traffic alert subscriptions via text messaging • From users to service providers • Surveys, polls, discussions

  5. Enterprise Applications • In the enterprise PIM is the king • Dedicated devices such as RIM BlackBerry widely used since they provide seamless information sharing with the desktop • Always-on pushed-based communication eliminate the need for inconvenient synchronization • Increasingly consumer devices come with similar, low-end, built-in PIM software • BUT inconvenient • Requires synchronization • Difficult to share information with the desktop • Closed platform, non-extendable • HOWEVER, they are programmable • J2ME, Symbian Platform, Microsoft Compact .NET • It has become possible to have enterprise PIM functionality on low consumer devices!

  6. Emerging Applications • Location Based Services • Users are already showing interest as illustrated by increasing use of text message alerts on localnews/weather/traffic reports • Location information available on increasing number of devices • Mobile Payments • Mobile Ticketing

  7. Mobile application characteristics • Programmability • Potential for creating more responsive applications (combats bad perception left by WAP) • Critical personal data • Every application will access personal user profile in some form • Customizations, preferences, authentication information, personal information (contacts, tasks, appointments, etc.) • Mobile payments (credit cards, account information, e-tickets) • Asynchronous Communication • Most applications are best described as event-based―core of the application logic is to react to some external events. • Aesthetic, convenient user interface • Applications need pleasing, simple and responsive user interfaces • Always-on network connectivity • Almost all applications heavily rely on network connectivity. Integration of data from the desktop (office, enterprise, school) to mobile device. Access anytime, anywhere is what increases utility of the mobile applications.

  8. Agenda • Emerging mobile services • Limitation of current technology • Developing mobile applications using Eximius mBaze framework • Bookstore service: an example application

  9. Current Technology • SMS • “request-reply” text applications • WAP • Web applications • J2ME • Java applications

  10. Customer Credit Card Company Merchant Example Application • Mobile Payments • Access to the Internet via a mobile device to buy and sell services • Examples: mobile banking, brokerage services, bill payments, information services Provider

  11. Using SMS • Insecure • Cumbersome to use • Users need to remember cryptic SMS commands • Cannot store credit card information on the device • Limited extensibility • Payment history, merchant incentives, etc.

  12. Using WAP • Equivalent to web payments • Slow as pages making up user interface need to be downloaded for every payment • Request-reply interaction incompatible with “Bill notification” • Limited ability to save information locally • Extendable • Can be developed and deployed very quickly

  13. Using J2ME • Insecure • HTTP request-reply problem (same as for WAP) • Requires considerable software development • More difficult to deploy • Simple, intuitive, pleasing user interface possible • Very extendable

  14. Agenda • Emerging mobile services • Limitations of current technology • Developing mobile applications using Eximius mBaze framework • Bookstore service: an example application

  15. Asynchronous Communication • Web browsing • Web search • Ring tone Downloads Data Notify Request • Text messaging • Email • Mobile Ticketing • Mobile Payments Reply

  16. Using raw J2ME • Asynchronous communication in J2ME is hard • J2ME 1.0 • HTTP (request-reply) • J2ME 2.0 (not widely available yet) • HTTP • Incoming connections (low-level asynchronous)

  17. mBaze Advantage • Asynchronous communication for mobile applications is alwaysbetter! (can always be converted to synchronous if need be) • Results in more responsive user interfaces • Easier handling of failures (slow network, disconnections) • For developers: easier to develop on mobile platform • Mobile application is a collection of asynchronous event-handlers • For users: makes applications simpler and more convenient

  18. Always connected Unattended synchronization Networking and Data Access • Messaging • File sharing Service Povider • Mobile Payments • Mobile Ticketing

  19. Using raw J2ME • Mobile applications are network-centric • But current network technology is: • Slow • High-latency, low-bandwidth • Slower then “dial-up” • Expensive • Users will be less likely to use you application if they have to pay considerable network traffic costs. • Network cost varies from user to user depending on the price plan and network operator. • Unreliable • Both J2ME 1.0 and 2.0 provide HTTP over TCP • HTTP/TCP ≠ reliable • Disconnections, failed transfers, unreachable destinations

  20. mBaze Advantage • mBaze makes mobile applications work efficiently using existing network technology (2G) • Uses compact data representation and compression • Replaces expensive and fragile synchronous with asynchronous communication • Trades-off on-the-device local storage and processing for network communication • Communication layer specifically designed and optimized for resource-constrained nature of current technologies (both networking and device) • Uses document (message) -oriented communication for easy integration with back-end (enterprise) systems • mBaze provides everything you need to create efficient and usable network-centric applications over the current network technologies.

  21. Security Access Control Authorization Authentication Privacy

  22. Using raw J2ME • J2ME 1.0: • No security provisions • Some phone manufacturers have non-standard security features • J2ME 2.0: • HTTPS • Digitally signed applications • No provisions for encrypting data on the device

  23. mBaze Advantage • Supports security-critical applications on both J2ME 1.0 and 2.0 • Both PKI and Shared Key schemes are possible. • Takes advantage of vendor-specific, built-in security features for enhanced performance and reduced application size • Does not rely on built-in security enforcements—those vary widely between manufacturers; ability to always encrypt critical data stored on the device. • Uses privacy-preserving translucent database

  24. User Interface Applications on small screens can look good and be convenientat the same time

  25. Using raw J2ME • High-level UI components • Good looking UI across all devices • Tightly integrated with the application • Difficult to maintain • Expensive to extend • Low-level UI components • Great looking UI • Requires a major development effort unrelated to the core application • Tightly integrated with the application

  26. mBaze Advantage • Wide variety of devices and fast-changing technology warrants separation of user interface from the application logic. • mBaze provides clean separation of UI from the application logic using well known models • Use high-level or low-level J2ME UI without modifying the application • mBaze applications can easily migrated to better and more advanced UI found in newer devices

  27. Agenda • Emerging mobile services • Limitations of current technology • Developing mobile applications using Eximius mBaze framework • Bookstore service: an example application

  28. Developing with mBaze:Bookstore Service Example • Simple customizable notification service(a lá amazon.com) • Users have a profile on their mobile phone that stores their book interests. • Profile can be updated by the users themselves, or by the bookstore(s) based on purchase patterns for that user • This increases convenience to the user, as her interests are determined automatically (she only needs to tweak it if not satisfied) • To satisfy privacy requirements, the profile is stored on the mobile phone, and the user can optionally confirm all profile updates/views from the bookstore.

  29. Bookstore Service (2):mBaze Advantage Extend mBaze asynchronous notification framework with bookstore business logic Use mBaze security and privacy features to secure user profile, which contains personal information, both on the device and over the network Follow mBaze framework to ensureseparation of user interface from application logic. Develop user interface components using J2ME high level API. Take advantage of mBaze translucent storage to enhance user privacy and convenience. Store user’s profile both on the network and on the device.

  30. Back-end Bookstore client is similar to mobile device functionality (in fact, it could be a mobile device) Allow bookstore user to send updates to remote profile, and to send a notification to all remote users with matching profiles. Bookstore Service (3):Application Core • Mobile device • Allow user to edit profile and to optionally approve remote updating/viewing of the profile by a bookstore. • Allow user to choose an authentication method (e.g., password)

  31. mBaze Routing Bookstore Service (4):The Complete System Title = “Lord of The Rings” Subject = “Fantasy” Note = “Collector’s Edition” Subject = “Fantasy” User Interface Bookstore ServiceBusiness Logic back-endapplicationservers Storage Security mBazeframework Communication J2ME

  32. Developing Mobile Applicationsusing mBaze Middleware • Lower your cost of development • Almost all web/desktop/enterprise applications are developed using some framework • Mobile Apps are the same, don’t reinvent the wheel! • Advantages of a framework • The infrastructure is already built for you • The infrastructure if maintained for you • You can concentrate on developing your application

More Related