+ All Categories
Home > Documents > Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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

Date post: 23-Dec-2015
Category:
Upload: bathsheba-ferguson
View: 218 times
Download: 0 times
Share this document with a friend
Popular Tags:
32
Developing Mobile Applications Milenko Petrovic May 18 th , 2005, Toronto
Transcript
Page 1: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

Developing Mobile Applications

Milenko PetrovicMay 18th, 2005, Toronto

Page 2: 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

Page 3: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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

Page 4: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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

Page 5: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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!

Page 6: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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

Page 7: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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.

Page 8: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

Agenda

Emerging mobile services Limitation of current technology Developing mobile applications using

Eximius mBaze framework Bookstore service: an example application

Page 9: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

Current Technology

SMS“request-reply” text applications

WAPWeb applications

J2MEJava applications

Page 10: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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

Page 11: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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.

Page 12: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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

Page 13: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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

Page 14: 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

Page 15: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

Asynchronous Communication

• Text messaging• Email• Mobile Ticketing• Mobile Payments

• Web browsing• Web search• Ring tone Downloads

Page 16: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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)

Page 17: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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

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

Networking and Data Access

Always connected Unattended synchronization

Messaging File sharing

Mobile Payments Mobile Ticketing

Page 19: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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

Page 20: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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.

Page 21: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

Security

Page 22: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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

Page 23: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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

Page 24: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

User Interface

Applications on small screens can look good and be convenient

at the same time

Page 25: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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

Page 26: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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

Page 27: 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

Page 28: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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.

Page 29: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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.

Page 30: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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)

Page 31: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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

Page 32: Developing Mobile Applications Milenko Petrovic May 18 th, 2005, Toronto.

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


Recommended