The slashdot crowd and FSF folks are talking about app stores/approval processes. They have a valid point — we users lose control when we must use an App store that restricts what software is allowed. Normally, I’m on the side against DRM ( which makes backup/restore a pain ) and for user choice in software. However, after having worked in computer security and the tech field for a long time, I must say that both DRM and an App store — as the iPod/iPad have done — is the right thing. Here’s my top 6 reasons why:
1. Software development should be restricted to registered developers
One reason why malware exists is that anyone can write and compile software. If you had to be registered to use a compiler and debugger, and the fact that you wrote the malware could be traced to you, you probably wouldn’t write malware. The app store model forces all software to come from registered developers — which greatly increases the security of the system. At least this — if you download an app from the app store, then you as a user knows who to sue should the software be evil. Fear of lawsuits is a powerful incentive to the developer to not be evil. An anonymous hacker has no such fear. This means that the Anti-virus needs of the platform are much lower, and horrible AV software doesn’t need to exist( unless you’re jail-breaking — but then, you deserve what you get — malware that only works on jailbroken hardware is heaven — the official users are safe, the pirates punished… Great!)
2. DRM gives small devs a chance
As much as 90% of PC software is pirated. Those pirates put real marginal costs on the developers. The devs have to pay for servers, which the Pirates access for free. The devs have to pay for bugfixes — which the pirates get for free. It takes real time and talent to make software. Few people can do it. Lots of people rationalize their theft with claims of, “But the software sucks.” If the software sucks, don’t use it! Just like it takes time and talent to make Music, Movies, Books, etc…, the developer of an App should get paid. Now, as scale increases, the harm of piracy decreases. At small scale, good software gets killed. If the device itself requires that all apps come from the store, the burden of good anti-piracy moves to a larger company, and smaller devs can focus on what they love — writing software.
3. App stores create more software
The primary motive for writing software for many folks isn’t kudos; it’s cash. If there’s an easy monetization method for someone writing software, then the incentive to try is there. Increase the incentives, and you increase the number of people doing this.
4. Users want their things to “Just Work”.
So much software doesn’t work. When you boot a PC — how long does it take? When you’re gaming, why should a new message notification pop-up? Most of the problems in computers are design problems of the software. App stores encourage lots of small, single task, software. Things like notifications become costly to developers, since they have to pay for them ( literally ). What does this mean? You get apps that don’t interrupt each other, since the developer has to pay a price to interrupt you. No more, “New message from 419 scammer” alerts when you’re gaming. No more “tray applications” or “system extensions” taking valuable boot time. You get to “turn it on and go”. In short, because the device is designed to require App approval before it gets on your device, crappy apps that slow down your system and interfere with other apps don’t get in. As a user, your device “Just works.”
5. App stores don’t stop open source.
The developer is still free to post their source code online. The developer is still free to give away their software. The nominal costs of becoming a registered developer is so low, that in reality, it’s only a barrier to hackers/malware writers. If you want to write software and give away both the source code and the App, you can. As a developer, the choice is still yours to make.
6. Approval maintains the value of the ecosystem.
Some apps may not get approved — oh well. Apps that don’t get approved conflict with the value proposition of the platform. Flash is a great example. Flash is an evil that should be blighted from this universe. Slow. Crashy. Insecure. The platform for annoying “fly-over” ads. You get the idea. By having approval, Apple keeps a bad technology of the device. Yes, we lose Hulu — but no-one is stopping Hulu from making an App to play their video on the iPod/iPad without the annoyance of flash. Youtube does it — and they have the same format! And think of this, developers — all those flash kiddies can’t rip you off — you can write apps that increase value of the iPad, and not have to worry about generic PC flash stuff ripping you off the instant you make something good. Granted, you’ll get ripped off by other App devs — but that takes longer, and that extra time gives you some extra cash.
In closing, the only thing wrong with the App store is that Apple isn’t strict enough. They should help enforce copyright/IP when a dev rips off something from someone else. But a closed ecosystem is exactly what computing needs, and users want. Open source still is fine — I consider Open source to be part of a closed ecoystem. Closed from malware. Closed from fly-over ads. Closed from crappy software that slows down and interferes with my computing. Great! Sign me up!