Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Why App Stores Are a Necessary Evil

DZone's Guide to

Why App Stores Are a Necessary Evil

· Mobile Zone
Free Resource

Get gorgeous, multi-touch charts for your iOS application with just a few lines of code.

I’ve just read an article on International Digital Times that laments the impossibility of distributing a Windows Store app externally, without using the Windows Store. Setting aside the oxymoron for a moment (distributing a Windows Store app through something that is not the Windows Store :-)), this is not as bad as the author thinks it is.

In fact, I sometimes get the feeling that people are bashing Windows 8 and the Windows Store not for its merits or disadvantages, but out of a “someone moved my cheese” feeling.

The Installation Model 
The author doesn’t like the fact that you can’t get your favorite app from download.com, and have to go to the Windows Store instead. Frankly, most users will find it much more convenient to use the consistent Store interface, which requires no additional instruction. No need to download an installer file, run it, make sure you run it elevated, make sure you’re using a suitable version of the operating system, make sure you have whatever dependencies that application needs, and so on and so forth.

image 
The beauty of the WinRAR download page

The author also complains that instead of Googling the app name, going to the website, and installing it directly, users will have to open the Store application and enter their Microsoft credentials. This is simply inaccurate. First of all, you can (and should) link Windows and the Windows Store to your Microsoft account. You won’t have to enter your Microsoft credentials again. Moreover, the author is overlooking the way users are going to look for apps. They will not Google the app and then go to its website. They will look up the app in the Store interface, which makes it dead easy to find, review, buy, and install any app you want.

Another objection could be that users aren’t used to installing apps through the Store, and will feel more comfortable with Google as the search interface. This may be true of users who have been living under a rock for the past 5 years, but not for anyone with an iPhone, Android phone, or Windows Phone. I’d say most users would be surprised that they have to go to a website to obtain an app instead of the consistent, trusted interface of an application store.

Monetization Opportunities 
Users don’t have to know about it, but app developers have a much better monetization story with the Windows Store than with other distribution mechanisms. You have a built-in trial licensing mode which can expire automatically or limit the app’s functionality until it is purchased. You can embed ads in your apps from a number of provides. You can provide in-app purchases of game levels, periodic magazine subscriptions, and many other kinds of virtual goods. And of course, Microsoft takes care of the payment processing, in exchange for the 30% or 20% fee.

Compare this to commercial desktop software. Developers need to worry about trial licensing, application piracy, payment processing, subscriptions, additional purchases – and none of this is covered by any standard framework.

The Update Model 
Consider Chrome, Firefox, Adobe Reader, iTunes – large applications that needs some means of automatic updating. The method of choice for these applications is to ship with a special service that runs in the background, checks for updates, and perhaps even installs them automatically. I can tell you with complete honesty that I’ve seen the Adobe Reader and iTunes auto-updaters more frequently than the respective applications. This is not an advantage of out-of-store distribution. This is a huge disadvantage that bloats the users’ PCs with a bunch of background services, which often run with elevated security privileges, consume battery power unnecessarily and expose the system to additional risks.

While we’re at it, the author seems to think that pushing an update to the application’s website is somehow better than pushing the update through the Windows Store. One thing is certain: passing the certification process for the update in the Store will take more time than pushing an exe file to your website. However, getting the update to your application’s users is definitely going to take much longer if you just push the exe to your website. You can’t seriously expect users to periodically check for updates. And if you pop a huge message in their face saying that the app needs updating and they have to go to the website, how is this any better than using the Store’s automatic update mechanism?

In Conclusion 
If you feel so bad about your cheese being moved, go ahead an install desktop applications on your Windows 8 machine. I know I did. I spend most of my time on the desktop, with a choice of desktop apps like Visual Studio, Outlook, Word, Chrome, Internet Explorer, Windows Live Writer, Evernote, OneNote, and many others. In fact, I don’t even particularly like the built-in Windows 8 apps right now – the Mail app is crippled, the People app is slow, the Messaging app has limited support for my favorite chat services. But for me, that’s part of the value Windows 8 brings to the table. It is still a desktop operating system, with another face. A face that might – just might – become the bread and butter of Windows developers for years to come.

I am posting short updates and links on Twitter as well as on this blog. You can follow me: @goldshtn

.Net developers: use Highcharts, the industry's leading interactive charting library, without writing a single line of JavaScript.

Topics:

Published at DZone with permission of Sasha Goldshtein, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}