SlideShare a Scribd company logo
1 of 56
Developing
applications with
Nokia WRT
Prashanth Narayanaswamy, Raghava
Chinnapa
Nokia Web Runtime
© 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials1
Contents
• Introduction – Web Browser & Web Runtime
• Nokia Web Runtime (WRT)
• WRT Widgets
• WRT Widget Packaging and Installation
• WRT JS APIs
• WRT Widget Development Tools
© 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials2
Web Browser
© 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials3
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials4
Web Browser
Web Browser is a software application for retrieving, presenting, and
traversing information resources on the World Wide Web (Internet)
Allows to browse billions of Web pages out there.
We search, chat, email and collaborate in a browser. And like all of
you, in our spare time, we shop, bank, read news and keep in touch
with friends - all using a browser.
A few well-known web browsers:
Internet Explorer Mozilla Firefox Safari Opera Google Chrome
What does web browser do?
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials5
• Downloads the resources
(HTML, JS, CSS, images…)
• Parses the HTML document
• Layouts and renders the page
• Responds to the end user
events.
• Interprets and processes java-
script.
Web Browser for Nokia S60
• Web browser for Nokia’s S60
platform is developed by Nokia.
• Based on a port of Apple Inc’s
Open Source - Webkit
rendering engine.
(http://www.webkit.org)
• Google Chrome and Safari
browsers use the same WebKit
engine.
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials6
Nokia Web
Runtime (WRT)
© 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials7
Nokia Web Runtime (WRT)
• Nokia WRT is the Webkit based
environment enabling widgets to
run on an S60 device.
• It is an extension to the S60 Webkit
based browser that allows instances
of the browser to be run as if they
are applications.
• Widgets are small, focused web
applications.
• Allows standard web technologies
(HTML, JS, CSS etc) used for rapid
development.
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials8
Browser and WRT
http://www.forum.nokia.com/Technology_Topics/Web_Technologies/Web_Runtime
/
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials9
Difference b/w Web page vs WRT Widget
Page loaded in Web
Browser
WRT Widget
All web pages need browser
app.
Each widget is run as
independent standalone
application.
User can enter a particular url
(ex : http://www.google.com) to
browser to a page
No need to input the URL.
Widget is an application. (May
contain programmed URLs)
Web pages are constructed in
Web server and transferred to
client side. More data over the
network.
Widget’s resources located on
the handset, only data which is
necessarily downloaded from
the server side.
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials10
WRT Compatible handsets
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials11
• 27+ Nokia devices launched,
announced or upcoming
• S60 3rd edition Feature
pack 1 and 2 devices.
• E71, E90, N95, N96 …
• S60 5th edition – Touch
enabled devices.
• 5800 Xpress Music,
N97…
Widget Architecture
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials12
Nokia WRT
Widgets
© 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials13
S60 Web Runtime (WRT) widgets
S60 Web Runtime (WRT) widgets are stand-alone web applications
that run on S60 devices.
© 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials14
What’s in a widget? (1/2)
• Simple bundle of files
• info.plist (mandatory)
• [name].html (mandatory)
• icon.png
• [name].css
• [name].js
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials15
Widget
properties
+
HTML
backbonePNG icon
+
CSS
layout
+
+js logic
What’s in a widget? (2/2)
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials16
• Package as .zip
• Rename to .wgz
• Install on the device using PC Suite, Over-the-air download or
Bluetooth transfer
info.plist – Widget property file
A manifest file in XML format, containing the property and
configuration information of a widget.
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials17
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
<key>DisplayName</key>
<string>Amazon</string>
<key>Identifier</key>
<string>com.Amazon.widget.project</string
<key>MainHTML</key>
<string>Main.html</string>
</dict>
</plist>
HTML – The backbone of a widget
• Defines the structure of the widget.
• Recommended HTML 4.01 specification.
Tips:
• Use the <div> (block-level) element to construct the widget’s
views.
• Views can be constructed with static HTML elements or can be
dynamically created by JavaScript at runtime.
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials18
HTML Code
<html>
<head>
<style type=‘text/css’>@import ‘widget.css’;</style>
<script type=‘text/javascript’ src=‘widget.js’ charset=‘utf-8’></script>
</head>
<body id="body">
<div id=‘mainView’>
<span class=‘title’>Front view</span>
</div>
<div id=‘subView1’ class=‘subView’>
<p class=‘title’>Back view</p>
</div>
<div id=‘subView2’ class=‘subView’>
<p class=‘title’>Config view</p>
</div>
</body>
</html>
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials19
CSS – A Makeup for a Widget
• Contains information for controlling the style and layout a widget’s
contents
• Defines how to display HTML element: position, color, background
color etc.
• In practice:
• CSS information can be embedded in the HTML file
• Use class selector to define common style for widget’s elements
• Use id selector to define style for a particular widget’s element
• Use pseudo-class selector to define style for pattern elements
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials20
CSS Code
// Class selector to define common style for similar components
.title {
font-size: 26px;
color: blue;
}
.subView {
display: none
}
// Id selector to define a unique style for a unique component
#mainView {
font-size: 16px;
color: red;
text-align: center;
}
// Pseudo-class selector to design a pattern style
div.subview div {
margin: 10px 0 0 0;
padding: 20px 20px 20px 20px;
font-size: 22px;
text-align: left;
color: blue;
}
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials21
CSS and HTML Code
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials22
Javascript – The Brain of a Widget
• The intelligence of a widget
• Without JavaScript codes, a widget is just a passive Web page
• JavaScript code can be embedded in the HTML file within <script> elements
• Require some programming skills
• Object oriented designs
• JavaScript API, AJAX API
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials23
JavaScript
// define some global variable
var globalVariable = 0;
function multiply(xValue, yValue){
return xValue * yValue;
}
// create a new element with DOM function
var newElement = document.createElement(‘div’);
newElement.setAttribute(‘id’, ‘extraView’);
newElement.setAttribute(‘class’, ‘subView’);
// show/hide views
function changeView(activeViewId, hiddenViewId){
var activeView = document.getElementById(activeViewId);
var hiddenView = document.getElementById(hiddenViewId);
activeView.style.display = ‘block’;
hiddenView.style.display = ‘none’;
}
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials24
Widget Packaging
& Installation
© 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials25
Widget Installation Package
• Widget installation file format
• Compressed with any ZIP application
• Widget installation file extension
• WidgetName.wgz
• Widget installation MIME type
• x-nokia-widgets
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials26
Widget Installation
• Package the widget in a zip file
with .wgz extension
• Transfer the .wgz file to the
device via
• Bluetooth,
• MMC,
• Download
• Copy to file system, or
• Installed via PC Suite
• On the device, just click on the
file to install
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials27
Nokia WRT JS
APIs
© 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials28
Widget APIs Introduction - Widget Object
• Widget object provides basic utility functions to manipulate widget’s properties
• Widget object is a build-in module of the widget engine
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials29
Usage: widget or window.widget
Methods Properties
openURL(String:url)
setPreferenceForKey(String:preference,
String:key)
preferenceForKey(String:key)
prepareForTransition (String:transitionState)
performTransition(void)
setNavigationEnabled(Boolean:flag)
openApplication(Uid, param)
setDisplayLandscape(void)
setDisplayPortrait (void)
identifier [readonly, String]
onshow [assigned callback function]
onhide [assigned callback function]
isRotationSupported [readonly, Booloean]
Menu Object
• Menu object provides interfaces to manipulate the options menu and Right-SoftKey of a widget
• Menu object is an extension from the widget object
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials30
Usage: menu / window.menu
Methods Properties
append(MenuItem menuItem)
remove(MenuItem menuItem)
replace (MenuItem oldMenuItem, MenuItem newMenuItem)
getMenuItemById(Integer:id)
getMenuItemByName(String:label)
setRightSoftKeyLabel(String:label,
function:callbackfunction)
showSoftkeys(void)
hideSoftkeys(void)
clear(void)
onShow [assigned callback function]
SystemInfo API
© 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials31
WRT 1.0
<embed type="application/x-systeminfo-widget“
hidden="yes"> </embed>
SystemInfo Service API
• SystemInfo service API is provided thru a scriptable NetScape plug-in module.
• SystemInfo service object provides interfaces to access to limited system
properties such as memory, network strength etc.
• SystemInfo service plug-in module is loaded via an HTML <embed> element
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials32
System Service APIs
1. Power Information Services
chargelevel [readonly, int]
chargerconnected [readonly, int]
onchargelevel [writeonly, function]
onchargerconnected [writeonly, function]
2. Network Information Services
signalbars [readonly, int]
networkname [readonly, string]
registrationstatus [readonly, int]
Onregistrationstatus
3. Device’s display light and keypad illumination information and control services
lighton(Int:lighttarget, Int:duration, Int:intensity, Int:fadein)
lightblink(Int:lighttarget, Int:duration, Int:onduration, Int:offduration, Int:intensity)
lightoff(Int:lighttarget, Int:duration, Int:fadeout)
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials33
System Service APIs - Continued
4. Vibration information and control services
startvibra(Integer:duration, Integer:intensity)
stopvibra(void)
5. Beep tone control services
beep(Integer:frequency, Integer:duration)
6. Memory and file system information services
totalram [readonly, Integer]
freeram [readonly, Integer]
drivesize(String:drive)
drivefree(String:drive)
7. System language information services
language [readonly, String]
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials34
Platform Services
API
© 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials35
WRT 1.1
Platform Services API
• Location
• Contacts
• Calendar
• Media Management
• Messaging
• Landmarks
• Application Manager
• System Info
• Logging
• Sensors
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials36
Location
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials37
The Location Service API allows widgets to retrieve information about the
physical location of a device and to perform calculations based on location
information
var so = device.getServiceObject("Service.Location", "ILocation");
GetLocation() // retrieves the current location of the device
Trace() // Inform consumer if any change in the current location
Calculate()// perform specific calculation on the user provided data
CancelNotification() // cancel the registered listeners
38 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials
Local Search – powered with Google Data API +
Yahoo! Maps API
Contacts
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials39
The Contacts Service API allows widgets to access and manage information
about contacts. This information can reside in one or more contacts databases
stored on a device or in the SIM card database
var so = device.getServiceObject("Service.Contact", "IDataSource");
GetList() // retrieves a list of contacts, contact groups, or contacts databases
Add/Delete() // Add / Deletes the contacts, contact groups
Import/Export()// Import / Export the contact(s)
Organize() // associate/dissociates contacts to/from the contact group(s)
Calendar
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials40
The Calendar Service API allows widgets to access, create, and manage
calendars and calendar entries stored on a device
var so = device.getServiceObject("Service.Calendar", "IDataSource");
GetList() // retrieves calendar & calendar entries on the device
Add/Delete() // Add/Deletes the calendar & calendar entries
Import/Export()// Import/Export calendar entries to file/buffer
RequestNotification() // register for any changes in the calendar entries
Flight Tracker widget
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials41
MediaManagement
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials42
The MediaManagement Service API allows widgets to access information
(metadata) about the media files stored in the Media Gallery of a device
var so = device.getServiceObject("Service.MediaManagement“
, "IDataSource");
GetList() // Retrieves information of the media files
Cancel() // Cancel the ongoing Async operations
Messaging
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials43
The Messaging Service API allows widgets to send, retrieve, and manage
messages using the Messaging Center of a device
var so = device.getServiceObject("Service.Messaging", "IMessaging");
GetList() // retrieves/query SMS/MMS messages in the device Inbox
Send() // Sends SMS/MMS message
Register/CancelNotification()// Register/cancel incoming notifications
Cancel() // cancel the ongoing Async request
ChangeStatus() // change the status of the message(s) like Read/Unread
Delete() // Delete the selected message(s)
Landmark
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials44
The Landmark Service API allows widgets to access and manage information
about landmarks and landmark categories
var so = device.getServiceObject("Service.Landmarks", "IDatasource");
New() // create a new empty landmark/category item
GetList() // retrieves a list databases / landmarks / landmark categories
Add/Delete() // Add / Update / Deletes the landmarks / landmark categories
Import/Export()// Import / Export the landmark(s)
Organize() // associate/dissociates landmark within the set of landmarks
AppManager
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials45
The MediaManagement Service API allows widgets to access and launch the
application installed on the device
var so = device.getServiceObject("Service.AppManager“
, "IAppManager");
GetList() // Retrieves the list of applications and user installed packages
LaunchApp() // launch the application based on given the UID
LaunchDoc() // launch the application based on the given document or MIME-TYPE
Cancel() // Cancel the ongoing Async request
Logging
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials46
The Logging Service API allows widgets to add, read, and delete logging events
such as call logs, messaging logs
var so = device.getServiceObject("Service.Logging", "IDataSource");
GetList() // retrieves list of log entry from call/message database
Add/Delete() // Add/Deletes an event (entry) from the event log database
RequestNotification() // registers the widget to receive notifications of
changes to the event log
Cancel() // Cancel the ongoing Async request
© 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials47
WRT Tools
What You Need For Development?
• For implementing widget’s code:
• Aptana with Forum Nokia’s Aptana Plugin, or
• Any text editor program that allows you to save the text in ANSI
• For testing a widget:
• S60 3.2 SDK emulator (WRT v1), or
• S60 5th Edition SDK emulator (WRT v2),
Or
• a supporting device
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials48
WRT plug-ins turn web designers into widget
developers
• Allow developers to use popular and existing web IDE to develop widgets
• Developers can create, develop, test, preview and deploy WRT widgets to
millions of Nokia devices
NOKIA WRT Plug-in Offerings
• Features offered in 1.0:
• Supports WRT 1.0 API
• Provides Sample templates with WRTKit JavaScript UI Library
• Quick Preview, Debug, Validate, Package and Deploy to Device/emulator
• Multiple platform compatible : Windows, Mac
• Features offered in 2.0:
• Supports WRT 1.1 API ( SAPI Support )
• Home Screen Integration
• Code Migration from 1.0 to 2.0
• Code Completion for WRT 1.1 API
• Console window support for Debugging
• Event Triggering for API’s like Messaging, Battery, Memory
©2009 Nokia5151
Useful links
 WRT plug-in / Extension info page on Forum.Nokia.com
 WRT plug-in 2 for Aptana Studio:
www.forum.nokia.com/aptana
 WRT plug-in for Microsoft Visual Studio:
www.forum.nokia.com/visualstudio
 WRT Extension for Adobe Dreamweaver:
www.forum.nokia.com/dreamweaver
 WRT widgets technology page at Forum.Nokia.com
 www.forum.nokia.com/widgets
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials52
Register / Login
Go To discussion.forum.nokia.com
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials53
Once logged in,
Scroll down
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials54
Post all your questions in VTU EDUSAT section
Or can directly go to discussion.forum.nokia.com/VTUEDUSAT
© 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials55
Q & A
Thank you

More Related Content

What's hot

AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...ddrschiw
 
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 RevolutionWebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolutionjuanjosanchezpenas
 
Mozilla Project and Open Web
Mozilla Project and Open WebMozilla Project and Open Web
Mozilla Project and Open WebChanny Yun
 
WebRTC World Trip 2018_20181101@rtc_korea
WebRTC World Trip 2018_20181101@rtc_koreaWebRTC World Trip 2018_20181101@rtc_korea
WebRTC World Trip 2018_20181101@rtc_koreasung young son
 
The Internal Architecture of Chrome Developer Tools
The Internal Architecture of Chrome Developer ToolsThe Internal Architecture of Chrome Developer Tools
The Internal Architecture of Chrome Developer ToolsMiroslav Bajtoš
 
Webrtc world tour_2019_2nd edition_ed1_uprism_syson
Webrtc world tour_2019_2nd edition_ed1_uprism_sysonWebrtc world tour_2019_2nd edition_ed1_uprism_syson
Webrtc world tour_2019_2nd edition_ed1_uprism_sysonsung young son
 
HTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web DevelopmentHTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web DevelopmentTilak Joshi
 
Android Chromium Rendering Pipeline
Android Chromium Rendering PipelineAndroid Chromium Rendering Pipeline
Android Chromium Rendering PipelineHyungwook Lee
 
Chrome & Webkit overview
Chrome & Webkit overviewChrome & Webkit overview
Chrome & Webkit overviewBin Chen
 

What's hot (9)

AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
 
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 RevolutionWebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
 
Mozilla Project and Open Web
Mozilla Project and Open WebMozilla Project and Open Web
Mozilla Project and Open Web
 
WebRTC World Trip 2018_20181101@rtc_korea
WebRTC World Trip 2018_20181101@rtc_koreaWebRTC World Trip 2018_20181101@rtc_korea
WebRTC World Trip 2018_20181101@rtc_korea
 
The Internal Architecture of Chrome Developer Tools
The Internal Architecture of Chrome Developer ToolsThe Internal Architecture of Chrome Developer Tools
The Internal Architecture of Chrome Developer Tools
 
Webrtc world tour_2019_2nd edition_ed1_uprism_syson
Webrtc world tour_2019_2nd edition_ed1_uprism_sysonWebrtc world tour_2019_2nd edition_ed1_uprism_syson
Webrtc world tour_2019_2nd edition_ed1_uprism_syson
 
HTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web DevelopmentHTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web Development
 
Android Chromium Rendering Pipeline
Android Chromium Rendering PipelineAndroid Chromium Rendering Pipeline
Android Chromium Rendering Pipeline
 
Chrome & Webkit overview
Chrome & Webkit overviewChrome & Webkit overview
Chrome & Webkit overview
 

Similar to Developing Applications with Nokia WRT

WRT Widgets Masterclass - OverTheAir
WRT Widgets Masterclass - OverTheAirWRT Widgets Masterclass - OverTheAir
WRT Widgets Masterclass - OverTheAirpetrosoininen
 
Nokia Web-Runtime Presentation (Phong Vu)
Nokia Web-Runtime Presentation (Phong Vu)Nokia Web-Runtime Presentation (Phong Vu)
Nokia Web-Runtime Presentation (Phong Vu)Daniel Appelquist
 
S60 3rd FP2 Widgets
S60 3rd FP2 WidgetsS60 3rd FP2 Widgets
S60 3rd FP2 Widgetsromek
 
Miha Lesjak Mobilizing The Web with Web Runtime
Miha Lesjak Mobilizing The Web with Web RuntimeMiha Lesjak Mobilizing The Web with Web Runtime
Miha Lesjak Mobilizing The Web with Web RuntimeNokiaAppForum
 
Basics of WRT (Web Runtime)
Basics of WRT (Web Runtime)Basics of WRT (Web Runtime)
Basics of WRT (Web Runtime)Andreas Jakl
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5Vinayak Tavargeri
 
Create Nokia WRT Widget App
Create Nokia WRT Widget AppCreate Nokia WRT Widget App
Create Nokia WRT Widget AppBess Ho
 
InduSoft Web Studio 8.0 + SP1 + Patch One Review
InduSoft Web Studio 8.0 + SP1 + Patch One ReviewInduSoft Web Studio 8.0 + SP1 + Patch One Review
InduSoft Web Studio 8.0 + SP1 + Patch One ReviewAVEVA
 
Phonegap android angualr material design
Phonegap android angualr material designPhonegap android angualr material design
Phonegap android angualr material designSrinadh Kanugala
 
Building Rich Internet Applications Using Google Web Toolkit
Building Rich Internet Applications Using  Google Web ToolkitBuilding Rich Internet Applications Using  Google Web Toolkit
Building Rich Internet Applications Using Google Web Toolkitrajivmordani
 
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...Igalia
 
Foundry Management System Desktop Application
Foundry Management System Desktop Application Foundry Management System Desktop Application
Foundry Management System Desktop Application Dharmendra Sid
 
Silver Light for every one by Subodh
Silver Light for every one by SubodhSilver Light for every one by Subodh
Silver Light for every one by SubodhSubodh Pushpak
 
Meego Widget Development using Qt WRT @iRajLal
Meego Widget Development using Qt WRT @iRajLalMeego Widget Development using Qt WRT @iRajLal
Meego Widget Development using Qt WRT @iRajLalRaj Lal
 

Similar to Developing Applications with Nokia WRT (20)

WRT Widgets Masterclass - OverTheAir
WRT Widgets Masterclass - OverTheAirWRT Widgets Masterclass - OverTheAir
WRT Widgets Masterclass - OverTheAir
 
Basics of web runtime
Basics of web runtimeBasics of web runtime
Basics of web runtime
 
Basics of web runtime
Basics of web runtimeBasics of web runtime
Basics of web runtime
 
Basics of web runtime
Basics of web runtimeBasics of web runtime
Basics of web runtime
 
Basics of web runtime
Basics of web runtimeBasics of web runtime
Basics of web runtime
 
Nokia Web-Runtime Presentation (Phong Vu)
Nokia Web-Runtime Presentation (Phong Vu)Nokia Web-Runtime Presentation (Phong Vu)
Nokia Web-Runtime Presentation (Phong Vu)
 
S60 3rd FP2 Widgets
S60 3rd FP2 WidgetsS60 3rd FP2 Widgets
S60 3rd FP2 Widgets
 
Miha Lesjak Mobilizing The Web with Web Runtime
Miha Lesjak Mobilizing The Web with Web RuntimeMiha Lesjak Mobilizing The Web with Web Runtime
Miha Lesjak Mobilizing The Web with Web Runtime
 
Basics of WRT (Web Runtime)
Basics of WRT (Web Runtime)Basics of WRT (Web Runtime)
Basics of WRT (Web Runtime)
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5
 
Create Nokia WRT Widget App
Create Nokia WRT Widget AppCreate Nokia WRT Widget App
Create Nokia WRT Widget App
 
InduSoft Web Studio 8.0 + SP1 + Patch One Review
InduSoft Web Studio 8.0 + SP1 + Patch One ReviewInduSoft Web Studio 8.0 + SP1 + Patch One Review
InduSoft Web Studio 8.0 + SP1 + Patch One Review
 
Phonegap android angualr material design
Phonegap android angualr material designPhonegap android angualr material design
Phonegap android angualr material design
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Building Rich Internet Applications Using Google Web Toolkit
Building Rich Internet Applications Using  Google Web ToolkitBuilding Rich Internet Applications Using  Google Web Toolkit
Building Rich Internet Applications Using Google Web Toolkit
 
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
 
Foundry Management System Desktop Application
Foundry Management System Desktop Application Foundry Management System Desktop Application
Foundry Management System Desktop Application
 
Silver Light for every one by Subodh
Silver Light for every one by SubodhSilver Light for every one by Subodh
Silver Light for every one by Subodh
 
Meego Widget Development using Qt WRT @iRajLal
Meego Widget Development using Qt WRT @iRajLalMeego Widget Development using Qt WRT @iRajLal
Meego Widget Development using Qt WRT @iRajLal
 
Node.js Tools Ecosystem
Node.js Tools EcosystemNode.js Tools Ecosystem
Node.js Tools Ecosystem
 

Recently uploaded

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
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
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
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
 
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
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
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
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 

Recently uploaded (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
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...
 
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
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 

Developing Applications with Nokia WRT

  • 1. Developing applications with Nokia WRT Prashanth Narayanaswamy, Raghava Chinnapa Nokia Web Runtime © 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials1
  • 2. Contents • Introduction – Web Browser & Web Runtime • Nokia Web Runtime (WRT) • WRT Widgets • WRT Widget Packaging and Installation • WRT JS APIs • WRT Widget Development Tools © 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials2
  • 3. Web Browser © 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials3
  • 4. © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials4 Web Browser Web Browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web (Internet) Allows to browse billions of Web pages out there. We search, chat, email and collaborate in a browser. And like all of you, in our spare time, we shop, bank, read news and keep in touch with friends - all using a browser. A few well-known web browsers: Internet Explorer Mozilla Firefox Safari Opera Google Chrome
  • 5. What does web browser do? © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials5 • Downloads the resources (HTML, JS, CSS, images…) • Parses the HTML document • Layouts and renders the page • Responds to the end user events. • Interprets and processes java- script.
  • 6. Web Browser for Nokia S60 • Web browser for Nokia’s S60 platform is developed by Nokia. • Based on a port of Apple Inc’s Open Source - Webkit rendering engine. (http://www.webkit.org) • Google Chrome and Safari browsers use the same WebKit engine. © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials6
  • 7. Nokia Web Runtime (WRT) © 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials7
  • 8. Nokia Web Runtime (WRT) • Nokia WRT is the Webkit based environment enabling widgets to run on an S60 device. • It is an extension to the S60 Webkit based browser that allows instances of the browser to be run as if they are applications. • Widgets are small, focused web applications. • Allows standard web technologies (HTML, JS, CSS etc) used for rapid development. © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials8
  • 10. Difference b/w Web page vs WRT Widget Page loaded in Web Browser WRT Widget All web pages need browser app. Each widget is run as independent standalone application. User can enter a particular url (ex : http://www.google.com) to browser to a page No need to input the URL. Widget is an application. (May contain programmed URLs) Web pages are constructed in Web server and transferred to client side. More data over the network. Widget’s resources located on the handset, only data which is necessarily downloaded from the server side. © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials10
  • 11. WRT Compatible handsets © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials11 • 27+ Nokia devices launched, announced or upcoming • S60 3rd edition Feature pack 1 and 2 devices. • E71, E90, N95, N96 … • S60 5th edition – Touch enabled devices. • 5800 Xpress Music, N97…
  • 12. Widget Architecture © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials12
  • 13. Nokia WRT Widgets © 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials13
  • 14. S60 Web Runtime (WRT) widgets S60 Web Runtime (WRT) widgets are stand-alone web applications that run on S60 devices. © 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials14
  • 15. What’s in a widget? (1/2) • Simple bundle of files • info.plist (mandatory) • [name].html (mandatory) • icon.png • [name].css • [name].js © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials15 Widget properties + HTML backbonePNG icon + CSS layout + +js logic
  • 16. What’s in a widget? (2/2) © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials16 • Package as .zip • Rename to .wgz • Install on the device using PC Suite, Over-the-air download or Bluetooth transfer
  • 17. info.plist – Widget property file A manifest file in XML format, containing the property and configuration information of a widget. © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials17 <?xml version="1.0" encoding="UTF-8"?> <plist version="1.0"> <dict> <key>DisplayName</key> <string>Amazon</string> <key>Identifier</key> <string>com.Amazon.widget.project</string <key>MainHTML</key> <string>Main.html</string> </dict> </plist>
  • 18. HTML – The backbone of a widget • Defines the structure of the widget. • Recommended HTML 4.01 specification. Tips: • Use the <div> (block-level) element to construct the widget’s views. • Views can be constructed with static HTML elements or can be dynamically created by JavaScript at runtime. © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials18
  • 19. HTML Code <html> <head> <style type=‘text/css’>@import ‘widget.css’;</style> <script type=‘text/javascript’ src=‘widget.js’ charset=‘utf-8’></script> </head> <body id="body"> <div id=‘mainView’> <span class=‘title’>Front view</span> </div> <div id=‘subView1’ class=‘subView’> <p class=‘title’>Back view</p> </div> <div id=‘subView2’ class=‘subView’> <p class=‘title’>Config view</p> </div> </body> </html> © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials19
  • 20. CSS – A Makeup for a Widget • Contains information for controlling the style and layout a widget’s contents • Defines how to display HTML element: position, color, background color etc. • In practice: • CSS information can be embedded in the HTML file • Use class selector to define common style for widget’s elements • Use id selector to define style for a particular widget’s element • Use pseudo-class selector to define style for pattern elements © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials20
  • 21. CSS Code // Class selector to define common style for similar components .title { font-size: 26px; color: blue; } .subView { display: none } // Id selector to define a unique style for a unique component #mainView { font-size: 16px; color: red; text-align: center; } // Pseudo-class selector to design a pattern style div.subview div { margin: 10px 0 0 0; padding: 20px 20px 20px 20px; font-size: 22px; text-align: left; color: blue; } © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials21
  • 22. CSS and HTML Code © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials22
  • 23. Javascript – The Brain of a Widget • The intelligence of a widget • Without JavaScript codes, a widget is just a passive Web page • JavaScript code can be embedded in the HTML file within <script> elements • Require some programming skills • Object oriented designs • JavaScript API, AJAX API © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials23
  • 24. JavaScript // define some global variable var globalVariable = 0; function multiply(xValue, yValue){ return xValue * yValue; } // create a new element with DOM function var newElement = document.createElement(‘div’); newElement.setAttribute(‘id’, ‘extraView’); newElement.setAttribute(‘class’, ‘subView’); // show/hide views function changeView(activeViewId, hiddenViewId){ var activeView = document.getElementById(activeViewId); var hiddenView = document.getElementById(hiddenViewId); activeView.style.display = ‘block’; hiddenView.style.display = ‘none’; } © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials24
  • 25. Widget Packaging & Installation © 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials25
  • 26. Widget Installation Package • Widget installation file format • Compressed with any ZIP application • Widget installation file extension • WidgetName.wgz • Widget installation MIME type • x-nokia-widgets © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials26
  • 27. Widget Installation • Package the widget in a zip file with .wgz extension • Transfer the .wgz file to the device via • Bluetooth, • MMC, • Download • Copy to file system, or • Installed via PC Suite • On the device, just click on the file to install © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials27
  • 28. Nokia WRT JS APIs © 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials28
  • 29. Widget APIs Introduction - Widget Object • Widget object provides basic utility functions to manipulate widget’s properties • Widget object is a build-in module of the widget engine © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials29 Usage: widget or window.widget Methods Properties openURL(String:url) setPreferenceForKey(String:preference, String:key) preferenceForKey(String:key) prepareForTransition (String:transitionState) performTransition(void) setNavigationEnabled(Boolean:flag) openApplication(Uid, param) setDisplayLandscape(void) setDisplayPortrait (void) identifier [readonly, String] onshow [assigned callback function] onhide [assigned callback function] isRotationSupported [readonly, Booloean]
  • 30. Menu Object • Menu object provides interfaces to manipulate the options menu and Right-SoftKey of a widget • Menu object is an extension from the widget object © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials30 Usage: menu / window.menu Methods Properties append(MenuItem menuItem) remove(MenuItem menuItem) replace (MenuItem oldMenuItem, MenuItem newMenuItem) getMenuItemById(Integer:id) getMenuItemByName(String:label) setRightSoftKeyLabel(String:label, function:callbackfunction) showSoftkeys(void) hideSoftkeys(void) clear(void) onShow [assigned callback function]
  • 31. SystemInfo API © 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials31 WRT 1.0
  • 32. <embed type="application/x-systeminfo-widget“ hidden="yes"> </embed> SystemInfo Service API • SystemInfo service API is provided thru a scriptable NetScape plug-in module. • SystemInfo service object provides interfaces to access to limited system properties such as memory, network strength etc. • SystemInfo service plug-in module is loaded via an HTML <embed> element © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials32
  • 33. System Service APIs 1. Power Information Services chargelevel [readonly, int] chargerconnected [readonly, int] onchargelevel [writeonly, function] onchargerconnected [writeonly, function] 2. Network Information Services signalbars [readonly, int] networkname [readonly, string] registrationstatus [readonly, int] Onregistrationstatus 3. Device’s display light and keypad illumination information and control services lighton(Int:lighttarget, Int:duration, Int:intensity, Int:fadein) lightblink(Int:lighttarget, Int:duration, Int:onduration, Int:offduration, Int:intensity) lightoff(Int:lighttarget, Int:duration, Int:fadeout) © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials33
  • 34. System Service APIs - Continued 4. Vibration information and control services startvibra(Integer:duration, Integer:intensity) stopvibra(void) 5. Beep tone control services beep(Integer:frequency, Integer:duration) 6. Memory and file system information services totalram [readonly, Integer] freeram [readonly, Integer] drivesize(String:drive) drivefree(String:drive) 7. System language information services language [readonly, String] © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials34
  • 35. Platform Services API © 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials35 WRT 1.1
  • 36. Platform Services API • Location • Contacts • Calendar • Media Management • Messaging • Landmarks • Application Manager • System Info • Logging • Sensors © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials36
  • 37. Location © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials37 The Location Service API allows widgets to retrieve information about the physical location of a device and to perform calculations based on location information var so = device.getServiceObject("Service.Location", "ILocation"); GetLocation() // retrieves the current location of the device Trace() // Inform consumer if any change in the current location Calculate()// perform specific calculation on the user provided data CancelNotification() // cancel the registered listeners
  • 38. 38 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials Local Search – powered with Google Data API + Yahoo! Maps API
  • 39. Contacts © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials39 The Contacts Service API allows widgets to access and manage information about contacts. This information can reside in one or more contacts databases stored on a device or in the SIM card database var so = device.getServiceObject("Service.Contact", "IDataSource"); GetList() // retrieves a list of contacts, contact groups, or contacts databases Add/Delete() // Add / Deletes the contacts, contact groups Import/Export()// Import / Export the contact(s) Organize() // associate/dissociates contacts to/from the contact group(s)
  • 40. Calendar © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials40 The Calendar Service API allows widgets to access, create, and manage calendars and calendar entries stored on a device var so = device.getServiceObject("Service.Calendar", "IDataSource"); GetList() // retrieves calendar & calendar entries on the device Add/Delete() // Add/Deletes the calendar & calendar entries Import/Export()// Import/Export calendar entries to file/buffer RequestNotification() // register for any changes in the calendar entries
  • 41. Flight Tracker widget © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials41
  • 42. MediaManagement © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials42 The MediaManagement Service API allows widgets to access information (metadata) about the media files stored in the Media Gallery of a device var so = device.getServiceObject("Service.MediaManagement“ , "IDataSource"); GetList() // Retrieves information of the media files Cancel() // Cancel the ongoing Async operations
  • 43. Messaging © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials43 The Messaging Service API allows widgets to send, retrieve, and manage messages using the Messaging Center of a device var so = device.getServiceObject("Service.Messaging", "IMessaging"); GetList() // retrieves/query SMS/MMS messages in the device Inbox Send() // Sends SMS/MMS message Register/CancelNotification()// Register/cancel incoming notifications Cancel() // cancel the ongoing Async request ChangeStatus() // change the status of the message(s) like Read/Unread Delete() // Delete the selected message(s)
  • 44. Landmark © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials44 The Landmark Service API allows widgets to access and manage information about landmarks and landmark categories var so = device.getServiceObject("Service.Landmarks", "IDatasource"); New() // create a new empty landmark/category item GetList() // retrieves a list databases / landmarks / landmark categories Add/Delete() // Add / Update / Deletes the landmarks / landmark categories Import/Export()// Import / Export the landmark(s) Organize() // associate/dissociates landmark within the set of landmarks
  • 45. AppManager © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials45 The MediaManagement Service API allows widgets to access and launch the application installed on the device var so = device.getServiceObject("Service.AppManager“ , "IAppManager"); GetList() // Retrieves the list of applications and user installed packages LaunchApp() // launch the application based on given the UID LaunchDoc() // launch the application based on the given document or MIME-TYPE Cancel() // Cancel the ongoing Async request
  • 46. Logging © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials46 The Logging Service API allows widgets to add, read, and delete logging events such as call logs, messaging logs var so = device.getServiceObject("Service.Logging", "IDataSource"); GetList() // retrieves list of log entry from call/message database Add/Delete() // Add/Deletes an event (entry) from the event log database RequestNotification() // registers the widget to receive notifications of changes to the event log Cancel() // Cancel the ongoing Async request
  • 47. © 2009 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials47 WRT Tools
  • 48. What You Need For Development? • For implementing widget’s code: • Aptana with Forum Nokia’s Aptana Plugin, or • Any text editor program that allows you to save the text in ANSI • For testing a widget: • S60 3.2 SDK emulator (WRT v1), or • S60 5th Edition SDK emulator (WRT v2), Or • a supporting device © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials48
  • 49. WRT plug-ins turn web designers into widget developers • Allow developers to use popular and existing web IDE to develop widgets • Developers can create, develop, test, preview and deploy WRT widgets to millions of Nokia devices
  • 50. NOKIA WRT Plug-in Offerings • Features offered in 1.0: • Supports WRT 1.0 API • Provides Sample templates with WRTKit JavaScript UI Library • Quick Preview, Debug, Validate, Package and Deploy to Device/emulator • Multiple platform compatible : Windows, Mac • Features offered in 2.0: • Supports WRT 1.1 API ( SAPI Support ) • Home Screen Integration • Code Migration from 1.0 to 2.0 • Code Completion for WRT 1.1 API • Console window support for Debugging • Event Triggering for API’s like Messaging, Battery, Memory
  • 51. ©2009 Nokia5151 Useful links  WRT plug-in / Extension info page on Forum.Nokia.com  WRT plug-in 2 for Aptana Studio: www.forum.nokia.com/aptana  WRT plug-in for Microsoft Visual Studio: www.forum.nokia.com/visualstudio  WRT Extension for Adobe Dreamweaver: www.forum.nokia.com/dreamweaver  WRT widgets technology page at Forum.Nokia.com  www.forum.nokia.com/widgets
  • 52. © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials52 Register / Login Go To discussion.forum.nokia.com
  • 53. © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials53 Once logged in, Scroll down
  • 54. © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials54 Post all your questions in VTU EDUSAT section Or can directly go to discussion.forum.nokia.com/VTUEDUSAT
  • 55. © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials55 Q & A

Editor's Notes

  1. Web browsers communicate with web servers primarily using HTTP (hyper-text transfer protocol) to fetch webpages. HTTP allows web browsers to submit information to web servers as well as fetch web pages from them. Web Pages are located by means of a URL (uniform resource locator), which is treated as an address, beginning with http: for HTTP access.
  2. What’s S60 platform? The S60 Platform (formerly Series 60 User Interface) is a software platform for mobile phones that runs on Symbian OS. S60 is currently amongst the leading smartphone platforms in the world. It is owned by Nokia.
  3. WRT is based on Webkit framework. Extends S60 browser. Enables widgets to run on S60 handsets. Widgets - Similar to any other app installed on a handset. Only diff is widgets are made of HTML & JS where as other apps or usually implemented using C++ or Java. Web technology is always relatively simpler! AJAX – Asyncronous Javascript and XML Javascript – Client side scripting. Client side computations. DOM can also be manipulated client side.
  4. 2 independent widgets performing their specific activities.
  5. Nokia has the broadest product portfolio in the industry, offering products in all major markets, segments and price points and serving different consumer needs with optimized devices. The portfolio is the base of our competitiveness.