Shipping Mobile Applications Using Qt for Symbian
Upcoming SlideShare
Loading in...5

Shipping Mobile Applications Using Qt for Symbian



Presentation by Espen Riskedal held during Bossa Conference 2010 in Manaus. ...

Presentation by Espen Riskedal held during Bossa Conference 2010 in Manaus.




Total Views
Views on SlideShare
Embed Views



1 Embed 47 47



Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Shipping Mobile Applications Using Qt for Symbian Shipping Mobile Applications Using Qt for Symbian Presentation Transcript

  • Shipping mobile applications using Qt for Symbian Espen Riskedal Teamlead - Qt for Symbian Company Confidential 1
  • 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
  • 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
  • Who is Qt and what is he doing on my mobile phone? Company Confidential 4
  • 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
  • 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
  • Developing with Qt Creator • <do simple app dev in Creator> Company Confidential 7
  • 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
  • Deploying to your phone: CMD • Open Qt for Symbian Command Prompt • set QT_SIS_OPTIONS=-i • make sis Company Confidential 9
  • Deploying to your phone: IDE • Enter Projects Mode in Qt Creator: •Experimental •USB only •App TRK needed Company Confidential 10
  • Debugging on your phone • Use Carbide • or • Wait for Qt office in Berlin to fix it in Qt Creator :D Company Confidential 11
  • 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
  • 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
  • BossaTetrix: In action Company Confidential 14
  • 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
  • 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
  • Express Signed: Set the UID3 • Sign up at • 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
  • Express Signed: Publisher ID • Get a PublisherID at • 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
  • 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
  • How the Smart Installer works Company Confidential 20
  • 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
  • Content of «Smart» application Company Confidential 22
  • «Smart» Qt application in action Company Confidential 23
  • 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
  • I want to get on all the stores! • • 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
  • BossaTetrix download Company Confidential 26
  • Summary • Install Qt SDK for Windows • Install Qt for Symbian • Get both at: • 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
  • Thanks! Any questions? •Email: •Twitter: @snowpong Company Confidential 28