Date post: | 23-Dec-2015 |
Category: |
Documents |
Upload: | bathsheba-ferguson |
View: | 218 times |
Download: | 0 times |
Developing Mobile Applications
Milenko PetrovicMay 18th, 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 Communication Entertainment
Enterprise applications Collaboration Integration with Personal Information Management
Systems (PIM)
New application frontiers More capable devices open new possibilities
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
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!
Emerging Applications
Location Based ServicesUsers are already showing interest as
illustrated by increasing use of text message alerts on local news/weather/traffic reports
Location information available on increasing number of devices
Mobile PaymentsMobile Ticketing
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.
Agenda
Emerging mobile services Limitation of current technology Developing mobile applications using
Eximius mBaze framework Bookstore service: an example application
Current Technology
SMS“request-reply” text applications
WAPWeb applications
J2MEJava applications
Example Application
Mobile PaymentsAccess to the Internet
via a mobile device to buy and sell services
Examples: mobile banking, brokerage services, bill payments, information services
Customer
Merchant
Credit Card Company
Provider
Using SMS Insecure Cumbersome to use
Users need to remember cryptic SMS commands
Cannot store credit card information on the device
Limited extensibilityPayment history, merchant incentives, etc.
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
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
Agenda
Emerging mobile services Limitations of current technology Developing mobile applications using
Eximius mBaze framework Bookstore service: an example application
Asynchronous Communication
• Text messaging• Email• Mobile Ticketing• Mobile Payments
• Web browsing• Web search• Ring tone Downloads
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)
mBaze Advantage Asynchronous communication for mobile applications is always better!
(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
Networking and Data Access
Always connected Unattended synchronization
Messaging File sharing
Mobile Payments Mobile Ticketing
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
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.
Security
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
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
User Interface
Applications on small screens can look good and be convenient
at the same time
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
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
Agenda
Emerging mobile services Limitations of current technology Developing mobile applications using
Eximius mBaze framework Bookstore service: an example application
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.
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 ensure separation 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.
Bookstore Service (3):Application Core 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.
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)
Bookstore Service (4):The Complete System
Subject = “Fantasy”
Title = “Lord of The Rings”Subject = “Fantasy”Note = “Collector’s Edition”
J2ME
CommunicationStorage
Bookstore ServiceBusiness Logic
User Interface
SecuritymBaze Routing
mBazeframework
back-endapplicationservers
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