New Qt APIs

tediousfifthΚινητά – Ασύρματες Τεχνολογίες

12 Νοε 2013 (πριν από 3 χρόνια και 9 μήνες)

80 εμφανίσεις

New Qt APIs
For Mobile Development
Roadmap
Minjung Shin
Product Manager
Nokia Qt Development Frameworks
On average 2.8 platforms per developer
Symbian
MeeGo
Java
Android
C
iPhone
Palm
C++
Windows Mobile
Flash
BlackBerry
BREW
Source: Mobile Developer Economics 2010 and beyond by
VisionMobile
Market penetration
Revenue potential
Tools
Platform features
Qt Mobility

What is it?

New Qt APIs targeting cross
-
platform
mobile application development.
Qt Mobility

What is it?

New Qt APIs targeting cross
-
platform
mobile application development.
Snapshot of Mobility API

Q1 2009 Project commenced

Two releases in 2010, 1.0 and 1.1

17 Components in 1.1

Over 350 classes

Over 3700 public methods

Six Nokia mobile platforms in 1.1
S60 3rd Edition FP1 and FP2, S60 5th Edition and
Symbian
^3
Maemo
5 and upcoming
Meego
platform
API Creation Process
Nokia
Platform
groups
External
Feedback
Existing
Specifications
Market
benchmark
Extensibility
API Design
Technology
Preview
BETA
Final
Qt Mobility Roadmap

A day of an
Apptizen

A mobile phone is an integral part of
his
or her daily
activities

Mr
.
Apptizen
is a businessman with a wife
and three
kids
Qt Mobility Roadmap

A day of an
Apptizen

A mobile phone is an integral part of his
or her daily
activities

Mr
.
Apptizen
is a businessman with a wife
and three
kids
Qt Mobility API 1.0

Find a nice
coffee shop
Location

Check if any
friends is
nearby
Contacts

Search and
review old
emails with
customer
Messaging

Download
new stock
tracking
plugin
Service
Framework

Browse
seamlessly
across
networks
Bearer
Management

Watch
videocast
of
language
lessons
Multimedia

New home
screen widget
for battery
status
Publish and
Subscribe

Play a game
at lunch
break
Sensors

Check the
remaining
capacity of
SD card
System
Information

Share
vCards
by bumping
the phone to
each other
Versit
Qt Mobility API 1.1

Search
recently
received
documents
Document
Gallery

Search routes
and interact
with the map
Maps/Navigation

Adjust the
strength of
haptics
feedback
Feedback

Save a
chocolate
shop as a
landmark
Landmarks

Take a picture
of whiteboard
after
brainstorming
with staff
Camera

Search online
calendar to
find a cultural
event
Organizer

Arrange next
meeting
Versit
Organizer
Service
Framework
-
IPC

Check cinema
timetable and
get driving
directions
Qt Mobility API 1.2

Get new
conference
details from
a poster
Near Field
Communication

Use a
Bluetooth
handsfree
device
Bluetooth

Share login
credentials
Accounts

Chat with
friends
Instant
Messaging
Mobility pipeline

Check the
shape of the
toy in 3D
Augmented
Reality

Drive UI by
voice
commands
Voice
Framework

Tag friends
automatically
Face
Recognition

Automatic
presence
update
Presence
Qt Mobility API 1.3

More use cases to existing APIs

Quality
Assurance

Open Governance

Contributions
Community
Quality
Contribution
Supported Platforms
1.0
1.1
1.2
1.3
S60 3rd Edition FP1
S60 3rd Edition FP2
S60 5th Edition
Symbian^3
Symbian^4
Maemo
5
Harmattan
MeeGo.com
Supported Platforms
1.0
1.1
1.2
1.3
S60 3rd Edition FP1
S60 3rd Edition FP2
S60 5th Edition
Symbian^3
Symbian^4
Maemo
5
Harmattan
MeeGo.com
100 Million
Devices Already
Deployed!
Immediate
Revenue
Potential!
Supported Platforms
1.0
1.1
1.2
1.3
S60 3rd Edition FP1
S60 3rd Edition FP2
S60 5th Edition
Symbian^3
Symbian^4
Maemo
5
Harmattan
MeeGo.com
High End Devices
Advanced UI
Innovative UX
Engaged
Customers
Supported Platforms
1.0
1.1
1.2
1.3
S60 3rd Edition FP1
S60 3rd Edition FP2
S60 5th Edition
Symbian^3
Symbian^4
Maemo
5
Harmattan
MeeGo.com
Target wide range
of devices using
MeeGo
Future Market
Penetration!
Roadmap Recap
1.0

10 APIs

Four Nokia mobile platforms
1.1

17
APIs + QML bindings

Six Nokia mobile platforms
1.2

21 APIs or more

Seven Nokia
mobile
platforms + MeeGo
1.3

Open Governance

Contributions

Enhancing existing APIs
My First Application
Demo

QML/Mobility
Keeping simple things simple

Taking a photo
camera = new
QCamera
;
viewFinder
= new
QCameraViewfinder
();
viewFinder
-
>show();
camera
-
>
setViewfinder
(
viewFinder
);
imageCapture
= new
QStillImageCapture
(camera);
camera
-
>start();
//on half pressed shutter button
camera
-
>lock();
//on
shutter button pressed
imageCapture
-
>capture("imagefile.jpg");
//on shutter button released
camera
-
>unlock();
Ensuring extensibility

Accessing sensor data in a generic fashion
// start the sensor
QSensor
sensor("
QAccelerometer
");
sensor.start
();
// later
QSensorReading
*reading =
sensor.reading
();
qreal
x = reading
-
>property("x").value<
qreal
>();
qreal
y = reading
-
>value(1).value<
qreal
>();
Service oriented

Finding a map service provider
QGeoMappingManager
*
mappingManager
= 0;
QGeoRoutingManager
*
routingManager
= 0;
QGeoSearchManager
*
searchManager
= 0;
QGeoServiceProvider
serviceProvider
("
nokia
");
if (
serviceProvider.error
() ==
QGeoServiceProvider
::
NoError
) {
mappingManager
=
serviceProvider.mappingManager
();
routingManager
=
serviceProvider.routingManager
();
searchManager
=
serviceProvider.searchManager
();
}
Accessibility

Integrated with Nokia Qt SDK

Emulation

Debugging

Deployment

Also available independently

Source packages

Binary packages
Deployment

Symbian^3 and new S60 5.0 devices

Qt Mobility will be pre
-
installed from Q1 2011

S60 5.0 and 3.x

Qt Mobility will be roll
-
out via software
updates

Qt/Mobility Combinations

Qt 4.6.3 and Qt Mobility 1.0.2

Qt 4.7 and Qt Mobility 1.1
How to get involved

Features and API design

Review and input on the draft APIs

Suggest additional requirements

Implementation

Bug reports at
http://bugreports.qt.nokia.com/

Merge requests at
http://qt.gitorious.org/

Additional
backends
are much appreciated
Contributing
API believed to be
complete
But flexibility retained
for critical changes
API Solid/Final
Binary compatibility
statement given
API Final
Qt Labs: Tech Preview
Beta
Next!
Your opportunity to win features
and influence API
Bugs, examples,
merge requests,
extra
backends
Return on Investment

Target 8
platforms
at once

Over 100
million
Symbian
smartphones

SDK

Ease of
development

Competitive
APIs

QML bindings
Platform
features
Tools
Market
penetration
Revenue
potential
Questions?
minjung.shin@nokia.com
Thank you!
minjung.shin@nokia.com