4. Starting point
The rules of the game are changing
Existing business-, collaboration and innovation models are challenged
seems to create joint value in an attractive way for the involved
players
We do not know how this game will be played
Hypothesis:
Use of open source software, open apis and -standards
will create attractive collaboration communities for
faster and better (mobile) service innovation
4
5. Starting point
• open source on mobile:
– start with JavaME (Sun intention to open source all sw, large
footprint)
– now Open Source on the mobile is the rule
• open apis:
– start with Googles open APIs
– now Cloud Computing is the rule
• open standards
– goes without saying
<HTML>
5
6. Services in the cloud,
where businesses live
Telecom as a
Content distribution service
Platform as
Software as a service
a service ✓ open and documented APIs
✓ self service agreements
✓ pay for what you use
Utility
computing
✓ support edges Managed Service
✓ easy to scale when Provider (MSP)
successful
✓ global presence
Web services Service
in the cloud Commerce
Platform
8
Social Networks
09/29/08
6
Source: inspired by “What cloud computing really means”
7. The edges of the cloud
where people live
7
09/29/08
7
Source: inspired by “What cloud computing really means”
8. open source has become the rule on
the mobile phone
Today Google, Nokia, Apple & widget platforms
Sun all has open source as part
of their strategies
mobile web-based applications
Cocoa
harmonisation layer
NOKIA S40
FX mobile operating system
8
9. Highlights
• May 07: Launch of iLabs Mobile Developers Toolbox
• June 07: Launch Facebook client
• Sept 07: Open Source in Mobile (OSIM), Madrid
• April 08: Relaunch & Stand på GoOpen with Telenor
• May 08: NKUL, One Laptop pr Child
• June 08: Open Nordic Mobile, Frinett partner
• August 08: No 3 in Telenor R&I “venture-cup”
• September 08: JavaZone, NOKIOS
‣ Attention inside and outside Telenor
‣ Growing community of users and contributors
‣ Input to projects in Telenor
9
10. iLabs Mobile Developers Toolbox (beta)
Help developers
create mobile
Internet
applications
The toolbox
widger
provides example
open open open
applications
mini mini mini and libraries for
blogger chatter browser Java enabled
phones
ATOM XMPP HTML
Open Source
Licence: L-GPL
allowing
commercial use
<HTML>
<ATOMS>
11. Sourceforge, Nov 08: 699 downloads
Status Toolbox iLabsmobiletoolbox.dev.java.net:
Norway, China, US, India, Italy, Lithuania,
Finland, Philipines, Croatia, Bangladesh
11
12. iLabs so far: open source opens doors
Green touch
(Arkitekthøyskolen)
WellCom
(EU, Telenor R&I)
The informed individual
(misc. organisations)
Canadian Vaccination program
company (IFI, UiO)
12
13. How you cab use iLabs Mobile Toolbox
• Design goals
• The library for Java ME programmers
• Widger: Server side scripting of mobile applications
13
14. Design goals:
• Hide heterogeneity of devices
• One binary per application (no
conditional compilation!)
• Remove common JME pitfalls.
– Screen handling (Forms, Canvas)
– Event handling (Buttons, Menus)
• Simplify layout control of subwindows
• Simplify drawing of text, pictures etc.
• Standard way for handling menus,
tabbed views
• Leverage existing code for HTML,
XMPP, ATOMS, Blogger...
• Do not require an external proxy
14
15. Example: Open Mini Chatter
• A Google Talk client
• Uses components:
– Menus
– Forms
– Username /Password
– Tabbed view
– Switching between
chats
– HtmlView
– for chat content
– XMPP
– Network protocol
15
18. Lesson I:
• It’s not that hard to write useful, portable JME programs
anymore ;)
• Most layout code in our demo programs end up being
based on HTML, even when we’re not really doing web
browsing.
• But we can make it even easier:
18
19. Where we started - where we ended up:
1. Plain JME programming JME
2. Social Networking : easiest to app.
render HTML content from others UI
elements
.jad&.jar
3. HTML : also used to make the .html
user interface
4. AHA: nice, UI just like the web :-)
5. => Server side scripting as
mobile programming method.
6. Enabling developer to make their
own mobile applications without
writing JME
19
20. J2ME programs vs. server side XML
J2ME
App. J2ME
J2ME Widger
App. J2ME
App.
.jad&.jar App.
App.
.jad
and
.jar xml & html
files
App.
Widgets
20
21. WIDGER: Widlets through markup
• A Widger (an application)
• that runs runs Widlets
(pieces of functionality living in the
widger sandbox)
• that holds Views (showing some kind
of content) that have
• Actions (that makes things happen).
Documentation: http://demo.ilabs.no/widgerdoc/index.php
21
26. Lesson II: Mobile phones do not support all protocols
• Protocol code is painful and error prone to write in JME,
– e.g. HTTPS :-(
– FaceBook, Twitter, FEIDE (ID login), ...
• Workaround: external proxies that offload complexity
The service
server Proxy
Widger
26
27. Two servers and one client:
The Twitter Widger/Twitter adapter
Server (in example demo running on an
iLabs server)
Widger running the
Twitter Widlet
27
28. Widget Twitter dry run: Server side login
and formatting
using forms and
simple html.
In this case all
pages are
created on our
server, not
twitters.
Saves bytes and
fixes problems
with phone
heterogeneity
and
weaknesses.
28
29. Advantages and Disadvantages:
• Advantages • Disadvantages
• Shorter development time • You need a server
• Simpler client programs • .. that scales
– handles more phones
• Need to handle security issues
– smaller on the server
– faster • Limited functionality on client
• No need to download application side, but you can always code
again when updating service. JME since its open source!
• Less network traffic on client due
to tailored content on your server
• Better tools on server side for
program development than JME...
• Easy to upgrade application
29
30. Where we are now.. And where to go..
• It works! on a lot of phones.
• Its rather clean, easy to use and extend.
• Documentation in the code and examples - and working
applications. But no tutorials.
• Several users outside of the core team.
• Server side configuration enables new groups to make
applications for mobile phones!
• Lots of ideas for making it better!
• Extend with phone specific functions, like the camera
plugin, and telco assets (OMTP standardization initiative)
• Further develop the server side configuration idea
• Grow the developer and user community
30
31. thank you for the attention
• we meet at www.ilabs.no
31