Transcript Document

Developing Mobile
Applications
Milenko Petrovic
May 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 Services
 Users
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 Payments
 Mobile 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



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


Customizations, preferences, authentication information, personal
information (contacts, tasks, appointments, etc.)
Mobile payments (credit cards, account information, e-tickets)
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”

WAP
 Web

text applications
applications
J2ME
 Java
applications
Example Application

Mobile Payments
Customer
 Access
to the Internet
via a mobile device to
buy and sell services
 Examples: mobile
banking, brokerage
services, bill payments,
information services
Provider
Merchant
Credit Card Company
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.
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
• Web browsing
• Web search
• Ring tone Downloads
• Text messaging
• Email
• Mobile Ticketing
• Mobile Payments
Using raw J2ME

Asynchronous communication in J2ME is hard
 J2ME

HTTP (request-reply)
 J2ME


1.0
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




Messaging
File sharing
Always connected
Unattended synchronization


Mobile Payments
Mobile Ticketing
Using raw J2ME


Mobile applications are network-centric
But current network technology is:

Slow



Expensive



High-latency, low-bandwidth
Slower then “dial-up”
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 resourceconstrained 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
Title = “Lord of The Rings”
Subject = “Fantasy”
Note = “Collector’s Edition”
Subject = “Fantasy”
User Interface
Bookstore Service
Business Logic
mBaze
framework
Storage Security
Communication
J2ME
back-end
application
servers
mBaze Routing
Developing Mobile Applications
using 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