SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
Series 40 Developer Training
Porting from Android
to Series 40
Michael Samarin, Ph.D
Director,
Developer Training
Futurice
@MichaelSamarin
› This Webinar is compressed summary
                    of the following resources:
                  › Porting:
      Resources
             at      ›   http://www.developer.nokia.com/Develop/Porting
Nokia Developer   › Guide for Android Developers:
                     ›   http://www.developer.nokia.com/Resources/Library/
                         Porting_to_Series_40/#!porting-from-android-to-
                         series-40.html
General Considerations
Developer Tools
                            Android             Series 40
Officially supported IDEs   Eclipse             Eclipse and NetBeans IDE
Emulator                    Multiple profiles   One profile per SDK
                                                installation
Emulator debugging          Yes                 Yes
On-device debugging         Yes                 Yes, with On-Device Debugger

Remote Device Access        No                  Yes, through Nokia RDA
RDA:
Remote Device
       Access



                http://www.developer.nokia.com/Devices/Re
                mote_device_access/
Ranges and Differences
 Feature                        Android Phone                   Series 40 Touch Phone
 CPU                            600+ MHz                        200-1000 MHz
 Display tech                   Capacitive                      Resistive or Capacitive
 Touch interaction              Multi-point touch               Single-touch and Multi-point touch
 Display resolution             240x320 upwards                 240x320, 240x400
 Sensors                        GPS, Proximity, Acceleration    GPS, Acceleration
 Multitasking                   Yes                             No
 Background processing          Yes                             No
 Low-level API access           Yes                             Limited
 UI Definition                  Declarative or programmatical   Programmatical
 Ready-to-use UI                Android UI                      Standard LCDUI, LWUIT
 components
 Battery life                   Fair                            Excellent
 Development platforms          Windows, Mac, Linux             Windows
 IDEs                           Eclipse                         Eclipse, Netbeans
 Application size limitations   50MB + 4GB                      2MB + Persistent Storage
Nokia Asha 311        Nokia Asha 305/306    Nokia Asha 308/309    Nokia Asha 303       Nokia Asha 302


240 x 400             240 x 400             240 x 400             240 x 320            320 x 240
Capacitive Touch      Resistive Touch       Capacitive Touch      QWERTY and
Screen, Multipoint-   Screen, Multipoint-   Screen, Multipoint-   Capacitive Touch     QWERTY
touch (5 points)      touch (2 points)      touch                 Screen
ROM/RAM               ROM/RAM               ROM/RAM               ROM/RAM              ROM/RAM
256MB/128MB, 32       64MB/32MB, 32 GB      64MB/32MB, 32 GB      256MB/128MB, 32 GB   256MB/128MB, 32 GB
GB Micro SD           Micro SD              Micro SD              Micro SD             Micro SD
Memory Considerations
» On Series 40 Memory Limitations:
    › Application JAR file size can’t exceed 2 MB.

    › Java Heap Size is 2 or 4 MB.

    › Use Nokia Device Matrix for checking:
      http://www.developer.nokia.com/Devices/Device_specifications/

» Brings challenging decisions, especially to visually rich games, with many
  bundled graphical resources.
» Option: post-download of needed resources and caching in RMS.
Apps particularly favorable for porting include
» Content-intensive applications, showing lots of textual content and making
  use of vertical scrolling.
» Single-purpose tools utilizing network connectivity: Content aggregators,
  RSS/News readers; Location-aware applications featuring maps.
» Various business applications.
» Casual games (puzzle, 2D arcade), children's apps (drawing, coloring, touch
  interaction, soundboards).
Application                                         Portability and considerations
category
Games: Arcade, Generally portable. Certain touch interactions might need to be redesigned. Use of images for
Action, Racing, graphics might need to be optimized. Many of these games can also be ported for non-touch
Sports          devices: also lower-resolution ones, by downscaling the graphics.
Games: Brain,     Generally portable. As these games are not usually graphically intensive, porting would be mostly
Puzzle, Cards,    converting the game logic and adjusting graphics for new resolutions. Depending on the type of
Casual            the game, a wide range of Series 40 devices can be targeted, including non-touch ones.
Books, Comics, Generally portable. Biggest challenge is likely scaling the graphical content. While a wide range of
Education,     devices can be targeted, a particularly sweet spot for these applications would be the full touch
News/Magazines devices with lots of screen estate.
Business,         Generally portable, except for productivity tools related to platform personalisation. These
Finance,          applications can be made to work on a wide variety of screen sizes and input types. Porting is
Productivity      mostly adjusting views and converting the application logic. Also adjusting to non-touch devices is
                  usually possible.

Communication, Generally not portable: VoIP, tethering, ringtone and caller ID applications not feasible in Series 40.
Social         Messenger applications are limited to foreground processing.
Application category                                    Portability and considerations

Entertainment,         Generally portable. Applications can be made to work on a number of screen sizes and non-
Health, Lifestyle,     touch devices. Most porting work is done with adjusting the UI and converting application logic.
Medical, Shopping,     Background processing is not available to e.g. record GPS location on the background.
Sports
Media & Video          Generally not portable. Simple video playback possible, but support varies across devices. See
                       Video Formats in the Developer Wiki.
Music & Audio          Generally portable, e.g. streaming music from online, with the exception of lack of background
                       processing. Online streaming services generally work well where good network connetions are
                       available, regardless of the input paradigm used. Porting work is required for application UI and
                       audio streaming code.
Photography            Portable, with reservations: camera accessible via JSR-234, no access to native code might make
                       filters difficult to implement. This category is best viewed on the larger screen sizes, i.e. touch
                       and type and full touch devices.
Tools, Widgets, Live   Generally not portable: replacements for platform functionalities, virus scanners etc. not
Wallpapers,            relevant in Series 40.
Personalisation,
Libraries
UI Considerations
Overall layouts & interaction in Series 40
Navigation Logic:Android tab navigation to Series 40
Navigation Logic: Android
 Dashboard navigation to
                Series 40
Navigation Logic: Android
scrolling tabs navigation to
                   Series 40
Back Navigation
Code Considerations
Porting   › Consider Co-Development,
            instead of classic “porting”
          › Make clear separation
            between business logic and
            UI
          › IT is possible to make libs
            reusable between platforms
          › JARs from Series 40 with
            platform independent Java
            code are reusable directly on
            Android
› Android “Activity” vs. Midlet
Application Life   › Android Background
          Cycle      Execution vs. Midlet instant
                     kill
Code samples   › http://projects.developer.nokia.c
                 om/picasa_viewer
Code samples   › http://www.developer.nokia.com/Re
                 sources/Library/Porting_to_Series_4
                 0/#!porting-cases/porting-case-
                 frozen-bubble.html
Code samples   › http://www.developer.nokia.com/Re
                 sources/Library/Porting_to_Series_4
                 0/#!porting-cases/porting-case-
                 rlinks.html
Thank you!




  @MichaelSamarin
http://www.futurice.com

Contenu connexe

Tendances

Versions of Android OS
Versions of Android OSVersions of Android OS
Versions of Android OSHaseeb
 
What's new in Android Pie
What's new in Android PieWhat's new in Android Pie
What's new in Android PieHassan Abid
 
Cygnet mobility solutions & case studies
Cygnet mobility solutions & case studiesCygnet mobility solutions & case studies
Cygnet mobility solutions & case studiesTarak Joshi
 
Android tutorial points
Android tutorial pointsAndroid tutorial points
Android tutorial pointsbsb_2209
 
889448 634356855122132416
889448 634356855122132416889448 634356855122132416
889448 634356855122132416zxdrtyu
 
android phone feature and value for user
android phone feature and value for userandroid phone feature and value for user
android phone feature and value for userSudhir Kumar
 
Mobile web literature
Mobile web literatureMobile web literature
Mobile web literatureSandeep Supal
 
Android OS and its Features
Android OS and its FeaturesAndroid OS and its Features
Android OS and its FeaturesHarshad Lokhande
 
Vietnam mobile day 2012 multi platform development - game loft
Vietnam mobile day 2012   multi platform development - game loftVietnam mobile day 2012   multi platform development - game loft
Vietnam mobile day 2012 multi platform development - game loftQuang Anh Le
 
Meego Italian Day 2011 - Dr. Luca Roffia
Meego Italian Day 2011 - Dr. Luca RoffiaMeego Italian Day 2011 - Dr. Luca Roffia
Meego Italian Day 2011 - Dr. Luca RoffiaFrancesco Baldassarri
 
Android - A brief introduction
Android - A brief introductionAndroid - A brief introduction
Android - A brief introductionRoshan Gautam
 
Android history,features,applications,hardware development and versions
Android history,features,applications,hardware development and versionsAndroid history,features,applications,hardware development and versions
Android history,features,applications,hardware development and versionsItsJames00
 
Mobile Bootcamp Presentation: Mobile Application Development Platforms
Mobile Bootcamp Presentation: Mobile Application Development PlatformsMobile Bootcamp Presentation: Mobile Application Development Platforms
Mobile Bootcamp Presentation: Mobile Application Development PlatformsWilfred Mutua Mworia
 
X plat dev - part ii publish
X plat dev - part ii publishX plat dev - part ii publish
X plat dev - part ii publishTekObserver
 
Intel Microsoft Webinar HTML5: AppUp Presenttaion
Intel Microsoft Webinar HTML5: AppUp PresenttaionIntel Microsoft Webinar HTML5: AppUp Presenttaion
Intel Microsoft Webinar HTML5: AppUp Presenttaionsoussislim
 

Tendances (20)

Intel AppUp Webinar Italiano General Information
Intel AppUp Webinar Italiano General InformationIntel AppUp Webinar Italiano General Information
Intel AppUp Webinar Italiano General Information
 
Perceptual Computing
Perceptual ComputingPerceptual Computing
Perceptual Computing
 
Versions of Android OS
Versions of Android OSVersions of Android OS
Versions of Android OS
 
What's new in Android Pie
What's new in Android PieWhat's new in Android Pie
What's new in Android Pie
 
Cygnet mobility solutions & case studies
Cygnet mobility solutions & case studiesCygnet mobility solutions & case studies
Cygnet mobility solutions & case studies
 
Android tutorial points
Android tutorial pointsAndroid tutorial points
Android tutorial points
 
Introduction to Android Environment
Introduction to Android EnvironmentIntroduction to Android Environment
Introduction to Android Environment
 
889448 634356855122132416
889448 634356855122132416889448 634356855122132416
889448 634356855122132416
 
android phone feature and value for user
android phone feature and value for userandroid phone feature and value for user
android phone feature and value for user
 
Mobile web literature
Mobile web literatureMobile web literature
Mobile web literature
 
Android OS and its Features
Android OS and its FeaturesAndroid OS and its Features
Android OS and its Features
 
Vietnam mobile day 2012 multi platform development - game loft
Vietnam mobile day 2012   multi platform development - game loftVietnam mobile day 2012   multi platform development - game loft
Vietnam mobile day 2012 multi platform development - game loft
 
Meego Italian Day 2011 - Dr. Luca Roffia
Meego Italian Day 2011 - Dr. Luca RoffiaMeego Italian Day 2011 - Dr. Luca Roffia
Meego Italian Day 2011 - Dr. Luca Roffia
 
Android - A brief introduction
Android - A brief introductionAndroid - A brief introduction
Android - A brief introduction
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Android history,features,applications,hardware development and versions
Android history,features,applications,hardware development and versionsAndroid history,features,applications,hardware development and versions
Android history,features,applications,hardware development and versions
 
Android
AndroidAndroid
Android
 
Mobile Bootcamp Presentation: Mobile Application Development Platforms
Mobile Bootcamp Presentation: Mobile Application Development PlatformsMobile Bootcamp Presentation: Mobile Application Development Platforms
Mobile Bootcamp Presentation: Mobile Application Development Platforms
 
X plat dev - part ii publish
X plat dev - part ii publishX plat dev - part ii publish
X plat dev - part ii publish
 
Intel Microsoft Webinar HTML5: AppUp Presenttaion
Intel Microsoft Webinar HTML5: AppUp PresenttaionIntel Microsoft Webinar HTML5: AppUp Presenttaion
Intel Microsoft Webinar HTML5: AppUp Presenttaion
 

Similaire à Porting Android apps to the Series 40 platform

Porting BlackBerry apps to the Series 40 platform
Porting BlackBerry apps to the Series 40 platformPorting BlackBerry apps to the Series 40 platform
Porting BlackBerry apps to the Series 40 platformMicrosoft Mobile Developer
 
Extending softwareintomobile 11 28-2012
Extending softwareintomobile 11 28-2012Extending softwareintomobile 11 28-2012
Extending softwareintomobile 11 28-2012CorSource
 
Nokia Developer Offering Series 40
Nokia Developer Offering Series 40Nokia Developer Offering Series 40
Nokia Developer Offering Series 40Mohamad Iqbal
 
Android application development with latest version
Android application development with latest version Android application development with latest version
Android application development with latest version Mike Taylor
 
Embarcadero's Connected Development
Embarcadero's Connected DevelopmentEmbarcadero's Connected Development
Embarcadero's Connected DevelopmentJim McKeeth
 
Android Seminar || history || versions||application developement
Android Seminar || history || versions||application developement Android Seminar || history || versions||application developement
Android Seminar || history || versions||application developement Shubham Pahune
 
Android application development
Android application developmentAndroid application development
Android application developmentFahad A. Shaikh
 
Kahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering ServicesKahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering Serviceskahunasystems
 
Pocket guide for mobile computers
Pocket guide for mobile computersPocket guide for mobile computers
Pocket guide for mobile computersScanSource Brasil
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android Ranjith Kumar
 
Natural User Interfaces in a Nutshel
Natural User Interfaces in a NutshelNatural User Interfaces in a Nutshel
Natural User Interfaces in a NutshelMichael Heydt
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osArnav Gupta
 
Android – As a tool of innovation
Android – As a tool of innovation Android – As a tool of innovation
Android – As a tool of innovation Pallab Sarkar
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osArnav Gupta
 
Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010Tom Deryckere
 

Similaire à Porting Android apps to the Series 40 platform (20)

Porting BlackBerry apps to the Series 40 platform
Porting BlackBerry apps to the Series 40 platformPorting BlackBerry apps to the Series 40 platform
Porting BlackBerry apps to the Series 40 platform
 
Extending softwareintomobile 11 28-2012
Extending softwareintomobile 11 28-2012Extending softwareintomobile 11 28-2012
Extending softwareintomobile 11 28-2012
 
Nokia Developer Offering Series 40
Nokia Developer Offering Series 40Nokia Developer Offering Series 40
Nokia Developer Offering Series 40
 
Android application development with latest version
Android application development with latest version Android application development with latest version
Android application development with latest version
 
Embarcadero's Connected Development
Embarcadero's Connected DevelopmentEmbarcadero's Connected Development
Embarcadero's Connected Development
 
Android Seminar || history || versions||application developement
Android Seminar || history || versions||application developement Android Seminar || history || versions||application developement
Android Seminar || history || versions||application developement
 
Android application development
Android application developmentAndroid application development
Android application development
 
Kahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering ServicesKahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering Services
 
Pocket guide for mobile computers
Pocket guide for mobile computersPocket guide for mobile computers
Pocket guide for mobile computers
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android
 
Adobe Flash and Device Central
Adobe Flash and Device CentralAdobe Flash and Device Central
Adobe Flash and Device Central
 
Android technology
Android technologyAndroid technology
Android technology
 
Natural User Interfaces in a Nutshel
Natural User Interfaces in a NutshelNatural User Interfaces in a Nutshel
Natural User Interfaces in a Nutshel
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 
Android – As a tool of innovation
Android – As a tool of innovation Android – As a tool of innovation
Android – As a tool of innovation
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introduction
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 
Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010
 
Android Apps
Android AppsAndroid Apps
Android Apps
 
Android
AndroidAndroid
Android
 

Plus de Microsoft Mobile Developer

Intro to Nokia X software platform 2.0 and tools
Intro to Nokia X software platform 2.0 and toolsIntro to Nokia X software platform 2.0 and tools
Intro to Nokia X software platform 2.0 and toolsMicrosoft Mobile Developer
 
Location based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagLocation based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagMicrosoft Mobile Developer
 
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsLumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsMicrosoft Mobile Developer
 
Windows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appWindows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appMicrosoft Mobile Developer
 
La pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeLa pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeMicrosoft Mobile Developer
 
Il pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoIl pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoMicrosoft Mobile Developer
 

Plus de Microsoft Mobile Developer (20)

Intro to Nokia X software platform 2.0 and tools
Intro to Nokia X software platform 2.0 and toolsIntro to Nokia X software platform 2.0 and tools
Intro to Nokia X software platform 2.0 and tools
 
Lumia App Labs: Lumia SensorCore SDK beta
Lumia App Labs: Lumia SensorCore SDK betaLumia App Labs: Lumia SensorCore SDK beta
Lumia App Labs: Lumia SensorCore SDK beta
 
Nokia Asha from idea to app - Imaging
Nokia Asha from idea to app - ImagingNokia Asha from idea to app - Imaging
Nokia Asha from idea to app - Imaging
 
Healthcare apps for Nokia X and Nokia Asha
Healthcare apps for Nokia X and Nokia AshaHealthcare apps for Nokia X and Nokia Asha
Healthcare apps for Nokia X and Nokia Asha
 
Push notifications on Nokia X
Push notifications on Nokia XPush notifications on Nokia X
Push notifications on Nokia X
 
DIY Nokia Asha app usability studies
DIY Nokia Asha app usability studiesDIY Nokia Asha app usability studies
DIY Nokia Asha app usability studies
 
Lessons learned from Nokia X UI reviews
Lessons learned from Nokia X UI reviewsLessons learned from Nokia X UI reviews
Lessons learned from Nokia X UI reviews
 
Location based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagLocation based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tag
 
HERE Maps for the Nokia X platform
HERE Maps for the Nokia X platformHERE Maps for the Nokia X platform
HERE Maps for the Nokia X platform
 
Nokia In-App Payment - UX considerations
Nokia In-App Payment - UX considerationsNokia In-App Payment - UX considerations
Nokia In-App Payment - UX considerations
 
Introduction to Nokia Asha SDK 1.2 (beta)
Introduction to Nokia Asha SDK 1.2 (beta)Introduction to Nokia Asha SDK 1.2 (beta)
Introduction to Nokia Asha SDK 1.2 (beta)
 
UX considerations when porting to Nokia X
UX considerations when porting to Nokia XUX considerations when porting to Nokia X
UX considerations when porting to Nokia X
 
Kids' games and educational app design
Kids' games and educational app designKids' games and educational app design
Kids' games and educational app design
 
Nokia X: opportunities for developers
Nokia X: opportunities for developersNokia X: opportunities for developers
Nokia X: opportunities for developers
 
Lumia App Labs: Nokia Imaging SDK 1.1
Lumia App Labs: Nokia Imaging SDK 1.1Lumia App Labs: Nokia Imaging SDK 1.1
Lumia App Labs: Nokia Imaging SDK 1.1
 
Intro to Nokia X software platform and tools
Intro to Nokia X software platform and toolsIntro to Nokia X software platform and tools
Intro to Nokia X software platform and tools
 
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsLumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
 
Windows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appWindows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra app
 
La pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeLa pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo store
 
Il pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoIl pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progetto
 

Dernier

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Dernier (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Porting Android apps to the Series 40 platform

  • 1. Series 40 Developer Training Porting from Android to Series 40 Michael Samarin, Ph.D Director, Developer Training Futurice @MichaelSamarin
  • 2. › This Webinar is compressed summary of the following resources: › Porting: Resources at › http://www.developer.nokia.com/Develop/Porting Nokia Developer › Guide for Android Developers: › http://www.developer.nokia.com/Resources/Library/ Porting_to_Series_40/#!porting-from-android-to- series-40.html
  • 4. Developer Tools Android Series 40 Officially supported IDEs Eclipse Eclipse and NetBeans IDE Emulator Multiple profiles One profile per SDK installation Emulator debugging Yes Yes On-device debugging Yes Yes, with On-Device Debugger Remote Device Access No Yes, through Nokia RDA
  • 5. RDA: Remote Device Access http://www.developer.nokia.com/Devices/Re mote_device_access/
  • 6. Ranges and Differences Feature Android Phone Series 40 Touch Phone CPU 600+ MHz 200-1000 MHz Display tech Capacitive Resistive or Capacitive Touch interaction Multi-point touch Single-touch and Multi-point touch Display resolution 240x320 upwards 240x320, 240x400 Sensors GPS, Proximity, Acceleration GPS, Acceleration Multitasking Yes No Background processing Yes No Low-level API access Yes Limited UI Definition Declarative or programmatical Programmatical Ready-to-use UI Android UI Standard LCDUI, LWUIT components Battery life Fair Excellent Development platforms Windows, Mac, Linux Windows IDEs Eclipse Eclipse, Netbeans Application size limitations 50MB + 4GB 2MB + Persistent Storage
  • 7. Nokia Asha 311 Nokia Asha 305/306 Nokia Asha 308/309 Nokia Asha 303 Nokia Asha 302 240 x 400 240 x 400 240 x 400 240 x 320 320 x 240 Capacitive Touch Resistive Touch Capacitive Touch QWERTY and Screen, Multipoint- Screen, Multipoint- Screen, Multipoint- Capacitive Touch QWERTY touch (5 points) touch (2 points) touch Screen ROM/RAM ROM/RAM ROM/RAM ROM/RAM ROM/RAM 256MB/128MB, 32 64MB/32MB, 32 GB 64MB/32MB, 32 GB 256MB/128MB, 32 GB 256MB/128MB, 32 GB GB Micro SD Micro SD Micro SD Micro SD Micro SD
  • 8. Memory Considerations » On Series 40 Memory Limitations: › Application JAR file size can’t exceed 2 MB. › Java Heap Size is 2 or 4 MB. › Use Nokia Device Matrix for checking: http://www.developer.nokia.com/Devices/Device_specifications/ » Brings challenging decisions, especially to visually rich games, with many bundled graphical resources. » Option: post-download of needed resources and caching in RMS.
  • 9. Apps particularly favorable for porting include » Content-intensive applications, showing lots of textual content and making use of vertical scrolling. » Single-purpose tools utilizing network connectivity: Content aggregators, RSS/News readers; Location-aware applications featuring maps. » Various business applications. » Casual games (puzzle, 2D arcade), children's apps (drawing, coloring, touch interaction, soundboards).
  • 10. Application Portability and considerations category Games: Arcade, Generally portable. Certain touch interactions might need to be redesigned. Use of images for Action, Racing, graphics might need to be optimized. Many of these games can also be ported for non-touch Sports devices: also lower-resolution ones, by downscaling the graphics. Games: Brain, Generally portable. As these games are not usually graphically intensive, porting would be mostly Puzzle, Cards, converting the game logic and adjusting graphics for new resolutions. Depending on the type of Casual the game, a wide range of Series 40 devices can be targeted, including non-touch ones. Books, Comics, Generally portable. Biggest challenge is likely scaling the graphical content. While a wide range of Education, devices can be targeted, a particularly sweet spot for these applications would be the full touch News/Magazines devices with lots of screen estate. Business, Generally portable, except for productivity tools related to platform personalisation. These Finance, applications can be made to work on a wide variety of screen sizes and input types. Porting is Productivity mostly adjusting views and converting the application logic. Also adjusting to non-touch devices is usually possible. Communication, Generally not portable: VoIP, tethering, ringtone and caller ID applications not feasible in Series 40. Social Messenger applications are limited to foreground processing.
  • 11. Application category Portability and considerations Entertainment, Generally portable. Applications can be made to work on a number of screen sizes and non- Health, Lifestyle, touch devices. Most porting work is done with adjusting the UI and converting application logic. Medical, Shopping, Background processing is not available to e.g. record GPS location on the background. Sports Media & Video Generally not portable. Simple video playback possible, but support varies across devices. See Video Formats in the Developer Wiki. Music & Audio Generally portable, e.g. streaming music from online, with the exception of lack of background processing. Online streaming services generally work well where good network connetions are available, regardless of the input paradigm used. Porting work is required for application UI and audio streaming code. Photography Portable, with reservations: camera accessible via JSR-234, no access to native code might make filters difficult to implement. This category is best viewed on the larger screen sizes, i.e. touch and type and full touch devices. Tools, Widgets, Live Generally not portable: replacements for platform functionalities, virus scanners etc. not Wallpapers, relevant in Series 40. Personalisation, Libraries
  • 13. Overall layouts & interaction in Series 40
  • 14. Navigation Logic:Android tab navigation to Series 40
  • 15. Navigation Logic: Android Dashboard navigation to Series 40
  • 16. Navigation Logic: Android scrolling tabs navigation to Series 40
  • 19. Porting › Consider Co-Development, instead of classic “porting” › Make clear separation between business logic and UI › IT is possible to make libs reusable between platforms › JARs from Series 40 with platform independent Java code are reusable directly on Android
  • 20. › Android “Activity” vs. Midlet Application Life › Android Background Cycle Execution vs. Midlet instant kill
  • 21.
  • 22. Code samples › http://projects.developer.nokia.c om/picasa_viewer
  • 23. Code samples › http://www.developer.nokia.com/Re sources/Library/Porting_to_Series_4 0/#!porting-cases/porting-case- frozen-bubble.html
  • 24. Code samples › http://www.developer.nokia.com/Re sources/Library/Porting_to_Series_4 0/#!porting-cases/porting-case- rlinks.html
  • 25. Thank you! @MichaelSamarin http://www.futurice.com