Flash Lite Development on Nokia Platforms
Total Page:16
File Type:pdf, Size:1020Kb
Java development on Nokia Platforms Jarmo Lahtinen Forum Nokia St. Petersburg May 24-25th, 2007 Company Confidential 1 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials Contents • Mobile development methods • Java Opportunity, landscape and availability • Java on Nokia platforms • How to get started • Tools & SDKs • Questions Company Confidential 2 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials Various methods for mobile development WidSets WidSets Browser Browser Flash Lite Flash Lite Java™ ME MIDP/CLDC PP/CDC Java C++ Nokia Other OS Symbian Platform S60 native Other Series 40 S60 Industry C++ Platform Platform Platforms Company Confidential 3 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials Opportunity Quantified… • S60: 100 million devices shipped to the market • 26 S60 3rd edition devices announced, 16 of them shipping • Series 40: 32 3rd Edition devices announced • 540 million platform devices shipped – all support Java • 220 operators deployed Java technology • 635+ Java technology-enabled handset models by 35+ vendors on the market • 700+ million Java technology-enabled handsets on the market • 350,000 Java technology developers focusing on mobile • 50,000+ mobile Java technology-based applications on the market • 1 million mobile Java technology developer toolkits downloaded • ~23 million mobile Java technology downloads globally/month Company Confidential 4 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials Java Landscape Configuration: JVM specification + Server fundamental APIs e.g. CLDC 1.1 Profile: extra APIs for vertical Desktop Smart Mobile segment, e.g. Phones... Phones + MIDP 2.0 Java PDAs... Smartphone EE s Java profiles profilesMIDP 1.0/2.0 SE Smart CDC CLDC 1.0/1.1 cards... Java ME JavaCard Company Confidential 5 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials Java Availability Company Confidential 6 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials Java APIs on 2nd Edition SERIES 40 S60 • Common APIs across 2nd Edition of MIDP 2.0 MIDP 2.0 both Series 40 and S60: CLDC 1.0 CLDC 1.0 WMA 1.0 WMA 1.0 • MIDP 2.0, CLDC 1.0, MMAPI 1.0, WMA MMAPI 1.0 Bluetooth 1.0 and BT API (No OBEX) Bluetooth API MMAPI 1.0 (No OBEX) • Expect behavioral differences in FP1: *Some devices supported +Updated MMAPI with video • BT API, MMAPI, Push Registry support M3G+PIM+FC+MMAPI with recording and improved image video & camera FP2: • Due to… CLDC 1.1 • Different hardware/native OS support +Web Services API • +Bluetooth API (+push) Different codec support +M3G • A non-mandated feature in a JSR that +PIM & FileConnection API is implemented on one platform but +JTWI not on the other due to memory/CPU FP3: limitations + Updated Bluetooth API (+obex) +Updated WMA (Cell Broadcast) + Web Services API + Updated MMAPI with RTSP streaming Company Confidential 7 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials Java API on 3rd Edition Series 40 S60 • Common APIs across 3rd Edition of both APIs from Series 40 2nd APIs from S60 2nd Series 40 and S60 Edition Edition FP3 + • +CLDC 1.1 +SATSA API MIDP 2.0, CLDC 1.1, MMAPI, WMA 1.0, BT API, PIM &FC API, M3G API +Updated MMAPI +Location API (video+image+sample +SIP API • Expect behavioral differences in audio rendering) +WMA 2.0 • M3G on HW accelerated S60 devices +PIM &FC FP1: +M3G • PIM and FC API due to different OS and file + SVG systems +USB/IR + AMMS FP1: • Many more Java APIs added on top of S60 + Updated M3G +WMA 2.0 (MMS support) 3rd Edition enabling creation of + Updated MMAPI (HTTP +SVG API Streaming) • Peer to peer applications +Web Services API FP2: • Location based networked/messaging FP2: +MIDP 2.1 applications +APDU package from SATSA +MSA subset • Richer multimedia applications API +MMAPI with RTSP & • JSR 248 (MSA) seeks to achieve progressive music playback harmonization of Java APIs across platforms • Does not bring new APIs Company Confidential 8 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials Java APIs on S60 3rd Edition platforms S60 3rd Edition S60 3rd Edition FP1 S603rd Edition FP2 CLDC 1.1 (JSR-139) X X X MIDP 2 (JSR-118) X X 2.1 PIM and File (JSR-75) X X X Bluetooth (JSR-82) X X 1.1 Messaging (JSR-120) (JSR-205) (JSR-205) (JSR-205) MMAPI (JSR-135) X X X Web Services (JSR-172) New X X SATSA (JSR-177) New (Crypto&PKI) Crypto&PKI Crypto&PKI Location (JSR-179) New X X SIP (JSR-180) New X X Mobile 3D Graphics (JSR- X 1.1 1.1 184) JTWI (JSR-185) X X (JSR-248) Messaging 2.0 (JSR-205) New X X SVG (JSR-226) - New X (updates) AMMS (JSR-234) - New (radio, music, 3D Radio, music, 3D audio audio) MSA (JSR-248) - - New (Subset) Company Confidential 9 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials Series 40 5th Edition • Java MIDP has been updated from 2.0 to 2.1, • Addition of OCSP protocol. • Bluetooth APIs v1.1 support for OBEX • MMAPI supports device media keys • Web Services API implements the Remote Procedural Call (RPC) package allowing applications to use SOAP to access public and private Web services. • SATSA includes the SATSA-CRYPTO optional package, allowing applications to offer cryptographic features. • AMMS API added to provide 3D audio and music support Company Confidential 10 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials Java APIs on Series 40 3rd Edition platforms Series 40 3rd Series 40 3rd Edition Series 40 3rd Series 40 5th Ed. Edition FP1 Edition FP2 CLDC 1.1 (JSR-139) X X X X MIDP 2 (JSR-118) X X 2.1 2.1 PIM and File (JSR-75) X X X X Bluetooth (JSR-82) X X 1.1 1.1 Messaging (JSR-120) X (JSR-205) (JSR-205) (JSR-205) MMAPI (JSR-135) X X X X Web Services (JSR- - XML Parser (JAXP) X X 172) SATSA (JSR-177) - - APDU package + CRYPTO package Location (JSR-179) - - - - SIP (JSR-180) - - - - Mobile 3D Graphics X 1.1 1.1 1.1 (JSR-184) JTWI (JSR-185) X X X X Messaging 2.0 (JSR- New X X X 205) SVG (JSR-226) - New X (updates) X AMMS (JSR-234) - New (radio, music, 3D Radio, music, 3D Radio, music, 3D audio) audio audio MSA (JSR-248) - - New (Subset) X Company Confidential 11 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials Series 40 and S60 Java ME Implementations • Different installation procedures over IR/Bluetooth • Use of network access point used by MIDlets differs • Menu Command placement on high-level UI differs due to labeled middle soft key on Series 40 • No background MIDlets on Series 40 devices • Affects how platformRequest() behaves • Different set of JSRs and optional packages • Use system properties to find out availability of optional features • API implementation differences (e.g. MMAPI locators) • Device-level differences: Optimal icon sizes, supported audio and video formats, file system access, maximum JAR size and available heap size • Availability of On Device Debugging (S60 3rd Edition) Company Confidential 12 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials Java Security • Users of your application will encounter security prompts at some point • Some can be avoided by signing but some cannot be • When trying to use protected APIs • Like networking, user data, authentication, multimedia recording etc. Company Confidential 13 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials Signing & Java ME Security Model (MIDP 2.0) •Unsigned MIDlets are placed in lowest security domain •Signed MIDlets are placed in one of 3 domains based on the domain of the root certificate on the phone • Trusted 3rd party • Operator (Carrier) • Manufacturer •Access to certain APIs and methods is dependent of the domain • Not allowed • Ask every time • Ask once per session • Always allowed Company Confidential 14 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials How to get started Step 1 : Choose your favorite IDE Step 2 : Download and install Carbide.j, integrated with the IDE of your choice Company Confidential 15 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials Prototype SDKs Prototype SDK •Based on reference implementation. •Meant for early adopters before real SDK is available. •Provides UI and new APIs, implementation not exactly the same as in real device •Fast and efficient to use Company Confidential 16 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials Platform SDKs Developer Platform SDK •Based on real device/platform software •Meant for final MIDlet development. •Provides a device/platform software with same features as in real device. Company Confidential 17 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials How to get started Step 3 : Download the proper SDK and start development and testing phase No Is Platform Yes SDK Available? Develop and test Develop and test with Prototype with Platform SDK SDK Company Confidential 18 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials How to get started Step 4 : Use Carbide.j to (sign and) deploy the application to a real device. Perform all functionality tests and, if needed, return to Step 3. Bluetooth, USB, OTA Company Confidential 19 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials How to get started You can download all the Java development tools from the Forum Nokia web site: http://forum.nokia.com/tools Company Confidential 20 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials Flash Lite development on Nokia Platforms Jarmo Lahtinen Forum Nokia St. Petersburg May 24-25th, 2007 Company Confidential 21 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials Contents • What is Flash Lite? • Flash Lite 1.x and 2.x • Flash Lite on Nokia platforms • Building Flash Lite applications • Questions Company Confidential 22 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials What is Flash Lite? • Allows Flash development for mobile devices • Flash is application