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.
This story isn't about the iOS version of the App Store, it's about the Mac OS X version.
Either way, it doesn't surprise me much. When I want a Mac version of an App, I just Google the product name and download the .dmg file from the vendor's download site.
The developers probably like it better that way anyway, since they don't have to wait for Apple to review product updates before they are posted AND they aren't giving Apple a 30% cut of any sales if I decide to buy it after the trial is up.
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."
I have a Surface 2, and I really like the trial option that MS worked into their store. Apps can be time limited, feature limited, or have many other limitations. With Android apps, it's usually possible to trick the trial version of the app into giving you a longer trial by uninstalling and then reinstalling the trial app. The way MS has designed it, once you've tried an app, you're no longer eligible for the trial. You can either purchase it or uninstall it, but there's no way to revert the trial back and get the functionality back. It allows apps to give you a full trial with all functionality, without having to worry about people cheating the system and getting the entire app for free.
Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
... like that was the "good old days" of software development?
The exclusivity of the walled garden, the novelty of the device and platform, the deep pockets and enthusiasm of the userbase, this all created a gold rush environment for a number of years. (Remember that "I am rich" app that sold for $1000 a pop and did nothing but display a picture?)
Back In My Day, you only joined a small studio or became an independent developer if you had a REALLY INSANELY GOOD idea, were willing to work like hell for it (perhaps because you were tired of working for The Man), and were willing to evangelize it like hell, and even then, you were not guaranteed success, you were almost guaranteed to fail, but you did it anyway because you were deeply compelled. If you had to go slouching back to The Man in a few years, so be it.
The gold rush is over - and it's not a tragedy.
Programmers are as in-demand as they've ever been, and are paid fantastic money for labor that doesn't even involve, say, standing around in the hot sun, carrying a firearm, or constant exposure to hazardous waste. (Unless you count the exhaust from all those commute buses.)
After a few attempts that made it through the gauntlet, it quickly became a fool's errand. Why should anyone risk months of work only to watch some nameless, faceless drone at Apple issue a thumbs down rejection? At least in Roman times, the Emperor was brave enough to show his face when issuing the thumbsdown. What a wretched market. It's impossible to do anything except sell stupid games. (And I say that as someone who likes stupid games.) Then they have the gall to take 30% for doing next to nothing. Seriously. It's just a db insert and some FTP.
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.
It is amazing, given they are a big enterprise, but they really don't get what enterprises need, and just don't care. They want enterprises to use their iToys but don't want to spend any time on it. They just want to treat them like consumer devices and what you to spend your money and fuck off. It is really annoying.
They aren't much better to their people internally, either. Last time the campus Apple engineer came by, several years ago (our college doesn't use many Macs) it was shortly after Apple had suddenly discontinued their Xserve like. I asked him what they were going to do for their own web hosting, since they'd been using those. He said "I don't know, they didn't warn us about this or give us any guidance. We'll probably go back to using IBM systems like before."
The sad thing is Mac fanboys decide they want to use them for enterprise work, even though they are manifestly unsuited to it.
I've got a MacBook Air. It serves as my secondary PC (as a Windows user on the desktop and a Linux user on the server). Of all the apps that are installed on my Mac that aren't from Apple, I think only a single one of them (MPlayerX) is from the app store. From Dropbox to VLC to Chrome to Creative Suite to DiskInventoryX to SmoothMouse to Steam, almost nothing is available in the app store.
In fact, some things that I run on my mac (like Civ 5) through other "app stores" (like Steam) are available in the Mac app store... but are essentially crippled because they don't support multiplayer with the regular version of the game. And even though I bought the game, I would have to pay for it again to get the App Store version. Which, I wouldn't do, because I like actually being able to play multiplayer games with my friends who bought it like everybody else (through Steam).
they are manifestly unsuited to it.
I wouldn't necessarily go that far. I support both professionally, and there are certainly things about Windows that are easier. For example, Windows domains provide a lot of great tools. Microsoft Office is much better on Windows than on Macs.
But then there are some ways in which I've generally found easier on Macs than on PCs. They're all unixy, really. They come from the factory supporting php, perl, ruby, and bash. Imaging Macs isn't much harder than copying the contents of a bootable disk, and then running a command to make the disk bootable. There's no activation to for Apple's OS or apps. Many of the application install/uninstall consists of drag-and-drop (or just using a script to copy a directory in place). A lot of the configuration is stored in text files. The support is generally pretty damned good. And there *are* actually administrative tools that work pretty well, once you dig into it.
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!
The sad thing is I really like the OS, and I'd be happy to develop for it if they made development accessible and quit leaving trails of unfixed bugs behind them.
How exactly is developed not accessible?
- Apps do not have to be distributed through the Mac App Store.
- Xcode is provided for free along with all documentation. There are tons of other IDEs and languages as well.
- Yes, there are bugs, but all platforms have bugs. Surely as an OS X user you can see bugs as well.
I'm not sure what you're looking for to make development more accessible.