Shipping Mobile Applications Using Qt for Symbian

28
Company Confidential 1 Shipping mobile applications using Qt for Symbian Espen Riskedal Teamlead - Qt for Symbian

description

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/

Transcript of Shipping Mobile Applications Using Qt for Symbian

Page 1: Shipping Mobile Applications Using Qt for Symbian

Company Confidential1

Shipping mobile applications usingQt for Symbian

Espen Riskedal

Teamlead - Qt for Symbian

Page 2: Shipping Mobile Applications Using Qt for Symbian

Company Confidential2

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

Page 3: Shipping Mobile Applications Using Qt for Symbian

Company Confidential3

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

Page 4: Shipping Mobile Applications Using Qt for Symbian

Company Confidential4

Who is Qt and what is he doing on my mobile phone?

Page 5: Shipping Mobile Applications Using Qt for Symbian

Company Confidential5

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

Page 6: Shipping Mobile Applications Using Qt for Symbian

Company Confidential6

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

Page 7: Shipping Mobile Applications Using Qt for Symbian

Company Confidential7

Developing with Qt Creator

• <do simple app dev in Creator>

Page 8: Shipping Mobile Applications Using Qt for Symbian

Company Confidential8

Compiling for your phone

• Setup the S60/Symbian SDK (if not auto-detected)• Change the Default Qt version

• or

• Add another build configuration

Page 9: Shipping Mobile Applications Using Qt for Symbian

Company Confidential9

Deploying to your phone: CMD

• Open Qt for Symbian Command Prompt

• set QT_SIS_OPTIONS=-i• make sis

Page 10: Shipping Mobile Applications Using Qt for Symbian

Company Confidential10

Deploying to your phone: IDE

• Enter Projects Mode in Qt Creator:

•Experimental•USB only•App TRK needed

Page 11: Shipping Mobile Applications Using Qt for Symbian

Company Confidential11

Debugging on your phone

• Use Carbide• or

• Wait for Qt office in Berlin to fix it in Qt Creator :D

Page 12: Shipping Mobile Applications Using Qt for Symbian

Company Confidential12

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

Page 13: Shipping Mobile Applications Using Qt for Symbian

Company Confidential13

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 ...

Page 14: Shipping Mobile Applications Using Qt for Symbian

Company Confidential14

BossaTetrix: In action

Page 15: Shipping Mobile Applications Using Qt for Symbian

Company Confidential15

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

Page 16: Shipping Mobile Applications Using Qt for Symbian

Company Confidential16

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

Page 17: Shipping Mobile Applications Using Qt for Symbian

Company Confidential17

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

Page 18: Shipping Mobile Applications Using Qt for Symbian

Company Confidential18

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:\foo\your_publisherid.cer

• QT_SIS_KEY=c:\foo\your_publisherid.key

• make sis

Page 19: Shipping Mobile Applications Using Qt for Symbian

Company Confidential19

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

Page 20: Shipping Mobile Applications Using Qt for Symbian

Company Confidential20

How the Smart Installer works

Page 21: Shipping Mobile Applications Using Qt for Symbian

Company Confidential21

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

Page 22: Shipping Mobile Applications Using Qt for Symbian

Company Confidential22

Content of «Smart» application

Page 23: Shipping Mobile Applications Using Qt for Symbian

Company Confidential23

«Smart» Qt application in action

Page 24: Shipping Mobile Applications Using Qt for Symbian

Company Confidential24

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!

Page 25: Shipping Mobile Applications Using Qt for Symbian

Company Confidential25

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.org

Page 26: Shipping Mobile Applications Using Qt for Symbian

Company Confidential26

BossaTetrix download

http://bit.ly/espenbossatalk

Page 27: Shipping Mobile Applications Using Qt for Symbian

Company Confidential27

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

Page 28: Shipping Mobile Applications Using Qt for Symbian

Company Confidential28

Thanks! Any questions?

•Email: [email protected]•Twitter: @snowpong