Upload
mattswan
View
3.760
Download
1
Embed Size (px)
DESCRIPTION
LiMo Foundation is sponsoring the development of a Web SDK for the creation of BONDI-compliant widgets for mobile phones.See bondisdk.limofoundation.org for more detailsThis talk and demo was given at OverTheAir developer event in London, Sep 09.
Citation preview
Copyright © 2009 LiMo Foundation
How LiMo Foundation is enabling BONDI widget development
Over the Air
Imperial College, London
25 Sep 09
Matt Swan
Technology Manager
LiMo Foundation
Copyright © 2009 LiMo Foundation 2
Over 40 handsets based on LiMo Release 1
Copyright © 2009 LiMo Foundation
Vodafone H1 360 and M1 360 announced yesterday
3
The first LiMo R2-based phones!
Copyright © 2009 LiMo Foundation 4
&
Copyright © 2009 LiMo Foundation
Send / receive
SMS and MMS
Read/write to calendar,
contacts, tasks
Take pictures
and videos
Read/write to file
system
View images gallery
Get current location
(GPS)
And more...
5
Copyright © 2009 LiMo Foundation 6
Web Runtime
BONDI Widgets BONDI Websites
Javascript Device APIs + Security Framework
Copyright © 2009 LiMo Foundation
BONDI’s secure architecture
7
Diagram taken from BONDI_Architecture_and_Security_v1.01.pdf
Copyright © 2009 LiMo Foundation 8
Copyright © 2009 LiMo Foundation 9
Web SDK
Debugging support
Rapid Application
Development (RAD)
Coding assistance
Documentation
Copyright © 2009 LiMo Foundation
Open source BONDI Web SDK project
• Two LiMo Member companies, Aplix and Azingo, are collaborating within LiMo to create an Eclipse-based BONDI Web SDK
• Will run on Windows, Mac and Linux
• Open source development model – find the source and documentation at http://bondisdk.limofoundation.org/
• Can be used to develop for any BONDI-enabled phone, LiMo or non-LiMo
10
Copyright © 2009 LiMo Foundation
http://bondisdk.limofoundation.org
11
Get involved, test it out and raise bugs !
Copyright © 2009 LiMo Foundation
BONDI Web SDK functionality
Widget development perspective
• Asset authoring, import/export API definitions, code assist for HTML/CSS/JS, API browser, config.xml editor, signing support, deployment to website / file system / target device, local preview emulation, documentation
Debug perspective:
• Target definition, Web app execution control, Debug control (break/continue/step in/step over/step out), Breakpoint management (add/remove/set parameters), Expressions evaluation, add/remove watch
12
Not yet implemented
Implemented in current Beta
Copyright © 2009 LiMo Foundation
Debugging
• Deploying and debugging your web app should be possible in the following 3 scenarios :
In the SDK’s “Phone View” browser preview emulator
• using a Host OS web engine
In the SDK’s LiMo Platform emulator (not supplied by this project)
On the handset itself
• The debug interface protocol is planned to be based on ADB and ChromeDevTools
13
Copyright © 2009 LiMo Foundation14
Use Case 1: Preview emulator
1414
BONDI
Web SDK
Host OS Browser
preview
Browser
Web Engine
Debug agent dbg
Key:
Eclipse code
Debug code
Web Runtime
Emulator
BONDI APIsOpen Debug
Protocol over
IP
Host PC
JS Engine
BONDI Device APIs
BONDI API Stubs*
*Certain BONDI APIs may be
implemented rather than stubbed
Copyright © 2009 LiMo Foundation15
Use Case 2: LiMo Platform emulator
1515
BONDI
Web SDK
LiMo Emulator
including
LiMo Reference
Implementation
binaries
LiMo WRT
Debug agent dbg
Key:
Eclipse code
Debug code
Web Runtime
Emulator
BONDI APIsOpen Debug
Protocol over
IP
Host PC
JS Engine
BONDI Device APIs
BONDI API
implementations
Copyright © 2009 LiMo Foundation 16
Use Case 3: LiMo handset
BONDI
Web SDK
Debug agent
Key:
Eclipse code
Debug code
Web Runtime
LiMo phone
BONDI APIs Open Debug
protocol
over IP
Host PC Phone
LiMo Phone
including
LiMo Reference
Implementation
binaries
LiMo WRT
dbg JS Engine
BONDI Device APIs
BONDI API
implementations
Copyright © 2009 LiMo Foundation
Demo
17
Copyright © 2009 LiMo Foundation
Where can I find out more about BONDI?
• BONDI v1.0 spec was released on 28th May 09 (v1.01 on 27th July 09)• http://bondi.omtp.org/1.01/
• Builds on existing W3C standards for web widgets :• http://www.w3.org/TR/widgets/
• Fourteen Javascript Device Interfaces :• http://bondi.omtp.org/1.01/apis/index.html
• http://bondi.omtp.org/1.01/apis/BONDI_Interface_Requirements_v1.0.pdf
• Architecture and Security requirements :• http://bondi.omtp.org/1.01/security/BONDI_Architecture_and_Security_v1
_01.pdf
• BONDI Compliance for Web Runtimes :• http://bondi.omtp.org/1.01/compliance/BONDI_Compliance_Process_v1.0.
• http://bondi.omtp.org/1.01/compliance/BONDI_Compliance_Matrix_v1.0.xls
18
Copyright © 2009 LiMo Foundation
Appendix - BONDI Device Features
1. The bondi module itself
2. The Application Launcher module: bondi.applauncher
3. The Messaging module: bondi.messaging
4. The User Interaction module: bondi.ui
5. The File System module: bondi.filesystem
6. The Gallery module: bondi.gallery
7. The Device Status module: bondi.devicestatus
8. The Application Configuration module: bondi.appconfig
9. The Geolocation module: bondi.geolocation
10. The Camera module: bondi.camera
11. The Communication Log module: bondi.commlog
12. The Contact module: bondi.pim.contact
13. The Calendar module: bondi.pim.calendar
14. The Task module: bondi.pim.task
19