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