Posted on 03-27-13 10:46 am
Bam. Yesterday, I launched LockWidgets 8, a simple lock screen application for Windows Phone 8. I encountered a lot of surprises in the last 24 hours, and as such, I'd like to debrief on them real quick. Hopefully some of this advice will be useful for other developers.
Within an hour or two of it being live, WPCentral covered the app. This was a huge surprise to me, as I never really attempted for the app to gain publicity. Huge thanks to the guys there for this, though. Not only did this give the app a good bump, but it allowed me to see what editors and users thought of it, and I found several bugs this way.
Within the first few hours, several unpredictable issues appeared. Fortunately, this application is linked to my server-side backend, which allowed me to evaluate and fix several bugs within minutes, not days. Here's the rundown:
- Images being served from the Bing server were bad quality. I found a better source for them and switched it on the backend, flushed the cache, and voila; instantly fixed for all users.
- I left a "trial version" watermark in the code by accident. WPCentral noticed that one before I did. Again, fixed on the backend.
- NASA images were not scaling correctly. I added a ratio computation to the rendering function, and again, the fix is live.
- I trusted the device region settings to determine whether to use Fahrenheit or Celsius. Unfortunately, many people set their device to en-US to bypass some restrictions, and as such, this was not a safe way of determining the standard unit. I made a fix in the app that allows Celsius override and it's been submitted to the Store for approval. It'll take a few days, but it's done.
Lastly, a bizarre bug occurred where several people saw -273 as the temperature. Chemistry tells us this is absolute zero, so I certainly hope none of my users were living in such conditions. After some sarcasm and playful apologies to users, I added some code to the server to evaluate the problem.
As it turns out, when I requested the C# application to report latitude and longitude coordinates in a string, I expected all to be formatted with a decimal, such as "52.2024". I'm aware this is an American standard, but I didn't expect C# to be smart enough to change the ToString evaluation based on the device region. I was wrong. Long story short, the server was parsing many locations incorrectly. I found a way to correct it server-side, but unfortunately, this was fixed only this morning, and several, several users experienced it, according to my logs.
This is a lesson to be learned. First impressions count. Despite the fact the fix is live as of now, a good percentage of users have probably given up on the app at this point. It's unfortunate, but it's my fault for not testing more thoroughly.
That aside, I'm working on fixing other issues reported and implementing features requested. I'm very heartened by the nice words and enormous amounts of feedback about this app. You guys keep me motivated, and for that, thank you ;) If you have any suggestions, issues, etc., as always, feel free to drop me a comment or contact me directly.