Hacker News new | past | comments | ask | show | jobs | submit login
Mac App Store: The Subtle Exodus (helftone.com)
335 points by milen on Oct 14, 2014 | hide | past | favorite | 245 comments

As much as I support Apple and have been since 1979, including being an early Mac developer in 1985 and even working there in the horrible mid-90's, the major problem is that Tim and Jony don't care (and Steve didn't either for that matter) about developers enough to do anything more than what works for Apple. Whether the people in charge have no budget or don't care or are hamstrung by politics, nothing will change until and if the top people start to care. Apple makes so much money even with all the crap we have to put up with as developers they clearly have no reason to change and sadly I don't expect them to. You don't tell the world's most valuable company how to run their business. It didn't work for people telling Microsoft in the 90's or Apple today.

Sorry for the brutal truth but it is what it is.

Its just as bad if not worse from a customer perspective. The Mac App Store is basically the antithesis of what Apple is theoretically about ("the details") while at the same time highlighting everything Apple is bad at (ahem hem >services<). Some simple examples:

1. I go to buy an app, oh, I already own it. I know since it says "Installed". So helpful, now I can go search for it again on my computer. Compare this to the iPhone where it isn't completely idiotic and instead of "installed" says "open" which you can click on.

2. Type "Diasy Disk" into the Mac App Store search. You'll get 5 results that AREN'T "Daisy Disk". That's because Apple couldn't search their way out of a paper bag.

3. Let me send a link to this app to my friend. Of course its buried in an unlabeled drop down since sharing content is a decade ahead of any thinking going on at Apple. Let's not try to get any network affects for these apps, that would be silly.

4. The top 10 is full of apps I already own. Super useful. Really makes me want to open this thing up periodically if I'm feeling spendy. Heaven forbid the tailor that page to at the very least show the top 10 apps I don't own. But we live in a world where selling me toilet paper online is more sophisticated than applications.

4.1. My favorite is that #2 on top free is OS X Mavericks. How about just putting up a banner telling me reasons to upgrade to Mavericks instead of eternally taking up a slot in the top 10 free essentially making it a top 9? Especially when most your customer base is already on Mavericks and thus making that slot the most useless slot ever.

5. Hey what was that app I was looking at yesterday? Welp, since we chose to make it a super-fast amazing native experience, I don't get simple features like browsing history that I'd get from this being in a browser. But hey, at least all these 3d graphics in the Mac App Store are crazy performant right? Now if only I could view two apps at once, you know, like maybe two competitors I'd like to compare, in tabs...

It's funny because they ended up having to mirror the content on the web anyways, so the Mac App Store is now the worse of the two options you get (the other being google -> mac app store pages)

At least (1) has been finally fixed as of late. An "Open" button at last.

I see MAS as a good entry point for novice Mac users. But Apple could do a better job at curation here. Unlike on iOS, MAS apps have a bigger responsibility with user data, since even with sandboxing you can lose files or have your data sent across the wire. Check out the reviews for countless "disk cleaner"-type apps.

Seeing apps like [1] repeatedly in top 10 makes me lose faith in the review process. Macs don't need users to manually manage "free" memory. By "freeing" memory you're purging the cache and forcing the system to reload things. Hey, at least it's free.

Another: seemingly dozens of poor clones of built-in apps like Preview, complete with one-star reviews. For example, [2] by a developer who published 60+ (!) apps of similar quality. Or, [3], same situation but with a $6.99 in-app-purchase.

[1] https://itunes.apple.com/us/app/memory-clean/id451444120?mt=...

[2] https://itunes.apple.com/us/app/jpg-to-pdf-converter-lite/id...

[3] https://itunes.apple.com/us/app/jpg-to-pdf-lite/id862295940?...

The lack of tabs drives me crazy. A few other letdowns on the user side:

6. No wishlist and no way to gift apps to friends (textbook example of leaving money on the table).

7. No way to rollback to old versions (particularly relevant when crashing bugs are introduced).

8. No way to transition from a non-MAS customer to an MAS customer. If I have equity in an existing program I purchased, possibly at great expense, I have no way to get the features of the App Store (updates, iCloud, etc) without paying again. And the developer can't do anything about this, even if they want to.

6 exists for the iOS App Store. It's a shame it doesn't (yet?) for the Mac App Store.

7 is meant to be handled by the developer or possibly by Apple, not by the consumer. If you have to manage versions manually, Apple has failed you.

8 can be accomplished by publishing the app as one of those "free + unlock" apps, but allowing the user to enter their predated proof-of-purchase to trigger the same effects purchasing the IAP unlock would. Apple disallows selling "things that are also IAPs" outside of the store—but as long as you stop selling the app through the non-MAS mechanism when you start selling it through the MAS, you're not violating the rules, because you're only validating previously-existing codes in the app, not issuing new ones. (So there's no way to purchase anything now equivalent to an IAP from you.)

  7 is meant to be handled by the developer or possibly by Apple, not by the consumer. If you have to manage versions manually, Apple has failed you.
So I get to wait two weeks for Apple to approve the developer's bugfix instead of letting me roll back now to the version that worked last week. Yay!

The problem with 7 is it puts the developer in control, not the user. What if the developer releases a new version with a drastically reduced feature set (ahem..iMovie). I should be able to choose which version I want to run.

iMovie is an exception that proves Apple's usual rule: in most of Apple's own apps (Quicktime, Aperture, Xcode, OSX itself) each major version is its own separate app.

This fixes both the "paid upgrades" and "choosing what version you want to run" requirements, very simply, as long as you do it correctly.

Most importantly, you'll need to make MyApp N+1 discoverable from MyApp N (likely by an update with text such as "click to see MyApp N+1 on the app store.") For example, look at how "Transmit 3" (one app) talks about "Transmit 4" (a separate app).

You'll also probably want to sync IAPs to some more canonical source of truth than Apple's own servers, such that your app can ask "has the user purchased IAP X in [any of our apps that provide IAP X]" rather than "has the user purchased IAP X in this particular app." Then IAPs purchased in MyApp N apply to MyApp N+1, and vice-versa.

Aside from all the little quirks of MyApp N+1 (multiple versions of the same app installed, new users accidentally buying old versions), there is one major flaw in this practice: upgrade pricing. I'm usually happy to pay $20-40 for a solid upgrade on a $100 productivity app; if I had to pay $100 all over again, I probably wouldn't bother.

If you charged $20 for both MyApp N and MyApp N+1, and made up the $80 difference in version-portable IAPs, then you'd get the pricing model you're suggesting.

A good candidate for this would be something like Photoshop, where $20 would get you the "engine" of Photoshop N, and then you pay $5 each for various brushes and filters. When you upgrade to Photoshop N+1, you're upgrading to a new engine—but keeping your brushes and filters.

Games could also work like this, though in that industry, the more common strategy is the "expansion"—effectively, keeping an entirely new version of the app logic/assets commingled with the old version but disabled using feature flags, and then unlocking it through an upgrade-priced IAP. (Now there's a thought. Could you ship two entirely separate binaries within one application bundle, and put a switch in your app's prefpane to toggle between execv()ing N or N+1?)

As an independent Android developer, I have the same feelings towards Google Play.

There have been many things about Play that devs have repeatedly brought up, but Google does not take action. For example, iOS has "Promo Codes" but not Play.

Another is not being able to migrate a paid app to IAP (In App Purchase) without pissing everyone off (the linkage is lost between what the customer already paid for and the new IAPs).

Not to mention the algorithmic jail you wind up in if you ever inadvertently get caught tripping some automated alarm in the googleplex.

I wish there was some strong alternative by now, whether Ubuntu Touch or Windows Phone. We need more options.

Re: promo codes

They are unnecessary on Android. If you want to give your app to someone, you send them an email with a link to an APK and they install it directly.

Then they do not receive updates (unless I send everyone on the distribution list a new APK via email).

APKs receive updates from the Google Play Store - at least free apps do in this respect

Well you wouldn't need a promo code for a free app, so that doesn't really solve the problem. Also, you can give out promo codes over the internet, but I wouldn't just install any .apk someone sent me.

It's hardly the same thing.

And have to have every update sent to them by email as well.

Just have the app detect that there's a new version available (via a call to your server) and prompt the user to download the new apk.

I run betas of the BeyondPod app, and it does exactly this perfectly well.

The problem with the App Store isn't that Apple is making too much money from developers (they're not making more money than anyone else who retails products for you). The problem is that the App Store doesn't support stuff developers need, like upgrades, migration from previous licensing schemes, free trials (vs. in-app purchases of functionality). This was very much a Steve-ism (let's keep things simple for customers) but they need to treat developers as customers too.

I guess I never understood why a 'free trial' was not 'simple' but 'in-app purchases' is 'simple'. Many of the apps I look at get bad reviews because the app only provides a trial aspect anyway - 'full' functionality is unlocked as 'in app purchase'. And people down vote for that (feeling they're being misled).

The key moment was when they allowed in-app purchases for free apps in October 2009, after introducing IAP in March 2009. If they had held that line, the app store would be a much different place.

I wonder if a simple fix would be to add a button next to the existing "free"-labeled download button. The new button is labeled with a price and would purchase the in-app "pro features" in addition to starting the download.

They already have something like this. They list the top 5 in-app purchases for an app right on its page. For example, for “Mini Motor Racing” (never played it, but it’s highlighted today), it shows that you can buy “30,000 career cash” for $0.99, or “Unlock all purchasable cars” for $2.99. Sounds like problem solved to me!

Right, the money isn't a problem, it's just something of a cause -- because they're doing so well at the moment, they don't have incentives to change and it's very easy to take the money they are making as a signal that they're doing things right.

Then add that to a pretty magisterial culture...

I like the idea of making it easy on customers. I'd rather go through additional pain as a business/developer and make more money (better product) than have an ecosystem that is unfriendly for paying customer but nice for geeks like me. What I love as a consumer in my iPhone (compared to Android, etc.) is no upgrades -- annoying like hell. No messages about license changes (thanks God!).

Why you guys insist on making sure that your software is annoying to people who use it?! I don't get it. Where is Steve?!

Is it easier for customers to go to a website to download a demo version? This is happening now with MAS.

Or to use in-app purchases to unlock features? (I can get apps with subscriptions ffs, but not get upgrade pricing or free demos with a single activation fee that is diffrentiated from in-app purchases.)

Is it easier for customers to pay full price for a new version instead of getting upgrade pricing? Similarly is it better to force long-term customers to pay full price if you migrate to the app store?

Is it easier for customers to have to install betas from the developer in order to deploy a hot-fix that's stuck in the approval pipeline?

Now, I realize that in a perfect world developers would maintain their software for existing customers and sell new features as in-app purchases, but this is the real world, and sometimes you want to do major changes and not worry about how to shoehorn it into the MAS policy. And, of course, Apple doesn't have to eat its own dogfood here.

Everything you mention is either A: still part of the MAS or B: needed by both developers and consumers.

> What I love as a consumer in my iPhone (compared to Android, etc.) is no upgrades -- annoying like hell. WTF? iPhone and Android have almost exactly the same upgrade policy. Both automatically update apps, and have done for ages. The only app store in the discussion that does ask you about updates by default is the MAS.

> No messages about license changes Nobody mentioned this. Someone did mention "migration from previous licensing schemes", but that's about not making people pay twice for the same app, not bugging people about license changes. Besides, you do get something similar on iOS - it bugs you, as it should, whenever an app wants new permissions.

The MAS may be simpler for consumers than what we want, but it's not easier. It's a huge PITA for everyone who has to use it in any way outside of the single most obvious manner. These aren't even edge cases, these are just cases outside of the default.

The whole point is that nothing will change, as far as the consumer experience is concerned. You won't get bothered about upgrades or anything like this. All that would happen is you might see an "Upgrade" button in your list of apps you purchased. That's it.

Note that while the notion of paying once and getting infinite updates forever is quite nice, it's not rooted in reality. Either the app you're using will get abandoned or you will have to pay up at some point in the future, somehow - ads, IAP, etc.

Or the developer makes a sequel app, and you have to pay again to get the new one.

I like that concept. I paid to go from MS DOS 3.5 to MS DOS 5.0. Have no problem doing the same with your app bro!

Completely true.

Kind of makes me want to look more seriously into making apps for Microsoft platforms.

That said, Mac owners are generally far more likely to go out and look for new apps to buy. Whereas Windows users will find an app that does the job, and keep using that app forever (and recommend it to friends/family).

So even though there are way more Windows users, it seems more likely to make a living as an indie Mac dev than an indie Windows dev.

> making apps for Microsoft platforms.

They're both not great, so you would just be trading one set of problems for another. You might want to look at building web applications, which also has problems. There is no perfect platform. You just have to figure out which set of problems hurts your business the least.

Disagree. Been building "apps" since when they were called programs for windows, Unix and Mac. Windows is the great constant, has the greatest overall power and flexibility. Unix is a mess of portability and build problems, mac has incredibly high framework churn and low longevity but as I've said already, stuff I wrote for NT4 in 1996 works today absolutely fine and I reckon it will in another 20 years.

Not only that, the market for well paying customers is huge if you ignore the volatile and unprofitable "store" model and sell bespoke and specialised stuff.

Don't solve popular problems, solve well paying ones :)

As for the web it's getting there but a lot of bigger clients won't touch it yet.

I'm primarily a Mac developer. From my outside perspective, the Windows framework churn looks enormous. The "best way" to write a Windows app went from Win32/MFC, to WinForms, to Silverlight and WPF, to WinRT, and still seems to be evolving. The preferred language has gone from C++ to C# to C++/C#/JavaScript(?), and now MS is pushing a UI framework that seems terribly ill-suited to what traditional desktop apps have done.

On the Mac side, the story has been constant since OS X first shipped: the best way to write a Mac app is to use the Cocoa frameworks, with Objective-C. There was some churn around garbage collection, and now Swift, but overall the developer story has been much more stable than with Windows.

Err we still use win32 and MFC. Plus some winforms which is a wrapper around win32 via the CLR. Not much has changed. Hell even WinRT is just a win32 wrapper. Office is a ball of win32 and MFC too.

Absolutely no one is touching WinRT or WPF apart from a few trading dashboard outfits and for win phone which is fine. It'll hang around but will still sit on top of the win32 subsystem.

Bear in mind there is very little difference between windows 1.0 code (1985) windows 8.1 code now. There's some 16 bit scum on the API but that's it.

Mac... You forgot carbon...

I don't think Carbon was ever a recommended way to build OS X apps. It was basically a compatibility layer for vendors who couldn't easily rebuild their apps on Cocoa.

> Bear in mind there is very little difference between windows 1.0 code (1985) windows 8.1 code now. There's some 16 bit scum on the API but that's it.

That's like saying there's no difference between Mac OS from 1984 and Mac OS X. You're ignoring the shift from DOS-based Windows to the NT (New Technology) version which is more like VAX VMS (and had the same lead author). There were also some major changes with the introduction of .Net and the CLR.

Actually no.

You can take a program from the "MSDOS Encyclopaedia" which contains a windows 2.0 programming section, type it out in notepad on a windows 8.1 box, compile it and it will run now like it did in 1988. I tried it. It works.

That's what I'm talking about.

The kernel and CLR are irrelevant. Proof: the same program works on Wine on Linux after it is compiled.

And a bran new Intel Core-M chip will execute an antique x86 instruction. So obviously that proves nothing has changed ;-)

I too occasionally use MFC but my word do I hate it.

I'm doing iOS now, but for Win I would choose Delphi if the price was not absurdly high. WinForms, WPF, Silverlight does not produce a self sufficent app. Qt is a great choice for Win, but about $4k per developer/year (for self sufficent app).

Actually I would suggest the LGPL Qt if you can use that license. And it should be about 1500 EUR per year nowadays.

Ever tried Lazarus and Free Pascal? That might be a cheaper route for your Delphi/Windows paradise, no?

Cannot use Lazarus for DevExpress does not support it. Their amazing UI components and native nature of Delphi lets you build visually attractive and very fast and robust applications.

Don't forget VB6!

That's not a fair comparison at all. You listed pre-year-2000 tech for Microsoft, but not for Apple.

A fair comparison would include Apple's complete 180 from Mac OS 9 to OS X.

Furthermore, Microsoft has never once said that any of those are the "best way" to write a Windows app. They may give you more choices than Apple would ever give you, but they don't say "this is the best way" to write a Windows app.

Win32 is the core API of Windows and that fact hasn't changed since Windows 95. Winforms is simply a .NET wrapper around that API. You can even run pre-Windows 95 apps on Modern windows without an extremely heavy-handed emulation layer like Carbon.

I agree with your point about the time scale, but OS 9 and OS X are entirely different OSes with basically nothing in common but the name "Mac OS". It's more like releasing an entirely new OS, not shifting an OS by 180 degrees. Maybe the difference between DOS and NT is a similar comparison.

At any rate, if having a program run unchanged for the longest period of time is our gold standard, then I think MS wins. They have harmed their platform significantly by their total dedication to backward compatibility. By comparison, Apple has emphasized the quality of the platform at the expense of convenience to developers. I think Apple made the better choice for consumers (and even for developers in the long run), but it's certainly arguable.

I'd agree with millstone Every few years MS pushes a new UI framework (MFC, WTL, WinForms,WPF, WinRT, SilverLight) and abandons it after a few years. Other than Win32 which is not easy to use there really is no obvious choice which framework to use.

If I had to start a new desktop app for Windows I would probably go with Qt. I would not trust MS.

We still use win32 with a light weight C++ abstraction we wrote ourselves (like MFC but better). It's not really complicated or hard.

MFC+Win32+WinForms are equivalent with different wrappers. So is WPF/WinRT/Silverlight so that's actually only two tech platforms.

I agree that going with Win32 + your own wrapper is probably best in the long run.

As far as WPF/WinRT/Silverlight go, they are different enough that it's hard to exchange any code between them or port from to another.

I'll concede that there was definitely more churn around the change from OS 9 to OS X. But the result was definite forward progress: the entire OS moved off of its legacy core. This was clearly a transition period, with both the legacy APIs and modern replacements clearly identified.

I don't think Microsoft's churn is like that at all. Instead it seems to reflect churn in their internal strategy. They attempt transitions, but abandon them before they are complete. There's no overall trajectory.

The latest is WinRT. Take a look at https://dev.windows.com/ . It's all about Windows 8, Windows Runtime apps, etc. Other technologies are buried. Wouldn't you agree that MS is positioning WinRT as the new preferred way to write for Windows? (If not, their messaging is terrible.)

Characterizing these development options as MS giving developers "choices" is crap. WPF developers aren't excited about having WinRT as another choice, they're worried that WPF is abandoned and their investment is obsolete. They saw it happen to Silverlight. See http://pragmateek.com/is-wpf-dead-the-present-and-future-of-... for example. See http://channel9.msdn.com/Events/Build/2014/2-563 too.

This isn't 1998 and I'm not looking for some Mac vs PC flamewar. These are serious problems. They're making existing developers sweat, and new developers are taking a wait-and-see approach. It's hard to watch, but I'm optimistic about Nadella turning it around.

Oh, and Carbon is not an emulation layer at all, nor is it "heavy handed." Perhaps you have it confused with the Classic environment?

Have you ever actually worked professionally with Microsoft tech for any length of time? Have you followed Microsoft closely for 3 decades because your paycheck rides on knowing what's going on with them? If not, I'll forgive you for being an outsider...and yes, I meant Classic.

Microsoft has historically employed over 30,000 developers. That's a lot of people working on new software products. The "churn" you're talking about is, in fact, just more choices for you. It's crazy though you know - you don't have to use the latest thing from Microsoft! (We don't worship them like a lot of Apple-centric devs seem to do with Apple.) Sure, they're trying new things like WinRT and they'd like devs to use them. If things don't take off, they scrap them.

Who cares? You can still use a kit from 1998 (VB6) to make apps on Windows today without too much difficulty. Could you even use XCode from 2005 to make an app for OS X Mavericks? I doubt it.

According to your logic - web developers would never get anywhere because there's so much new tech/frameworks/etc being thrown at them and no corporation to tell them exactly what to choose.

I've been working professionally with Microsoft platforms since the early 2000s.

Not sure why you celebrate that Microsoft is treating everything but the latest as legacy.

His point is that after massive rework for OS X, more than 10 years ago, expertise in Cocoa has been remarkably stable and portable across their ecosystem.

Microsoft in the same time, has been through how many data access layers? How many networking/HTTP APIs? Web frameworks? GUI toolkits? All of it legacy abandonware now.

It's not free to have to continually retool to work with APIs that will still get bugs fixed.

Yes, using the 1998 API will still work. But that API will never be worked on again. Good luck if it has a bug that means something is impossible to do.

Microsoft errs on the side of throwing something out there before it's fully baked, and fixing it by introducing replacement APIs with the learnings from the first couple.

Apple's approach is to keep APIs private up until such time as they're ready to make them public, after which they commit to them and they'll be The Way To Do Things for a much longer time.

Which you prefer I guess depends on the type of developer you are.

Yes, using the 1998 API will still work. But that API will never be worked on again.

Whats this then?


That's a Win32 API call added for Windows 8.1 to their 1988 API!!!

As for bugs, you've never read "The Old New Thing" blog or played with the compatibility options for running executables in windows? http://blogs.msdn.com/b/oldnewthing/

They actually go as far as fixing all the bugs and backporting the actual bugs to older compatibility layers so software that relies on the bugs still functions properly when you set the compatibility OS version.

Regarding impossibility, there is literally nothing that I can't do with their APIs. Find something and I will show you.

Win32 is the only API that can be used in the long run and is maintained and improved by MS.

All the other APIs like WinForms, WPF, MFC, Silverlight, WinRT get abandoned after a few years. Yes, they still run but you end up with a codebase that uses outdated tools without a good migration path to a never API.

It would be really nice if they would actually stick to something.

But you just said that they do stick to something: Win32

With the exception of Win32 all MS "choices" are half-baked and will be abandoned after a while without an upgrade path.

> stuff I wrote for NT4 in 1996 works today absolutely fine and I reckon it will in another 20 years

What about:

- Plays For Sure?

- Silverlight?

- ActiveX?

- 16-bit apps?

- DOS apps?

- etc...

I'm sure any of the stuff that you wrote for Windows For Workgroups doesn't still work. I think that your 20 years prediction is entirely too optimistic.

Plays for sure was no different to iTunes DRM and m4p files. It died because no one wanted it.

Silverlight was a dead end I agree but it is still officially supported.

ActiveX is still supported. It's just COM.

16-bit apps and DOS apps worked until everything went 64-bit. Win7 32-bit could run DOS apps. This is a processor limitation. NT had a VDM subsystem for this.

Win32 abstracts away WFWG stuff so I'm not sure what your point is.

I'm writing this on a windows NT machine with 512Mb of RAM running win32 and WPF for ref (win phone).

> Silverlight was a dead end I agree but it is still officially supported.

For how long though? The parent post was talking about everything working 20 years into the future.

> ActiveX is still supported. It's just COM.

Are you disputing that there are companies still out there that have internal apps reliant on IE6? I'm not saying it's smart, but at this point keeping IE6 going has to be work. If they could upgrade, why wouldn't they?

> This is a processor limitation.

When you are predicting that your 18 year old app will continue to function out-of-the-box for another 20 years, how is hardware not a factor?

Yes 20 years no problems for windows API. Look how old the Unix API is. Not Silverlight although most of that is portable straight to c#+WPF deployed via ClickOnce with a few hours' work.

We have a company that has IE6 and XP deployed to over 1000 workstations. IE11 does ActiveX still. We use it via WebTwain to scan documents from a web app via a drum scanner. It works very well.

Hardware is not a factor. Don't forget that x86 is well over 30 years old already, isn't even CISC under ISA any more and there is virtualization and emulation as well. I saw windows 95 booting on a wrist watch in the tech press the other day.

> Don't forget that x86 is well over 30 years old already

Don't say that too loudly. I've seen some 'passionate' Internet argument over how all of the terms AMD64, x86-64 and x86_64 are all wrong because it's really the x64 arch that we're all running on now. :P

I've heard that one too. Lets hope it doesn't devolve into that :)

"high framework churn" - an excellent description of the relentless API changes in Apple land, if I may say so. It is comforting to be able to run ancient applications on Windows compared to the inability to run apps built for Leopard on Mavericks (or even Snow Leopard), let alone anything from the Rosetta days (Homeworld 2 is now a useless game to me on Mac OSX).

On a similar note, there's a little note about garbage collection's grim future here, at the end: https://developer.apple.com/library/mac/releasenotes/Objecti...

Would you say that ARC is a suitable alternative? I'm not "in the know" about such things.

Completely and profusely disagree.

What Microsoft has built around Visual Studio, on all stacks (desktop, mobile, cloud), is the result of a lot of developer love. Also - Web Essentials, MVC, JavaScript IntelliSense and debugging - all godsend to the modern web developer.

Believe it or not Ballmer wasn't just exhausting wind when he would scream about "Developers! Developers! Developers!"

Xcode has the same problems described by coldcode - that Apple cares very little. Swift was a step in the right direction but just the first step, let's see where it leads us.

(Disclaimer: that last part was told to me as advice by a lone indie dev who makes about $189,000 per year off his lone Mac app and puts nearly all of the revenue in savings. So I have a bit of trust in that advice.)

Wowsers, what app is that?

My one sole app in MAS pays my rent and some bills every month with absolutely zero marketing or advertising on my part.

May I ask which app it is? It is good to know that MAS does indeed produce such success.

Shave, a video editor for OS X.


That seems anecdotally accurate to me. It's not hard to find "spiritual sequel" Mac and iOS apps that do quite well as people switch to them from older apps that are lacking in development or aren't as "cool" anymore, such as Cyberduck -> Transmit, iSSH -> vSSH, BBEdit -> TextMate -> Sublime Text -> Atom, and so on.

That's if you are trying to sell to consumers. Try making some business software.

Every business on the planet runs Windows and they all need new software all the time.

You don't have any knowledge at all about Tim or Jony's feelings towards developers that the rest of us don't have.

Some counterpoints:

Why does apple keep investing in APIs for developers who they don't care about

Why did Tim make a speech on stage at WWDC about how much they care about Developers. You seem to be directly accusing him of being a liar.

Now, I actually agree with almost all of the linked post, and I am an iOS and Mac developer myself.

Software has been devalued by the advertising supported models of the Internet changing people's expectations. That's the root problem, and it wasn't Apple's doing

Could Apple do more to combat this? Yes, I think they could, and should, and I hope they will. But as long as you have their largest competitors doing everything they can to devalue software, you can't complain that Apple should be making sure their customers have to pay more.

Let's also face another hard truth. There is a lot of software that just isn't that valuable. People are willing to pay money for things that a) make their life feel better, b) save them money, or c) help them make money. The vast majority of apps just don't do any of these things well enough to be worthwhile.

If anything, consumers are spending too much money on worthless software.

Talk is cheap. What actions has Apple taken to demonstrate that they care about facilitating the businesses of developers using the App Stores? They've added APIs, tools, even a new language, but the only improvement I can think of for the App Stores is video preview.

While it's not Apple's job to enable every possible business model under the sun, they ultimately hurt both themselves and users by trying to force everything into the "game vending machine" model, not to mention the app types which are forever excluded due to sandbox restrictions (see Panic's experience with the MAS, for example [1]).

[1]: http://www.panic.com/blog/coda-2-5-and-the-mac-app-store/

What suggestion for raising app revenue do you have that wouldn't put them at a disadvantage Google?

It's not just about revenue, but about process. For instance, the delay on bug fix releases could still use a lot of improvement. (Disclaimer: I work in web-land, where a deploy time of more than 10 seconds is laughable.)

But even just on the revenue metric, as mentioned in the article:

- Trial periods (especially relevant for softare over 5-10 bucks).

- Paid upgrades (many producers of high-end software can't be sustained with new purchases alone, and faking it with in-app purchases or "MyApp 2" is a terrible experience for everybody).

- Permanent sandbox exceptions for apps that genuinely need them.

- Lower the ridiculous, quasi-usurious 30% tax. I don't expect Apple to do this, but in the Mac realm where developers have other distribution options, the buying convenience and visibility may not be worth the revenue hit. If Apple has the cash to make iCloud a loss-leader for selling shiny gadgets (and they do), they can afford to make App Stores revenue-neutral or even a cost center.

Note that every one of these deficiencies is a loss for developers and users alike.

The Apple cut might be "officially" 30%, but less well known is that developers who are doing their own marketing can recover an additional 7% through the Apple sanctioned affiliate program, bringing that closer to 23%.

So you chose to ignore the 'not putting them at a disadvantage' point. Repeating the points from the linked article is not a contribution.

I fail to see how any of the things I suggested put them at a disadvantage to Google, other than maybe lowering the 30% (and given that that the vast majority of Apple's revenue comes from hardware, I strongly doubt that it would be significant.)

All of those things make the average price of software go up. I realize that's desirable to developers (me included), but it would also tilt the overall market towards platforms where software is cheaper.

I think that's debatable. Trials could result in more software getting purchased (and fewer instances of feeling burned, meaning more likelihood of future MAS purchases). Lowering the 30% would trickle savings down to customers, as producers could price more aggressively for the same marginal revenue and try to drive up volume.

The only change I see that could affect the price of sofware is paid upgrades, which does fundamentally alter the pricing dynamic by incentivizing an unpleasant upgrade treadmill in the worst cases. But the problem is, companies whose revenue is dependent on upgrades will still do so, only badly: either using "MyApp 3" (which is awkward, and doesn't allow upgrade pricing for existing users); or, using in-app purchases, which is a weird experience, and has a huge drag co-efficient by requiring developers to support all old functionality in the same app, forever. (Imagine if Pixelmator 4 had to encapsulate every last bit of Pixelmators 1-3, bug-free, within version 4. It's a recipe for disaster for both users and developers, making it cost-prohibitive to do under-the-hood improvements instead of just Features Features Features, meaning more technical debt.)

If there's another way in which my suggestions alter the price of software as commodity, or alter consumer pricing psychology, please point it out.

I think the 30% is a red herring. We aren't talking about 15% revenue difference being somehow transformative to the profitability of app development.

I disagree strongly that people who would use upgrades already do so, but badly. Pretty much every paid app maker would be tempted to start using paid upgrades, since it would be trivial and become a norm. The 'bad' way of doing it is a strong disincentive that stops most developers actually doing it.

Adding paid upgrades would make the whole store into a nightmarish minefield where you'd suddenly be being charged again for minimal updates to trivial apps. The examples give for paid upgrades are always solid reputable, thoughtful companies like the Omni Group, but they represent 0.000001% of the store at most.

> A nightmarish minefield where you'd suddenly be being charged again for minimal updates to trivial apps.

If this is true, we should be seeing it in non-MAS apps. Can you cite some examples of these practices in existing Mac software, outside of scams/malware/etc?

This certainly doesn't follow.

The bar to creating and distributing a paid app outside the store is far higher than creating an app for the store, so it selects for serious businesses like omni, or panic. Many of the apps in the store aren't even made by full time developers.

I'm not defending the store - as I said I agree with the identified problems. But I am asserting that the solutions are not the trivial fixes people pretend them to be.

Well one thing they’ve done is ensure that all apps are sandboxed so that I can be sure when my mother downloads an app, it’s not going to be a vector to infest her computer.

Sandboxing is an excellent default, but the lack of permanent, specific exceptions when they're genuinely needed is what blocks whole categories of apps needlessly. (Your mother is probably not likely to download a pro FTP client.)

I can only hope. App stores are a horrible thing for developers-- you are utterly beholden to the app store and a rule change could destroy your business. They're also a horrible thing in the long run for all of us, since they lead us down a path toward a computing ecosystem where true universal computing is prohibited to ordinary users and only signed code will run.

The convenience factor is real, but it could be addressed by a better app installation and upgrade model. Apple is already way ahead there by encouraging all components of most apps to live in their .app "folder-file." What if the OS had baked-in support for update feeds from the app's developer?

The security factor though is a bit of a tragedy. Open desktop OSes have serious security issues around the installation of software. Instead of solving those issues in a way that does not degrade capability or restrict freedom, OS vendors have decided that it's easier and cheaper to sidestep them by just using the app store model and forcing all code to be signed. Your OS is no more secure... they're just limiting what can run on it. It's part security theater and part just punting on the problem.

Maybe if the app store model fails on the high end we'll get real solutions to these problems.

There's a lot of whispering going on behind the scenes and some developers have had enough (and I guess more to come in the future). The only way to have your voice heard would be to leave the MAS. If Apple wanted, it could easily resolve all issues very quickly. Unfortunately, I have no reason to believe it will happen.

You're quite right that the convenience is part of the big pull of the MAS. But as you say, this can be implemented separately. If you can get the critical mass with some major players behind it, it can become a standard in no time.

The security issues related to sandboxing are not insurmountable, either. We can have both sandboxed apps that have wider accesses so that we don't restrict the freedom of users.

It's unfortunate that the Mac App Store most likely won't fail in it's current state. There are too many people that don't realize that they are purchasing the outdated or degraded experiences and are perfectly happy.

What's quite interesting is that a few years ago, when you bought from the MAS, you assumed you will always be able to install the software and it will be kept up to date. Nowadays, the unfortunately reality is the opposite - it's very likely the MAS version is seriously lagging behind.

What's worse, as you say, is that there's absolutely no indication that some of those apps have been abandoned (apart from the very old Last Update date). The vast majority of consumers will just buy the software and not go researching whether the app they're acquiring has been left collecting dust.

And at the end, both consumers and developers lose out.

Funny... I both like and hate the app store. I like it when the apps I want are there, mostly because they install with one click and update automatically and I don't have to worry about it. But I hate it as a developer.

I've found that such conflicting feelings come up when I'm dealing with a poor solution to a nevertheless real set of problems. I think app stores in general are that -- they are a freedom-restricting, tax-extracting, capability-limiting solution to a set of problems around security, software package management, and quality control that could be solved much more intelligently.

It's not just signing, there's sandboxing too. Some apps have avoided the app store or have somewhat less-capable app store versions because of the sandboxing.

I'd actually love if they could get the Flash plug-in into the app store, especially if it was a crippled version that could only play video or games, just to get rid of Adobe's updater.

Sandboxing is a good idea, but also done poorly on every platform I'm familiar with.

What I want as a user:

I want to be able to see -- for each app -- exactly what permissions it requests and what permissions I have given it. I want them to be in plain language, presented in a way that is comprehensible to non-technical people but also to developers / power users. I want to be able to toggle permissions that are not required. (Obviously if an app requires a permission I don't want to give it, I have to just uninstall it.)

I also want to be able to see exactly what each app is doing. What it's talking to on the network would be high on that list, along with what files it's accessing or trying to access, etc. Obviously any privacy-invasive feature like location information is very high on such a list of things I want visibility into.

There could be "permission motifs" or "templates" to make things easier to understand. For example, a "productivity app" template might only give file access to Documents and network access to a limited set of endpoints and iCloud. A "peer to peer networking app" though might require promiscuous network access. A "hardware interface" might require kernel module permission (which would have a warning to the effect that this confers full administrative rights, because it does). A "VPN" might require the ability to open virtual network (tun) ports. And so on...

The app should be required to include descriptive text explaining why it needs each requested permission.

Finally, as a user I want some kind of summary display that shows the cumulative "exposed surface area" of my machine. What permissions have I granted where?

I also want convenient installs and uninstalls. By default I want automatic (secure, signature checked) updates, but I want the ability to turn that off if I desire. I want to be able to manage which certificates or CAs are trusted to install apps -- which would include self-signed apps. (Self-signed is superior to unsigned in every way, since it allows secure updates once I approve the self-signature.)

What I want as a developer:

I want to be able to request permissions that are as deep as are necessary to provide the functionality my users want. In a few cases (network stuff, virtualization, certain kinds of hardware support) this may even require a kernel module, but most of the time nothing that far-reaching is needed.

The thing is -- desktops/laptops are "power" machines. You do need to be able to do powerful and OS-extending things on them. But I want a security model where I can say precisely which apps I trust with those kinds of permissions. I don't want grant-by-default and I don't want total prohibition.

Microsoft actually tried to deliver something like that a few times, but failed. IMHO their failure is completely in execution. They offered a terrible UI and user experience where you kept getting pestered with security-related popups that didn't actually explain what was going on. If this was done well it could be quite revolutionary.

Interestingly this weekend at Cingleton, Rich Siegel announced that BBEdit was leaving the Mac App store... not for any one technical issue with it but for "sanity".

Essentially, the app store dynamics add stress to the process of shipping mac software for most developers and they add this stress at the end of the release cycle when a developer is already at their most tense moment.

Having deployed many products on Apple's stores, I can say that I completely relate to this and so did the crowd at Cingleton. I expect many other apps to follow suit...

I'm the CEO of Paddle (https://www.paddle.com/sell), we're essentially trying to solve this exact problem for OS X developers, by providing App Store functionality, and more, for those selling outside the MAS (IAPs, Analytics, Payments, Trials, Activations/ Licensing).

The lack of trial versions aside (which is still a huge problem), one of the primary issues with the MAS is the flat-out exclusion of certain categories of application. For example, system utilities are almost totally banned from the MAS, and the system tools/ utilities that are currently available in the Mac App Store tend to just be slimmed down versions of their non-MAS counterparts with lots of functionality removed.

I speak to hundreds of OS X developers every week, and the sentiment around the MAS is gradually changing. Typically we're hearing developers just referring to the MAS as a marketing channel these days, due to the restrictions enforced on them.

We see a lot of data around MAS vs. Non-MAS sales, and reasons for developers switching, so if anyone has any questions about this space, I'd be happy to answer.

I'm a Mac user and went to check out what Paddle offers users, so I went to http://www.paddle.com/. It wants me to immediately log in or sign up, something that I'm not particularly inclined to do as I have no idea what you're offering. If you want to create a credible alternative to the Mac App Store, you're going to want to make it really, really easy for prospective users to see what Paddle is, what's available to buy, and what the process is like for managing their software library, updates, etc. This should be your #1 priority, as the best way to convince app developers to use your service is to be able to say that you have lots of users.

Thanks for the feedback. I completely agree.

Paddle initially started as a marketplace for all types of digital content, and we've slowly transitioned into this toolkit for developers, offering payments, trials etc...

What you see at Paddle.com is reminiscent of our consumer-facing marketplace days, and we're close to pushing out a new homepage (this week).

One thing we're not trying to be, is a marketplace in a similar fashion to the MAS, we're trying to be the technology layer that empowers developers to not need a marketplace, own their customer, and take back some of the control that they typically give up by relying so heavily on a marketplace.

I do completely agree with you that the current homepage being what it is, and what we actually do being located at https://www.paddle.com/sell is confusing for potential customers who might want to work with us.

This is changing this week. :)

When I was researching what we can use for payments, I stumbled upon Paddle and it looked exactly like what I wanted - looks very well done.

I have two questions for you:

1) Who is the vendor of record? This is relevant to handling VAT and it means either you have to do it or the business selling the software.

2) I couldn't find any information on what countries are supported, payment methods for receiving royalties, etc.


Thanks for the kind words. In response to your questions:

1). Paddle is the vendor/merchant of record. We handle all of the VAT/ sales tax liability on your behalf. Payouts you receive from us are a royalty payment, exactly as they are from Apple/ the MAS. (This is particularly relevant as of Jan 1st 2015 when the EU VAT regulations change, and become super complicated for indie devs).

2). We support most countries (all countries, with the exception of North Korea, Cuba etc.), allow payments from customers via Credit/Debit Card (Visa, Mastercard, Amex) and PayPal. Support payouts to merchants via PayPal, Local Wire (32 countries - List: http://padl.to/1qoAWNN) or International Wire (everywhere else).

It doesn't seem like the images are retina/hd ready. I don't mean to sound spoiled, but when a site doesn't have retina/hd compatible vector graphics, they immediately lose a lot of credibility to me (most sites that I run across that don't have retina/hd graphics haven't been updated in years, so that's most likely why). There are a lot of tools and plugins that can help with the exporting and displaying of retina/hd graphics. It's not the end of the world if a site doesn't have them, but it's immediately noticeable.

Paddle itself looks awesome though :)

Our site is being updated this week with a new design (focusing on our dev tools). — There will be plenty of retina goodness there.

But I agree. Non-retina bugs me too. Not for much longer!

(And thanks for the kind words.) :)

I'd like to be able to not have to create an account to see the software that's for sale. Is there a way to do that?

We don't operate like a marketplace, so there's no way to 'browse' whats on sale at Paddle. We act as a platform under the apps, powering payments, trials etc...

Once integrated with our SDK, developers are free to distribute their apps wherever, be it their own website/ to their own audience, or via download portals like MacUpdate.

A couple of examples of apps using Paddle: * http://www.tunabellysoftware.com/tgpro/ * http://marked2app.com/

How are you providing 'App Store functionality' if there's no marketplace? Surely the most valuable thing the App Store provides is the distribution channel?

We're providing the equivalent functionality of payments, in-app purchases and updates to developers. As well as allowing them to use/ develop trial functionality, allowing them to distribute outside the MAS more effectively.

In most cases (from talking to developers) the distribution/ audience aspect isn't the #1 reason developers go down the MAS route. Lots of developers have their own audiences, or use sites like MacUpdate (or traditional marketing methods).

That said, we are working on functionality to help users discover applications. We currently have around 400k users (customers on the buy side) who have active accounts with us, and we're testing ways of recommending content to those users, in order to provide developers with that extra exposure/ sales volume on our platform. — Currently we're testing this via email receipts (for opted-in merchants) and via our web-based "locker" (where users who have purchased content can access their downloads/ license codes).

We've got a lot of work to do on the discovery side of things, and there are a lot of interesting things that we can do at scale, but discovery isn't our primary focus at the moment (building a great platform/ SDK for developers, and providing the foundation is our current focus).

> http://www.tunabellysoftware.com/tgpro/

Just tried going through the checkout. Clicked on Buy Now. Entered an email, clicked Continue, got to the country/zip screen, entered ZIP, clicked Continue and got back to the "Checkout as a guest" screen. It looped. Just FYI.

(edit) Tried with marked2app.com - same thing. The checkout form gets stuck in a loop.

> As a consequence, developers producing high quality apps reduce their prices significantly to levels that consumers can afford to take a gamble on.

I wonder if this is Apple's entire point in taking this stance. The cheaper, more numerous, and better the apps, the more attractive the platform, and Apple may be betting that developers will just put up with it, at least on iOS, due to their massive market share. The MAS system might be the way it is simply to keep in ideological step with the iOS App Store. That's the only explanation I can come up with for their bizarre behavior WRT the MAS.

jessep is right - you cannot have a large amount of cheap and high quality software.

Note that there are some very large difference between the software on iOS and Mac. On mobile system, the vast majority of apps are more akin to small consumables - like having a can of coke or a cup of coffee.

On the Mac, you have much more complex software, that can take years (and even decades) to develop. This software requires serious investment of resources and time. If the ecosystem cannot support it, it won't exist.

You're right that the iOS store is designed to encourage a lot of choice at low prices - that's what sells iPhones. This might be okay for consumables but a non-starter for professional software that exists on the Mac.

I 100% agree with everything you and jessep have said here.

I don't think Apple really cares if developers are happy, nor do I believe this is by accident that prices are being driven down in the Apple App Store or the Play Store.

I believe both Apple and Google are happy to see the number of apps go up and prices go down since this results in a large number of cheap complimentary products to the phones and tablets in the case of Play Store and App Store, as well as to Macs in the App Store.

It seems like they are taking this straight out of micro economics 101.

Price of complementary product A (apps in this case) go down leads to increased demand for product B (iPhone, Mac, Android Phone, etc... here).

This is totally unsustainable for developers and leads to the majority of developers in the App Store failing, and hence the opt-outs we see from developers on the Mac app store returning to the old way of selling from their website directly and other channels.

From the Mac perspective this seems to mean low quality apps and sell once no upgrade apps (games for example) stay in the App store and enterprise or high quality applications continue using the old model of sales.

I don't think that is ideal, but at least there is a way for developers to continue to sell their products and so high quality products will continue to be produced.

I'm much more concerned with the long term viability of the App & Play stores in regards to phones & tablets. As developers we have no real alternatives to sell our apps outside of the Google/Apple designated marketplace. So I have serious concerns about high quality applications continuing to be realized unless something changes as over time the up front cost and risk to create new software just continues to get worse.

If Apple could persuade Adobe to sell Photoshop for $0.99 it would be good for Mac adoption. Then once Adobe goes out of business, Apple could buy the Photoshop IP at a knock-down price, make it Mac-only, and give it away with the OS.

What if Adobe gave Photoshop away for free and charged for support/integration? That's really the defacto situation now... Photoshop has always been very widely pirated.

No, the de facto situation now is that Adobe makes a lot of money from sales of Photoshop and no money from support/integration.

I.e., nonwithstanding the piracy, Photoshop makes Adobe a lot of money, and all that money comes from sales, and none of it comes from support or integration.

That was part of my point - that's what I think their reasons are for the policy on the iOS app store, and the MAS policy is the way it is to stay in line with that. I agree that it's a terrible system, but that's my best guess as to Apple's reasoning.

A lot of cheap abundant software doesn't help Apple in the long run. More expensive sophisticated apps would create a more useful platform, especially if the only existed on iOS. The easy stuff is easy to port or rewrite for other platforms.

my feeling is that the author is saying that "cheaper, more numerous and better" are like CAP, you can't have all three. so currently, there's cheaper, more numerous, and worse.

Ok, so Coda 2.5, BBEdit, TextExpander and other developer-type apps can't be in the App Store because they can't be sandboxed. Fine, if it's a developer-type tool that has to do things most everyday users aren't going to need, do it outside the Mac App Store. For everything else, the Mac App Store is great.

In fact, I'm such a fan of the Mac App Store that I wish every app could conform to it's rules so I wouldn't have to dig out a lame license key, or heaven help me, email the vendor for some time sensitive generated key thing.

It's not just developer-type tools that can't be sandboxed. Dropbox can't. BackBlaze can't.

Also, any service where it isn't viable to give 30% of their revenue to Apple, Spotify for example (who have to give 70% of their revenue to record companies).

Not that Apple would want Spotify in the store anyway, with it being an iTunes competitor.

Wait - so what do they do on iOS? There’s a free Spotify app for iOS. Why couldn’t they do the same on the desktop?

Because they have to allow it for iOS, otherwise iOS becomes "the platform without Spotify". Imagine if iOS wouldn't allow a native Facebook app - what would happen then?

With OSX it's a little different, as there are alternative channels for installing Spotify, which prevents OSX from becoming "a platform without Spotify", and also allows Apple to ignore them entirely, and push their own product in the store.

No, Spotify is not an exception to App Store rules.

There are hundreds of apps that allow you to use subscriptions made outside of the App Store. The rules for digital goods and digital subscriptions are:

* If you want the actual payment/checkout to happen ON the phone THROUGH the app, it MUST be an In-App Purchase (subject to 30% cut). * Appendix: redirecting to a website for the payment is forbidden, because it would be a too easy workaround to the previous rule. * If you want the app to just connect and use an existing subscription made elsewhere, go ahead, nothing is owed to Apple.

Dropbox for instance happily works with the subscription made on the website. A couple of years ago, they ALSO added a way to subscribe to their paid plan through the app, in which case the 30% cut is paid to Apple. I can see they doing it because probably they don't want to lose customers that feel like upgrading with a single tap is much easier than going to the website and inserting credit card details. As everybody in marketing knows, when you're potentially one tap away from buying something, the sole idea of having to go to the computer and taking the wallet is enough for a turndown for most people; impulsive buying is a strong force.

Ah, I wasn't really commenting on the pricing - more on the idea of having a "competitor" on your own store.

Rdio just charges more on iOS. "Rdio costs the price you see if you subscribe via Apple’s in-app subscription service. This price difference is due to Apple’s policy of taking a 30% cut of subscriptions that occur through their service."

I didn't think Apple allowed this, but they are doing it.

I've complained about the lack of app trials via the mac/iOS app stores for years now. It would be SO EASY for them to incorporate this functionality for developers to allow, where I can try a full version of an app for a certain amount of time and then it would lock me out until I purchased it.

Not having that feature has easily stopped me from giving at least 50% of apps I've found a shot simply because I don't want to make a blind purchase based on 5 screenshots.

This is one thing that the Microsoft Windows 8 app store does surprisingly well -- you can have full functionality trial periods. The only problem with the Windows 8 app store is... well, it's selling only Windows 8 "modern mode" apps.

I've been playing with the Windows 10 Preview. Now that Store Apps run in normal windows they are almost indistinguishable from desktop apps, they have much better usability and just feel much more valuable to me.

I think that will be a big boost for Windows Store Apps when Windows 10 comes out.

Most apps these days give the basic features for free and the unlock features cost money. This should give you a rough idea on app stability and how it works.

That's a pretty great thing about the android market - you can 'return' an app for a full refund.

If I'm not mistaken, you can get your "refund" only in the next two hours after purchasing an app ("refund" is it quotes because it's not actually a refund but they haven't simply charged you yet.) Two hours are woefully inadequate to evaluate a desktop app and I'm willing to bet that there are laws/rules/guidelines prohibiting something like this with a time period of two weeks or more.

While having the ability to return an app is necessary (most non-App Store places have 30/60-day money back guarantees), it's not a replacement for trials.

For example, there might be 4-5 apps in the $30-50 range that I want to try. I'm not going to spend $150 and then having to request a refund for the rest - it simply won't happen.

I haven’t purchased boxed software in years, but there was never the ability to return software once it had been opened. If you realized you got the wrong application and hadn’t opened it, OK, you could return it. Otherwise it was assumed that you installed it and then returned it to get your money back.

One of the few things I like about the Amazon app store is their feature called "Test Drive" which allows a user to test an app before purchasing it. One can not only test it on their device but also test it inside a web browser.

You can "return" an app with Apple as well

Unless this is changed, you can only do that by going through Apple support and asking for a refund. Google Play has a mechanism for it, which makes it considerably more convenient.

I'd personally give priority to upgrade pricing and trials, but I'd still like to see Google Play's approach implemented by Apple here.

Only within two hours, though.

15 minutes, now.

No, they changed it from 15 minutes to two hours.

They changed it to 2 hours last september.

I agree with all four points mentioned by the writer, IMO of those four reasons, the biggest problem is the absence of "paid upgrades"

Not being able to charge for updates is a problem that affects almost every single paid app (assuming the app is supported across multiple versions and major updates) in all the app stores. This is an unsustainable proposition for most developers.

At a recent Seattle Xcoders meeting in Redmond, our speaker spoke about how he had given up his indie business and had now switched to contracting (disclosure: I run this meeting and had asked the speaker to speak).

At the meeting, I noted that Apple made its profits through hardware and they could therefore afford to make their software free. Similarly, Google is an ads company and so they don't need to charge for their software. However, the dominance of these companies means that most users/consumers expect all their software to be free (and the small minority that downloads paid apps wants upgrades to be free).

It is going to be an uphill battle for any "software" company to survive in the future. IMO that applies primarily to indie devs (I'm one myself) who sell apps in the app stores, but the problem also extends to large companies like Microsoft.

Maybe I'm missing something, but couldn't you use In-app Purchases for "paid upgrades"? As in, release the update for free, but have an additional in-app purchase to unlock the new functionality?

Of course that wouldn't work for all upgrades (like a whole-app rewrite or interface revamp, etc.), but for some cases I imagine that could work.

This would also solve the problem of no free trial (release the app for free and then add in-app purchase to unlock the full functionality).

These are of course only workarounds, and I would greatly appreciate if Apple would come up with a complete solution for these problems.

Suppose you have a video converting app. Further suppose your headline new feature is converting 2x as fast as the old version, pretty much the holy grail of video conversion software.

In the MAS you have a set of bad choices:

A) Release the upgrade free to everybody. Great for them, bad for you.

B) Make the new encoder an IAP. Problem is, now you are maintaining "old" code that you may not want to maintain anymore. You may need to wrestle with the old encoder to get it compile for new versions of the compiler, etc. You have to fix bugs that occur with the old encoder and new, unanticipated changes in OSX. If you're still compiling and uploading it every month you can't plausibly claim that it's no longer supported.

C) ship the new encoder, but cripple it so it's slow until users upgrade. This seems capricious. Also, you can't get exactly the performance of the old encoder; you'll either overshoot or undershoot. And the nature of the MAS is that user's can't effectively downgrade, so they'll be SOL if you're wrong.

D) Remove the app from sale and submit a new app. You're wiping your slate with links, app reviews, etc. You also lose customers, who don't find out about your shiny new version. OmniGroup pursues this strategy, and they lose a lot of revenue from me (an avid user) because I completely miss certain upgrades because I don't hear about them. I can't imagine how it is for marginal users.

E) Don't update the app after all, because in spite of the fact that 2x video encoders obviously add value to the world, the MAS adds too much friction to make it a viable business. I would argue that the majority of iOS and Mac apps face this sad reality at some point in their lifecycle.

I submit to you, that if you manage to write a video encoder that is 2x faster, that should be the hard problem. The hard problem shouldn't be to figure out how to structure your upgrade pricing. But with the MAS, it is.

>D) Remove the app from sale and submit a new app. You're wiping your slate with links, app reviews, etc. You also lose customers, who don't find out about your shiny new version

Um, how about this: Since your encoder is 100% faster you obviously did some substantial engineering on it. So why would this be just an update to the existing app? Even if you could charge for it?

The easy option you didn't mention is: F) Keep the old app in the store and start selling your "Encoder2" as well. "But I wrote 'customers don't find out about your shiny new version' you are now thinking" Well, you know there is the option of having users of the old app being notified about your new offerings, right? Don't tell me you have never seen such a popup in an app telling you about that companies new app.

So now you have two apps in the store and it is up to you to make sure how they differ and how the new one is an improvement over the old one. Now the customer has the choice which to get. For them nothing changes.

This is what some developers do, but as you say, it limits what you can add. A new discrete feature, yes. A replacement feature, not really. And it means you need to support the unpaid code path forever.

That may work in some cases but for QA reasons alone it gets unsustainable really quickly. Let's say you have your base app then "Upgrades" A, B, C.

* What if the user buy's C but not A and B?

* Does B/C rely on anything in A or C rely on anything in B

* For every upgrade the dev needs to test all the possible combinations of upgrades bought by the user

* Positioning for new UI added by A/B/C dependant on what other upgrades have been purchased

You might be able to solve most of these with requiring A for B and B for C but even then you still need to test your app: Base+A, Base+A+B, Base+A+B+C......

I've been investigating & studying the business of software market in the past 2 years, and I've come to the same conclusion. Software needs to be designed around revenue streams; renting software is essentially the future. This is particularly true for software which reaches maturity. E.g., I don't need new features on my text editors (spreadsheets, browsers, etc); they are debugged and work great for me.

So a SaaS model is where software effectively has to land, modulo unicorns.

>I don't need new features on my text editors (spreadsheets, browsers, etc); they are debugged and work great for me.

I see how that's probably right from the developer's perspective but as a consumer, it'd make me avoid your products. I don't want to keep paying you to use a product in general, and particularly not if - as you say - there's no new functionality or features. I don't want to rent my text editor, and asking me to adopt that model for your benefit isn't appealing.

I realize that keeping developers afloat benefits me in the long term, but that's not really my focus as a customer.


Commodity software income trends to zero, especially as competitors enter the market and trim away the features that are unwanted, leaving a minimal (fast to develop) product behind.

I don't actually believe that B2C software for "average consumers" where user pays for software is a viable market outside of certain markets (e.g., antivirus updates). The incentives are simply too aligned with gratis software doing something acceptably well for the vast majority of people, probably ad-supported. patio11 recently linked an article about selling to flies/mice/deer/elephants. It's really worth reading.

I firmly believe that the only games in town over the next 5-10 years for financial revenues from software are:

1. ad-supported mass market (E.g., gmail) 2. B2C niche (e.g., Bible study software) 3. B2C SaaS (backup software, dropbox, Google apps) 4. B2B SaaS (most of web stuff) 5. B2B desktop/server - usually 1-time fee + maintenance over a few years.

B2C Desktop buy-once and run is pretty extinct, afaict. For me, it's been replaced by libre software like LibreOffice, Emacs, and Firefox.

Has any team ever tried to put together a system equivalent to Steam for Desktop application distribution?

I'm imagining a cross-platform(Well, for desktops) store that would make it easy for developers to release applications, distribute updates, distribute trials and manage payments using a number of different models(single purchase, upgrade discounts, weekly/monthly/yearly subscriptions, all kinds of things).

It's upsetting that good software doesn't have a good way to be distributed and searched for in 2014. I feel like we, as developers, should be taking the initiative here, not sitting on our haunches hoping Apple and Microsoft give us something that works.

I recently switched from PC to Mac, and is starting to repurchase applications for OS X.

I google apps first, before I go to Appstore. Why? Appstore is full of crap. I can't find what I need. If I type in "text editor" in the Appstore, I can't easily find the best text editor for OS X. However, if I google "best text editor for os X" I get meaningful results.

Steam has the advantage over the Appstore in that most apps in Steam are "worthy". They are large, complicated applications worthy of your time and money. The Appstore is suffering from the weight of a thousand little "Hello World" applications, with little or no value to anyone.

The Appstore has potential but the filtering and presenting is not where it needs to be. As a user, the Appstore model of "appear free but charge me in-app purchases later" sucks. It only serves to annoy me. It's not that I mind paying $50 for software. I just want free software to be free. If you want $50 from me, stay in the non-free section.

All in all, I've spent 5 times the $$$ on Steam and web downloads than on the Appstore, during my first 2 weeks as a Mac owner.

And Google first page hits gets the $$$

Despite mostly distributing games, Steam also has a section for non-game applications though there aren't very many to choose from.


Yup, the guys at Paddle are: https://www.paddle.com/

https://www.paddle.com/sell for the developer solution.

FD: I work at Paddle, and would be happy to answer any questions. It's exactly these types of headaches we're trying to solve for developers.

Any comment on the problems with the Macaw launch?

Sure! We worked with Macaw to power their pre-order sales, and did several thousand pre-orders of their application prior to the launch. It was Macaw's intention for the duration of the pre-order to use Paddle's SDKs on Mac and Windows to distribute their application (provide trial version, license codes etc...)

A few weeks before the pre-order ended the Macaw guys decided, that users having an account with Macaw would be a better way for users to license the application (to be fair to them, they've made the product registration/ activation process really nice).

Unfortunately, we weren't given much notice of the switch away from Paddle, and the process of giving access to pre-order customers wasn't handled in the best way. Which resulted in some pre-order customers not getting their copies of the application until a few days after the launch. -- We weren't actually powering the app, or their licensing at this point, but given more notice of the switch/ their launch, we could have assisted in getting the pre-order customers copies to them more seamlessly.

That said, and although Macaw aren't a customer of ours anymore (and haven't been since the pre-order), they seem to be killing it, have made a truly stellar product, and we wish them all the best! :)

Thanks for the great reply it reset my personal views on your service (which were based on previous experience). I was one of those pre-order customers. I wish you and your company luck!

Interesting, thanks. I'll have to check this out.

I was just thinking "wow, someone should build this." Going to go check that out yesterday. Thanks.

I believe Steam is dabbling with desktop software as well.

So far it's pretty limited selection and mostly focused on media creation or game development, though there a (very small) handful of other apps included.

The last place I go to get apps for OS X is the MAS. If it's available outside of the store, I always prefer that. There is nothing compelling about the MAS and there never has been. It's ridiculous that I have to sign in to get free apps or OS updates. For OS updates and apps that offer no other way of installation, it's a concession I make grudgingly. Why should Apple be a middle-man in my software purchases/downloads while offering absolutely nothing over more traditional methods of installation, not even convenience?

> while offering absolutely nothing over more traditional methods of installation

On the contrary, I (who happily use brew and brew cask) have re-purchased anything that is available in the app store, even if I'd already purchased it elsewhere, just for the app store conveniences.

It's really amazing to dump an old Mac for a new one and just click from your purchased inventory, no serials, no nonsense. Not to mention having that work on both your laptop and your desktop.

The old days of having to take a day off just to move to a new or additional machine are long gone, thanks to the app store.

Isn't that the joy of Time Machine too?

I find the simplicity nice: find an app I want to buy, click buy, and I've got it. Developer just pushed an upgrade? It installs automatically without my having to do anything.

And the developer doesn't get anything, no matter how much work developing the upgrade took.

I agree that's a problem and would be very happy to see native support for paid updates added to the MAS instead of the hacks developers are currently stuck with. I didn't say the MAS is without downsides (the original article does a good job of spelling them out), but joesmo is arguing that the MAS has no real benefits to the user. I don't think that's true, and that's why I really hope Apple fixes these issues instead of letting the exodus continue.

The MAS offers numerous conveniences:

1. Just one account for a wide range of software.

2. Automatic background updates for all purchases without having to deal with lots of sparkle updater dialogs.

3. Easy access to all your apps on any of your macs.

4. Easy reinstallation when you move to a new machine - no hunting around for license keys etc.

5. Confidence that the software is sandboxes and not malware.

Your claim that the MAS offers 'absolutely nothing' is false.

You actually don't need to sign in or have an account to receive OS updates.

Software is a service industry, not a product industry. Expect to see more software in the style of http://chrome.blogspot.com/2014/09/adobe-joins-chromebook-pa... or http://aws.amazon.com/appstream/ or even http://www.playstation.com/en-us/explore/psnow in the future.

This developer is upset about the difficulty of securing a continuing revenue stream. This is exactly the problem addressed by streaming software to users instead of just giving it to them. What this developer really wants to do is _rent_ their program: when users stop paying, they stop having the software as well.

Software "is" not anything. It's what we make of it. Many users and developers are staunchly opposed to a software service industry. Personally, if my only option is ever to make products that require subscriptions and continuous upkeep to use, I'd probably go work in another field altogether.

Saying something like that makes me believe that you must work deep within the bowels of an entrenched corporation, insulated from revenue needs. Anyone who has ever had to pay employees, sacrifice time from other projects to do unplanned-for maintenance, or scrounge around for tedious grunt work during a slow season would never say something so ridiculous. I bet you also swore you'd move to Canada if Bush/Obama got elected.

I should have clarified: by "continuous upkeep", I don't mean patches and feature updates; I mean the type of perpetual update model you see in things like Creative Cloud and Facebook games.

I make software because I enjoy it, and the type of software that I enjoy making either takes the form of one-off entertainment (games), or tools that expand your range of abilities (apps, mainly non-networked). If I couldn't hope to make money off these anymore, I'd probably lose my creative drive. (I am also a one-man developer. A corporation would obviously have different priorities.)

This is basically the Chromebook version of the future, and it's why I support Apple's native-first model over the alternatives. If I buy a hammer, I want to own it, not have it streamed to me over crappy H264.

This is especially interesting for me because I am on the cusp of a technological coup in my own home. I've been a "PC" my whole life, and have somehow gotten away with never buying an Apple product, and never felt the lack.

However, many of the reasons I avoided Apple in the past are now irrelevant, as all but Linux now attempt the same fascist business model (The rings/rules of Apple QA for software, and One store with which to rule them all). My go-to argument against Apple in the past was:

"In order to get an application or piece of software into the Apple ecosystem, you have to go through Apple. Apple has a strict QA process, every app that gets into the store has to vetted by one of Apples legions of QA staff. This sounds good; we want quality apps. However, a great deal of Apple’s QA rules for acceptance aren’t just about app quality, but also nebulous ideas of morality and ethics. The problem with that is, when only one agency is in control of what is proper and what isn’t, we are left with a situation where one agency gets to control what you see, use, and by environmental influence—think. Now, imagine everyone exclusively owns an Apple product…”

Ironically, this notion is very 1984, and my stance on it was a bit extremish to be sure, but hey, I’m a PC. Anyway, ever since Windows 8 and Windows Phone, it seems Microsoft has seen how completely Apple controls its own ecosystem, and wants a piece (complete with its own app ecosystem). Suddenly Babylon had arrived on my desktop. My initial thought was, “are we going to reach a situation where there are no more open platforms to develop for? Are we going to get to a point where software can only be deployed through stores run by the same folks who run my OS? Do I have to learn Linux?!”

So, long ramble short, I’m thinking of joining the cult. A few years back I was given an iPad as a present. I initially resented it, labeling it a glorified TV-ala-Netflix device. I have since spent hundreds on app purchases. Is now a good time to put on my robes and worship at the altar of Jobs?

If you're anything like me — a longtime PC user who started using Macs a few years ago — you will be shocked by how good Mac software tends to be. One day, you'll find yourself sitting at your old PC, tearing your hair out over some stupid decision that the programmer made in building whatever free application you're using, when you'll suddenly realize: you're a Mac guy now.

EDIT: Also, from what I've seen, Apple is pretty committed to keeping Mac development open. Microsoft seems to be going in the opposite direction these days.

Mac development is still reasonably open. Distribution on the Mac App Store is not, and the limitations are crippling. It's not a matter of convenience -- you simply can't sell a sophisticated application on the App Store, and increasingly, you can't take advantage of platform features without it.

You want iCloud sync? Take out the ability for users to access their own home directories and files. Take out the ability to have plugins of any sort. Take out any functionality you wouldn't expect in an iPhone time-wasting app.

Yeah, but it's still better than the situation on the Windows side. In order to use the new Metro UI, Microsoft requires all apps to go through their app store. Remember: they've recently been dragged kicking and screaming from trying to hoist this UI on every Windows user. (You could draw the comparison to iCloud, but at least that's a service hosted by Apple on their own dime, not a native UI layer.) So far, Apple has made it clear that OSX is intended to remain an open OS. I expect that developers will be able to use OSX+'s new native features for many years to come, App Store, or no; in contrast, I don't see Microsoft permitting open development on anything but its rapidly aging Desktop.

But yeah, I hope the App Store gets better. Pretty much any cool application idea I've had has required going outside the sandbox.

That's because Windows 8 includes the features of both iOS and Mac OS X. If Mac OS X could run iOS apps, do you reckon these would be supplied outside the Apple Store?

You don't have to use Metro, of course. However, if you do, there are constraints that are required for a secure, always-connected, battery-powered device that are not required for a traditional desktop or laptop.

> I don't see Microsoft permitting open development

I don't understand this. There are several ways to develop Metro apps, including C# or C++ with XAML, C++ with DirectX, and JavaScript with HTML/CSS. Seems to me that Apple is more restrictive on both the iOS and Mac OS X sides. Even if you really mean "open deployment", it's not completely closed....

You don't have to use Metro, but Microsoft was kind of betting on Metro being the future. Many have said — correctly so, I think — that Microsoft wanted to deprecate the Desktop in an MS-DOS kind of way, at least over the course of a few years. From what I've seen, many of the newest APIs require Metro, while the Desktop remains mostly as it has been in Vista. Meanwhile, OSX is adding tons of new features for devs of all varieties with every new release, including features centered around security and power use.

Yeah, I meant "open deployment", sorry. I don't think there's an official way to develop for Metro outside the MS app store, right?

So mac's are (still, in case it needed to be said) open. Install and run what you want. There is a one-time toggle to disable running unsigned apps, and that's it.

ios is still locked down, and it's great for 99.99999% of users. Think about it this way: if there's one platform you could recommend to a non-technical user, a user that wants to run apps, and still have a safe computing experience, what would it be? ios. There's nothing even close. My brother runs three restaurants and does all the bookkeeping. After having his computer hacked and almost losing $x00,000, he purchased a separate computer just for bookkeeping. That's a little ridiculous. My gf's parents had a similar situation while they where building a house and had a ton of cash in their bank accounts. They've been hacked before, but for them, ios is a safe platform to log in and do their banking. No other operating system today provides safety and ease of use.

Excellent anecdote.

I share a similar story and one key thing I wanted to comment on was that there were never really any "open platforms" to begin with, not even on Linux. The fundamentals of that codebase might be available free for use, but the companies checking in code and building out distros are not doing it solely for the love of the game, their doing it to cut a profit as well. They would nail you to their garden if they could, and some already have! The classic example of a company that did this and ran with it is Apple.

The fact of the matter is if you want people to use your technology at a mass scale you need to abide by the same fundamental business and market rules that the big boys do.

So friend, free your mind from the chains of platform loyalty and go ahead and experience all the technologies available on all platforms, because at the end of the day that is what people like you and I truly want to do.

I've been using Macs since 2010 and only bought one item from the Mac App Store (a cheap game) to test it out. You don't need to use it if you don't want to.

I’m typing this on an Macbook in a house with just Macs and iDevices after getting back from work where everyone uses Macs, but honestly what’s wrong with just going down the Linux road? It’s politically better, hardware is as good as you want to buy and there’s no app store vetting (unless you install Steam).

There may be no app store vetting but is their developer fascism? (No offence meant). I only ask because I have seen the decline (in my opinion) of the desktop from GNOME2 to GNOME3 as they bin the traditional and usable desktop paradigm in favour of writing a WM for my mum to use, where desktop interaction is designed around "joy" and making window management "fun and refreshing" instead of flexible. Anything outside of this paradigm and simplification appears to be vehemently rejected (perhaps the CADT development model?), so isn't it just the same?

(Of course, I may be subject to downvotes for this, but it is just an observation and not meant as a "flame"; from a developer perspective, aren't we just subject to the same bunch of rules but from different overlords?)

And BTW, I was a happy Linux app developer until last week when I retired my crusty old VM, and have been using Linux since RedHat Apollo, so it's not a whimsical motion. I love Linux for my servers, just not desktop anymore.

Sure, GNOME may have changed direction. The difference in Linux is (as you're probably aware) there are many, many usable alternatives. If Microsoft or Apple introduced some bad behaviour to their desktop environment, you'd be looking at changing your whole OS (and even hardware?) to find something new; not just `apt-get install kde`.

Ah yes very true.

For the major projects that 80% of Linux users actually use though, there are strict guidelines. A regular viewing of planet.gnome.org shows the sweeping interface changes taking shape. And that's not to mention the underlying Linux dependencies that GNOME seems to be embracing due to Lennart Poettering's time at the helm. Arguments against sweeping changes appear to be trampled on, from what I can see? Unless I am misunderstanding it a bit?

Of course, WindowMaker probably doesn't have the same problem!

Agreed, I actually don't have anything against Linux other than the phobia and FUD of one who has never used it. It's on my todo list of weekend projects.

I've been doing debian on server for years.

I decided to go ubuntu 14.whatever on a laptop that had XP on it (Acer One) and keep it as-is, as a new user.

I was pleasantly surprised. install was smooth, all hardware works, and I just installed firefox, and it all works (99% of flash works).

I use it for gmail, facebook, twitter, ello, surfing, etc. The machine is underpowered for full-motion video, but oh well, it was $349 6 years ago.

I use terminal to ssh into remote servers, and I've done no configuration at all on the machine. it works fine.

"Suddenly Babylon had arrived on my desktop"

Haha such a genius thing to say.

I think most OS vendors are moving to this "app store" model as they see how they can easily distribute software and also railroad users and developers (for good or for bad). I'm not sure it's great (race to the bottom pricing + quality; see the Android Market for an example), but from a consumer perspective it is convenient.

The Mac ecosystem isn't walled like iOS. Its app store is just a convenience - most applications can be downloaded from their websites in the same way as the Windows EXEs you're familiar with. Apple isn't the final arbiter of what can be sold or what you can install.

iOS is locked down, but on the Mac side, you do not need to go through Apple to get and install software, aside from OS X itself and its bundled apps.

The Mac App Store provides convenience and security. It's not required, though. You can install whatever you want on your Mac, or load whatever website or web app you want.

I understand what you are saying, but its always been surprising to me how many folks who use Macs in this era don't. Those that do know there is an alternative to the store often view such items as a perversion of their system. Apps from the store are like old friends and family; there is a certain sense of safety and familiarity. Apps outside the store are treated as strangers, eye contact with such software is not advised.

Conversely, PC users tend to treat all software as guilty until proven innocent, and as a result many of us have developed our own workflow to determine quality and safety.

I guess I've always associated using a PC with a more "trust-yourself" attitude, and Macs with "trust-the-system" attitude. Obviously a lot of this is irrational bias based on a life time of having lived on the other side.

I get the opposite feeling. I would rather download a DMG and run the app instead of using the App Store, typically because I ran Windows for years and using an app store to install software feels alien. It feels like some part of the control of the system has been taken away from me.

Entirely psychological I know.

I agree with most of the points (pricing on the app store is the worst pricing model of any I've ever used), but I like that the apps are sandboxed. If an app requires functionality outside the sandbox, I'm happy to purchase and install a (signed) version straight off the browser.

Agreed, sandboxing is important. I don't mind vetting a company externally of the App Store if they intend to run outside of a sandbox.

There are problems with the iOS app store, but the Mac one is really a disaster. It's kind of shameful actually.

Its hard for me to imagine ever selling an app for a lump sum single payment. Software development is an iterative process and there needs to be a payment system reflecting that.

It's doable, though it has much to anti-recommend it from the developer's perspective. (I've sold 10k copies of my first software product. Guaranteed revenue for November as of November 1st: zero.)

But for the runaway success of the iPhone App Store model software-sold-like-shirts would probably be in even wider retreat than it already is. (The competitive models include "$X upfront plus 20% yearly for maintenance", "$X upfront plus an upgrade cycle which strongly encourages you buy a new version for 50% of X every 18 ~ 24 months", and, of course, SaaS. The popularization of the SaaS billing model is one of the biggest things that happened for software in decades, because it lets you sell $4,000 software to someone with $200 of willingness/capability to spend.)

Really? Because that's how pretty much all software was sold for many years. Recurring revenue meant improving the software enough that users decided to pay for an upgrade.

When the path to profitability is to improve the software so users choose to upgrade, the interests of the users and the developers are aligned; better software is good for everyone.

With subscriptions, users keep paying whether the company improves the software or not - so the less the company spends on development, the more is left over to take as profit.

As a developer, I think the traditional sale option sounds much healthier for the industry, and hence much better for me.

Edit: I interpreted the comment I was responding to as lump sum vs ongoing subscription, rather than paid vs free upgrades. In that light, perhaps the parent poster and I actually agree!

This was also set in stone before everyone had a internet connection capable of downloading regular and possibly large software updates. The convenience and feasibility of smaller/incremental updates (rather than yearly large version updates) has completely changed the distribution possibilities, and with that one has to expect changes to the way such software is bought/sold/rented.

This is very true - I wonder if the majority of Windows "enterprise" software is embracing this or whether they are still waiting for purchase orders before shipping out CDs?

Well, one of the complaints of the article was that the app store does not support paid upgrades, so by "a lump sum single payment" grandparent probably meant that the lump sum would entitle the user to all future upgrades, which is not how the traditional model worked.

There is a payment system reflecting that. This year you release version 1 or the 2014 version. Next year you release version 2 or the 2015 version with new features for an additional cost. That's how it always works.

Just don't promise "Free Upgrades 4 Lyfe" and then have to walk it back.

We managed with the 'lump sum and free patches to iterate' model for a very long time... It worked quite well.

You could similarly argue we used the waterflow project management style for a very long time and it worked "well".

While I agree with a lot of points regarding the weaknesses of the MAS, I doubt there is an exodus in sight. Two reasons: normal users and EU tax laws.

1. I know a lot of Mac users that use the MAS as the only (!) source for their software (even Scrivener and other software has come to the MAS that before was only sold through the developer website). These are "normal" users that are not developers or hardcore nerds. And they never see any problems with sandboxing (they don't even know what this is). But - and that is the beauty of the MAS for normal users: Apple has their payment info on file, allows easy browsing the catalog, easy installation, easy payment and easy canceling of the order just in case. In addition: iTunes gift cards that are sold with a discount.

2. With the new VAT laws in the EU starting 2015, it will be a pain it the ass for small developers to sell software and services through their website on their own - at least for developers in the EU.

Of course, developers of business-related software for developers might see advantages selling on their own. But an exodus?

Thanks for your feedback.

1. I totally agree with you on this point - the MAS is a fine store for something that costs $1-10 and maybe took only a few months to develop, maybe a hobby project. But building a serious business for apps that cost $30-50+ is much harder - it's possible but it won't be ideal (talk to the developers behind the apps in those categories). The point behind the article is that it doesn't have to be that way, the tools can be easily made available.

2. Only if you're the selling directly to customers (and even then it's not a massive deal as you can just signup for the VAT MOSS, which means you only deal with a single VAT entity, which you have to do if your sales exceed the VAT threshold). Furthermore, if you sell via a reseller, your sales lie outside the scope of VAT (as the sale is technically made by the reseller). For example, that's the case with FastSpring, as they're a US company and you will be receiving proceeds from them (assuming you're in the EU). FastSpring themselves handle all VAT related issues (they comply with all EU laws and will pay it out) - you don't have to lift a finger.

I've not read anyone mention "discoverability" as part of Apple's value proposition to developers.

Years ago I experienced great traction with the free download site Apple provided.

Prior to that - much more significant traction from the hundreds of PC download sites.

It's amazing to see how much the world has changed in 13 years for software developers. It's probably better not to look back. :/

This article does a great job hitting on a lot of the pain points for developers in the MAS. While not all of these are experienced by every developer all of them hold some weight.

I've had a real tough time dealing with sandboxing especially. In my app HD Cleaner (https://itunes.apple.com/us/app/hd-cleaner/id836769549?mt=12), users need to "open" their user folder in order for the application to get the proper access to files. Unfortunately this is a large hurdle for some users because they have no idea WHY they have to choose their user folder. This has lead to confusion as well as some bad reviews. The app could be a lot more efficient and convenient if these rules weren't in place. Despite this I think it's great Apple is taking security seriously. I just wish there was a better way.

I could never get over how slow the App Store or Software Update system was. I have a quad core Ivybridge i7 MacBook, and I still sit wondering if the Software Update program is working. I know it is frustrating in Windows land to have to repeatedly click "check for updates", particularly on a fresh install of Windows 7 but I was surprised how sluggish the App Store app was. Behind the scenes it is a HTML browser embedded I think, which I found particularly odd given the encouragement for Obj-C native development on the native platform. Just an observation - correct me if I'm wrong!

Unfortunately, Apple is always right and in this case you cannot even help yourself, like Apple hardware consumers do in Apple discussion forums. This is indeed soft and smoky dead end for many businesses.

> "Supporting app trials would be trivial" ... "zero additional complexity" ... "Supporting paid upgrades does not require much additional complexity, if any at all."

These remarks sound suspiciously like those software development clients who think their nephew could do the work for free in his spare time while cleaning the garage and playing Halo.

It's not about relabeling a button. Apple has enough talent to solve these, but these problems are not trivial.

Please note that I was not referring to technical complexity, rather cognitive / UX complexity.

I've been creating software for many years, I'm well aware that feature requests that look quite simple on the surface can require significant development efforts.

Having said that, implementing trials / upgrades is no a technical problem per se, it's more a question of spending the development resources required (yes, obviously there will be assumptions in the whole infrastructure that would require a bit of work but nothing that should have taken years to implement). In-App-Purchases were introduced a few years into App Store's existence, so it's certainly possible for them to implement major features when the willpower exists (and I'd wager implementing trials / upgrades would be easier than IAPs, although that's my guess, I have no internal information).

In any case, I very much doubt the reason for not having those features implemented is because they don't have the available development resources - it's more likely a decision was made that those feature do not align with Apple's vision of how the MAS should work.

I think most developers understood not having these features at launch. But it's been over three years now, and progress has been glacial at best. No one believes that Apple can't implement these things; their actions demonstrate that they don't consider it a priority.

I think this is a good thing. Problem with these distribution channels is that more popular they get Apple might be tempted to make it the "only" channel eventually dictating to us what software we can use and can not much similar to iPhone.

Of course what worked for iPhone would not have worked for Mac and hence there was no incentive for Apple to make Mac Store popular. Apple cares little about developers, it cares about itself.

I heartily agree with the devaluation of apps, the race to the bottom, the cheapest is the only one to install. The scourge of 99p apps on the App Store has spread to the other market-based ecosystems, where actual developer time and effort is considered very cheap indeed; most people I know who use Android will not ever ever pay for an app, for example. (Your experience may differ).

Another possible metric for rating apps could simply be how many users use an app on a consistent basis and how many hours they've logged in the app. If you get an app that has 5 negative reviews and 1 positive review, but you have over 100 people using it everyday for a few hours it should be rated highly regardless of the negative reviews.

I wrote some clever code that fixed a problem on Windows. When running on Mac the same code leaked memory and blocked the event loop. 1 star - "crashed my entire computer".

Mac App Store is a software updater for OS X and Apple branded applications.

Don't buy games on the MAS when you could be buying them on Steam instead.

Buy other software directly from the developer's website so you can be confident you're getting the software they intended you to have, and won't get burned by the MAS no upgrades policy.

the difference being that games I download from the app store don't require the App store to run. I have games not launch from Steam because it could not connect and the game was locked. Not all games do that, but some do not have offline modes.

I really don't understand your logic of avoiding Apple's App Store but supporting Steams version. They both have problems, odd restrictions, and the like. I do not care for Steam installing all the games I get from them into a subfolder unlike how other Mac apps are bundled. It makes it very difficult to find all of the games content

I'd argue that games are the best use case for the Mac App Store, Steam as others have pointed out has the cost of the Steam application.

For casual gamers, the Mac App Store is more than vibrant and has the same update management that Steam has, and its decoupled from a parent application.

Games rarely have upgrade pricing, almost never need extensive permissions, and while quick updates can be necessary, the necessity of upgrades aren't as crucial as a productivity/professional application where one's livelihood may be tied to the updates.

Yep, and I for one am very happy that they failed to make MAS the standard.

I wouldn't like the practices that run rampant in their iOS platform to take over Mac, which I still use on the side.

The only good thing about App Store is visibility. People aren't going to find out your own website, but they have learned to search on App Store. Developers need to have an alternative market place that are equally easy to download and update applications.

Mac developers, be grateful that Apple still allows you to sell applications for their platform that don't go through the "Mac App Store". Apple's general approach to applications on their platforms is "if it's profitable, it's ours". Try writing a competitor to iTunes.

Apple wants to provide a good out-of-the-box experience. That means their devices come with what customers really need. Apple now views aftermarket apps the way Detroit views aftermarket car accessories.

Mac App Store developers, you are in the same business as the company that makes the little tree-shaped air fresheners for cars. Deal with it.

Spotify, Lightroom and Skype replaces iTunes, iPhoto and Facetime for lots of people. Dropbox works better than iCloud when it comes to camera images.



I wonder if anyone voting this up has ever thought about what it takes to put something on the shelves of a traditional store. I think developers in general should thank their lucky stars that any of this exists.

Thats antiquated. Software besides console games are rarely purchased on shelves in stores anymore. Any software you can buy from the store can usually be purchased right off the developers site. In fact who says "Man I really need a new copy of XYZ, maybe ill run up to BestBuy and see if they have it..." Yes its nice for developers that this distribution channel even exists, but its hurting devs and customers more than helping them.

Devs can be aware that it's easier than ever to distribute software while simultaneously knowing that app store channels could be much better. There's nothing contradictory there.

Working with an app store like a physical store is a business partnership. We can and should advocate for terms and capabilities with partners that will help our businesses and our customers. This idea that devs should take it or leave it and not say why publicly doesn't make sense to me.

False dilemma.

Besides, this article is constructive - offering suggestions to improving the App Store. It's not simply a bitch fest.

This sounds suspiciously like "Don't complain that the bread is moldy. Some children in Africa don't even HAVE moldy bread."

If it could be so much worse, surely it's wise to fight against those who would roll it back?


Don't blame on Mac App Store, blame on the market instead.

In case of survival, change your business model as well as monetization approaches.

Can anyone explain the reason of "Down-vote/Negative" points?

You responded to a well argued post about how Apple could moderately tweak the market to make things better for all sides of the market and your response was "blame the market" and "change your business model" which is what people are doing by leaving the store.

I suspect the down votes were because you added little to the discussion, educated no one (with that particular post) and people thought it deserved to be pushed down the page.

> The Mac App Store is simply the most convenient way to purchase and download software, bar none.

to quote the great Alfredo Kojima, Gustavo Niemeyer and Michael Vogt, "lol"

I don't see the humor. When I bought a new mac recently, i logged into the mac app store with my apple ID and instantly had all of my apps on my new computer within 5 minutes. Over 20 apps licensed and installed in 20 minutes! In contrast, it took me the better part of a few hours to download and license Sublime Text and remember the URLs for all of the other software, let alone find and check the license keys. What could be easier?

Steam is just as easy. It does take longer than 5m, but that's because the files for the games tend to be huge.

The problem with Steam is that it has been somewhat typecast as a store for games only, and that Valve doesn't seem to make a lot of effort to get other types of apps in there.

Steam is a pretty nice place to buy games, I didn't know they sold anything else though. Thanks for the tip!

Not having to create a separate login for the store ('appleID' or whatever it's called), for one. Not having to manually switch back and forth between regions for reasons I still don't understand.

I'm on a mac but basically never use the app store anymore, because it's such a pain.

The average user has an iTunes account and doesn't switch countries on a regular basis. For the average user, the mac app store is dead simple and easy to use.

Then Apple should stop pretending.

What is your argument?

Mac App Store is really helpful especially when updating installed applications. Just a click away rather than launch every one to find out whether they need update or not.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact