11 ms·
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'
by api 12y ago
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.
- jtokoph 12y agoIt'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.
- api 12y agoFunny... 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.
- milen 12y agoWhat'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.
- milen 12y agoThere'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.
- dubya 12y agoIt'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.
- api 12y agoSandboxing 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.