Qtopia Phone Edition - Mobile Devices
Qtopia Phone Edition - Mobile Devices
Qtopia Phone Edition - Mobile Devices
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
2007 Aalborg University, <strong>Mobile</strong> Device Group<br />
<strong>Qtopia</strong> <strong>Phone</strong> <strong>Edition</strong> and<br />
<strong>Qtopia</strong> Greenphone<br />
<strong>Mobile</strong> <strong>Phone</strong> Programming http://mobiledevices.kom.aau.dk/
2007<br />
<strong>Mobile</strong> <strong>Phone</strong> Programming<br />
title<br />
<strong>Qtopia</strong><br />
Aalborg University, <strong>Mobile</strong> Device Group<br />
� <strong>Qtopia</strong> – application framework for Linux-based<br />
embedded devices<br />
� <strong>Qtopia</strong> is based on Qt 4 from Trolltech<br />
� Different versions for different purposes:<br />
– <strong>Qtopia</strong> Core – simple, single-purpose devices<br />
– <strong>Qtopia</strong> Platform – general, multi-application devices<br />
– <strong>Qtopia</strong> PDA <strong>Edition</strong> – for PDAs, includes applications<br />
– <strong>Qtopia</strong> <strong>Phone</strong> <strong>Edition</strong> – for mobile phones, includes<br />
applications<br />
http://mobiledevices.kom.aau.dk/
2007<br />
<strong>Mobile</strong> <strong>Phone</strong> Programming<br />
<strong>Qtopia</strong> Greenphone<br />
� Development platform for <strong>Qtopia</strong> <strong>Phone</strong> <strong>Edition</strong><br />
� Specifications<br />
– Touch-screen and keypad UI<br />
– QVGA LCD screen<br />
– Marvell PXA270 312MHz CPU<br />
– 64MB RAM + 128MB flash<br />
– Mini-SD card slot<br />
– Broadcom BCM2121 GSM/GPRS baseband<br />
processor<br />
– Tri-band GSM (900/1800/1900)<br />
– Bluetooth<br />
– Mini-USB<br />
– 1.3 Mpixel camera<br />
title<br />
Aalborg University, <strong>Mobile</strong> Device Group<br />
http://mobiledevices.kom.aau.dk/
2007<br />
<strong>Mobile</strong> <strong>Phone</strong> Programming<br />
<strong>Qtopia</strong> Greenphone<br />
title<br />
Aalborg University, <strong>Mobile</strong> Device Group<br />
� What can you do with <strong>Qtopia</strong> <strong>Phone</strong> <strong>Edition</strong>?<br />
– Easy GUI design through <strong>Qtopia</strong> widgets<br />
– Access phone functionality<br />
– Access built-in PIM functionality<br />
– Access networking functionality<br />
– Quickly get started building applications tapping<br />
into existing functionality<br />
http://mobiledevices.kom.aau.dk/
2007<br />
<strong>Mobile</strong> <strong>Phone</strong> Programming<br />
<strong>Qtopia</strong> <strong>Phone</strong> <strong>Edition</strong> - Services<br />
title<br />
Aalborg University, <strong>Mobile</strong> Device Group<br />
� <strong>Qtopia</strong> Application Services<br />
– Standardized APIs to access functionality<br />
supplied by other applications<br />
– Invoke a specific service<br />
– System integrator or user settings determine<br />
which application supplies it<br />
– Applications written to request services and/or<br />
serve requests through QCop<br />
– New services registered through system config<br />
files<br />
http://mobiledevices.kom.aau.dk/
2007<br />
<strong>Mobile</strong> <strong>Phone</strong> Programming<br />
<strong>Qtopia</strong> <strong>Phone</strong> <strong>Edition</strong> - Services<br />
� Pre-defined services<br />
title<br />
Aalborg University, <strong>Mobile</strong> Device Group<br />
– Clock, Date, Time, TimeMonitor, Alarm,<br />
Calendar, Tasks<br />
– Contacts, Contacts<strong>Phone</strong>, Dialer, Email, SMS,<br />
smsapp<br />
– VoiceRecording, PhotoEdit, WebAccess<br />
– Help, InputMethod, Launcher, Profiles, Push,<br />
QDL, <strong>Qtopia</strong>, ScreenSaver, Settings,<br />
SettingsManager, TaskManager<br />
http://mobiledevices.kom.aau.dk/
2007<br />
<strong>Mobile</strong> <strong>Phone</strong> Programming<br />
<strong>Qtopia</strong> <strong>Phone</strong> <strong>Edition</strong> – QCop<br />
title<br />
Aalborg University, <strong>Mobile</strong> Device Group<br />
� QCop is an inter-application messaging<br />
facility<br />
� Service requests – “QCopServiceRequest<br />
srv(servicename, action)”<br />
� Communication between specific applications<br />
via channels – “QPE/Application/appname”<br />
http://mobiledevices.kom.aau.dk/
2007<br />
<strong>Mobile</strong> <strong>Phone</strong> Programming<br />
<strong>Qtopia</strong> <strong>Phone</strong> <strong>Edition</strong> – QDL<br />
� <strong>Qtopia</strong> Data Linking – QDL<br />
title<br />
Aalborg University, <strong>Mobile</strong> Device Group<br />
– Link data items across applications within the <strong>Qtopia</strong><br />
application framework – a sort of hyperlinks<br />
– Example:<br />
A meeting item in the Calendar application may include<br />
links to persons in the Contacts application attending the<br />
meeting<br />
– Applications must be designed to provide QDL<br />
– Applications display links or allow the user to define/edit<br />
links using special text field<br />
http://mobiledevices.kom.aau.dk/
2007<br />
<strong>Mobile</strong> <strong>Phone</strong> Programming<br />
<strong>Qtopia</strong> <strong>Phone</strong> <strong>Edition</strong> - Plugins<br />
title<br />
Aalborg University, <strong>Mobile</strong> Device Group<br />
� Plugins provide functionality at another level<br />
than applications/services<br />
– High-level API for plugins that extend the <strong>Qtopia</strong><br />
framework itself<br />
� Written by extending base classes such as<br />
QImageIOPlugin, QScreenDriverPlugin etc.<br />
– Low-level API for plugins that extend <strong>Qtopia</strong><br />
applications<br />
� Applications must be written to detect and load plugins<br />
http://mobiledevices.kom.aau.dk/
2007<br />
<strong>Mobile</strong> <strong>Phone</strong> Programming<br />
<strong>Qtopia</strong> <strong>Phone</strong> <strong>Edition</strong> - Modules<br />
title<br />
Aalborg University, <strong>Mobile</strong> Device Group<br />
� Several modules support various functionality<br />
– Telephony<br />
� VoIP interface (developer has to add VoIP stack)<br />
� <strong>Phone</strong> library – call and SMS handling etc.<br />
� SIM Toolkit<br />
� Bluetooth support – BlueZ BT protocol stack<br />
(“technology preview”)<br />
� Over-the-air configuration<br />
� AT command handling<br />
http://mobiledevices.kom.aau.dk/
2007<br />
� Networking<br />
<strong>Mobile</strong> <strong>Phone</strong> Programming<br />
<strong>Qtopia</strong> <strong>Phone</strong> <strong>Edition</strong><br />
– Dialup plugin: PPP connections, GPRS<br />
title<br />
Aalborg University, <strong>Mobile</strong> Device Group<br />
– LAN plugin: LAN, WLAN (Greenphone no WLAN)<br />
– <strong>Qtopia</strong> networking API facilities (QtNetwork)<br />
� QFtp, QHttp<br />
� QtUdpSocket, QtTcpSocket, QTcpServer, QtSslSocket<br />
� QNetworkProxy<br />
http://mobiledevices.kom.aau.dk/
2007<br />
� Other application facilities<br />
– Safe execution environment<br />
<strong>Mobile</strong> <strong>Phone</strong> Programming<br />
<strong>Qtopia</strong> <strong>Phone</strong> <strong>Edition</strong><br />
title<br />
Aalborg University, <strong>Mobile</strong> Device Group<br />
� Public Key Infrastructure to determine trusted<br />
applications<br />
� Sand-box environment to control system access for<br />
applications<br />
– Java<br />
� Java support as well for wider compatibility<br />
http://mobiledevices.kom.aau.dk/
2007<br />
<strong>Mobile</strong> <strong>Phone</strong> Programming<br />
<strong>Qtopia</strong> Greenphone SDK<br />
title<br />
Aalborg University, <strong>Mobile</strong> Device Group<br />
� The SDK is a complete Linux system<br />
containing all necessary tools running as<br />
VMware<br />
� Fully set-up environment ready for developing<br />
applications for the Greenphone<br />
� Use Greenphone emulator or connect real<br />
phone<br />
� Run under either Windows or Linux<br />
http://mobiledevices.kom.aau.dk/
2007<br />
� Greenphone SDK pricing<br />
<strong>Mobile</strong> <strong>Phone</strong> Programming<br />
<strong>Qtopia</strong> Greenphone SDK<br />
– Community SDK (GPL 2): Free<br />
title<br />
Aalborg University, <strong>Mobile</strong> Device Group<br />
– Light (commercial distribution, 1 device per<br />
license): $195<br />
– Professional (full source, Trolltech support,<br />
additional devices): Custom price<br />
� <strong>Qtopia</strong> Greenphone $695<br />
http://mobiledevices.kom.aau.dk/
2007<br />
<strong>Mobile</strong> <strong>Phone</strong> Programming<br />
<strong>Qtopia</strong> Greenphone<br />
� Promising<br />
– Easy to get started with<br />
– Qt widgets well documented<br />
� A lot missing<br />
– Documentation<br />
– Stability<br />
– Community<br />
� Too expensive<br />
– Not enough open-source developers will buy one<br />
– Prohibits Linux-style development<br />
title<br />
Aalborg University, <strong>Mobile</strong> Device Group<br />
http://mobiledevices.kom.aau.dk/