Beruflich Dokumente
Kultur Dokumente
Java
Web Native
Nokia radically focuses its development offering, greatly simplifying life for developers and increasing investment in strategic technology f d l di i i i i h l
Why web?
Ovi App Wizard: Turn your web site updates into a mobile application
Why web?
Real applications
Install and manage just like any other application Add context to your web content with JavaScript APIs and existing web service APIs Add Flash for multimedia impact
Why web?
Why web?
Design freedom
Leverage JS and CSS to create your own styles and UI frameworks Deploy custom templates to support and extend your brand y
Web Browser
The tasks are:
Fetch markup Parse markup
All web browsers perform the same tasks. The order tasks and how the process is performed is what differentiate browsers.
Construct boxes of content to render Apply style information to boxes Layout the boxes Render boxes Process user events
Symbian Webkit
Symbian Browser and Web Runtime are based on WebKit
Native C/C++
Web Capable
Widgets
Symbian plug-ins, incl. Flash Lite, SVG, and audio. di Platform Services Integration
Symbian Browser UI
Widget Runtime
UI features
Symbian WebKit
WebCore
KHTML ( G (LGPL+BSD) S )
JavaScript Core
KJS (LGPL) Memory manager
OS adaptations
Web Application
Accessed with the Web browser over the Internet Uses standard Web-based technologies such as HTML/XHTML, CSS JavaScript HTML/XHTML CSS, JavaScript, DOM etc. Typical Web applications are Webmail, online auction (eBay), online booking or web blogs
Widget
The web can overload us with information, how do we present consumers with whats most relevant to them in the moment?
Invite your friend for the movie by sharing details of the movie over SMS
NOTES
Platform Services Version No Platform Services Platform Services 1.0 Platform Services 1.0 (Platform Services 2.0*) Platform Services 1.0 Platform Services 2.0
A widget project is a file-system directory in which widgets file system directory, widget s component files are stored. Widgets mandatory files and the icon.png (if included) MUST be icon png located at the root directory of a widget project.
Icon.png
The icon of a widget is an image saved in Portable Network Graphics (.png) format ( png) The recommended size of the icon is 88x88 pixels If the i h icon.png i omitted f is i d from the h widget installation package, the widget will appear with a default S60 application icon, or empty
Deployment
Platform Services
Forward compatibility with future implementations of Platform Services Device Support: N97 (v20.0.019), N97 mini (v10.0.020), with full support on other devices expected by firmware updates. http://www.forum.nokia.com/Library/Tools_and_downloads /Other/Nokia_Platform_Services/
Access to Location
Location API
Allows you to retrieve and monitor the phone s physical phones location using methods supported by the device (e.g. A-GPS, Cell-based) , ) The geolocation object provides the following methods:
getCurrentPosition getPositionUsingMethodName watchPosition clearWatch
Sensors API
Allows a direct channel to information from the hardware sensor. Compass, proximity, Compass proximity accelerometer, illumination, orientation, etc. These are some of the supported channels : pp
AccelerometerAxis (Continuous) AccelerometerDoubleTapping (State) Illumination (State) MagneticNorth (Continuous) Magnetometer (Continuous) Orientation (State) Proximity (State) Rotation (Continuous)
Wouldn t Wouldnt it be nice if my device would let me know what my friends are up to and recommended things to do?
PIM APIs
Allows access to Personal Information Data Calendar, contacts, Calendar contacts messaging Using 3 objects (calendar, contacts, messaging) these are some of the things we can do:
Add and read calendar events Register for incoming messages Read and create contacts
Calendar
Accessing, creating, and managing calendar entries g, g, g g
addEntry: adds a new entry in the default calendar updateEntry: adds a new entry in the default calendar deleteEntry: deletes an entry in the default calendar startEditor: launches the devices native calendar editor cancel: cancels an ongoing asynchronous call var so = nokia.device.load(calendar"); var dt = new Date(); dt.setUTCMonth(2,17); // month and day specified dt.setUTC dt.setUTCHours(6,00); // 11:30 AM Blr time in UTC/GMT stTime = dt; dt.setUTCMonth(2,17); // month and day specified dt.setUTCHours(7,00); // 12:30 PM Blr time in UTC/GMT endTime = dt; var meetingTime = {begin:stTime, end:endTime}; var return = so.addEntry(meetingEntry);
getList: retrieves a list of calendar entries and instances from the default calendar
Contacts (1/2)
Access and manage info about contacts on default device contacts DB
getContacts: retrieves a list of contacts
deleteContacts: deletes one or more existing contact addGroup: adds a new contact group updateContact: modifies an existing contact group deleteGroups: deletes one or more existing contact groups getContactInfo: retrieves details of a single contact getGroupInfo: retrieves details of a single contact group getGroupIds: retrieves a list of contact group IDs addContactsToGroup: adds one or more contacts to a contact group removeContactsFromGroup: removes one or more contacts f C G from a contact group startEditor: launches the devices native contacts editor
Contacts (2/2)
Access and manage i f about contacts on d f l d i contacts DB d info b default device
var so = nokia.device.load("contacts"); var contact = { name: { first: John; last: Smith; } ); var contactId = so.addContact(contact); contact = so.getContactInfo(contactId); alert(First Name: + contact.name.first); alert(Last Name: + contact.name.last); l t(L t N t t l t)
Messaging
Send, retrieve, and manage messages using the Message Store d i d i h startEditor: launches the devices native message editor with pre-populated message data
getList: retrieves a list of messaging objects from the Message Store send: sends an sms/mms message setNotifier: registers the widget to receive notifications of new incoming messages cancelNotifier: cancels notification of new incoming messages getMessage: retrieves a single message from the Message Store. Store deleteMessage: deletes a single message from the Message Store. setStatus: sets status of the message as read/unread cancel: cancels an ongoing asynchronous call var so = nokia.device.load(messaging"); var messageinfo = so.getMessage(messageid); var sender = messageinfo.sender; var messagedata = messageinfo.message; var type = messagedata.type; var message = messagedata.body;
Create develop, test preview and Create, develop test, deploy WRT widgets for millions of Nokia devices
Easy transition from web design to widget development Opportunity for designers and developers to collaborate on the same p j projects
Widgets
http://www.forum.nokia.com/Devices/Remote_device_access/ h // f ki / i / d i /
Documentation
http://www.forum.nokia.com/Develop/Web/Documentation/
Over 30 Symbian devices launched, announced or upcoming Broad-based Device Support on Symbian OS, S60 3.2 and 5.0 devices Latest Firmware Upgrade on S bi OS S60 3.1 devices Symbian OS, 31d i
Hands-On Exercise
Lab Workflow
Tutorial documentation integrated into the SDK
Then double click on the double-click snippet to add the snippet code into the file (replacing the placeholder)
Simulator Settings
Change your device settings to emulate a Symbian^3 device Click on Device Settings Ch Choose: Symbian WRT 1.1 360x640 Touch
Now its time to start turning ideas into software Lets make the internet personal and mobile
Thank you!