prosciutto palermo valley mobile sessions - english

27
The Prosciutto Project an open source mobile application engine

Upload: mario-zorz

Post on 14-Aug-2015

8.910 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Prosciutto Palermo Valley Mobile Sessions - English

The Prosciutto Project

an open source mobile application engine

Page 2: Prosciutto Palermo Valley Mobile Sessions - English

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

• 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

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

Motivations and vision

• Separate the business logic from the java code

Page 6: Prosciutto Palermo Valley Mobile Sessions - English

Motivations and vision

• Separate the business logic from the java code

Page 7: Prosciutto Palermo Valley Mobile Sessions - English

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

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

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

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

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

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

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

Example: Hello World

Page 15: Prosciutto Palermo Valley Mobile Sessions - English

Example: Login

Page 16: Prosciutto Palermo Valley Mobile Sessions - English

Tested handsets

Page 17: Prosciutto Palermo Valley Mobile Sessions - English

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

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

Success case: Ticketek

Calling All Innovators ContestRegional Winner/Global Finalist

Page 20: Prosciutto Palermo Valley Mobile Sessions - English

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

Functionality I

Page 22: Prosciutto Palermo Valley Mobile Sessions - English

Functionality II

Page 23: Prosciutto Palermo Valley Mobile Sessions - English

Functionality III

Page 24: Prosciutto Palermo Valley Mobile Sessions - English

Access validation

Page 25: Prosciutto Palermo Valley Mobile Sessions - English

Architecture

Page 26: Prosciutto Palermo Valley Mobile Sessions - English
Page 27: Prosciutto Palermo Valley Mobile Sessions - English

Thank [email protected]

http://www.prosciuttoproject.org