Prosciutto Palermo Valley Mobile Sessions - English

Post on 14-Aug-2015

8.910 views 0 download

Tags:

Transcript of Prosciutto Palermo Valley Mobile Sessions - English

The Prosciutto Project

an open source mobile application engine

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)

• 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?

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)

Motivations and vision

• Separate the business logic from the java code

Motivations and vision

• Separate the business logic from the java code

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.

Why an engine?

• …and not a WAP application?– Access to various API and new functionalities– Security– Freedom

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

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)

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)

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

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:

Example: Hello World

Example: Login

Tested handsets

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/

Future• Complete Hecl integration (Q2 2009)

• Android (Q3-Q4 2009)

• LWUIT integration (Q4 2009 – Q1 2010)

• WYSIWYG editor (2010)

Success case: Ticketek

Calling All Innovators ContestRegional Winner/Global Finalist

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

Functionality I

Functionality II

Functionality III

Access validation

Architecture

Thank you!mariozorz@gmail.com

http://www.prosciuttoproject.org