Presentation by Espen Riskedal held during Bossa Conference 2010 in Manaus.
Read more at http://labs.trolltech.com/blogs/2010/03/08/hi-from-bossa-conference-and-bossatetrix/
http://qt.nokia.com
http://www.bossaconference.indt.org/
1. Shipping mobile applications using
Qt for Symbian
Espen Riskedal
Teamlead - Qt for Symbian
Company Confidential
1
2. Agenda
• Developing applications using Qt Creator
• Building and deploying to your phone
• Signing the application with Symbian Signed
• Getting it on the OVI store and more
Company Confidential
2
3. About me
• Trolltech since 2002
• Qt developer (Linux mostly)
• Qt release manager (3.1.x – 4.1.x)
• Teamlead Qt for Windows CE
• Teamlead Qt for Symbian
• Enjoyed the pool yesterday
Company Confidential
3
4. Who is Qt and what is he doing on my
mobile phone?
Company Confidential
4
5. Who is Symbian and what is he doing on
my mobile phone?
• Symbian smartphone market share
• APAC 80%
• EMEA 60%
• Latin America with 40%
• US nothing :D
• Canalys Smart Phone Analysis, 2008
and Q109 shipment estimates.
• Yes it's «old» numbers but I couldn't
be bothered to google more
Company Confidential
5
6. Installing Qt
• Install needed tools for normal
S60/Symbian development
• Install Qt SDK for Windows
• Includes Qt Creator
• Includes Qt for Windows
• Install Qt for Symbian
Company Confidential
6
7. Developing with Qt Creator
• <do simple app dev in Creator>
Company Confidential
7
8. Compiling for your phone
• Setup the S60/Symbian SDK (if not auto-detected)
• Change the Default Qt version
• or
• Add another build configuration
Company Confidential
8
9. Deploying to your phone: CMD
• Open Qt for Symbian Command Prompt
• set QT_SIS_OPTIONS=-i
• make sis
Company Confidential
9
10. Deploying to your phone: IDE
• Enter Projects Mode in Qt Creator:
•Experimental
•USB only
•App TRK needed
Company Confidential
10
11. Debugging on your phone
• Use Carbide
• or
• Wait for Qt office in Berlin to fix it in Qt Creator :D
Company Confidential
11
12. BossaTetrix
• Stolen from examples/widgets/tetrix
• Massaged it to fit a smaller screen
• Added a some simple gesture hacks
• Coming versions of Symbian will
have multitouch and Qt already
supports this
Company Confidential
12
13. BossaTetrix: Gesture hack
void TetrixBoard::mouseReleaseEvent(QMouseEvent *event) {
if (event->button() == Qt::LeftButton) {
QPoint movement = event->pos() - mousePressedPosition;
int length = movement.manhattanLength();
int angle = atan2(qreal(movement.y()),qreal(movement.x()))*180/PI;
... show in Qt Creator ...
Company Confidential
13
15. The Symbian security model
• Capabilities
• Encoded in the .dll or .exe
• Around 20 of them
• A calling .dll or .exe must have the same or less capabilities
• Certificates
• Digital pair of a key and a certificate that can sign a .sis file
• Examples: Self-signed, RnD Signed, Symbian Signed, Nokia Signed
• Phone
• Has a mapping between certificates and capabilites
• Self-signed usually only grants 5 capabilites
• Symbian Signed can grant many more across all Symbian devices
Company Confidential
15
16. Express Signed: Why bother?
• The good
• Less prompts
• Proves the software is genuine
• Grants more capabilites
• Works on all Symbian devices
• The bad
• Costs money
• Hard to automate
Company Confidential
16
17. Express Signed: Set the UID3
• Sign up at symbiansigned.com
• Free
• Reserve a UID for your application (0x2... protected range)
• Free
• Edit your .pro file to use it
• symbian: TARGET.UID3 = 0x2...
• Rebuild project
• qmake
• make release-gcce
Company Confidential
17
18. Express Signed: Publisher ID
• Get a PublisherID at www.trustcenter.de
• Costs 200USD
• Convert the .p12 to a .cer and a .key
• Sign the .sis file with the PublisherID
• QT_SIS_CERTIFICATE=c:fooyour_publisherid.cer
• QT_SIS_KEY=c:fooyour_publisherid.key
• make sis
Company Confidential
18
19. Express Signed: Uploading
• Zip the .sis together with a readme.txt
• One line explaining what the .sis is
• Buy a ContentID
• Costs 10USD
• Upload the .zip and Express Sign it
• Fill in the form
• Say «PASS» on all answers
• Wait 5 minutes
Company Confidential
19
20. How the Smart Installer works
Company Confidential
20
21. Smart Installer and Qt
• Install the Nokia Smart Installer 0.9 (beta) on top of Qt 4.6.2 for Symbian
• Change UID of foo_installer.pkg to:
• #{"foo installer"},(0x2002CCCF),1,0,0
• Create the wrapper .sis:
• make installer_sis
• Zip the wrapper .sis file with a readme.txt and Express Sign it
• Costs another 10USD at the moment
Company Confidential
21
24. Getting on the OVI store
• Sign up as an OVI Publisher
• Costs 50€
• Wait for approval
• Upload application
• Must be Express Signed
• Add thumbnails
• Set price/free
• Check the «Qt» button (coming)
• Wait for approval
• Praying is optional
• Profit and/or fame!
Company Confidential
24
25. I want to get on all the stores!
• http://horizon.symbian.org/
• Ovi Store by Nokia
• Samsung Applications Store
• AT&T’s Media Mall
• China Mobile
• Handango
• Orange
• Sony Ericsson’s Playnow
http://horizon.symbian.or
g
Company Confidential
25
27. Summary
• Install Qt SDK for Windows
• Install Qt for Symbian
• Get both at: http://qt.nokia.com/
• Install Nokia Smart Installer (still in beta) on top
• Express Sign it
• Upload to OVI
• OVI Store is ready for Qt apps once Smart Installer is completed
Company Confidential
27
28. Thanks! Any questions?
•Email: espen.riskedal@nokia.com
•Twitter: @snowpong
Company Confidential
28