Nokia responds to my post about the Smart Installer

Just over a week ago I wrote an angry post about the problems with the Nokia Smart Installer asking Nokia to fix some outstanding issues with it and the Ovi store, specifically to:

  1. Provide sensible assistance to users who face Smart Installer problems.
  2. Fix the Smart Installer to get installation error rates down.
  3. Separate installation problems from application problems in the Ovi store comments and ratings.

I also ranted about the general clumsiness in bringing Qt to devices. Now Pekka Kosonen at Nokia has written a long response as a comment to my post, addressing some of my remarks. Firstly, I claimed that Qt is not pre-installed on devices:

Very not true. All the Symbian^3 devices have Qt preinstalled. If you want to target the 4 first S^3 devices (N8, E7-00, C6-01 and C7-00, don’t you just love the naming ;) without Qt being updated use Qt 4.6 as that’s the preinstalled version. In the FW updates and in the newest Symbian devices there will be 4.7 (both 4.6 and 4.7 versions are supported in the Qt SDK 1.1). Many of our own apps (like the newer versions of Ovi store client) also use Qt.

Okay, it is probably true that there is a version of Qt on all Symbian^3 phones. This still doesn’t explain why it is the duty of the application to update Qt. We’ve also heard stories of conflicting Qt versions causing problems for users. Can multiple versions of Qt coexist on a device?

What it comes to the success rate of smart installer it’s actually at good level but I’m not claiming it’s perfect. The installations that haven’t succeeded are mainly though from end user cancellations and running out of disk space or network errors. Of course there are cases where something just went wrong. I guess smart installer isn’t the only piece of software where that has happened.

If you want us to check out the failures in details we’d need to get the log files from smart installer…

This highlights an old issue with Symbian, that the installer (the classic installer, not the Smart Installer) doesn’t tell you exactly what went wrong. At best it gives you is one of a few generic error messages. This is a known problem when developing for Symbian, as you sometimes need to go line by line and comment out components that you suspect may cause the problem.

I absolutely believe that the majority of failed installs are disk space or network related, but since it doesn’t tell the user how will they know? It gets even worse by the Ovi store doing “silent installs” behind the store UI. This is a nice idea which is desirable when it works, but error messages must be transmitted to the UI.

If the user can’t tell why the install failed, of course they will go to the developer and complain that they spent money on a useless product.

Pekka then changes the topic to address some comments people made to my post:

As the general thinking is that Symbian is dead (actually we’ll have hundreds of guys working on it so hard to agree on the death) there may not be great deal of competition for developers. The wise guys will figure this out and have the change to make some money (would bet that the change is actually better than on the other unnamed platforms where the competition is much more tougher).

We’ll be BTW adding lots of great monetization enablers for Qt developers pretty soon, can’t tell the details here unfortunately. Also there will be improvements on the Ovi store client side that will help in the cases where currently smart installer does all the work.

Yes Symbian is not dead yet. The other day I had a Twitter discussion with a few other Symbian developers about a potential cash cow period coming for us incumbents, as few new developers are likely to start developing for Symbian, while the user base will probably grow before finally fading away. I will assume that by “monetization enablers” Pekka means in-app ads.

There have been a lot of press about an updated version of the Ovi store making the rounds, including the presently bizarrely missing update functionality, but it has yet to reach my device. Nokia needs to be faster!

As for the future of Qt (also on Nokia platforms) there definitely is one – it’s a different thing if anyone (outside Nokia) currently believes it. In Nokia we’ve chosen to take the path of not announcing new stuff until it’s actually ready (yes, we learned from our meego “crusades”). It may indicate something for you that the guys working with Qt are continuing full speed ahead. On what I can’t say now (read the previous sentence) but the road to Qt 5 (http://labs.qt.nokia.com/wp-content/uploads/2011/05/Qt5.pdf) can give you a hint.

Personally I don’t think the future of Qt matters as much as the present. Qt is the most productive environment for Symbian, and it must be capitalised right now. There are still teething problems with Qt that must be tended to, and frankly I don’t think Nokia are acting nearly fast enough. Qt 4.8 is promising bug fixes and performance improvements, and it better deliver!

The important actions I ask Nokia to take have not been addressed, or even commented upon so I’ll rephrase them here: When will the Smart Installer be fixed so that blame is not laid upon the developer? And what will the Ovi store do about all the negative grades EVERY Qt app gets because of failed installs?

I applaud Nokia for going out there to talk to developers. Looking forward to more fruitful discussions!

The perils of the Nokia Smart Installer

When Nokia ported Qt to Symbian, they realised that requiring developers to embed the entire Qt library with their app was unreasonable. And for reasons only Nokia knows, they also decided not to embed and update Qt in the phone firmware, even for new devices.

To solve these problems Nokia developed what the “Smart Installer”, which is a dependency checker and installer that runs before an app is installed to make sure the appropriate version of Qt is or gets installed. The Smart Installer is embedded in the package file the developer submit to the Ovi store. It is a requirement for any Qt based application to have the Smart Installer, which makes some sense (though it would be better if the Smart Installer lived on the phone itself).

So in theory, this is all good. Dependency checking is a good idea. Not shipping Qt with every application package is a good idea. Making it easy for app developers to deploy the Smart Installer is a good idea. The problem is that it often doesn’t work. To be fair, for me the Smart Installer has almost always worked, and I would assume the failure rate is actually pretty low. But with millions of phones out there, even a low failure rate translates to many failed installs. And it’s the app developer that gets the blame for what is poor software quality by Nokia!

Today I was browsing reviews for my app CoverUp, for which the rating has been continuously slipping for some time. What I discover is that the reviews are either 4-5 stars for the app itself, or 1 star because they paid for the app, and it refused to install. There are even people calling me out as a fraudster! I’ve created a great app that thousands of people love, and I’m getting slammed by the minority of users whose install failed (after paying for it, mind you!) because I follow Nokia’s rules and embed the Smart Installer.

Nokia needs to sort this out ASAP, firstly by providing technical support to people who are having problems with the Smart Installer in a way that I can point my angry users to because lately most of my support requests relate to Smart Installer. Secondly, they must fix the Smart Installer and update every app in the Ovi store (because as I noted above, the binary itself lives in the application package). Thirdly, they must remove all the reviews and ratings that are purely Smart Installer failures that I as an app developer cannot do anything about!

And this really can’t happen too soon. Nokia, we’re waiting for an official statement.

Gredelin for Android published

Today I published a new app for Android called Gredelin. It is a little toy that works with the NFC reader on my Nexus S.

While experimenting last week, I discovered that the NFC reader detects the presence of the London Oyster card, which we use to pay for public transport here. It also works with the Access card used in Stockholm, which apparently uses the same technology. This is pretty cool, because lots of people have one of these cards! (Of course, not many people have an Android device that can read NFC yet, but hopefully that will change.)

Now, it would be cool if we could read some interesting data from the travel card, such as how much money is on it, but sadly I don’t think this is possible because the cards are encrypted. What we can read however, is the numerical ID of the card, which is sufficient to do some neat things. Since we can tell which card is which, we can assign activities to cards!

So I created Gredelin as a bridge to connect that ID with an activity. Gredelin stores IDs for any card you show it, and lets you assign an activity to launch when you show it the same card. Presently it can launch apps and open web pages. So for example, you can set it to open the Transport for London web page when you show it the Oyster card, which is pretty neat.

So if you have a Nexus S, visit the Android market and install Gredelin!

CoverUp 2.0 finished

CoverUp version 2.0 is finished, and has been submitted to Ovi store! It will take a few days before it shows up there.

Update 13/05/11: Version 2 has been approved and published! Since Ovi store does not support upgrades, you must uninstall any previous version of CoverUp, and then download it again. You will not be charged for this.

So what is new in 2.0?

  • CoverUp now supports 5th edition devices such as the N97 and the 5800.
  • CoverUp supports the coming E6.
  • The user interface has been simplified, yet is more powerful than ever.
  • Performance has improved massively, especially for large libraries of music. For a 10 GB library, once the initial scan has been done, startup is now nearly instantaneous.
  • Covers can now be set to any picture file stored on the device.
  • Downloaded covers are now stored on the mass storage device rather on drive C.
  • A nice welcome screen with basic instructions is shown after installing CoverUp.
I hope you enjoy using CoverUp, and please send me bug reports and feature requests, for example by writing comments to this post or the support page.

Screenshots