SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
SASAbus HTML5 & related Java free software
by Davide Montesin <d@vide.bz>

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

1 / 37
The project

Name: SASAbus HTML5
Url: http://html5.sasabus.org
License: Affero GPL
Source code: https://github.com/davidebz
Programming languages: Java, HTML5, CSS3
Developing time: 3 months (summer 2013)
Frontend: 7'000 lines of code
Backend: 4'000 lines of code

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

2 / 37
SASA open data

http://opensasa.info
License: CC-3.0-BY-SA-NC

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

3 / 37
Team
SASAbus community: community@sasabus.org. Join us!

Davide Montesin - SASAbus HTML5/Java developer
Markus Windegger - SASA database & Android app
Giulia Rosso - design
Iryna Dorosh - design
Virginia Mazzocco - design

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

4 / 37
Motivation: an android app is not enough
Before this project only an Android app existed for SASA open data

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

5 / 37
Goal: an app for everybody
We wanted to reach more citizens and tourists

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

6 / 37
Native or HTML5

Which way: native or HTML5?
(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

7 / 37
Native: powerful but expensive

High integration with the phone
Each platform needs a new development process and programming
language skills: Java, Objective-C, a Mac ...
Code reuse is difficult: approximately the costs are: app * platform
Each platform has its own look & feel: can't be a simple one-to-one
copy
(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

8 / 37
HTML5: easier
Runs anywhere there is a HTML5 capable browser: smartphones,
tables, pc
One development process/team
Common web skills are enough: HTML5, CSS3, Javascript + a server
side language

Limited integration with the phone ... but ... (see next slides)
(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

9 / 37
HTML5 & geolocation
An HTML5 app may knows the position of the user

navigator.geolocation.getCurrentPosition(on_position_ready);

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

10 / 37
HTML5 & CSS3
An HTML5 app can be responsive using CSS3 media query

@media only screen and (min-width: 940px) { ... }

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

11 / 37
HTML5 & localstore / offline
An HTML5 app can work offline and store data in the browser

Space is limited: about 5Mbyte.
(remember that 1 Javascript char uses 2 bytes)
(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

12 / 37
HTML5: caniuse
As for traditional web projects, first check cross browser support

http://caniuse.com
(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

13 / 37
We choose HTML5
HTML5 features are adequate in this case

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

14 / 37
Menu

The implemented functions

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

15 / 37
Responsive
Two fluid layout based on browser width: small (<940px) & big (>=940px)

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

16 / 37
Easy: lines, bus stops with precalculated departures
Each bus stop shows precalculated departures based on date / time!

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

17 / 37
Easy: favourites, news, route calculations
The app can calculate the best route between two bus stops

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

18 / 37
Map: geolocalization, bus stops, lines, ...

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

19 / 37
Parking: real-time free slots

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

20 / 37
A look under the hood
Which technologies have been used?

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

21 / 37
Overview of the actual system

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

22 / 37
Classic or innovative technologies?

Follow a classic or an innovative way?

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

23 / 37
Classic architecture: HTML, JS, D-HTML
A UI component is realized with different technologies / skills :-(

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

24 / 37
Web frameworks
Ways to reduce complexity and fragmentation
Server side framework
The code executes server side. Often and additional client
framework is required for events handling and ajax
The code executes server side. Framework sends incremental
updates to the client
Client side frameworks: jquery, yui, ecc..
page can't be indexed by search engines
Use the same programming language on both sides
Javascript: with some libraries it is possible to run Javascript code
server side too
Java: can be converted to Javascript with GWT

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

25 / 37
We decided to use Java on both sides

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

26 / 37
The power of UI inherintance and composition

Java UI components/object in the SASAbus HTML5 app
(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

27 / 37
GWT - http://www.gwtproject.org

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

28 / 37
How does GWT works?
GWT translates Java code into the equivalent Javascript code

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

29 / 37
GWT: client, server, shared and serialization

In a GWT project Java objects can run
server only: this code will run only server side: i.e. servlets
client only: this code will run only client side: i.e. Window, Location
shared: this code can run both server or client side
this data objects can be serialized and transmitted over the
network from one side to the other (i.e. bus stops)

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

30 / 37
GWT limitations

Unfortunately GWT UI stock objects don't run server side (even if
with GWT it is possible to exchange shared objects)
GWT app can't be indexed by search engines

GWT uses a proprietary protocol to exchange Java objects between
server and browser

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

31 / 37
DM libraries: DMWeb
I have created a library of UI widget to resolve the GWT limitations
about server side UI

DMWeb: UI components run BOTH server and client side and
provide HTML for SEO!
License: LGPL v3
Source code: http://github.com/davidebz
Infos: http://www.davide.bz

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

32 / 37
SEO: With DMWeb HTML5 app are indexed

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

33 / 37
DM libraries: DMXmlJson
I have created a framework which converts/serializes java objects to
Xml or Json. This framework is compatible with GWT, J2SE and Android

License: LGPL v3
Source code: http://github.com/davidebz
Infos: http://www.davide.bz

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

34 / 37
Future steps!
Integration of the services

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

35 / 37
Workshop afternoon at 15.00
USING the app: how to use the app, examples of searching for
departures, routing and map
DEVELOPER: Let's install the development software and play with
it!
install the development environment as VirtualBox VM
query the sasa open data database: list of lines, bus stops, and so
on...
convert Java objects to xml and json with dm-xml-json library
create a small HTML5 web app with server and client side code
using GWT + DMWeb
run the SASAbus HTML5 project in development mode
analyse the SASAbus HTML5 project
make some changes to the project, i.e. fix some translations, add
train stations, ...
Workshop will be held in italian
(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

36 / 37
Thank you!

(C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND

SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol

37 / 37

Mais conteúdo relacionado

Semelhante a SASAbus HTML5 app overview

Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
 Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e... Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...VMware Tanzu
 
Highway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichHighway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichChristian Deger
 
Highway to heaven - Voxxed Days Belgrade
Highway to heaven - Voxxed Days BelgradeHighway to heaven - Voxxed Days Belgrade
Highway to heaven - Voxxed Days BelgradeChristian Deger
 
Building Microservices in the cloud at AutoScout24
Building Microservices in the cloud at AutoScout24Building Microservices in the cloud at AutoScout24
Building Microservices in the cloud at AutoScout24Christian Deger
 
Highway to heaven - XConf Manchester 2015
Highway to heaven - XConf Manchester 2015Highway to heaven - XConf Manchester 2015
Highway to heaven - XConf Manchester 2015Christian Deger
 
DevDay 2018: Ulrich Deiters - Offline First - kein Netz, kein Fehler, zufried...
DevDay 2018: Ulrich Deiters - Offline First - kein Netz, kein Fehler, zufried...DevDay 2018: Ulrich Deiters - Offline First - kein Netz, kein Fehler, zufried...
DevDay 2018: Ulrich Deiters - Offline First - kein Netz, kein Fehler, zufried...DevDay Dresden
 
If your computer is cloud what its Operating System look like?
If your computer is cloud what its Operating System look like?If your computer is cloud what its Operating System look like?
If your computer is cloud what its Operating System look like?Asher Sterkin
 
WinOps meetup April 2016 DevOps lessons from Microsoft \\Build\
WinOps meetup April 2016   DevOps lessons from Microsoft \\Build\WinOps meetup April 2016   DevOps lessons from Microsoft \\Build\
WinOps meetup April 2016 DevOps lessons from Microsoft \\Build\DevOpsGroup
 
JAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -Essentials
JAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -EssentialsJAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -Essentials
JAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -Essentialsjazoon13
 
The Future Is The Cloud
The Future Is The CloudThe Future Is The Cloud
The Future Is The CloudGatsbyjs
 
Intro to JavaScript - Thinkful DC
Intro to JavaScript - Thinkful DCIntro to JavaScript - Thinkful DC
Intro to JavaScript - Thinkful DCTJ Stalcup
 
Faircom BigBlueButton Developers Community Hackathon 2020 - RIADVICE - Ghazi ...
Faircom BigBlueButton Developers Community Hackathon 2020 - RIADVICE - Ghazi ...Faircom BigBlueButton Developers Community Hackathon 2020 - RIADVICE - Ghazi ...
Faircom BigBlueButton Developers Community Hackathon 2020 - RIADVICE - Ghazi ...RIADVICE
 
Steeltoe and the Open Source .NET Renaissance
Steeltoe and the Open Source .NET RenaissanceSteeltoe and the Open Source .NET Renaissance
Steeltoe and the Open Source .NET RenaissanceVMware Tanzu
 
OSGeo: projects, incubation and infrastructure
OSGeo: projects, incubation and infrastructureOSGeo: projects, incubation and infrastructure
OSGeo: projects, incubation and infrastructureMarkus Neteler
 
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
 Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ... Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...MayaData Inc
 
Under the Hood of Reactive Data Access (2/2)
Under the Hood of Reactive Data Access (2/2)Under the Hood of Reactive Data Access (2/2)
Under the Hood of Reactive Data Access (2/2)VMware Tanzu
 

Semelhante a SASAbus HTML5 app overview (20)

SFScon16 - Davide Montesin, Stefano Seppi: “Open Forms”
SFScon16 - Davide Montesin, Stefano Seppi: “Open Forms”SFScon16 - Davide Montesin, Stefano Seppi: “Open Forms”
SFScon16 - Davide Montesin, Stefano Seppi: “Open Forms”
 
SFScon17 - Davide Montesin: "CSS flex box layout"
SFScon17 - Davide Montesin: "CSS flex box layout"SFScon17 - Davide Montesin: "CSS flex box layout"
SFScon17 - Davide Montesin: "CSS flex box layout"
 
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
 Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e... Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
 
Highway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichHighway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup Munich
 
Highway to heaven - Voxxed Days Belgrade
Highway to heaven - Voxxed Days BelgradeHighway to heaven - Voxxed Days Belgrade
Highway to heaven - Voxxed Days Belgrade
 
Building Microservices in the cloud at AutoScout24
Building Microservices in the cloud at AutoScout24Building Microservices in the cloud at AutoScout24
Building Microservices in the cloud at AutoScout24
 
Highway to heaven - XConf Manchester 2015
Highway to heaven - XConf Manchester 2015Highway to heaven - XConf Manchester 2015
Highway to heaven - XConf Manchester 2015
 
DevDay 2018: Ulrich Deiters - Offline First - kein Netz, kein Fehler, zufried...
DevDay 2018: Ulrich Deiters - Offline First - kein Netz, kein Fehler, zufried...DevDay 2018: Ulrich Deiters - Offline First - kein Netz, kein Fehler, zufried...
DevDay 2018: Ulrich Deiters - Offline First - kein Netz, kein Fehler, zufried...
 
Enterprise serverless
Enterprise serverlessEnterprise serverless
Enterprise serverless
 
If your computer is cloud what its Operating System look like?
If your computer is cloud what its Operating System look like?If your computer is cloud what its Operating System look like?
If your computer is cloud what its Operating System look like?
 
WinOps meetup April 2016 DevOps lessons from Microsoft \\Build\
WinOps meetup April 2016   DevOps lessons from Microsoft \\Build\WinOps meetup April 2016   DevOps lessons from Microsoft \\Build\
WinOps meetup April 2016 DevOps lessons from Microsoft \\Build\
 
JAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -Essentials
JAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -EssentialsJAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -Essentials
JAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -Essentials
 
The Future Is The Cloud
The Future Is The CloudThe Future Is The Cloud
The Future Is The Cloud
 
Intro to JavaScript - Thinkful DC
Intro to JavaScript - Thinkful DCIntro to JavaScript - Thinkful DC
Intro to JavaScript - Thinkful DC
 
Faircom BigBlueButton Developers Community Hackathon 2020 - RIADVICE - Ghazi ...
Faircom BigBlueButton Developers Community Hackathon 2020 - RIADVICE - Ghazi ...Faircom BigBlueButton Developers Community Hackathon 2020 - RIADVICE - Ghazi ...
Faircom BigBlueButton Developers Community Hackathon 2020 - RIADVICE - Ghazi ...
 
Steeltoe and the Open Source .NET Renaissance
Steeltoe and the Open Source .NET RenaissanceSteeltoe and the Open Source .NET Renaissance
Steeltoe and the Open Source .NET Renaissance
 
OSGeo: projects, incubation and infrastructure
OSGeo: projects, incubation and infrastructureOSGeo: projects, incubation and infrastructure
OSGeo: projects, incubation and infrastructure
 
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
 Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ... Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
 
Under the Hood of Reactive Data Access (2/2)
Under the Hood of Reactive Data Access (2/2)Under the Hood of Reactive Data Access (2/2)
Under the Hood of Reactive Data Access (2/2)
 
3D Web Visualization 1
3D Web Visualization 13D Web Visualization 1
3D Web Visualization 1
 

Mais de South Tyrol Free Software Conference

SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...
SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...
SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...South Tyrol Free Software Conference
 
SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...
SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...
SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...South Tyrol Free Software Conference
 
SFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data Hub
SFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data HubSFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data Hub
SFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data HubSouth Tyrol Free Software Conference
 
SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...
SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...
SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...South Tyrol Free Software Conference
 
SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...
SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...
SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...South Tyrol Free Software Conference
 
SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...
SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...
SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...South Tyrol Free Software Conference
 
SFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelines
SFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelinesSFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelines
SFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelinesSouth Tyrol Free Software Conference
 
SFSCON23 - Charles H. Schulz - Why open digital infrastructure matters
SFSCON23 - Charles H. Schulz - Why open digital infrastructure mattersSFSCON23 - Charles H. Schulz - Why open digital infrastructure matters
SFSCON23 - Charles H. Schulz - Why open digital infrastructure mattersSouth Tyrol Free Software Conference
 
SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...
SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...
SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...South Tyrol Free Software Conference
 
SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...
SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...
SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...South Tyrol Free Software Conference
 
SFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free software
SFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free softwareSFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free software
SFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free softwareSouth Tyrol Free Software Conference
 
SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...
SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...
SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...South Tyrol Free Software Conference
 
SFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changer
SFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changerSFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changer
SFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changerSouth Tyrol Free Software Conference
 
SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...
SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...
SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...South Tyrol Free Software Conference
 
SFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation Internet
SFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation InternetSFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation Internet
SFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation InternetSouth Tyrol Free Software Conference
 
SFSCON23 - Davide Vernassa - Empowering Insights Unveiling the latest innova...
SFSCON23 - Davide Vernassa - Empowering Insights  Unveiling the latest innova...SFSCON23 - Davide Vernassa - Empowering Insights  Unveiling the latest innova...
SFSCON23 - Davide Vernassa - Empowering Insights Unveiling the latest innova...South Tyrol Free Software Conference
 

Mais de South Tyrol Free Software Conference (20)

SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...
SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...
SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...
 
SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...
SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...
SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...
 
SFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data Hub
SFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data HubSFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data Hub
SFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data Hub
 
SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...
SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...
SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...
 
SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...
SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...
SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...
 
SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...
SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...
SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...
 
SFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelines
SFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelinesSFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelines
SFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelines
 
SFSCON23 - Christian Busse - Free Software and Open Science
SFSCON23 - Christian Busse - Free Software and Open ScienceSFSCON23 - Christian Busse - Free Software and Open Science
SFSCON23 - Christian Busse - Free Software and Open Science
 
SFSCON23 - Charles H. Schulz - Why open digital infrastructure matters
SFSCON23 - Charles H. Schulz - Why open digital infrastructure mattersSFSCON23 - Charles H. Schulz - Why open digital infrastructure matters
SFSCON23 - Charles H. Schulz - Why open digital infrastructure matters
 
SFSCON23 - Andrea Vianello - Achieving FAIRness with EDP-portal
SFSCON23 - Andrea Vianello - Achieving FAIRness with EDP-portalSFSCON23 - Andrea Vianello - Achieving FAIRness with EDP-portal
SFSCON23 - Andrea Vianello - Achieving FAIRness with EDP-portal
 
SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...
SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...
SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...
 
SFSCON23 - Stefan Mutschlechner - Smart Werke Meran
SFSCON23 - Stefan Mutschlechner - Smart Werke MeranSFSCON23 - Stefan Mutschlechner - Smart Werke Meran
SFSCON23 - Stefan Mutschlechner - Smart Werke Meran
 
SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...
SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...
SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...
 
SFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free software
SFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free softwareSFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free software
SFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free software
 
SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...
SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...
SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...
 
SFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changer
SFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changerSFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changer
SFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changer
 
SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...
SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...
SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...
 
SFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation Internet
SFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation InternetSFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation Internet
SFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation Internet
 
SFSCON23 - Edoardo Scepi - The Brand-New Version of IGis Maps
SFSCON23 - Edoardo Scepi - The Brand-New Version of IGis MapsSFSCON23 - Edoardo Scepi - The Brand-New Version of IGis Maps
SFSCON23 - Edoardo Scepi - The Brand-New Version of IGis Maps
 
SFSCON23 - Davide Vernassa - Empowering Insights Unveiling the latest innova...
SFSCON23 - Davide Vernassa - Empowering Insights  Unveiling the latest innova...SFSCON23 - Davide Vernassa - Empowering Insights  Unveiling the latest innova...
SFSCON23 - Davide Vernassa - Empowering Insights Unveiling the latest innova...
 

Último

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

SASAbus HTML5 app overview

  • 1. SASAbus HTML5 & related Java free software by Davide Montesin <d@vide.bz> (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 1 / 37
  • 2. The project Name: SASAbus HTML5 Url: http://html5.sasabus.org License: Affero GPL Source code: https://github.com/davidebz Programming languages: Java, HTML5, CSS3 Developing time: 3 months (summer 2013) Frontend: 7'000 lines of code Backend: 4'000 lines of code (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 2 / 37
  • 3. SASA open data http://opensasa.info License: CC-3.0-BY-SA-NC (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 3 / 37
  • 4. Team SASAbus community: community@sasabus.org. Join us! Davide Montesin - SASAbus HTML5/Java developer Markus Windegger - SASA database & Android app Giulia Rosso - design Iryna Dorosh - design Virginia Mazzocco - design (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 4 / 37
  • 5. Motivation: an android app is not enough Before this project only an Android app existed for SASA open data (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 5 / 37
  • 6. Goal: an app for everybody We wanted to reach more citizens and tourists (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 6 / 37
  • 7. Native or HTML5 Which way: native or HTML5? (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 7 / 37
  • 8. Native: powerful but expensive High integration with the phone Each platform needs a new development process and programming language skills: Java, Objective-C, a Mac ... Code reuse is difficult: approximately the costs are: app * platform Each platform has its own look & feel: can't be a simple one-to-one copy (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 8 / 37
  • 9. HTML5: easier Runs anywhere there is a HTML5 capable browser: smartphones, tables, pc One development process/team Common web skills are enough: HTML5, CSS3, Javascript + a server side language Limited integration with the phone ... but ... (see next slides) (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 9 / 37
  • 10. HTML5 & geolocation An HTML5 app may knows the position of the user navigator.geolocation.getCurrentPosition(on_position_ready); (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 10 / 37
  • 11. HTML5 & CSS3 An HTML5 app can be responsive using CSS3 media query @media only screen and (min-width: 940px) { ... } (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 11 / 37
  • 12. HTML5 & localstore / offline An HTML5 app can work offline and store data in the browser Space is limited: about 5Mbyte. (remember that 1 Javascript char uses 2 bytes) (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 12 / 37
  • 13. HTML5: caniuse As for traditional web projects, first check cross browser support http://caniuse.com (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 13 / 37
  • 14. We choose HTML5 HTML5 features are adequate in this case (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 14 / 37
  • 15. Menu The implemented functions (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 15 / 37
  • 16. Responsive Two fluid layout based on browser width: small (<940px) & big (>=940px) (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 16 / 37
  • 17. Easy: lines, bus stops with precalculated departures Each bus stop shows precalculated departures based on date / time! (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 17 / 37
  • 18. Easy: favourites, news, route calculations The app can calculate the best route between two bus stops (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 18 / 37
  • 19. Map: geolocalization, bus stops, lines, ... (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 19 / 37
  • 20. Parking: real-time free slots (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 20 / 37
  • 21. A look under the hood Which technologies have been used? (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 21 / 37
  • 22. Overview of the actual system (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 22 / 37
  • 23. Classic or innovative technologies? Follow a classic or an innovative way? (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 23 / 37
  • 24. Classic architecture: HTML, JS, D-HTML A UI component is realized with different technologies / skills :-( (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 24 / 37
  • 25. Web frameworks Ways to reduce complexity and fragmentation Server side framework The code executes server side. Often and additional client framework is required for events handling and ajax The code executes server side. Framework sends incremental updates to the client Client side frameworks: jquery, yui, ecc.. page can't be indexed by search engines Use the same programming language on both sides Javascript: with some libraries it is possible to run Javascript code server side too Java: can be converted to Javascript with GWT (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 25 / 37
  • 26. We decided to use Java on both sides (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 26 / 37
  • 27. The power of UI inherintance and composition Java UI components/object in the SASAbus HTML5 app (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 27 / 37
  • 28. GWT - http://www.gwtproject.org (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 28 / 37
  • 29. How does GWT works? GWT translates Java code into the equivalent Javascript code (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 29 / 37
  • 30. GWT: client, server, shared and serialization In a GWT project Java objects can run server only: this code will run only server side: i.e. servlets client only: this code will run only client side: i.e. Window, Location shared: this code can run both server or client side this data objects can be serialized and transmitted over the network from one side to the other (i.e. bus stops) (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 30 / 37
  • 31. GWT limitations Unfortunately GWT UI stock objects don't run server side (even if with GWT it is possible to exchange shared objects) GWT app can't be indexed by search engines GWT uses a proprietary protocol to exchange Java objects between server and browser (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 31 / 37
  • 32. DM libraries: DMWeb I have created a library of UI widget to resolve the GWT limitations about server side UI DMWeb: UI components run BOTH server and client side and provide HTML for SEO! License: LGPL v3 Source code: http://github.com/davidebz Infos: http://www.davide.bz (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 32 / 37
  • 33. SEO: With DMWeb HTML5 app are indexed (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 33 / 37
  • 34. DM libraries: DMXmlJson I have created a framework which converts/serializes java objects to Xml or Json. This framework is compatible with GWT, J2SE and Android License: LGPL v3 Source code: http://github.com/davidebz Infos: http://www.davide.bz (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 34 / 37
  • 35. Future steps! Integration of the services (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 35 / 37
  • 36. Workshop afternoon at 15.00 USING the app: how to use the app, examples of searching for departures, routing and map DEVELOPER: Let's install the development software and play with it! install the development environment as VirtualBox VM query the sasa open data database: list of lines, bus stops, and so on... convert Java objects to xml and json with dm-xml-json library create a small HTML5 web app with server and client side code using GWT + DMWeb run the SASAbus HTML5 project in development mode analyse the SASAbus HTML5 project make some changes to the project, i.e. fix some translations, add train stations, ... Workshop will be held in italian (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 36 / 37
  • 37. Thank you! (C) 2013 Davide Montesin <d@vide.bz> - License: CC BY NC ND SASAbus HTML5 & related Java free software - TIS innovation park South Tyrol 37 / 37