Title: Building Applications for Mobile Appliances
1Building Applications forMobile Appliances
Sassan Sanei
April 24, 2002
2BlackBerry wireless handheld
- Wear/carry palm size form factor
- Tone, vibrating, LED notification
- Backlit Keyboard
- User-selectable 13, 16 or 20 line display
- Ideal for displaying web content or applications
- Reverse backlight
- Rechargeable lithium ion battery
- Docking and charging cradle
- 8MB Memory
- Intel Flash RAM
- Ample memory for data intensive users and third
party applications - Built on Java Platform
- Provides industry standard programming
environment - Integrated Applications
- Email, organizer, SMS, phone, browser
- Built-in headset jack supports add-on phone
application
3How BlackBerry works
Desktop PC Email Software
Email is decompressed and decrypted
BlackBerry Handhelds
User composes reply, which is compressed and
encrypted (Triple DES)
Exchange or Domino Email Server
Bell Mobility Network
Corporate Firewall
BlackBerry Enterprise Server
4The paradox of wireless applications
- The best wireless applications use wireless the
least - Application must be useful both in and out of
coverage - Need to minimize airtime cost and battery
consumption - What if all the data is stored on a remote
server? - Example all appointments store in a calendar on
a remote server - Application will not work out of coverage cant
even check meetings - Must use airtime for even simple operations
- Use wireless intelligently
- Local processing and data storage is necessary
for certain applications
5Java 2 Platform, Micro Edition (J2ME)
- Java addresses the paradox of wireless
applications - The application must be useful both in and out of
coverage - Processing is done locally and data can be stored
locally - Airtime cost and battery use are minimized
- BlackBerry supports Java 2 Platform, Micro
Edition (J2ME) as its core operating system and
development platform - 3 million Java developers
- Java is already widely used in the enterprise
no need to sell benefits of Java - No need for programmers to learn a new language
shorter development cycle
6Java is standards based
- Java uses existing Internet standards
- HTTP is the same mechanism used to deliver web
pages to your PCs browser - No need for you to learn new protocols just to
support wireless devices - Java is platform-independent
- Write once, run anywhere
- HTTP abstracts the network layer, so it is not
necessary to learn how to address a wireless
network - Motorola, Ericsson, Nokia, Palm, NTT DoCoMo, and
others have all announced support for J2ME
7What Java means to wireless handhelds
- Java offers secure memory management
- No memory leaks!
- A poorly written (or maliciously destructive)
application cannot write into the memory space
allocated to another application - Bounds checking makes it impossible to write to
element 51 of a 50-element array - Java byte code is highly compact
- Small code size means that applications can be
emailed as an attachment to a BlackBerry or
browsed to as a web page, even over a narrowband
network - But portability requires an interpreted language
- This means that Java applications run slower than
C/C counterparts - New BlackBerry devices compensate for this with
faster hardware
8Push vs. pull
- Pull means the user requests information
- Departure times of the next 3 flights from
Toronto to Montreal - Hotels with rooms available from April 25 to
April 27 for 150 to 200 - Directions to a good jazz bar near the hotel
- Local weather forecast for the next 5 days
- Push means alerting the user to a new event
- Youve got mail
- Flight AC 565 delayed to 417 pm,departing from
gate D11 - Rental car is in Hertz parking slot 78,free
upgrade to luxury car - Restaurant Le Merlot Rigolo is offeringa 2 for 1
dinner special tonight only
9RIM Integrated Development Environment
Workspace view
Full Featured Editor
Class Browser
10Extensive J2ME compliant class library
11Powerful Debugger
Comprehensive debug views
Conditional Breakpoints
Expressions and Variables
12Testing and Performance tools
Coverage Analysis
Profiler
13IDE debugging code in simulator
Device simulator running Java
IDE can also debug Java on RIM hardware over the
serial port
14Closing remarks Why Java matters
- Vision
- Work with ISV partners to designand deploy
value-added servicesthat increase the utility of
BlackBerryand the ROI for BlackBerry customers - What BlackBerry provides
- BlackBerry provides all necessaryinfrastructure
and device technologiesto quickly deploy secure
wireless extensionsto existing enterprise
applicationsand consumer services