How to make money by making software for MS Smartphone : guide for dummies
Signing, certification, Mobile2Market, etc. - all you wanted to know about it, but were afraid to ask. Plus some information, that nobody will tell you officially, but you can find it as always at msmobiles.com !
For MS Smartphone to succeed, it is crucial to have big number of sofware titles available. And hence msmobiles.com dreams about nothing else than big success of MS Smartphone platform, we are presenting hereby an article, that can help individual developers and software development companies to bring their MS Smartphone software to the market and to start making money from this software.
(overview picture of developer to customer life cycle for MS Smartphone applications)
First of all let us underline this: if you were developing applications for other Windows CE devices before (for example for Pocket PC based PDAs) you may have used simpler path: make application => sell at it at Handango. But now EVERYTHING HAS CHANGED - now, if you would like to make money with software for MS Smartphone then you need to consider such issues like "signing" and "certification" and you need to PAY money to companies performing operations of signing and certification before you will see any revenue (income) coming from these Smartphone applications!
Secondly if you was dreaming of selling your applications to those users who unlocked their phones : then FORGET IT! We had some feedback from developers who attempted this and the result was that sales were minimal (close to zero). If you want to make money from Smartphone application you need to sign and/or certify them. This is the (brutal) reality in this market and you can play along or say "bye bye" right away. Who is to "blame" for this situation? Orange or Microsoft or who? Well, msmobiles.com is not interested in such discussions, but in helping developers to bring more applications for MS Smartphone to the market. (if you would like to discuss it then visit microsoft.public.smartphone - newsgroup of Microsoft about MS Smartphones, but this article is not dealing with this subject)
Just one remark: it was not Microsoft idea to restrict application signing, but Orange idea. Generally speaking MS Smartphone cell phones are not that different from Pocket PC Phone Edition phones, who have 1,000,000 (plenty!) of applications (inherited from not-phones: Pocket PC PDAs), applications that never been signed and made our lives amazing.
The process - to start earning money from your software for MS Smartphone phones - seems to be simple at first glance, and is presented by Microsoft (as part of "Mobile2Market" program, see down for more about it) in this way:
However bringing your smartphone application to the market can be approached from 2 directions:
sign your application with the operator => sell your application at given operator
certify your application with the windows logo => put your application into "Mobile2Market" catalog so that operators can see it => sign your application with some operator(s) => sell your application through shops of some operator(s)
You can see therefore that logo certification is not necessary to sell your application!
So let´s now take a closer look what is this "signing" and "certification"?
(overview picture of code signing)
Application Signing
if a phone is locked by a network operator, then application must be signed to run in it
to sign application the organization that signs it is not testing it for anything (just credibility of the company publishing the application is checked)
signing takes places by third companies (like Balitmore/Geotrust) or by network operators (like Orange or T-Mobile)
"Designed for..." Logo Certification
in order for application to be listed in OTA (over the air) and web based catalogs of network operators (and in Microsoft´s Mobile2Market catalog) an application needs to get "logo certification"
applications is being tested before getting logo certification - for example no "exit" menu position is allowed and more guidelines have to be met
logo certification is not done by Microsoft by third parties like for example Wipro
But how does app signing ensure security if no tests
are performed?
Signing of the application comprises of sending (or submitting through web interface) of your application to signer (for example: Baltimore). The signer puts into your files their name and your name - digital signatures!
Once the application is signed you can develop your, now-signed, application. Now when users try to run such application in a MS Smartphone powered cell phone, the system wil check if the device can run (trust) applications signed by given company. It also checks if such signature has not been revoked (after discovering malicious operations for example). If these 2 checks are OK then application can execute and it starts!
If somebody would sign and distribute malevolen application then: a. this signature can be revoked remotely (through SMS assuming you have SIM card from the same operator as phone), b. everybody knows who was author of this application so this author can be easily jailed.
If you are a developer then it is essential for you to know what tool you can use to write software for MS Smartphone! Please take a look at this overview:
... where you can notice that nowadays the only way to develop software for MS Smartphone is to use eMbedded Visual C++ (eVC) 3.0 - part of eMbedded Visual Tools 3.0.
If you however are interested in developing software for MS Smartphone in long-term, then you may consider using .NET Compact Framework (.NET CF) and developing with C# or Visual Basic .NET - but in this case you must be ready to wait for .NET in MS Smartphone because it will be available in next generation of MS Smartphone system (burnt into ROM!) - in year 2004 - and not for currently available phones with MS Smartphone 2002. Nowadays, the only way to run client side .NET CF software in cell phone or in PDA is to use some Pocket PC, because .NET CF is already available for download for them.
Some useful links:
"Designed for Windows for Smartphone" logo certification: