The Subtle Developer Exodus From the Mac App Store
An anonymous reader writes: Milen Dzhumerov, a software developer for OS X and iOS, has posted a concise breakdown of the problems with the Mac App Store. He says the lack of support for trial software and upgrades drives developers away by preventing them from making a living. Forced sandboxing kills many applications before they get started, and the review system isn't helpful to anyone. Dzhumerov says all of these factors, and Apple's unwillingness to address them, are leading to the slow but steady erosion of quality software in the Mac App Store.
"The relationship between consumers and developers is symbiotic, one cannot exist without the other. If the Mac App Store is a hostile environment for developers, we are going to end up in a situation where, either software will not be supported anymore or even worse, won't be made at all. And the result is the same the other way around – if there are no consumers, businesses would go bankrupt and no software will be made. The Mac App Store can be work in ways that's beneficial to both developers and consumers alike, it doesn't have to be one or the other. If the MAS is harmful to either developers or consumers, in the long term, it will be inevitably harmful to both."
"The relationship between consumers and developers is symbiotic, one cannot exist without the other. If the Mac App Store is a hostile environment for developers, we are going to end up in a situation where, either software will not be supported anymore or even worse, won't be made at all. And the result is the same the other way around – if there are no consumers, businesses would go bankrupt and no software will be made. The Mac App Store can be work in ways that's beneficial to both developers and consumers alike, it doesn't have to be one or the other. If the MAS is harmful to either developers or consumers, in the long term, it will be inevitably harmful to both."
You're coding it wrong.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
The author forgot the biggest one: money. I did a lot of iOS development in the early days and earned enough to buy a nice car (not super nice, just a mere mortal nice car). I'm now experiencing the long tail of the cycle. I get about $200-300 a month of sales. I wrote straight sale apps, not in app purchase type apps.
The biggest reason I don't do iOS development anymore (other than here and there) is because it's too damn crowded. I now have to invest in marketing and advertisement. I'd spend 3 months developing a really nice piece of solid software just to get a few downloads. It's not worth it for me. I've moved on.
The author has some gripes, and I have some more, but they are just gripes.When people were making good money on it, those gripes were farts in the wind. Now that most people are making no money, those gripes are still farts in the wind.
How many apps are in the Mac app store? Over a million? Who needs a million apps? They can't all be doing something different.
And who needs yet another free app to mine your personal data and sell it to someone? We already have Google for that.
Seems to me that the market is a bit saturated...
The NSA: The only part of the US government that actually listens.
I'm seeing a lot of comments about iOS, smartphones, Android, etc. This article is about the Mac app store (for OSX, NOT iOS).
I think he has some good points here, but as an IT (support) guy, I see other problems with the App Store that are completely unrelated. One of the biggest is the issue of "volume licensing". I don't know if Apple has sorted it all out recently, but last I looked into it, it was a confusing mess of a program with little administrative control. IIRC, at one point Apple was advising businesses to gift employees with applications that would then be bound to the employee AppleID, which is completely stupid, without the ability to withdraw the license and reuse it.
It's also pretty frustrating that you need to put in an Apple ID to install or update any application, even if it's free. For example, if the iWork/iLife apps are pre-installed on the system and there's a new update available, even though Apple detects that the apps are already installed, and Apple knows that the upgrades are free, it still won't install the updates until you sign in with an Apple ID. That might not seem like such a big deal, but when you're administering a few hundred Macs, it means that you either need to make every user create their own AppleID, or you need to provide them access to a company Apple ID which you then lose control over. Failing to come up with a solution means that your users are going to be bugged to update applications that they can't update.
And speaking of updates, AFAIK there's no command-line utility for the App Store application. This means that I can't control the thing with a script at all. Making it more confusing, there *is* a command-line utility to download and install system updates, which are normally installed through the App Store GUI. This means that if you look at a list of updates available for your system presented in the App Store application, you can write a script to install some of them automatically, but other updates need to be updated through the GUI. What I wouldn't give to be able to update everything with apt-get.
Getting back to the article, I'm not sure I completely agree with him. I understand his frustration with sandboxing, but on the other hand, left to their own devices, developers seem to do some really dumb and annoying things. For example, instead of using an installer or developing their app to be drag-and-drop, they develop a custom application that installs their software, making it difficult and frustrating to push out in an automated fashion. Or they code their application to require an installer, dumping their files all over the system, when it really shouldn't be necessary. I wouldn't be opposed to Apple supporting applications that require installers, so long as they (a) allowed customers to get access to the unaltered installer; and (b) kept tabs on what the installer did and rejected developers who used them unnecessarily. Otherwise, I think you'd see too much dumb crap on the App Store.
Exactly, there are plenty of ways to get software on a Mac.
Mac App Store is one, and it's required if you want to use iCloud (for security reasons - detailed below).
But there's also Valve's Steam (a good way for games), and you can always roll your own web store - it doesn't take much to accept Paypal or if you are a business, to get Amazon Payments or Google Wallet.
A lot of developers that started with iOS migrated to the MAS when they port their IOS apps to OS X - you find a lot iOS games "enhanced" for the Mac. Cross-platform games usually are on Steam, and there are few on both. Steam is nice, though it limits you to one user at a time, while MAS lets you have 5 copies on 5 different PCs at once. Useful if you want a quick multiplayer without having to have 5 copies (especially in a family setting).
Regarding MAS and iCloud, well, you have to hark back to the bad old days of Microsoft office viruses - they'd infect Microsoft office's default template files and then subsequently infect every document since then. Well, you can imagine one using a variety of exploits that infect an entire computer. Use something like iCloud and now the attack's persistent - you reformat the computer, reinstall the app, and boom, you're infected again (thanks cloud!). So Apple made sandboxing a requirement for the MAS, and use that with iCloud mean well, if that happens, damage is limited to within the sandbox. So you're isolating the rest of the computer from the infection target (since the sandbox keeps the infection to a small area) in case a persistent piece of malware tries to remain in that way.
Without sandboxing, a cloud storage account could prove very interesting. I'm actually surprised we're not seeing viruses try to persist using Windows Explorer vulnerabilities and say, DropBox. (Remember the ones involving specially constructed image files? Imaging putting one of those in DropBox, and now when you browse to it, your PC gets infected. And the virus makes sure to keep a compromised image there so even if you wipe and reinstall, you install dropbox and boom, infected again.)
In none of the articles could I find evidence of the 'exodus from the app store.'
Maybe the title would be better, "Things that Could Be Improved in the App Store"
"First they came for the slanderers and i said nothing."
To address some of your concerns:
You really need to get a hackintosh. Go to tonymacx86 and read up the most recent recommended hardware. When installing, make sure you start with the latest Mavericks, and the early versions required bootloader trickery with integrated Intel graphics. The most recent release doesn't need anything special besides the usual multibeast treatment. I have one and I'm not looking back.
There's simply no hardware I could buy from Apple to give me the same functionality at any realistic price point - especially that I really like to reap benefits of all-in-one testing done during hardware and software development at Apple. The new Mac Pro is fine and dandy if you have all of your storage and PCIe cards in a single external enclosure, but that makes it just too expensive, and you're shelling lots of money to someone else but Apple, the warranty doesn't cover the enclosure, it's not tested and validated during the OS X development, etc. Even then, if you bump the tiny thunderbolt cable, you crash. It's not that hard to put it all in one case, as the "old" Mac Pro demonstrates. They could have slimmed it down and modernized it. With some clever engineering, a modern Mac Pro with drive caddies and card slots could have still been very, very compact.
You probably have a Lion-compatible MBP, with something like AMD X1xxx graphics, right? If there's a 64 bit graphics driver kext for it in Lion, then you can run Mountain Lion via tiamo's boot.efi - simply copy the driver over from Lion. It'll work fine (BTDT). For original Mac Pro, it's even easier, all you need is the new boot.efi, a compatible graphics card, and you can boot Mavericks. Read here for details. In all cases, though, don't use Mavericks or Yosemite without an SSD for the OS itself. Even a 100GB SSD will be sufficient. I have nothing but stellar performance on "old" machines that were the first ones that still support Mavericks, but without an SSD it's essentially unusable.
A successful API design takes a mixture of software design and pedagogy.
To address some of your concerns:
You really need to get a hackintosh. Go to tonymacx86 and read up the most recent recommended hardware. When installing, make sure you start with the latest Mavericks, and the early versions required bootloader trickery with integrated Intel graphics. The most recent release doesn't need anything special besides the usual multibeast treatment. I have one and I'm not looking back.
You probably have a Lion-compatible MBP, with something like AMD X1xxx graphics, right? If there's a 64 bit graphics driver kext for it in Lion, then you can run Mountain Lion via tiamo's boot.efi - simply copy the driver over from Lion. It'll work fine (BTDT). For original Mac Pro, it's even easier, all you need is the new boot.efi, a compatible graphics card, and you can boot Mavericks. Read here for details. In all cases, though, don't use Mavericks or Yosemite without an SSD for the OS itself. Even a 100GB SSD will be sufficient. I have nothing but stellar performance on "old" machines that were the first ones that still support Mavericks, but without an SSD it's essentially unusable.
Now THAT'S what Just Works(tm) means!