SlideShare a Scribd company logo
mobile development platforms
Mobile platforms
Windows Mobile Very Closed Main language: Visual C++ Supported developing: Visual Basic .NET ASP.NET Supported devices: many phones Company behind: Microsoft
BlackBerry Very Closed Main language: Java (J2ME) + proprietary extensions Supported devices: BlackBerry Company behind: RIM
iPhone Very Closed Proprietary marketing model Based on BSD + iPhone Framework Main language: Objective C Device: iPhone (1 model) Company behind: Apple Unofficial gcc based SDK available You have to hack the phone
Symbian S60 Proprietary, but open for development Based on Symbian Main language: Symbian C++ Supported frameworks: Open C (Posix porting layer) Java (J2ME) Python Adobe Flash Lite / Web Runtime Supported devices: many phones Company behind: Nokia
Symbian Foundation New initiative of symbian companies Conflation of different symbian flavors S60 UIQ MOAP(S) Goal is to OpenSource Symbian until 2010 Planed License: Eclipse Public License (EPL)
Android Free & Open? Not known yet! Based on Linux + Android runtime GUI Toolkits: Android Language: Java subset only Written from scratch Supported devices: emulator + HTC (announced) Company behind: Google + Open Handset Alliance
Maemo/ITOS 95 % Free & Open Based on Linux, DBus and X11 GUI Toolkits: GTK/hildon, QT (soon) Main languages: C, Python, C++ Based on Debian (forked) .deb based packaging Supported device: n810 (1 model) Company behind: Nokia
OpenMoko 100 % Free & Open Based on Linux, DBus and X11 GUI Toolkits: GTK, QT, EFL Main languages: C, Python Based on OpenEmbedded .ipk based packaging Device: Neo freerunner (1 model) Company behind: FIC/OpenMoko
Biggest problems in mobile development
Problem 1: Too many restrictions Only small control over the system Often only limited APIs are available Features are locked, signing processes are forced The core components are not replaceable Free platforms change this:
Problem 2: Too many platforms Large number of different platforms Few standards for cross platform development J2ME HTML/Web Applications J2ME often relies on proprietary extensions Some platforms cover only one device solution: Cross platform development standards Or: Focus on widespreaded platforms
Problem 3: Different development approach Experienced developers want to reuse their knowledge Companies don't want to hire additional staff for mobile development Development Environments should be the same in mobile and desktop development Applications/frameworks should be reused Multi tier applications should use a homogeneous software stack if possible Solved by:
Problem 3: Different development approach Experienced developers want to reuse their knowledge Companies don't want to hire additional staff for mobile development Development Environments should be the same in mobile and desktop development Applications/frameworks should be reused Multi tier applications should use a homogeneous software stack if possible Solved by: For a small group of target developers, only!
What's wrong with J2ME? Targets much of the problems, but .. Has too much restrictions Differs to much from usual Java Completely different APIs No code reuse Even if it is standardized: Every manufacturer has different implementations Applications have to be device specific Not powerful enough for much application types
What's about Android? Targets much of the problems ... has only few restrictions uses real Java promises wide availability still differs from usual Java special APIs code reuse only below the GUI is not standardized is not designed for integration in other platforms does not integrate other approaches ... but ...
What's about Maemo & OpenMoko? They do a lot of things right ... eliminate restrictions use real desktop toolkits each platform has only one device no API standardization (between those platforms) focus only on a very special developer community ... but ...
Cross platform solutions Upcoming solutions QT FreeSmartPhone.org standards LWUIT Jalimo OpenEmbedded Cross platform development is not a language problem, but a problem of cross platforms the libraries and toolkits.
What's about QT? QT has the chance to become a solution! Good, powerful Toolkit Wide availability Windows, Windows Mobile Linux, OpenMoko Good Java bindings: Jambi Acquired by Nokia Soon supported on Symbian and Maemo
FreeSmartPhone.org standards Origin OpenMoko framework initiative Most work founded by OpenMoko Independent Project DBus API design Reference implementation of services Base for any interaction of applications with the platform  Standardisation of Smartphone APIs
LWUIT GUI Library for J2ME Similar to Swing Small but powerful Released as GPL from Sun, just now Usable on all J2ME phones Easy portable backend  Ports in work Java AWT (CDC) Microbackend (X, SWT, AWT, ...) Sun's way to unify mobile and desktop development? Benefits of LWUIT
jalimo Project to bring free full Java to mobile and embedded platforms Support for the development lifecycle to target mobile devices with java Integrative project, doing most work in upstream projects Current targets: maemo, OpenMoko, BugLabs, BeagleBoard, Irex Iliad No additional mobile platform! No additional JVM! What is jalimo not:
Initiated by Tarent Active members from: Bug Labs & MIDPath One technology among the applications! Use the same staff for mobile and server side development! Who is behind jalimo? Why is tarent doing jalimo? Tarent has employed 60 people (~40 Java developer) Most of tarent's projects use java on the server side
Parts of jalimo Libraries Runtime Build Plattform GUI J2SE 1.5 focused Different alternatives for different requirements Cacao JVM JamVM GNU Classpath Sun PhoneME dbus-java scio fso.org-java ... maven packaging plugin OpenEmbedded Eclipse maemo ...?... openmoko ...... SWT AWT/Swing java-gnome MIDPath
OpenEmbedded cross-compile environment generation of complete distributions support for 1000's packages builds the base for OpenMoko Angstroem Jalimo Buglabs Irex Iliad ... Nice solution for multi platform development
Different level of openness Closed usual mobile, iPhone Open for application development Symbian, Android, J2ME phones, Windows Mobile, BlackBerry Open and customizable maemo Free and open OpenMoko, OpenEmbedded Free, open and standardized Nothing yet! (FSO has a chance!) GPL
Thank you! CC-BY-SA 3.0 or GNU FDL 1.2 or, at your option, any later version. Mobile@FrosCon: Freie Software für das iPhone Ralph Pöllath  11:15 Uhr, HS 4 Openmoko 2008 Michael Lauer 14:00 Uhr,  HS 1

More Related Content

ODP
Jalimo Slides Linuxtag2008
PDF
Mobile Developers Guide To The Galaxy
PDF
Mobile Developer's Guide To The Galaxy Edition 2
PPTX
Time to learn flutter or stick to native development
PPTX
Top 4 Cross Platform tools for Mobile App Development
PPTX
PhoneGap @ LDNUG
PPTX
Java Programming (M&M)
PDF
Mobile Developers Guide To The Galaxy Vol.6
Jalimo Slides Linuxtag2008
Mobile Developers Guide To The Galaxy
Mobile Developer's Guide To The Galaxy Edition 2
Time to learn flutter or stick to native development
Top 4 Cross Platform tools for Mobile App Development
PhoneGap @ LDNUG
Java Programming (M&M)
Mobile Developers Guide To The Galaxy Vol.6

What's hot (20)

PPTX
Windows 7 mobile
PPT
Modern mobile development overview
PPT
An introduction to java programming language forbeginners(java programming tu...
PPT
Mobile Cross Platform
PPTX
Go mobile with Windows Phone
PDF
Solutions For App Prototyping
PPTX
Cross platform-mobile-applications
PPTX
Mobile Application Development Using Java
PPTX
Native vs cross platform native development which one is right for your requ...
PDF
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
PDF
Mobile OS Мобильный операционные системы вступление сравнение
PPTX
Presentation[1]
PDF
Cross-platform development frameworks
PDF
Eindhoven Mobile Development First Meetup Slides
PPTX
Developing cross platforms mobile applications using the Apache Cordova
PPTX
Mobinius : Mobile Native vs Cross Platform
PDF
FirstMeetupSlides
PDF
Java application-development
PPTX
Android summer training report
PPTX
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
Windows 7 mobile
Modern mobile development overview
An introduction to java programming language forbeginners(java programming tu...
Mobile Cross Platform
Go mobile with Windows Phone
Solutions For App Prototyping
Cross platform-mobile-applications
Mobile Application Development Using Java
Native vs cross platform native development which one is right for your requ...
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
Mobile OS Мобильный операционные системы вступление сравнение
Presentation[1]
Cross-platform development frameworks
Eindhoven Mobile Development First Meetup Slides
Developing cross platforms mobile applications using the Apache Cordova
Mobinius : Mobile Native vs Cross Platform
FirstMeetupSlides
Java application-development
Android summer training report
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
Ad

Viewers also liked (20)

PDF
Putting Out Fires with Content Strategy (InfoDevDC meetup)
PDF
Strategies for Friendly English and Successful Localization
PDF
The ruby on rails i18n core api-Neeraj Kumar
PDF
Glossary
DOCX
My trans kit checklist gw1 ds1_gw3
PDF
Strategies for Friendly English and Successful Localization (InfoDevWorld 2014)
DOC
Silmeyiniz
PDF
Linguistic Potluck: Crowdsourcing localization with Rails
PDF
Pycon 2012 What Python can learn from Java
KEY
Designing for Multiple Mobile Platforms
PPS
Bank Account Of Life
PPS
My Valentine Gift - YOU Decide
PDF
Building Quality Experiences for Users in Any Language
DOCX
Sample email submission
DOCX
Sample of instructions
PDF
2008 Fourth Quarter Real Estate Commentary
KEY
How to make intelligent web apps
PDF
Putting Out Fires with Content Strategy (STC Academic SIG)
PDF
Open Software Platforms for Mobile Digital Broadcasting
PPTX
Stc 2014 unraveling the mysteries of localization kits
Putting Out Fires with Content Strategy (InfoDevDC meetup)
Strategies for Friendly English and Successful Localization
The ruby on rails i18n core api-Neeraj Kumar
Glossary
My trans kit checklist gw1 ds1_gw3
Strategies for Friendly English and Successful Localization (InfoDevWorld 2014)
Silmeyiniz
Linguistic Potluck: Crowdsourcing localization with Rails
Pycon 2012 What Python can learn from Java
Designing for Multiple Mobile Platforms
Bank Account Of Life
My Valentine Gift - YOU Decide
Building Quality Experiences for Users in Any Language
Sample email submission
Sample of instructions
2008 Fourth Quarter Real Estate Commentary
How to make intelligent web apps
Putting Out Fires with Content Strategy (STC Academic SIG)
Open Software Platforms for Mobile Digital Broadcasting
Stc 2014 unraveling the mysteries of localization kits
Ad

Similar to mobile development platforms (20)

PDF
Mobile Developer's Guide To The Galaxy Vol.7
PPTX
Mobile Operating Systems
PDF
Mobile Developer's Guide To The Galaxy No. 9
PPTX
Android before getting started
PDF
Mobile Developer's Guide To The Galaxy, 5th edition
PPT
Overview of Mobile Development Platforms
PPTX
Android application development
PPTX
Introduction to Android Development: Before Getting Started
PDF
How Android is different from other systems – An exploration of the design de...
PDF
Day 1 Android: Before Getting Started
PPSX
MATHS
KEY
Android a brief intro
ODP
Jalimo Slides Linuxtag2007 (English)
ODP
Mobile Platforms Redux
PDF
Developers Guide To The Galaxy 8th edition
PPT
Mobile Software Development
PDF
Google Android Naver 1212
PDF
Introduction to android
KEY
Android java fx-jme@jug-lugano
PDF
Mobile Developer's Guide To The Galaxy No.10
Mobile Developer's Guide To The Galaxy Vol.7
Mobile Operating Systems
Mobile Developer's Guide To The Galaxy No. 9
Android before getting started
Mobile Developer's Guide To The Galaxy, 5th edition
Overview of Mobile Development Platforms
Android application development
Introduction to Android Development: Before Getting Started
How Android is different from other systems – An exploration of the design de...
Day 1 Android: Before Getting Started
MATHS
Android a brief intro
Jalimo Slides Linuxtag2007 (English)
Mobile Platforms Redux
Developers Guide To The Galaxy 8th edition
Mobile Software Development
Google Android Naver 1212
Introduction to android
Android java fx-jme@jug-lugano
Mobile Developer's Guide To The Galaxy No.10

Recently uploaded (20)

PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
1. Introduction to Computer Programming.pptx
PPTX
OMC Textile Division Presentation 2021.pptx
PPTX
cloud_computing_Infrastucture_as_cloud_p
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Encapsulation theory and applications.pdf
PPTX
Spectroscopy.pptx food analysis technology
PDF
August Patch Tuesday
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Machine learning based COVID-19 study performance prediction
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Mushroom cultivation and it's methods.pdf
PPTX
Machine Learning_overview_presentation.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
1. Introduction to Computer Programming.pptx
OMC Textile Division Presentation 2021.pptx
cloud_computing_Infrastucture_as_cloud_p
TLE Review Electricity (Electricity).pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Encapsulation theory and applications.pdf
Spectroscopy.pptx food analysis technology
August Patch Tuesday
Programs and apps: productivity, graphics, security and other tools
Heart disease approach using modified random forest and particle swarm optimi...
NewMind AI Weekly Chronicles - August'25-Week II
Machine learning based COVID-19 study performance prediction
SOPHOS-XG Firewall Administrator PPT.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Mushroom cultivation and it's methods.pdf
Machine Learning_overview_presentation.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf

mobile development platforms

  • 3. Windows Mobile Very Closed Main language: Visual C++ Supported developing: Visual Basic .NET ASP.NET Supported devices: many phones Company behind: Microsoft
  • 4. BlackBerry Very Closed Main language: Java (J2ME) + proprietary extensions Supported devices: BlackBerry Company behind: RIM
  • 5. iPhone Very Closed Proprietary marketing model Based on BSD + iPhone Framework Main language: Objective C Device: iPhone (1 model) Company behind: Apple Unofficial gcc based SDK available You have to hack the phone
  • 6. Symbian S60 Proprietary, but open for development Based on Symbian Main language: Symbian C++ Supported frameworks: Open C (Posix porting layer) Java (J2ME) Python Adobe Flash Lite / Web Runtime Supported devices: many phones Company behind: Nokia
  • 7. Symbian Foundation New initiative of symbian companies Conflation of different symbian flavors S60 UIQ MOAP(S) Goal is to OpenSource Symbian until 2010 Planed License: Eclipse Public License (EPL)
  • 8. Android Free & Open? Not known yet! Based on Linux + Android runtime GUI Toolkits: Android Language: Java subset only Written from scratch Supported devices: emulator + HTC (announced) Company behind: Google + Open Handset Alliance
  • 9. Maemo/ITOS 95 % Free & Open Based on Linux, DBus and X11 GUI Toolkits: GTK/hildon, QT (soon) Main languages: C, Python, C++ Based on Debian (forked) .deb based packaging Supported device: n810 (1 model) Company behind: Nokia
  • 10. OpenMoko 100 % Free & Open Based on Linux, DBus and X11 GUI Toolkits: GTK, QT, EFL Main languages: C, Python Based on OpenEmbedded .ipk based packaging Device: Neo freerunner (1 model) Company behind: FIC/OpenMoko
  • 11. Biggest problems in mobile development
  • 12. Problem 1: Too many restrictions Only small control over the system Often only limited APIs are available Features are locked, signing processes are forced The core components are not replaceable Free platforms change this:
  • 13. Problem 2: Too many platforms Large number of different platforms Few standards for cross platform development J2ME HTML/Web Applications J2ME often relies on proprietary extensions Some platforms cover only one device solution: Cross platform development standards Or: Focus on widespreaded platforms
  • 14. Problem 3: Different development approach Experienced developers want to reuse their knowledge Companies don't want to hire additional staff for mobile development Development Environments should be the same in mobile and desktop development Applications/frameworks should be reused Multi tier applications should use a homogeneous software stack if possible Solved by:
  • 15. Problem 3: Different development approach Experienced developers want to reuse their knowledge Companies don't want to hire additional staff for mobile development Development Environments should be the same in mobile and desktop development Applications/frameworks should be reused Multi tier applications should use a homogeneous software stack if possible Solved by: For a small group of target developers, only!
  • 16. What's wrong with J2ME? Targets much of the problems, but .. Has too much restrictions Differs to much from usual Java Completely different APIs No code reuse Even if it is standardized: Every manufacturer has different implementations Applications have to be device specific Not powerful enough for much application types
  • 17. What's about Android? Targets much of the problems ... has only few restrictions uses real Java promises wide availability still differs from usual Java special APIs code reuse only below the GUI is not standardized is not designed for integration in other platforms does not integrate other approaches ... but ...
  • 18. What's about Maemo & OpenMoko? They do a lot of things right ... eliminate restrictions use real desktop toolkits each platform has only one device no API standardization (between those platforms) focus only on a very special developer community ... but ...
  • 19. Cross platform solutions Upcoming solutions QT FreeSmartPhone.org standards LWUIT Jalimo OpenEmbedded Cross platform development is not a language problem, but a problem of cross platforms the libraries and toolkits.
  • 20. What's about QT? QT has the chance to become a solution! Good, powerful Toolkit Wide availability Windows, Windows Mobile Linux, OpenMoko Good Java bindings: Jambi Acquired by Nokia Soon supported on Symbian and Maemo
  • 21. FreeSmartPhone.org standards Origin OpenMoko framework initiative Most work founded by OpenMoko Independent Project DBus API design Reference implementation of services Base for any interaction of applications with the platform Standardisation of Smartphone APIs
  • 22. LWUIT GUI Library for J2ME Similar to Swing Small but powerful Released as GPL from Sun, just now Usable on all J2ME phones Easy portable backend Ports in work Java AWT (CDC) Microbackend (X, SWT, AWT, ...) Sun's way to unify mobile and desktop development? Benefits of LWUIT
  • 23. jalimo Project to bring free full Java to mobile and embedded platforms Support for the development lifecycle to target mobile devices with java Integrative project, doing most work in upstream projects Current targets: maemo, OpenMoko, BugLabs, BeagleBoard, Irex Iliad No additional mobile platform! No additional JVM! What is jalimo not:
  • 24. Initiated by Tarent Active members from: Bug Labs & MIDPath One technology among the applications! Use the same staff for mobile and server side development! Who is behind jalimo? Why is tarent doing jalimo? Tarent has employed 60 people (~40 Java developer) Most of tarent's projects use java on the server side
  • 25. Parts of jalimo Libraries Runtime Build Plattform GUI J2SE 1.5 focused Different alternatives for different requirements Cacao JVM JamVM GNU Classpath Sun PhoneME dbus-java scio fso.org-java ... maven packaging plugin OpenEmbedded Eclipse maemo ...?... openmoko ...... SWT AWT/Swing java-gnome MIDPath
  • 26. OpenEmbedded cross-compile environment generation of complete distributions support for 1000's packages builds the base for OpenMoko Angstroem Jalimo Buglabs Irex Iliad ... Nice solution for multi platform development
  • 27. Different level of openness Closed usual mobile, iPhone Open for application development Symbian, Android, J2ME phones, Windows Mobile, BlackBerry Open and customizable maemo Free and open OpenMoko, OpenEmbedded Free, open and standardized Nothing yet! (FSO has a chance!) GPL
  • 28. Thank you! CC-BY-SA 3.0 or GNU FDL 1.2 or, at your option, any later version. Mobile@FrosCon: Freie Software für das iPhone Ralph Pöllath 11:15 Uhr, HS 4 Openmoko 2008 Michael Lauer 14:00 Uhr, HS 1