ailon's DevBlog: Development related stuff in my life

Windows Phone App Promotion and Monetization Talk Video

12/29/2011 6:04:58 PM

Here’s a video of my talk on WP7 app promotion and monetization I did a couple of weeks ago at Lotus 8 conference in Riga. Hope you find it useful in marketing your apps.

The talk starts at about 1h 54 min. mark. Unfortunately I don’t know how to embed a video with starting position, so you may need to seek forward or just watch it directly on YouTube.


Slides from My Presentation on “Marketing and Monetization of Windows Phone Apps”

10/10/2011 3:43:06 PM

Presentation slides without a narrative always seem funny/strange to me, but many ask to see them, so here goes. Last week I gave a talk on Windows Phone app marketing and monetization at Microsoft Partner Conference in Lithuania and Latvia. Here are the slides:

I’d be honored to talk on this subject at your conference, user group or other event. Email me and lets talk!

Tags: ,

Unimportant state in Windows Phone 7.0 apps can bite you on Mango

9/1/2011 5:40:40 PM

We’ve learned to preserve important state on tombstoning in 7.0 Windows Phone apps. But what about state we don’t care to preserve?

Most of the time we don’t care about the state of some variable so we don’t store it on deactivation and don’t restore it on activation. The smartest of us have probably thought about these members too, but I’m not one of them. Some of my code assumed that these fields are reset to their default/initial values, even though I’ve never thought about it explicitly.

Turns out when you recompile your app for Mango this state is actually preserved since your app’s process isn’t killed. When user returns to your app this “unimportant” object still has the same state as it was when the user left, but you may have programmed your app in a way that it assumes the state to be reset.

I was thinking about a good example to illustrate this, since my real situation was too cumbersome and specialized for a general purpose blog post. Suppose you have an app that does some processing. During the processing it shows a busy indicator or a progress bar and when it’s done it fires an EmailComposeTask with Body set to the results of your processing. In 7.0 if a user later returns to your app the process would be restarted and you would restore the important state. Is Visibility of the progress bar an important state you’d like to preserve? Probably not. But you probably expect it to be hidden, since it’s a default and the process is restarted. But are you sure you’ve collapsed it before firing the EmailComposeTask launcher? Chances are you haven’t, because you assumed it’s not an important thing to do, when user leaves your app anyway.

Not the most elegant example, I know. But you probably get the idea. It’s less critical to preserve the state of important objects in Mango, but you need to check your implicit assumptions about unimportant state being reset on return to the app.


How I Know Windows Phone Will Be a Success

7/26/2011 5:55:33 PM


My wife is not technical. At all. She doesn’t care about mobile operating systems, ecosystems and stuff like that. She has no idea how many apps are there in Apple’s AppStore, Android Market or Windows Phone Marketplace.

A year ago she got a bug that she needs to get an iPhone. But iPhones over here are either ridiculously expensive without a contract, or come on ridiculously expensive (in local prices) contracts and only on a different network than the one our family uses. So we declared iPhone a no go. What she cared about anyway was the looks and the “status”.

Later on Samsung released Galaxy S which looked kinda like an iPhone, was substantially cheaper (at least for us) and in many aspects looked better on paper. So that’s what she got.

It’s a nice phone (if you don’t mind the slippery back). So for the next half a year she used it like an expensive dumbphone + Angry Birds. Then her employer closed access to Skype at work. So I almost forced her to install Skype on the phone – “It’s painful to look how you underuse such a powerful smartphone”. Turns out at the time Skype for Android didn’t work on specifically Samsung Galaxy S. So much for a flagship Android phone. Then the problem was solved.

Around that time I got my first Windows Phone. Wife looked at it and said something like “woah, it’s alive! let’s switch!”. I told her that there’s no Skype on it and it’s not coming in the nearest future. That future is almost here.

For the next half a year whenever she picked my phone from the table she was always impressed with the Metro UI and wanted to swap phones with me.

At the same time she always repeated that she wants an iPhone. Even though she has never used one.

Few months ago she got into all that Facebook craziness. She is also a pretty good photographer (but too lazy to do something about it). So she started double-shooting photos. Once with DSLR and once with her phone for immediate upload to Facebook.

Then she heard about an iPhone app called Hipstamatic. It’s a photo effects app for iPhone with a pretty ridiculous (in my humble opinion) fake analog UI. So we looked for Android equivalent. One of the most popular Android photo effects apps is FxCamera. It’s featureset and effect quality seems to be a pale copy of both Hipstamatic and Pictures Lab on Windows Phone. But it’s free and kind of does the trick.

But whenever she picked up my phone she was always delighted. Yet she repeated that she wants an iPhone.

The more she used the phone the slower it became. It’s pretty painful to watch how she taps and taps on these buttons and the screen to go in and out from Facebook to FxCamera and back again. And this seemingly powerful phone is in no hurry to react. It’s also extremely annoying when I have to wait while she takes a picture and waits a long time for the app to process it.

“I want an iPhone!”

The other day we were having a dinner right next to Apple’s partner store (there are no real Apple Stores in Lithuania). So she says “Lets go check out the iPhone”. I oblige. She’s playing with the iPhone 4:

“Uh, oh… this screen is small” (3.5” on iPhone vs. 4.0” on Galaxy S)

“Hmm… looks kinda the same as mine”

“Hmm… Hmm .. I want a Windows Phone, but with Hipstamatic!”

And then I showed her Pictures Lab…


Windows Phone App Publishing through Yalla Apps

5/29/2011 11:36:05 AM


At MIX11 Microsoft announced a list of so called “Global Publishing Partners”. I’ve blogged about that about a month ago.

The one partner that is “focusing” on Central and Eastern Europe is called APPA Market. But since their pricing is way higher than that of Yalla Apps and there’s no real meaning (at least that is of value to me) behind that “focus” thing, I decided to go with Yalla. After all that’s my money and there’s no evidence that APPA Market would provide me with better service than Yalla Apps.

Layman’s business analysis off-topic.

I understand that all these companies want to make money with this program. I’ve also confirmed from numerous credible sources that Microsoft doesn’t provide them with any APIs to automate the process. So submitting your app to the marketplace and providing you with stats, etc. is basically a manual labor for them. And with that knowledge I totally understand the desire to charge for each action that requires an actual person to do some work for you.

That said let’s take a look at current fee structure for APPA Market:

  • Registration - £65 (credited to your account balance)
  • Application submission - £30
  • Application update - £6

Now based on the stats at WP7applist there’s an average of about 3 published apps per developer. I believe this number is highly skewed up by quite a few developers with tens or even hundreds of apps in the marketplace. So the real average developer would have 1-2 apps in the marketplace.

With the above fee structure, if developer has only one app, he will still have £35 on the balance after the app is submitted. This means that he’ll be able to submit 5 updates without paying anything above the initial registration payment and won’t bring any additional revenue to appamundi. But he got turned off by the pricing structure in the first place and never joined. So they didn’t even get the initial £65.

A case could be made that this sort of customer is not very desired in the first place. To that I would say (even if you discard the “every customer matters” mantra) that developers with extremely serious plans for app development wouldn’t go through a proxy anyway and would find a way to submit apps directly. Establishing a business in one of the supported countries is not rocket science after all.

My point is that these “hobbyist” developers are the core target audience for the GPP and they won’t pay much above the initial payment anyway. So why not try and attract more of them by having a reasonably attractive fee structure?

This is what Yalla Apps eventually realized and why I went with them.

Back to Yalla Apps

So the registration with Yalla Apps is straightforward and looks very much alike the App Hub process (if not better). You pay your initial $99 registration fee via PayPal and your account is active immediately. Choose your “Nickname” wisely during the registration cause this is what will be used in marketplace description for your app as developer’s name and it can’t be changed later. Keep in mind that Yalla Apps (and not you) will be listed as the publisher of your app.


I didn’t try to unlock my phone through them since it’s already unlocked. So no feedback on the process. The important part is that it can be done and is performed via Remote Desktop.

The app submission process is straightforward and worked perfectly. Remember to have all of your deliverables ready (xap, tiles, screenshots, descriptions, etc.). You just go through a wizard-like process and you are done.


Having seen numerous cases when developers selected apps to be published automatically just to find a critical bug just a few hours later, I didn’t choose the auto-publishing option. So it’s hard to tell how long it would’ve taken to publish the app that way.

It took 3-4 days for my app to pass the certification according to the status on Yalla Apps site. As I mentioned there’s no API for them so I don’t know how long has passed until the app was actually submitted to Microsoft and from it actually passing certification to the status on the site being updated.

Once it was ready for publication I initiated the process and it was live in the marketplace the next day. The funny thing is that the status in Yalla Apps dashboard changed to “published” only 4-5 days after it was actually available for download. Again – manual process.


There’s a stats portion in the dashboard but the stats didn’t show up there until now (~2 weeks). But I’ve received a weekly stats update via email with Excel file and download graph attached. And since the official stats lag 3(?) days behind anyway, this is enough for me to get the big picture.

My app is free so I don’t know how payments would work. They support payouts through PayPal or Moneybookers. Both options are totally useable for us here in Lithuania. Check the services to find out if they can be used to withdraw money to your country.


If you are building a serious business around Windows Phone app development, I’d say you owe it to your business to find a way to publish apps directly. For the rest of us doing app development on the side or as a hobby these Global Publishing Partners is a working and usable solution for the time being.


Interview with Windows Phone Dev Podcast

5/16/2011 2:48:20 PM

imageIn addition to the juicy Mango details the new episode of Windows Phone Dev Podcast contains an interview with me.

We’ve talked mostly about AdDuplex among a few other things.

I’d like to thank Ryan and Travis for having me on the show and for all the great and hard work they do for the Windows Phone development community.

If you are into Windows Phone as a developer or even just an enthusiast this podcast is a must. The production quality is top notch too. Especially for such a young podcast. Puts some much more mature podcasts to shame.

Tags: ,

ToMetric – UX oriented unit converter for Windows Phone

5/13/2011 2:43:47 PM


I’ve released a new little app for Windows Phone. What it does is converts various values in US units into metric values understood by the rest of the world (well, almost).

Why another unit converter?

There are lots of unit converters in the marketplace already. Most of them convert from/to more unit types than my app does. The problem with all of  them is in the user experience. Here are some of the screenshots taken at random from the list linked above.


Most of them (all?) have slightly different UIs but follow the same flow: select type/category of units (length, weight, etc.), select “from” units in that category, select “to” units in that category, enter value … profit. Some go a little bit further and don’t ask you for the “to” units but convert the value to all possible units in that category.

Really? Do you really care that 5 oz. is 1.417×10^(-4) t.? Or do you like navigating through menus, making 7 taps just to find out how many is that in grams (the most logical metric equivalent for that value)? And if you are, say, European, how often do you want to convert something from metric units as opposed to to metric?

Honestly looking the results up on Wolfram Alpha would take less time than using an app like that. And I thought the selling point of native apps was user experience.

So that, combined with the fact that I had the core functionality already developed for this web app/IE accelerator (yes, talk about power of Silverlight on the phone and .NET code reuse), led to the creation of this simple app that let’s you do the trick up to 10 times faster than most of the advanced unit converters in the market.

And when it can’t help you it let’s you quickly look up the answer on the internet.

And yes, it’s one way only. And it’s on purpose. Another app for my American friends is coming.

Check out this video comparing how most of the conventional unit converters work with ToMetric

Like this? Download ToMetric for Windows Phone. It’s free.

Tags: ,

Typing on a Touchscreen Smartphone

5/6/2011 5:22:19 PM

Several people commented on my typing “style” at MIX11. I type like this:

Picture 2

Yes, with my index fingers.

When I got my Windows Phone, which was my first capacitive touchscreen device, I tried different typing techniques and came to a conclusion that typing with index fingers in landscape mode was the most comfortable and accurate.

A few days ago this theme came up again and I decided to run a poll on how people type. I’ve limited the question to WP7 (for no apparent reason) but I think it applies to all platforms. Turns out I’m almost alone doing it this way:


You can still vote in this poll at the time of this writing.

The reaction on twitter was even more interesting:


And that’s just a part of confused feedback. So I’ve shown them the picture at the top of this post and some even changed their opinion (or at least pretended). I guess some even voted for index fingers in the poll as a pity vote, so I don’t feel like a complete freak.

Anyway this got me thinking why would people even think about typing with their thumbs? They are the fattest and probably the most inaccurate fingers. Second only to pinkies, I guess.

Force of habit

In my opinion there’s no ergonomical reason to type with thumbs in landscape on a standard size touchscreen smartphone with no hardware keyboard. And all the people typing with thumbs on such phones do it simply driven by the force of habit. And the habit was probably developed one of these ways:

  1. Typing on a Blackberry-like keyboard or on-screen keyboard in portrait with 2 hands. When typing this way you have to maintain phone’s balance since the keyboard is relatively far from it’s center of gravity and the grip when typing with thumbs is the most comfortable way to do this. It’s definitely not very comfy to hold the phone in portrait the way I do on the picture above.
  2. Typing on a horizontal slider like Nokia Communicators, HTC 7 Pro, LG Optimus 7Q, Sidekick, etc. Same as above. “My” grip is hardly applicable here for the same reasons.
  3. Gaming. Most gaming controllers make extensive use of thumbs, so gamers have them highly developed.

Since I never extensively did any of the above and Windows Phone (and apps on it) supports landscape typing in all scenarios where more than trivial typing is required, I naturally came up with the most comfortable approach for this.

There you have it. A scientific explanation ;)

Tags: ,

Building Reference for XNA Library with Sandcastle Help File Builder

5/6/2011 11:25:50 AM

I was just building help files/references for AdDuplex Windows Phone Silverlight control and XNA library using the awesome Sandcastle Help File Builder. Silverlight portion went pretty smoothly. Just had to add references to a couple of phone specific assemblies. But with XNA I immediately got this error when trying to compile:

Error BE0067: Unable to obtain assembly name from project file '[projectFile]' using Configuration 'Release', Platform 'Any CPU'

Problem is that in XNA project the Platform is not “Any CPU” but “Windows Phone” (in my case). OK, but there’s no such option in SHFB list:


And there’s no way to expand that list with your own values.

Fortunately you can specify Configuration and Platform as properties for each documentation source separately in a free form text:


Problem solved. Hopefully this helps someone.

Tags: , ,

Troubles with OneNote image scaling on Windows Phone

5/4/2011 11:03:58 AM

During my trip to USA I’ve been burned by one issue with OneNote on Windows Phone which I think wasn’t the case before the NoDo update. I’m not 100% sure that it was OK back then and I don’t have a spare pre-NoDo phone and don’t want to rollback my primary phone just to verify this.

Anyway it’s not OK how it is now and I think it’s a bug that needs to be addressed.

The problem

Quite often I “print” some document or web page to OneNote. It is stored there as an image. I did so before the trip and “printed” various hotel, flight, car reservations, visa waiver info and other stuff this way. It looked perfectly fine on the PC. Here’s a sample:


Yes, the ASP.NET stuff going through is funny, but is not the point. The point is that the text is perfectly crisp.

So, the notebook is synced to my Windows Phone and everything looks fine. But when I open the note on the phone and zoom-in on the printout it looks like this


Not very usable. And as I mentioned above I don’t think this was the case few months ago.

I thought this could be some “optimization” to save network traffic, but I tried emailing the note from the phone to myself and opening it on the PC. Looks perfectly crisp. So this must be some scaling quality issue in OneNote on the phone itself.

Can you try it on your pre-NoDo (or even post-NoDo) phone?

I’m pretty sure I have successfully used OneNote in such scenario before. Unless I’m hallucinating. So I’d be grateful if you could verify that it was (or wasn’t) OK on your pre-NoDo phone. Or maybe it’s just me and/or my phone (Optimus 7) and it’s OK for others on post-NoDo phones too?

So to reproduce this “print” any document or web page with text to your OneNote notebook that is synced with your WP7, sync and open the note on the phone. Try zooming in on the image. How’s the quality?

Thank you!

Update: thanks to guys on twitter and WPCentral I’ve confirmed this has nothing to do with NoDo and has been an issue since day one. I’ve probably used it before in a slightly different scenario and didn’t notice the issue. Still it is something that is in desperate need of fixing and it’s kind of sad it wasn’t fixed in NoDo.


Copyright © 2003 - 2018 Alan Mendelevich
Powered by BlogEngine.NET