The Prosciutto Project an open source mobile application engine
Which problems do we have today? <ul><li>Device fragmentation </li></ul><ul><ul><li>Hardware (screen, memory, input) </li>...
<ul><li>Write once, run everywhere? </li></ul><ul><li>No: Write once, debug everywhere! </li></ul><ul><li>Redistribution. ...
Motivations and vision <ul><li>The spirit:  </li></ul><ul><ul><li>Configurable enough to build any application </li></ul><...
Motivations and vision <ul><li>Separate the business logic from the java code </li></ul>
Motivations and vision <ul><li>Separate the business logic from the java code </li></ul>
What is Prosciutto? <ul><li>The Prosciutto Project is an engine implemented on Java ME.  </li></ul><ul><li>You could think...
Why an engine? <ul><li>… and not a WAP application? </li></ul><ul><ul><li>Access to various API and new functionalities </...
Why an engine? <ul><li>… and not a  vertical application ? </li></ul><ul><li>Fast development and prototyping vs. Efficien...
Why Java? <ul><li>More than 90% of the actual handsets do incorporate some version of a JVM. </li></ul><ul><li>There are m...
Why open source? <ul><li>Spread the idea of  sharing </li></ul><ul><li>The problems attacked by Prosciutto are everybody’s...
What does it solve? <ul><li>Device fragmentation? Yes! </li></ul><ul><li>Write once, run everywhere? Yes! </li></ul><ul><l...
Markup <ul><li>Prosciutto is based on a simple idea: the layout and appearance as well as app behavior should be defined i...
Example: Hello World
Example: Login
Tested handsets
Similar initiatives <ul><li>J2ME Polish (www.j2mepolish.org) </li></ul><ul><li>LWUIT Lightweight User Interface Toolkit ( ...
Future <ul><li>Complete Hecl integration (Q2 2009) </li></ul><ul><li>Android (Q3-Q4 2009) </li></ul><ul><li>LWUIT integrat...
Success case: Ticketek Calling All Innovators Contest Regional Winner/Global Finalist
The application TIM (TELECOM PERSONAL) 11,9 MM users (4Q08) TICKETEK ARGENTINA Largest Ticket Broker in Argentina www.tick...
Functionality I
Functionality II
Functionality III
Access validation
 
Thank you! <ul><li>[email_address] </li></ul><ul><li>http://www.prosciuttoproject.org </li></ul>
Prosciutto Palermo Valley Mobile Sessions - English
Upcoming SlideShare
Loading in...5
×

Prosciutto Palermo Valley Mobile Sessions - English

8,910

Published on

The Prosciutto Project at Palermo Valley Mobile Sessions (translated to english)

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
8,910
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Prosciutto Palermo Valley Mobile Sessions - English

  1. 1. The Prosciutto Project an open source mobile application engine
  2. 2. Which problems do we have today? <ul><li>Device fragmentation </li></ul><ul><ul><li>Hardware (screen, memory, input) </li></ul></ul><ul><ul><li>Software (APIs, implementation differences) </li></ul></ul><ul><ul><li>Device configuration (preferences) </li></ul></ul><ul><ul><li>Network configuration(carriers) </li></ul></ul><ul><li>More than 20 different vendors </li></ul><ul><li>More than 5000 different models </li></ul><ul><li>More than 11.000 firmware versions *Source: WURFL (Wireless Universal Resource File, April 22nd 2009) </li></ul>
  3. 3. <ul><li>Write once, run everywhere? </li></ul><ul><li>No: Write once, debug everywhere! </li></ul><ul><li>Redistribution. The costs of “planting” an application are re paid with each new release (communication, marketing campaign, distribution). </li></ul><ul><li>Testing and Porting costs </li></ul>Which problems do we have today?
  4. 4. Motivations and vision <ul><li>The spirit: </li></ul><ul><ul><li>Configurable enough to build any application </li></ul></ul><ul><ul><li>Separate the business logic from the actual java code </li></ul></ul><ul><ul><li>Model the logic outside the engine </li></ul></ul><ul><ul><li>Implement in an easy configuration </li></ul></ul><ul><ul><li>Have analysts/modelers build the application, without specific skills </li></ul></ul><ul><li>Bring technology to the people in every sense (the engine should run on cheap handsets, aggregate value added services, allow an unskilled - in the programming sense - designer build something out of nothing) </li></ul>
  5. 5. Motivations and vision <ul><li>Separate the business logic from the java code </li></ul>
  6. 6. Motivations and vision <ul><li>Separate the business logic from the java code </li></ul>
  7. 7. What is Prosciutto? <ul><li>The Prosciutto Project is an engine implemented on Java ME. </li></ul><ul><li>You could think of it as a RAD framework, or a distributable engine that aims to scale the problem of device fragmentation. </li></ul><ul><li>It is based on a basic and intuitive markup language in order to define UI objects and their behavior. </li></ul><ul><li>Prosciutto applications run on the Prosciutto engine. </li></ul><ul><li>Any application which aims to let the user navigate data (online u offline) and represent those on screen can be built in Prosciutto. </li></ul>
  8. 8. Why an engine? <ul><li>… and not a WAP application? </li></ul><ul><ul><li>Access to various API and new functionalities </li></ul></ul><ul><ul><li>Security </li></ul></ul><ul><ul><li>Freedom </li></ul></ul>
  9. 9. Why an engine? <ul><li>… and not a vertical application ? </li></ul><ul><li>Fast development and prototyping vs. Efficiency in the solving of a vertical problem </li></ul><ul><li>False dicotomy </li></ul><ul><ul><li>Prosciutto solves those problems that are common to everyone </li></ul></ul><ul><ul><li>Vertical applications provide a concrete solution to a specific and well-defined problem </li></ul></ul><ul><ul><li>Prosciutto provides a ground on which the application building is an activity that allows the designer to think freely without caring about the underlying platform </li></ul></ul><ul><ul><li>It allows for focusing on the vertical problem (application) in an efficient and quick way </li></ul></ul>
  10. 10. Why Java? <ul><li>More than 90% of the actual handsets do incorporate some version of a JVM. </li></ul><ul><li>There are more Java developers than in any other mobile platform </li></ul><ul><ul><li>Symbian </li></ul></ul><ul><ul><li>iPhone </li></ul></ul><ul><ul><li>.NET CF (Windows Mobile) </li></ul></ul><ul><li>(that’s why Google created its own Java language as the base development platform for Android) </li></ul>
  11. 11. Why open source? <ul><li>Spread the idea of sharing </li></ul><ul><li>The problems attacked by Prosciutto are everybody’s pain: </li></ul><ul><ul><ul><li>Device fragmentation </li></ul></ul></ul><ul><ul><ul><li>Limited resources </li></ul></ul></ul><ul><ul><ul><li>Code hacks to support specifics of the different models and vendors </li></ul></ul></ul><ul><li>Therefore, the solutions to those problems should not be one company’s assets, but rather belong to the whole community. </li></ul><ul><li>If we all engage in tackling those problems that we all have , the faster we can focus our efforts in adding value </li></ul><ul><li>Value added is essentially the differntiator </li></ul><ul><li>V.A. can only come from vertical applications, and not from solving the common problems again and again (DRY concept) </li></ul>
  12. 12. What does it solve? <ul><li>Device fragmentation? Yes! </li></ul><ul><li>Write once, run everywhere? Yes! </li></ul><ul><li>Redistribution. Yes! Costs of “planting” an application are paid only once. </li></ul><ul><li>Minimize testing and porting costs. </li></ul><ul><li>Therefore, a lower development cost and a better time-to-market </li></ul>
  13. 13. Markup <ul><li>Prosciutto is based on a simple idea: the layout and appearance as well as app behavior should be defined in a unique XML model. </li></ul><ul><li>HelloWorld: </li></ul>
  14. 14. Example: Hello World
  15. 15. Example: Login
  16. 16. Tested handsets
  17. 17. Similar initiatives <ul><li>J2ME Polish (www.j2mepolish.org) </li></ul><ul><li>LWUIT Lightweight User Interface Toolkit ( https://lwuit.dev.java.net/ ) </li></ul><ul><li>Hecl ( http://www.hecl.org ) </li></ul><ul><li>http://phonegap.com/ </li></ul><ul><li>MUPE ( http://www.mupe.net/ ) Multi-User Publishing Environment </li></ul><ul><li>http://mobile.processing.org/ </li></ul>
  18. 18. Future <ul><li>Complete Hecl integration (Q2 2009) </li></ul><ul><li>Android (Q3-Q4 2009) </li></ul><ul><li>LWUIT integration (Q4 2009 – Q1 2010) </li></ul><ul><li>WYSIWYG editor (2010) </li></ul>
  19. 19. Success case: Ticketek Calling All Innovators Contest Regional Winner/Global Finalist
  20. 20. The application TIM (TELECOM PERSONAL) 11,9 MM users (4Q08) TICKETEK ARGENTINA Largest Ticket Broker in Argentina www.ticketek.com.ar
  21. 21. Functionality I
  22. 22. Functionality II
  23. 23. Functionality III
  24. 24. Access validation
  25. 25. Architecture
  26. 27. Thank you! <ul><li>[email_address] </li></ul><ul><li>http://www.prosciuttoproject.org </li></ul>

×