The worst part about this is all the problems are easily solved if Apple simply put the resources into it.
* The actual MAS store app itself is a horrible piece of garbage wrapping a bunch of web views. Just make it a real native app and rewrite it.
* Sandboxing is great, but there will always be things that fall outside the sandbox. Have a "Power User / Developer Tools" category and associated checkbox in iTC that says "My app needs to opt-out of these parts of sandboxing". Put those apps through a much more strenuous review process.
* Relatedly, add more entitlements to the Sandbox, even if they also trigger a more in-depth review.
* Both iOS and the Mac app stores desperately need feedback mechanisms and some basic customer support tools. This has been obvious since at least iOS v4. I can only imagine this is due to Apple's inability to do good server-side software (and the organization doesn't value it like they value client software). This should automatically give you at least a private way to send a message to users leaving a bad review, then prompt the user to update their review if the response helped them. Asking users to review is hard enough... getting them to update a 1-star review is nearly impossible.
* Hire more reviewers. There is no excuse for reviews taking so damn long.
"The actual MAS store app itself is a horrible piece of garbage wrapping a bunch of web views. Just make it a real native app and rewrite it."
Native app is not really a black and white concept when you're talking about an app that mainly just interprets and displays live data it receives. If it's not html, then it's going to be xml/json/some other markup with a custom presentation layer on top. Why would that be better? In this case I just don't think you can point the finger at webview vs native as a problem or a solution. Yes, the app may be crap, but that seems mostly unrelated to the technology used to build it. I'm guessing it's more a factor of lack of resources, team member quality, management, or inter-departmental communication issues in a large corporation.
You're probably right. I would still agree with the parent in that they feel like a badly done webview wrapper, because the symptoms are so similar.
iTunes Store, App Store, MAS, Apple Music — there is definitely a pattern there, at least on the desktop. I find them all similarly clunky, slow, ugly and unpleasant to use.
Apple almost seems to be inherently incapable of creating a decent store front, and I am curious as to why they have that organizational blindspot.
Most of the most visible features and improvements I've seen in iOS over the years were developed by the jailbreaking community and eventually apple incorporated into iOS.
Care to actually list that? I find that incredibly hard to believe. While there may be a list of 5-10 features that meet the criteria, seems like most OS releases have hundreds of improvements here & there.
All of Apple is just sitting around waiting for jail breakers to innovate for them, no one has any ideas about what to do with their time.
Don't even get me started on hardware! Incorporating all that stuff Samsung & Dell or whoever is doing.
Well Control Center came from SBSettings, for one. On a 3GS running iOS4, you could quick reply to texts, play background music, have a visual multitasking interface, etc.
This was years before iOS 7. Though most of the concepts seem to be taken from Android, which took most of the ideas from defunct WebOS. Well, mostly Apple and Google hired former Palm guys for their design teams.
Even if you believe that Apple as a whole doesn't have the drive to make stuff as good as they can (fair, although I believe otherwise), and even if you believe they have a captured audience (how?) — do you indeed believe that Apple is happy with 15% (US) market share for desktops and laptops?
Even accepting everything else, that seems like a huge incentive to me not to get complacent.
Not sure where you're getting 15% from: the vast majority of articles I read have Apple's app stores generating far more revenue than the competition's.
So yes, I believe Apple is probably perfectly happy (in an upper-echelon corporate strategy sense) sitting on their cash cow as opposed to fighting it out for less profitable market share.
I don't think that most web developers looking for a job think 'Apple'. Google and Facebook would likely be their top pick and not surprising since both of those companies are far more web centric - Apple has historically not been so.
It's almost a chicken and egg situation where unless Apple builds top tier web apps they won't attract top tier web devs. Without top tier web devs they of course will struggle to build scalable, fast and user friendly web apps.
I'd imagine inertia also plays a role. Apple clearly have a lot of talent who know Cocoa and Obj-C inside and out. Chances are their current devs prioritise those kinds of apps over the kinds you might see Google or FB prioritise. Heck look at how long it took FB to come out with a decent iOS app. Their first mobile version was HTML with a native wrapper. It took FB time to build the talent base to do a decent app (believe they even had to hire Loren Brichter to consult to help them with it!).
Every company has its specialities. Apple is getting better but as their data loss issues with Photos and Apple Music, as well as their problems with MobileMe show they are clearly finding it hard getting web devs who can build what they need fast enough. It'll take them time - they have enough cash to get there but they sure are alienating a lot of users and devs with these issues.
The pattern is because they're the exact same app. All of those are just the iTunes Store, which is a web page on every platform. The iTunes Store is a little clunky but it works fine.
Apple also have the Apple Store, which is a separate thing that's a website - I believe it's a WebObjects app and the iTunes Store is as well.
The saddest part about this is that using WebViews really doesn't have to mean that it's clunky and slow. Slack's interface is pure HTML, CSS and JavaScript and it works just fine.
xml/json as uses now is data transfer format, not some UI markup.
As for why would it be better — because Cocoa is light years ahead in UI libraries and optimizations compared to web mess.
Its also very slow and whole UI is extremely buggy. Buttons would often be in improper state, download would start very slow, sometimes progress bar wouldn't show up even though download is happening. Resume would fail, caching would fail and almost nothing would give you any reasonable error message or something to solve the problem.
It;s probably the buggiest piece of software I have ever had to use. The backend service might be good (or not) but the basic store app feels like something written by an student.
I agree with you on almost everything beside the web view part. In my understanding web view is used because it's a very advanced layout engine and way easier and more flexible to deal with than to set all this up using the native layout engine.
WebView can work, but with no loading meters or error displays it's very painful. If a third-party developer released an app using WebViews the way Apple does, they would get a ton of complaints.
You had some reaaaaally reallly weird experience then.
I don't even understand what you mean by "laying out networked assets". With proper architecture your UI won't even know where assets come from.
100% with you. I love AppKit, but the amount of code required to make a simple custom button is insane. What is 5 seconds of CSS takes a good 30 minutes of wrangling with NSButton/NSButtonCell. The very existence of PaintCode is an indictment.
It doesn't make sense to say that WebViews aren't "native". With a little effort they can be made to blend in perfectly. It's the same CoreGraphics.
I think that’s countered a bit by less of a need for custom widgets. In fact I’d argue that one of the big points of appeal for native Mac apps is that they eschew tons of custom widgets in favor of the standard system kit whenever possible.
There’s also a good deal of power that you gain when writing custom Cocoa widgets; drawing is usually done with Core Graphics, which is a blazing fast, extremely capable C API. There’s a lot you can do in custom Cocoa widgets that would be impractical or dog slow with HTML+CSS+JS.
EDIT: Also, one big, big difference between WebView apps and AppKit apps is that while WebView apps might get their appearance reasonably close to native, they almost always miss the mark entirely when it comes to widget behavior.
> What is 5 seconds of CSS takes a good 30 minutes of wrangling with NSButton/NSButtonCell. The very existence of PaintCode is an indictment.
Imperative graphics and view hierarchies certainly make simple things tedious, but they'll never match the DOM's ability to occasionally make simple things nigh-impossible either.
I'm curious, if you call drawRect ugly then what do you call the menagerie of frameworks required to strong-arm the declarative environment of the web into the simplest of desktop tasks (shadow DOM, anyone?) Pot, kettle?
> With a little effort they can be made to blend in perfectly.
I'll believe it when I see it. I'll grant you that this works OK on windows, but that's due to MS making the decision to bring the widget kit down to web-level rather than the other way around. Meanwhile, iTunes and the AppStore continue the long and well-established tradition of poor integration.
> It's the same CoreGraphics.
Hidden behind a dozen trendy frameworks, a hundred bloated abstractions, and a thousand crusty layout engine implementation details to glue it all together.
If you know what you're doing(which Apple should since they created the constraint system), then it's not that hard especially with the current constraint structure. There really isn't any technical reason why they shouldn't be able to reimplement iTunes natively and use backend API's to just serve content.
Having played around with apples layout and general UI related stuff myself quite a lot I can tell you that it's a lot harder than webviews. We are talking perhaps 50X for the kind of stuff like the App store.
Apple totally has the resources to make a great native app experience, even if it's much more tedious. I don't see why they don't go the extra mile, especially since the app store generates so much revenue...
This is not a question of ability but what is gained from making it native vs. hybrid. You don't gain anything from using the native layout model that can't be done via web view.
There is no doubt the App Store is horribly done, but for the kind of content that is going to be in the store I simply don't see why they would choose otherwise.
Keep in mind that the apps also exist on the web. This would force apple to still make a web version and a native version.
* There's also the 30% cut, which makes no sense when you're talking about a well-known and well-trusted app like Sketch. Nobody fears installing Sketch outside of the MAS, so BC may as well host it themselves. I imagine the average new Sketch user discovers the app via recommendation, or article on the web, so BC will likely make more money away from the MAS. Especially when you factor in the improvements: faster bugfixes, and new features they can without sand-boxing.
Also for software more expensive than about $10, a trial is a must, and the Mac App Store doesn't allow for trials. So the user will seek out the trial version on their website, and then why even bother with the App Store?
I think the reason it feels so sluggish is that the servers it pulls data from take so long to respond. I don't think a native view would help with that, but it's absolutely something they need to fix.
> Have a "Power User / Developer Tools" category and associated checkbox in iTC that says "My app needs to opt-out of these parts of sandboxing". Put those apps through a much more strenuous review process.
I disagree with this. I like the sandbox constraint; i don't mind opting out of the app store if my needs necessitate dropping the sandbox. I also think the interface of the app store is the least of its concerns.
By Apple's own analogy, Macs are "trucks". So why cater to the non-power users when you know (by virtue of the fact that your other platform is strictly sandboxed) that practically all your power users are on the Mac?
I'm glad to see successful apps exiting The Mac App Store, and I hope others will follow. Unlike its iOS counterpart, which is great in many ways (new app discovery not being one of them), the MAS has unfortunately done more harm than good to the once-thriving indy Mac app-development scene.
It offers a low cost of entry, but also encourages "pump-and-dump" development, in which developers are actively (though surely not intentionally) discouraged from updating their apps once they launch.
It's designed to be the "anti-professional" means of app distribution, and it never reaches any higher.
Which is ridiculous when Steam is there as a shining example of what a store could be. Not having to worry about keys and updates is fantastic for me, plus good discovery and upselling opportunities for developers.
Someone is going to crack desktop app stores one day and do very well. The cost of entry is high (not necessarily in cash, more in reputation) but there are plenty of players who could do it. There's even scope in the SME market in terms of rolling up licencing and deployment. Hell there's even a use case for families.
I use and generally like Steam, but I'd never call its discovery "good". Users are drowning in the number of titles, the recommendation engine is pretty poor, and there's no support for filtering.
I'll never buy an RTS or a multiplayer-only game, stop showing them to me. I'll never buy an early-access game or a game with 3rd-party DRM, stop showing them to me. I could cull 90% of the stuff in my discovery queues, automatically, with 30 seconds of box-checking.
I'm also surprised that the desktop client has never implemented an "is this machine actually capable of running this game?" check. Non-trivial to implement, sure, but really useful.
Same here. I like and use Steam, but its UI for casually browsing games (aka "casual shopping") isn't very good. For example, when you are browsing a list of games, if you click on one to see additional details and then try going back, you lose your place in the list. This is infuriating for long lists. It kills the browse & shop experience.
The web interface for Steam is better than the app's. Then again, this is what web browsers are there for...
Yea that's the exact reason that I end up using the web interface for browsing games. The fact I can browse and open up 30 tabs of games and then look at them one by one without losing my place anywhere is so much nicer.
What does that have to do with HTML5 apps? In the browser, when HD-DPI support was added every page started using HD-DPI font rendering, HD-DPI CSS, HD-DPI SVG, only image were still lo-res
Conversely I still have native apps that are low-res only because updating them to HD-DPI meant shipping a new app.
Indeed. Except that, to get it, you-developer actually had to ship an updated browser with your "app" -- basically the same as any native app, except that instead of being "just turn on this setting in a plist and recompile", it means refreshing your little in-house fork of a massive browser project that barely anyone understands. Clearly Valve cannot be arsed to do that, so Steam keeps looking like shit more than 3 years after these screens appeared.
The universal toolkit is not so universal if every app ships its own custom version.
This is my pet peeve with Steam, too, especially because it seems to be so easy to fix. If only I had the ability to communicate my dislikes to Steam by blacklisting certain tags, the recommendation system would instantly become an order of magnitude more helpful.
Most tags actually seem to be spot-on and quite helpful, so the data is already there.
> I'm also surprised that the desktop client has never implemented an "is this machine actually capable of running this game?" check. Non-trivial to implement, sure, but really useful.
I've wondered that as well. A bit of data munching together with user feedback, in a similar manner to online fashion stores ("I found these size 11 boots a bit on the small side") would be quite helpful.
> I'm also surprised that the desktop client has never implemented an "is this machine actually capable of running this game?" check.
The problem with that is that dev's stated minimum system requirements are -frequently enough to cause trouble with such a check- either substantially too high, or quite a bit too low. After all, not every studio has enough cash to discover what is actually the lowest-powered machine that one can play the game on.
Besides the chance of a word-play on the famous quote, is there any substance behind this at all?
What would be the problem with finding a curator? It's not unlike how music industry has always worked -- from the era of finding a radio producer you like to the era of following a playlist on Spotify on some genre you like.
I have the same trouble finding good curators as I do finding good games. I don't know what curators are good just like I don't know what games are good. I'll look at someone and I'll think, "Is this person really any better than filtering by genre and then randomly buying games?" And I don't feel confident the answer is yes a lot of the time. I feel like I need a meta-curator.
I agree that this is not a particularly novel problem, though.
>I have the same trouble finding good curators as I do finding good games. I don't know what curators are good just like I don't know what games are good.
You should have even more trouble finding good curators than finding good games.
But the idea is that you need to find a curator ONCE, and then they suggest lots of games for years.
A curator not being 100% perfect it's OK too -- after all even one's self buying games they read about or even try their demos, will pick some dudes. It's unreasonable to expect a curator (or a recommendation) service to not do that too.
I think there is, yes. For me, finding a person whose reviews I can trust takes a lot of time, so it's useless for answering the question "anything good here I would like to play right now?"
I have been reading movie reviews for close to 20 years now; in all that time I have found just two people whose reviews I respect and whose taste mirrors mine so much that I can follow them blindly. With games it's just as complicated, if not more so.
>For me, finding a person whose reviews I can trust takes a lot of time, so it's useless for answering the question "anything good here I would like to play right now?"
Of course. You first need to do some work (find a curator you trust), before you can check a game they suggest.
But what would the alternative be? Either you ALWAYS search for yourself, or you search first for some curators and then follow their suggestions (occassionaly checking out stuff on your own too).
I can say with a very high probability whether a game is worth a look, just by looking at its tags. Of course that doesn't tell me whether I will ultimately like it, but then again reviews cannot do that either.
The ability to simply blacklist one or two handful tags would make discovery dramatically easier for me. That's all it would take.
> I could cull 90% of the stuff in my discovery queues
The whole point of the discovery queue is to expose you to a variety of options. If you want to search just those things you want, there are already filters you can manually use. These filters don't have all the options (please, no 'early access', I agree), but they give you the filtered lists that it sounds like you want.
A machine requirements check would be useful, but I can't think of many companies that would implement something that results in less sales. What's the upside? Maybe some good will? I'm not saying valve wants people to buy games they can't run or anything like that, but it would be an expensive ongoing effort to make less money.
>"is this machine actually capable of running this game?" check. Non-trivial to implement, sure,
Quite trivial, actually. They already do the necessary data-gathering at your end (i.e. their periodic automated survey), the only "hard" bit is data-gathering at the other end (when a game is listed).
It's so trivial to implement, in fact, that one has to wonder whether there are commercial considerations overriding the technical aspect. Maybe they don't want to piss off hardware and game vendors, maybe Valve would rather have you buy their console to bypass these considerations altogether... who knows.
This immediately calls to mind Grim Fandango Remastered which "requires" OpenGL 3.3 .
It doesn't, really. It has the ability to run the game at its original (1998) level of quality. But the developers chose not to enable this as a fallback. You have to rely on some guy on the Internet that figured out how to hack it so that it would work.
It'd be great if I could, for instance, filter out everything that won't run with the Intel HD3000 graphics unit on my cheapo laptop.
Not to mention it crashes all the damn time. Your store shouldn't crash when you full-screen a trailer!
I always buy games on Hubble if they're available on both. Sure my save games don't get backed up, but they are drm free. I'll even pay more if the humble price is higher for drm free.
I love when the top two comments on a story really nail it. In this case I think the parent comment combined with the GP comment capture the issue, when the App Store concept is implemented poorly, it negatively effects user experience, vendor experience, and customer satisfaction. When it is done well, it enhances those things.
The key is that Apple has not pulled off a successful App Store concept for MacOS yet, and worse they haven't really internalized some of the things that make App Stores "good" or "bad". As a result, people are leaving.
The response though will be even more interesting, either Apple can give application delivery the focus it needs and become the best in class example, or they can continue to languish, or worse they mandate by fiat use of feature which negatively impacts the brand.
App Stores try to be too many things at once. They started off as discovery, distribution, and payment processors. They have evolved into sort of microservice delivery applications. When the sandbox + App starts looking like a container instance running a unikernel, you've really supplanted the OS entirely. But that model doesn't work well for what many people think of as "productivity" apps.
I hope Apple chooses to give this problem the focus it needs. I could easily see this as the "feature" on which a lot of OS seats are sold.
> Apple has not pulled off a successful App Store concept for MacOS yet
They really did, for the first year or two of the Mac App Store's existence. It was great. All of the "$10 utility apps" would be there today if not for Sandboxing.
Maybe this wouldn't have included the apps where the 30% or poor support for upgrades/subscriptions would really impact sales (Adobe, Microsoft, perhaps, interestingly, Sketch...), but sandboxing is the only outstanding issue that prevents you from shipping an app to the Mac App Store.
Steam is terrible. It requires the whole app to be running and fully up to date before you can launch a game. It has a slow load time. Even on a decent machine, if you haven't played a steam game in a while and you want to run one, you might be looking at a good few minutes before the game even starts to load. In the name of what, stopping piracy? AFAIK most pirated games come from steam anyway.
I realise this is still better than Mac App Store, but I wish they just let me run a the game without running Steam.
All of the things you say are true, and I also agree on the "self-inflicted" delays a sibling poster mentions.
All of these mattered very little to me when I went to reinstall a game I hadn't played in two years, after a move and a computer crash. I have games on physical media that I can no longer install, or that I can't find the discs for. Fantastic games like Bioware RPGs, or Borderlands.
With Steam, I can open a fresh machine, install the Steam app, and then install (mac versions of) games I bought in pc-version, or for which I no longer can find the media.
Between Steam's library sharing, access to cross-platform versions of games, and the fact that I can install it from scratch anywhere I have an internet connection, I don't want to buy games any other way. There are many ways to improve, but that ease of recovery and reinstallation (not to mention that it saves my save-games in the cloud for some RPGs) has been well worth any performance hits.
The "whole app" is tiny, and I need to update it maybe once a month. It's not worth complaining about.
What you download is just a stub, when then pulls down the rest of the components required to run Steam. It's the same thing with their Linux installer.
Honestly the frequency with which companies are only offering stub installers bothers me. My company has an office in a country with terrible internet, and since Microsoft no longer offers an offline installer for Office (unless you have a volume license key, which we're too small to have), it's absolute hell to have our employees download and install office on their computers when they join the company.
> Honestly the frequency with which companies are only offering stub installers bothers me.
In general, I heartily agree with you. However, because Steam's primary purpose is to download and install huge gobs of data from Valve's servers, I feel that Valve's decision to ship just a stub installer is totally justified.
MSFT's stub Office installer, or Google's stub Chrome installer? Inexcusable.
Edit: Ugh. I should caffeinate. Steam's primary purpose is to let you play video games. However, the way it does that is by downloading gobs of data & etc.
* Start Steam when you log in to your computer, but have yourself signed out of Friends so you don't get friend activity notifications.
* If you're concerned about data usage, or don't want all of your games to update when you launch Steam, set your games to only update when you launch them. [0] Sadly, there's no way that I can see to make this the default update strategy, so you have to do this for every game in your library that has annoyingly frequent updates. :( Also note that you can configure Steam to not download updates when a game is running [1] and that Steam makes the update game you're trying to launch the highest-priority download.
Sadly, I don't see any way to run some sort of "Steam client and game updating" service that runs in the background and just keeps the client and your games updated even while you're not logged in to either Steam or your Windows account.
[0] Right-click on the game->Properties->Updates, change the value of the "Automatic updates" dropdown menu to "Only update this game when I launch it".
Thanks, friend. I appreciate the help, and I'm sure others will too. I reboot my MacBook Pro into Windows for gaming only, but I'll take advantage of your advice when I can.
if you don't want steam to be a distraction but still install updates, run it and put yourself in offline mode. the footprint is pretty small, except when it's actually installing.
Yes but all of that is achievable without a bloated hog that steam interface is. Just run a thin updater, with a task manager icon as only UI, and a separate app for the store and downloading/installing games. You can probably cram the rights management into the tiny app as well without making sacrificing too much.
If you don't let Steam run in the background, then of course it's not going to be able to update games in the background. The delay in launching games is thus at least partly self-inflicted. And Steam certainly has justifications other than DRM for being strict about keeping games up to date: any networked game will probably need to match the version of the server, and in general it's good policy for Steam to trust developers have good reasons for pushing out updates.
There are also Steam games that don't use Steam's DRM and can be run without Steam. It's up to the individual game developers whether to include the DRM.
Odd. On my six-year-old potato PC, Steam takes 10 seconds from the time I click on the Steam icon until the time the UI is up and I can interact with it.
> ...if you haven't played a steam game in a while and you want to run one, you might be looking at a good few minutes before the game even starts to load. In the name of what, stopping piracy?
Probably in the name of downloading and applying the most recent game patch. On the off-chance that you weren't talking about patch downloading, I started a game in my library that was installed, but that I hadn't played in over a year. It loaded just as quickly as any other game in my library.
If patching bothers you, run Steam in Offline Mode.
> ...I wish they just let me run a the game without running Steam.
If you want to go that route, you can probably find any number of methods to spoof the Steam DRM.
You can launch your games in Offline mode, which stops the need for having to go online/update/contact-the-Steam-servers-before-launch.
It's not totally straight forward though. You need to unplug your network device (or turn off wifi, etc) so the initial startup times out, and gives you the option to use Offline mode.
There might be a command line switch way to do that too, but I've never looked. ;)
That's up to the game/publisher. With Bastion for example, you can copy the game directory to another PC and it will still work. But most games will require Steam to run first.
Not having to worry about keys and updates is fantastic for me, plus good discovery and upselling opportunities for developers.
It's not that great for me. I've had a bunch of my Steam games put out breaking updates and there's nothing I can do about it but wait for subsequent rollbacks. It's a major flaw in the system that a breaking update can be forced down users' throats.
This includes breaking updates to the Steam client itself - which stopped working on 10.6.8 in November. I can roll back to an earlier version, but it immediately auto-updates to the latest version.
So now I can't update any of the games I've bought through Steam, or reinstall any I've removed.
Obviously I can't buy any new ones, either - but, even if I eventually update OS X (breaking many older Apps I depend on for work) and am able to run the Steam client again, there's no way in hell I'll ever buy a game through Steam again.
Automatic updates is great. The lack of ability to easily rollback is not. GOG's Galaxy has rollback built in. I feel like Steam will add it eventually.
I think games are much easier to sandbox than general desktop applications. Games mostly just need access to input devices, output devices, hardware acceleration, and disk access in their own private folder, all things that are relatively easy to provide in a sandbox.
1) It's buggy. Literally 50% of the time when I launch it, it says it can't reach the network. Meanwhile my browser and email are chugging along just fine. Another launch of Steam and suddenly it sees the network. No other app I run has any problem reaching the network ever.
2) Steam "updates" itself every time I launch. I see others saying it only happens once a month, but I literally cannot launch it and have it not update. If I quit and immediately relaunch, it says it's updating and starts downloading stuff. WTF?
3) It shows me ads. Note - it's not like the App store which opens to a list of "what's hot/what's new/what's promoted". It launches, I go to click on something and an ad for a game pops up in a separate window blocking the interface.
4) It shows me ads for games that don't work on any system I've ever used Steam on.
5) Support from Valve is non-existent. If you try to get support for a game, they will by default tell you it's the game vendor's fault, even before figuring out what the problem is. If you try to use their support forums, you are required to use a different login and password than the one you use for the store. WTF? Why would they ever do that?
The list goes on. It's just a terrible app. In my opinion the Mac App Store is lightyears ahead of it in just about every dimension I care about. I no longer use Steam when there's any other option available.
I always liked how when you buy a game, the app freezes, and you get the "thanks for purchasing" email before the app unfreezes.
I don't think it's a terrible app given everything it's trying to do (and primarily that it's a retail outlet, not a social network), but it can definitely do with a bit more polish.
Not only encourages, but forces. Any non-sandboxed apps that were released in the App Store prior to the sandbox mandate can be updated for "bug fixes", but any new features can explicitly not be included.
Which is a real shame because it's great to not worry about billing information, key management and pushing out updates (for both users and developers).
This is the part I wish could be solved. I hate having to input billing into various websites and apps and not being able to track licenses unless I do myself.
Steam has done well with that model for games, but being Mac only would be a tough sell. Apple's big advantage was instantly getting the App Store on every Mac.
Who says they have to be Mac only? It'd probably work out better to be on all major platforms, that way you can sell the feature of buy once, run on all platforms the software runs on. You also could allow single platform things onto your store too, like Sketch.
Not very unless you set yourself up as a store, in which case you've got the problem of trust, both on the developer side (why should we deploy to yet another store), and the customer side (why should we trust your fly by night store).
I keep wondering if Apple wants to kill OSX and take everything toward iOS, totally jailed everything, and the cloud.
I know if they did they'd lose me as a customer for anything other that (maybe) phones, but maybe they don't care about that market.
The only way they wouldn't would be if they grew up iOS into something you can do real work with -- allowed end user app installation, emulators and VMs, containers with full Darwin installs that could run homebrew, etc.
It could be done, even without sacrificing ordinary user experience -- just hide the advanced stuff from regular users and require a little magic incantation to unlock it. But it would run counter to the padded room you-don't-own-your-device philosophy of mobile so I can't see the iOS team going that way without being pushed from above.
Of course they have been updating OS X fairly well, so maybe not. Maybe the poor App Store experience is just like the poor Podcast app and other things -- an internal problem with motivation, direction, and focus in certain areas. Organizations can easily forget about things that are important but not 'hot'.
> I keep wondering if Apple wants to kill OSX and take everything toward iOS
Tim Cook: “iPad is the clearest expression of our vision of the future of personal computing.” The writing is on the wall, assuming you count U+1F4A9 as writing.
> I keep wondering if Apple wants to kill OSX and take everything toward iOS, totally jailed everything, and the cloud.
While the Surface and iPad Pro continue to improve, I have a really hard time seeing tablets "killing" laptops like, for example flash drives and cloud storage "killed" CDs.
I'm not quite sure this is a winning strategy for them. There has been hype for a while that tablets will replace laptops. But looking back, there was a huge backlash against Windows 8 and the touch elements of it. Android tablets continue to vie for a segment of the market that feels like they're competing with iPod Touch, iOS, like you mention is still locked down.
It feels a little bit like it's being pushed. The reality I think is that it's being pushed a little and pulled a lot by the mainstream of the market.
By mainstream I mean non-tech-savvy users, non-hackers. That's most people. I can completely understand how wonderful a "managed platform" like iOS is to a non-technical user. No malware! (Or at least greatly reduced risk of it.) No OS rot! No IT! No complicated system administration! It's like replacing a hand-cranked car by one with electronic ignition and an engine that doesn't constantly need retuning.
For most people "freedom" means the freedom to get crapware and malware, spend hours that you can't spare futzing with your computer and getting nothing done, and have to reinstall your OS every year because it gets borked. Non-hackers hate platforms like that with a passion that it's difficult to understand. I often try to communicate it by comparing it to cars: how would you feel if you had to tune your engine every week, manually inspect every tank of gas for adulterants, and periodically stop your car to perform an inspection as you drive down the highway?
At the same time, the car analogy is deeply imperfect. In the computing world when you trade Windows or OS X for iOS you're giving up a lot of capability and a lot of freedom. Tech-savvy and professional users either don't want to give that up or as is the case with developers can't give it up.
But the problem is that non-tech-savvy users are most of the market, especially as computing becomes more and more mainstream, and most of the market is the market for a large company like Apple. Edges of markets don't matter. As such, I see the majority opinion of the market pulling things away from open platforms and rich capability and toward a managed, simplified, jailed, iOS-like future.
I think there's a real risk that the professional will be left with a choice between the awful UX offered by pure OSS and being forced to adapt to iOS or similar platforms.
Hey, maybe it'll prod the OSS folks into really taking UX seriously.
Yeah.
I'm not encouraged by what I see there nor by the combative/ultra-defensive attitude you get in those circles if you bring up this topic. One camp will insist that the latest Linux desktop or Ubuntu phone or whatever is great and is totally comparable to iOS and OSX and call you an idiot (and worse) for daring to think otherwise, and the other camp will just call you an idiot for "needing" UX or even a GUI at all because "real men" blah blah blah and why don't you read e-mail in emacs? I used to wade into those debates from time to time, but I stopped after I wrote a blog post (years ago) about Linux usability with some ideas about how to improve UI/UX development on Linux and the responses were full of insults I hadn't heard since Jr. High... not to mention one DDOS attack against the server.
It won't happen. Too much development work is done on OSX; specifically, iOS development _requires_ OSX. Until they start putting out an XCode environment on iOS that improves on what's available on OSX, they won't be killing OSX or Macs.
Just to play devil's advocate: what specific things about the MAS "[do] more harm than good" or encourage "pump-and-dump" development as you say?
I'm not trying to defend the MAS, and I think it definitely needs improvement, but are we really worse off for it?
The two things mentioned by the Sketch developers are app review time and sandbox limits. Those same things exist on iOS, but I keep hearing people say the MAS is somehow worse. From Apple's perspective, the sandbox limits are arguably justified by a desire to provide greater security and privacy controls. The review process is basically a consequence of that same goal - though of course, review time could be greatly reduced.
It sounds like the core issue for people is sandboxing. But what specifically about sandboxing is the issue? Are the sandbox limits really too restrictive for most apps (I guess new APIs/permissions could improve that with time), or are there just a lot of developers who prefer not to rework their apps to deal with the sandbox restrictions? Or is the very idea of sandboxing the problem (or perhaps the default security setting for allowed app installation)?
As long as apps can be distributed outside the MAS, I guess I don't really understand the problem. The MAS adds a lot of convenience, but as usual, the convenience comes at a cost, and thankfully users and developers can take it or leave it.
No non-free upgrades. To release version 2 of your app with a fee you have to release a new app. There's no connection between the two and AFAIK no way to provide a discount for existing users.
As for the MAS harming devs it's the "official store of OSX" so users are arguably being trained to look there and only there for apps. So sure you can look elsewhere but Apple is fighting against you.
30% cut is very high as well. I think existing payment systems for shareware apps were 5% or less. What do you get for your 30%? Support? No. Discovery? Not really. File Hosting? Ok, maybe but is that worth 30%? Easy upgrade and install. That's about it but usually that would be mostly handled by a free library.
The other things, yes, but 30% cut isn't a real problem. Have some perspective. You used to pay a lot more than that for packaging and distribution as a software developer, when software was still physical goods. (Yes, shareware, sure, but the number of developers who made a living out of shareware was extremely small.)
Have some history. After the physical distribution are and before MAS, there was (and still is) a large number of indie OS X developers distributing digitally. For a long time, FastSpring was the de-facto standard and its rate is 8.9%. Add a CDN or DevMate and 10% seems reasonable. DevMate in particular makes the difference stark: more flexibility, more functionality, 20% less.
The difference is history and options. Computers have a 30 year history of apps and buying options. Smartphones don't. iOS has only one way to get an app on the phone. Computers don't
there is convenience in finding apps (single place to go instead of the entirety of google results for a word) and in getting updates as a user... there is a greater amount of INconvenience to developers. Also, inconvenience to users when the app needs to gasp interact with other parts of the filesystem as many of the apps do. Inconvenience to users when they need support. Inconvenience to developers when they want to give support. inconvenience when you want to refund a users purchase (can't do it). inconvenience when you want to convey information to your users. etc. etc. etc... the INconveniences SO outweigh the conveniences...
Not everyone will agree, but 99% of the apps I use shouldn't need to interact with other parts of the filesystem. I'm not sure how the MAS prevents users from receiving support, or developers from giving support (or conveying information) as you suggest. If anything, it encourages those things; every app listing requires a developer link and a support link if I remember correctly, in addition to all the other customizable information, images, and links - not to mention almost unlimited support/information that can be provided within the app itself. And MAS support does give refunds, albeit at their discretion - but that's how much of the retail world already operates. Many developers would consider that an added convenience.
Again, my contention is not that the MAS is perfect, but to say that we're worse off for having it is hard to fathom. If the inconveniences really outweigh the conveniences, then distribute your app outside the MAS. Problem solved.
I can understand similar complaints about the iOS App Store since there are no alternatives (outside of jailbreaking) for native app distribution, but in this case it's just an option. Is the existence of the MAS really worse than not having it as an option (inferior as it may be, depending on your viewpoint)?
Many OS X apps are utilities that help you work with other apps. Running all the time in the background, monitoring, looking at keyboard input, observing folders, etc. These types of apps are fundamentally at odds with the Sandbox. But they're used often by many/most OS X users, even the less technically inclined.
Whereas the design and simplicity of iOS has ensured, from the start, that these types of apps cannot exists on that OS.
> Are the sandbox limits really too restrictive for most apps (I guess new APIs/permissions could improve that with time)
The last 5 years have proven that Apple is not interested in granting exemptions to the Sandbox or new entitlements for, say, Accessibility apps.
A good point about utility/accessibility apps. For most everything else though, I prefer not to inherently grant all those permissions to every app I install.
But again, Apple doesn't require distribution through the MAS (even if the majority of apps can work effectively within the restrictions), so how does the MAS's existence make the OS X ecosystem worse off overall?
If Apple is ignorant enough to leave money on the table by failing to provide a good marketplace/environment for a large number of apps (as may very well be the case), then non-MAS distribution will still flourish. Maybe they'll wise up and improve the situation in response. Maybe not, and we're back to the way things were before the MAS.
It's not the existence of the Mac App Store that hurts, it's the existance of this (theoretically) great marketplace that we can't use to distribute normal, useful OS X apps. Especially if you had a great little app going in the MAS, and now can't update it because it can't be sandboxed.
And hosting, key generation, payments, etc. are a fairly significant roadblock to shipping an app that the MAS formerly allowed you to completely ignore.
If you can't make any money for upgrades, and there isn't a new influx of users, then there's not much money to be made by updating your app after release—only the people who would buy it after the update, but wouldn't have bought without it. Everyone else either paid you all the money they could, or will buy it anyway.
I would say the sandbox limits on the MAS are worse, because they go against what a computer is supposed to do. Limits on the phone are considered ok, because first and foremost, the phone has to operate as a phone.
If I cannot use my computer to give a presentation because some "utility" app is crapping all over other apps because it has free reign of the system, isn't that going against what my computer is supposed to do for me?
The ability for any normal person to identify, understand and resolve issues caused by the wild west of "desktop computing" should be well understood at this point -- they cannot.
Also, the problem of unmaintained paid apps should be addressed. Yes, you can rate 1 star the app, but wouldn't be better to quickly file a 'not working' ticket, and let an Apple employee check the app? I mean, Apple is getting a generous cut from the sell anyway.
Sketch always seemed hampered by the Mac App store.
I'm really hoping this opens the door for more flexible licensing for Sketch. The Mac App store is a bit of a pain for multi-seat licensing and upgrade pricing.
Low cost of entry? It's actually quite high... my company still has to distribute instructions on how to disable Gatekeeper on your Mac so you can install our app. We don't have the resources to pay the $100/year "Apple tax" and also spend the 2-3 days developer time on figuring out how to sign our app and make it work with sandboxing.
For me, low cost of entry means "you put the app up for download, the user downloads it." Like the old days. No certificates, no Apple tax, no hoops to jump through.
If $100/year is too high for your company, you quite probably have more serious problems than the App Store.
I don't distribute Mac apps through the app store, and signing a regular app (no need to worry about sandboxing) with your developer certificate so that it can run without disabling Gatekeeper literally involves clicking a single radio button in Xcode.
The thing that's craziest about the MAS to me is how bad the actual application is.
It's super slow, constantly hangs, and is just such a bad experience from the consumer side that it undermines the (very real) benefits of having a centralized store of applications you've purchased and installed.
It'd be one thing (and a fairly standard Apple move) if the customer experience was good and they didn't care about trampling developers to get it that way, but the actual customer facing software that is the App Store is a shockingly bad piece of software.
I dread ever having to run the Mac App Store to get an upgrade. (Luckily, I only have to do it for Xcode and OS X.)
It asks for my password literally every 15-20 seconds. Once I tell it to upgrade everything, it selects only one upgrade, and keeps telling me there are upgrades. While the upgrades are going, it keeps asking me for my password.
At that point I go off and watch TV. When I come back, it's actually downloaded all of the upgrades, and there's a message about how there are more. After I've entered my password a few more times, it tells me I'm up to date.
Then it asks me whether I'd like to upgrade.
I guess once their work experience students get bored working on Xcode they put them on this instead.
As far as I can tell, it's not universal, but still somewhat common. (My computer has always done it ever since I bought it new in April.) It is a bit annoying. But since I use the MAS so irregularly, I can get by. I do wonder what the cause is, though. I'm less certain I'd like to know how Apple have so far failed to get to the bottom of it.
On OS X and iOS Apple’s developers tend to treat every network error as a reason to nag you to reauthenticate. I have opened bugs for this in almost every app they make and it's like playing whack-a-mole where they'll fix one instance in one app and then it'll show up in the major release or a similar function somewhere else.
Radar is bullshit. Apple should make it easy to file bugs and get information about them but they've been using this piece of jank since forever. If I file a dupe I have to inquire about it every now and again because you can't just add me to the original? Yeah, I don't think so.
That's basically my experience as well. Now imagine that your connection is rather slow, which forces you to start larger updates before going to bed - I can't count the number of times I woke up to a password entry dialog and no download progress at all.
It takes me ages to upgrade anything there since I really hate opening that app. With 1 Mbit/s connection even process of searching for updates will take a good minute.
> It asks for my password literally every 15-20 seconds.
That's really odd. It's a bad app but I've never seen that (in fact I've almost never need to enter my credentials). Are you sure it's your iTunes password? Maybe it's your keychain password and you have your keychain locked (which therefore you're going to be prompted for its password every time a service needs to grab the credentials stored within).
It's funny, too, that Apple feels there is enough development time to do things like implement completely non-standard UI components but not enough time to fix a growing list of real problems.
To this day, I click on things and assume my click just didn't "take" because nothing seems to be happening. Sometimes that's true, and other times it's because the Mac decided to display progress in the least obvious places.
Ironically the one thing that doesn't update cleanly through the App Store is the OS itself, even though I suspect that was Apple's main reason for creating all this. When El Capitán came out, at first I thought it wasn't even available because it wasn't structured as an "update" to anything (in direct contrast to the way every other upgrade works, including the minor 10.x.x updates!).
It's not structured as an update, and that's a good thing. This way, the update to 10.10 is treated as separate from the update to 10.11, meaning you can still download both should you need them.
Great point. The "updates" tab is a complete mindfk, you can't filter by OS version (which the app presumably knows, yet chooses to ignore) so you can spend lots of time investigating an app, only to find out at the last moment that you can't actually run it, and - a personal bugbear of mine - none of the text is proper selectable text, so it can't be copied.
And tell me I'm not the only person in the world who has to manage several Apple IDs ...
The one thing that keeps bothering me with MAS updates is that you cannot see the download/install progress.
It will show it at first, but then the progress bar indicator simply disappears after a short time. I have to close the App Store window and reopen it, often multiple times, in order to be able to see the download progress again.
This is not an issue for smaller updates, but larger Xcode updates are a pain trying to figure out how much data has been downloaded so far.
For some reason Xcode updates are shown in Launchpad (both the dock icon and if you can manage to find the app in Launchpad itself) and then sync'd back to the App Store after some delay. The delay seems to be completely random.
I think for some class of updates that includes Xcode and OS the App Store uses a separate tool to download and run the update so it has to use some sort of (very) delayed IPC mechanism. Regular apps update through the App Store itself so it shows progress immediately.
The MAS is excruciatingly slow. Switching to each tab takes 7-10 seconds for me on my late '13 Macbook Pro Retina with a very fast internet connection. The tabs seem to work in a similar way in iTunes. You would think they could precache the other tabs after the current tab loads. Nope.
Indeed, I actually have a ridiculous and frustrating ongoing problem, apparently insoluble, where no matter how many times I update an app that appears under "Updates Available", it will reappear after seemingly successfully updating.
So I've installed the identical copies of XCode, iMovie, The Unarchiver, etc., etc., over and over. Then entries with identical versions and release dates very shortly after reappear in the list.
This, on top of countless other frustrations (such as transferring my MBP from my home "battlestation" to offsite causing full system crashes about 1/3 of the time, Time Machine not working properly with my NAS setup, WiFi overheating/malfunctioning FUBAR right after upgrading to Yostemite, various other minor random things breaking and annoyances, and so on, including the generally arrogant attitude Apple takes of its customers and developers), I've had enough. Next computer I'm running back into the arms of Linux, because the main argument against it is that Linux eats up a lot of time configuring, but I'm already wasting way too much time dealing with my OS' issues, one that ostensibly "just works", so I might as well get the benefit of having a working, productive development system at the end of it.
Frankly, the slowness of the Mac App Store and its connection in China is the starting reason that some Chinese developers seek Xcode outside the official channel, hence the XcodeGhost.
I used to have an app in the MAS but recently removed it and is using Paddle instead.
There are so many things wrong with the MAS.
Sandbox is the biggest complaint I have. I can understand it with the iOS to some degree. At least there they are constantly providing new features and hardware changes to help apps keep being innovative.
To give an example of the Sandbox issue.
We are using AppleScript for some of our logic in the background. Because of the Sandbox every time AS is used a little gear pops up in the top menu of OSX.
This started with Yosemite. But worse than that. The implimentation of this security measure was completely sloppy. The gear didn't just appear it also rearranged the top bar icons and I of course got a horde of users complaining. We tried many things to solve this but had to finally give up and just offer MAS users to switch to our non-MAS version.
You would think that at least people would be able to turn off such a thing with apps they knew were ok. But no.
Furthermore reviews can really make you or break you. For a long time we had good reviews because I spent a lot of time making sure people understood why the spinning gear was there. But after a while one star reviews started appearing and we had no way of mitigating that or contact the user and tell them they could switch to the non MAS app if they had that issue.
And so I finally realized that if you want to actually do any innovation with your apps and built a proper business MAS is not for you.
I am beginning to wonder if there is room for an alternate App Store based on the the Developer Certificate or some security setup open sourced.
Anyway. My next product wont even be going on the MAS. It's simply not worth it. It's just a distribution channel for Apple to show their latest features (the only way you get featured)
Although I am happy that apps are moving out of the MAS (it is slow, updates are slow, no possibility to offer upgrade licenses), as a user, Sandboxing is something that I want for every possible application. The model where an app can e.g. touch your whole home directory should go.
And for those potentially dangerous Mac apps that need to touch your home directory or essentially become a key logger, I'd want them to be as watched by Apple as possible. Keep them in the Mac App Store, with a strict permission / entitlements model.
That's what I've never understood about the Sandbox policy. Those apps will still be shipped... they're just another level removed from Apple's oversight. And it's not like iOS, where not allowing those apps ensures that 99.9% of users will never ever see those apps.
Gatekeeper helps with this to a degree, but why not just allow them in the Mac App Store?
I don't disagree but I think there must be ways around this.
For instance I don't mind Apples requirement that you have to ask for permission to access various files or folders but it should be possible and not come up with things like a spinning gear skating around your menubar. Those things are just sloppy.
A simple. "I trust this app to do more crazy things with my machine" feature must be possible to do.
Really? If that model is so awesome, how can I ever implement a screen reader for Hearthstone? Or how can I implement a deck tracker for Hearthstone?
Or any other kind of wild shenanigan Apple hasn't ever thought of.
Keep that stuff for mobiles.
If PCs also become grandma only territory, how will really interesting apps ever be developed? Interesting almost always involves "dangerous" somewhere along the way.
With a two tier system. I believe you should still be -able- to install apps that have wider rights but you should have to jump through some hoops and make sure the user is aware of what he's doing before installing them.
I'm not really an OSX developer, but shouldn't it be possible to bypass the sandbox in a way by offering the user to install an unsandboxed auxiliary application via a download from your website which then communicates with the main sandboxed App Store application using some protocol and performs any actions which the MAS version would be otherwise unable to?
For example, perhaps the auxiliary application runs a local HTTP server with a REST API. The MAS application simply makes HTTP requests to the auxiliary application such as `POST /applescript/doStuff`.
Against Apple Terms I believe. They will ban you if they find out.
I was talking with apple support and they basically said that if we even offered some extra component to get rid of the spinning gear we would most likely be banned.
Citation of the specific term needed. It isn’t against any of them and plenty of apps do it (Things, Boom or Monity come to mind). Apple requires that the app is functional without extra downloads and the app itself must not download the extra executables. But it’s OK to use them for extended functionality (Things: system-wide popup; Monity: extra sensors) as long as you only point the user to where to download the extra helper and they do it themselves (see e.g. http://www.monityapp.com/helper/ for one such helper download page, linked from in app).
I tried them. Integrating their SDK is a breeze. 30 minutes and you're ready to go. I also signed up for their paid analytics package. It's OK - nothing revolutionary but enough to track events.
A few weeks later I wanted to cancel the subscription (app development would take a little longer). But there's no button to cancel. So I wrote them an email and all I got was a reply where they'd like to give me a Skype call to "talk over my decision".
That and their regular "customer engagement" emails (I just want to use your service, I don't want to video chat every weekend) made me choose Devmate instead.
(I still pay the $10/month for the analytics so I guess their plan worked).
Surprisingly good. They don't support anything out of the box but they always seem to have a workaround (for instance I am switching to a "nag" demo model instead of a time based one i.e. like Sublime)
Stuff like that is not natively supported by Paddle but it will be and there are ways to do it through their framework.
And as long as I price my app at around $10 or more it's cheaper than MAS.
I am writing a "year in review" post about Ghostnote where I am going to spill all the beans :)
It already can. You don't need to go through the MAS to download and install an app on your Mac.
What I am talking about is if I am downloading something from the MAS. If I am using an app and it pops up first time with the spinning gear I should be able to hide the spinning gear for that specific app.
I find it absurdly ironic that such a powerful system doesn't give me that simple ability.
It's my understanding (albeit limited) that the spinning gear was an indicator to the user that AppleScript was doing something (did I ask the app to do this?!?!)
You will always see the gear in the menu bar if you are using Automator.
Not having the spinning gear just because app came from MAS implies a whole level of trust that Apple probably isn't ready to afford. But again I have no idea about Apple internal design mentality.
I think the issue is that sometimes the spinning gear doesn't go away after the script completes confusing users. This is an OSX bug not anything to do with the Mac App Store.
The issue was literally that the gear would pop-up and start switching around the order of the icons in random order. It wasn't even consistent. Some users had it on Yosemite others didn't.
Surely it should be possible to turn of the spinning gear without having to turn of the security measures.
That's like saying I should be able to turn off the lock icon in the browser address bar for HTTPS. Those spinning gears are there to tell the user that stuff is happening, even if they might not be aware that they requested something to happen. If you can turn it off, then every piece of malware is going to tell the user that they can't use the app unless they turn that off. And then they have no protection, which is the exact opposite thing that Apple wanted.
If you let anyone turn it off, then effectively you've let everyone turn it off.
Again. The gear is there to tell you something specific is going on but most people don't care about that. So of course it should be possible to turn it off for specific apps that you actually trust.
This is only an issue with Sandboxed apps not apps outside the app store. And it wasn't an issue until Yosemite.
Not sure why you keep insisting on arguing against something that isn't what is being suggested for a solution.
I avoid buying from the mac app store as much as possible.
If Apple ever decided to change mac os x to no longer allow external applications, I would switch to Linux right away. I don't want to do that because I do like the os X better a GUI... But there's no way I'd stay on a system that wouldn't allow me to do what I want with it.
> If Apple ever decided to change mac os x to no longer allow external applications, I would switch to Linux right away.
Even if that did happen, which it wouldn't, what would stop you from compiling the application yourself, theoretically? If Apple computers allow for compilation of their own software, which they probably always will given that a Mac is the only way you can make OS X or iOS apps at this time, then OS X will never get to a point like the iPad wherein you are very limited in what you can do.
Maybe you'll only be able to run your own software after getting an expensive code signing certificate and going through an identity verification process. Or it'll be like games consoles, with the "dev" versions being different from the retail ones.
They're actually moving in the opposite direction. With iOS 9, you no longer need an expensive code signing certificate to load your own software onto an iPhone.
You can compile software for iOS too. If you consider this to be an adequate escape hatch for the Mac, then it must also be one for iOS. If OS X "will never get to a point like the iPad" then the iPad can't get to that point either!
But you can't compile software for iOS on iOS, can you? You'd need an iPad + Mac to compile the software. You don't need {{external machine with different OS}} + Mac to compile OSX software.
That is true, so we could limit it to "if you own a Mac" then the iPad is not limited. But basically nobody actually bothers to work around the limitations in this way, aside from recent events surrounding f.lux.
Because you would lose your customers. If my operating system limits me from doing things that I can do on other platforms and I want to do them, I will simply not use the system.
Are you realizing Mac is used also by creative people that use Adobe tools, tools for 3D and so on and if everything was sandboxed you couldn't do it anymore.
To reply to sibling: Apple has never catered to PC power users, going back to Jobs arguing against slots in the Apple ][ and getting his way in the first Mac. That a Mac user at all is now considered a power user indicates which way the wind is blowing. Apple's pointed in the right direction.
Given that the PC is an increasingly obsolete platform for most people, I don't think Apple's going to expend a lot of energy changing the status quo one way or another. Its style is to start over from scratch.
Their ecosystem is powered by power users, who do you think is creating apps, games, design, books, videos and so on? If Apple forces to move these users out, they will probably focus on other platforms where they are not so restricted.
All these would be not be usable because they are not sandboxed. Basically I would have to install Windows on my Macbook and I would virtualize Mac OS X so I can use Xcode and I would use Windows for everything else.
It would be suicide for Mac OS X and if you think Apple is so stupid to do it, okay then...
A: Business Insider is rarely a source of truth, at least when it comes to anything Apple. "Click bait" seems to be their sole goal in life.
B: Apple never precluded Google from putting their own Maps app into the store, they simply replaced the preinstalled version with their own when (if memory serves) Google both demanded too much user information and declined to offer vector-based maps
Well, the original question was What if they restrict running compilers? and not What if they remove compilers?.
Restriction might be a requirement of special licence.
This would effectively remove ability to execute arbitrary code from most of the users.
The ones who want to run arbitrary code or develop software will have to pay. If someone complains about this, they would be told to shut up and would be explained how this is actually a benefit for majority of the users.
Anyway, I will stop here.
Edit: I think that Apple is not doing it only because it is not their focus at the moment.
Apple is going actually in opposite way and you can see it with recent changes on iOS. To run apps on iPhone, you don't need to buy a developer licence for 100$ anymore. They support more extensions for apps. On last Apple keynote Microsoft was presenting Microsoft Office running on iPad Pro.
The special licence you are talking about actually exists. You can sign your Mac apps with a certificate and it will not ask a user if you want to open it, but this is not restrictive at all. This is actually a benefit because nobody can modify your app so if they would force this, I wouldn't mind. Most of apps that I use are signed anyway.
I hope it goes better (the future of liberty in computing seems very dim), but I would be not surprised if it goes to the opposite direction accompanied by big ovations.
Apple's core customers are iPhone and iPad customers now. They realized that catering to consumer electronics customers is far more profitable than catering to pc power users, and adjusted everything to fit the profit model that makes them the most money. At times, I wish they had spun off Apple Computer as a separate entity with OS X so that the computer division wouldn't have to sit and play fourth seat to the rest of the business.
I don't want to do that because I do like the os X better a GUI
I think that in the current pity world of 16:9 displays, actually Ubuntu has the most logical GUI layout because they conserve the vertical screen real estate as much as possible. This means they merge global toolbar, menu and window title bar when windows are maximized.
I see that OSX has followed this trend but their solution seems to be more ad-hoc and application based that it does not feel natural for me.
This is relevant on the laptops or devices with smaller screens mostly, 1080p(24in) monitors are fairly common those days which gives more than enough screen estate to fit at least 2 side by side windows, ~100 char width text is recommended width for text reading.
And as for linux distro with a good GUI I would suggest looking into Elementary OS which is a ubuntu based and UX oriented. I used it on a daily basis for about 6 months and had good experience (not excellent though, it has some issues but what doesn't?)
The latest Photoshop on Linux is quite attainable; I have CC running smoothly via VMWare Worksation 12 / Windows 7 (new versions of VMWare have DirectX/OpenGL and let you allocate GPU memory)
... but unfortunately that combines 2 proprietary solutions so guess it doesn't exactly fit your criteria.
Photoshop runs pretty well on virtualbox last time I tried it (~6 months ago). That was for very very basic projects though, not sure how it behaves in big ones
I feel the same way. And it's funny how many people think along similar lines and then go straight to their iPhone without a second thought. It's as if because it's always been that way with the iPhone (no external apps) that it makes it ok.
I think one reason is that you use your Mac to create/develop, whereas you use your iPhone to consume (I'm obviously generalizing). You need more flexibility and control with tools that you use to create/develop.
Steam all day, especially after this disaster of expired certificates this year [0]. I had a copy of a game from 2007 that will probably never be touched by the developers again, which leaves me $20 in the hole with a broken game. I bought it again from Steam, works better than the App Store version ever did.
I wouldn't be too afraid of the Linux GUIs. With the amount of customization that is available for these you can probably make it operate very similar to the way your OS X GUI does. Granted that could take some extra work on your part.
It would take a ton of polish that I don't believe any non-corporate team could accomplish. There is elementaryOS, which is my favorite Linux distro. It's absolutely beautiful and looks a lot like OSX, but OSX is still much more enjoyable to use, for reasons I can't exactly specify.
EDIT: That would be suicide (for the whatever 5% of their sales the mac brings in!). If they imposed a rule like that AND continued to neglect the app store the way they do, droves of developers would leave.
Unless they rethink or overhaul their sandboxing system to allow a bigger class of applications (essentially, most of what's out there), they won't be able to move power users to the App Store.
That must be the most frustrating/annoying thing in the world.
> there are technical limitations imposed by the Mac App Store guidelines (sandboxing and so on) that limit some of the features we want to bring to Sketch
I'm sure there are good intentions to what Apple is doing there, but it would be nice to know more details.
> and upgrade pricing remains unavailable
Man, the Mac App Store really just needs to up its game.
>That must be the most frustrating/annoying thing in the world.
Yes, and sometimes it gets even more frustrating when you get rejected for some minor issue like "the app name in the help menu is mis-spelled". An issue that takes you 3 minutes to fix and re-upload. And then you need to wait another 7 days. (If you're unlucky they find something else for 7 days more of waiting time).
If they're doing that level of scrutiny a million times, they should have released a tool (or even built it into Xcode); something like "Consistency Checker".
It's silly of them to reject apps entirely over checks that anyone could do in advance, if only they knew what to look for.
Not only would it be nice, but if such an application exists internally at Apple, and they released it with Xcode or something, then perhaps developers could integrate it into their testing infrastructure. If that chain of events happened, then it could bring up the consistency of Apple-centric OS 3rd party software, all the while decreasing time that updates spend in review. This sort of change could be a huge win for Apple, iOS/OSX Developers, and iOS/OSX users.
+ having a China wall between review (that are on the app store) and the support (that you may implement in your app if you wish) isn't so great.
When selling on Amazon for example, you have a ready to use support platform that allow you to easily interact with customers that seem to be strugling. I feel this really helps avoiding unnecessary frustrations.
Also, the best moment to collect feedback is when people are in review mode. And when your users get in review mode, they got straight to the app store where you can't reach them.
The intention of most of their decisions is more about their own money...
Case in point, it took forever for chrome or opera to come to iOS because they "competed" with the apple product already integrated into the OS, and "provided a less seamless user experience" ... basically, Apple didn't want to be outshined on their own platform...
I'm not sure who you're quoting with those quote marks. It's not Apple though, because I don't believe they ever said any such thing.
The reason Apple has always given is security. This is the reason they gave for not allowing third party access to the JIT version of the javascript engine. Their critics at the time claimed this was really because they didn't want other browsers competing with Safari, and they'd never let anyone have it because of that. Then when Apple developed the XPC framework allowing secure remote execution, they opened up the JIT engine to third party browsers in a secure way.
So far Apple's actual behaviour has been completely consistent with their stated reasons, which are not the reasons you are 'quoting' from somewhere, and in several respect contrary to the predictions of their critics. Isn't it possible that they are being honest about their motives?
But on the other hand, yes, the Mac App Store is a broken mess. Right now it's part of the problem with app distribution on the desktop, not part of the solution.
> The reason Apple has always given is security. This is the reason they gave for not allowing third party access to the JIT version of the javascript engine.
This doesn't make sense. You could disable the JIT, compile WebKit to native code, and ship it on iOS without the app requiring any more technical permissions. Apple just doesn't want you to do that for business reasons.
If you want to maintain that it's a security measure, there should be a specific attack concept you can describe that preventing alternative browser engines (suitably modified to work with W^X) stops.
Your comment doesn't make sense. You've always been able to embed the renderer with non-JIT JavaScript. Now you can build an app with full JIT embedded, so saying they don't want you to for business reasons is obviously false. They do let you do it.
The attack vector they're concerned about is to do with the JIT exposing access to shared memory. As for alternate engines, any such engine would need to include a JavaScript engine, which immediately opens up vectors for attack. That's why the ability to download and execute code is restricted. now, thanks to a robust and secure cross process communications framework, many restrictions that were supposedly 'for business reasons' have been lifted.
>
Your comment doesn't make sense. You've always been able to embed the renderer with non-JIT JavaScript.
Apple's renderer. Not your own custom one.
> The attack vector they're concerned about is to do with the JIT exposing access to shared memory.
I don't know what "exposing access to shared memory" means. All applications that download data place potentially-hostile data into memory.
> As for alternate engines, any such engine would need to include a JavaScript engine, which immediately opens up vectors for attack.
Such as? Describe a specific attack that is prevented by forbidding interpreters of remote content.
> That's why the ability to download and execute code is restricted.
Downloading and interpreting code is something that even a PDF viewer does. Why is that not restricted?
> now, thanks to a robust and secure cross process communications framework, many restrictions that were supposedly 'for business reasons' have been lifted.
You're free to do exactly that. Nothing stops you from publishing a web browser that renders static HTML. But the only way to include a JS interpreter is to use the Apple-provided WebKit.
Language interpreters are forbidden to download any code from the internet, so you cannot use JS found on a web page in your own interpreter.
> Nothing stops you from publishing a web browser that renders static HTML.
That would not remotely be a practical Web browser in 2015.
> Language interpreters are forbidden to download any code from the internet, so you cannot use JS found on a web page in your own interpreter.
Which is a business decision.
I don't understand why this is controversial; it's well-established that many of the iOS restrictions are business-related. Note that I'm not even arguing here that those business-related restrictions are a bad thing.
Which makes them not really third party browsers anymore, they're basically frames around a UIWebView (which is Safari) which can't do anything interesting.
The important bit there is "do anything interesting". Forget about any plugins that directly manipulate the markup (so no µ/adblock, no ghostery, no noscript).
Yeah, they can display web pages, but iOS Firefox/Chrome provide almost no benefits over the stock safari. Less in fact, since it's a near certainty that Safari is using privileged APIs to integrate with the OS in a way that no other browsers are allowed to.
(Didn't a very prominent company get sued for something along these lines back in the 90s?)
Two years ago I released a Mac app (https://heyfocus.com/) that couldn't be in the MAS due to sandbox restrictions (tried 3 times—frustrating experience).
I sat on it for an entire year because I was convinced nobody buys stuff outside of the AppStore anymore.
A year ago, the project still had really good traction, so I decided to try to sell it directly as a test (using Paddle.com).
Boy, was I wrong! TONS of people buy outside the MAS, and Focus is doing better than ever. If you're questioning it like I was, give it a shot.
Tangent: From Firefox, if I increase the font n https://heyfocus.com/ (for accessibility reasons) the buttons _come apart_ (specifically the right sides overlap the lower center of their button). Even with that font size increase, the text under the buttons is still extremely hard to read!
Good choice. I stopped using the AppStore because I hate how it connects an app to my apple ID. For example, when I came to the U.S. I had to create a new AppleID. So each time I want an app from the old AppleID I have to change to the German app store. Quite annoying.
I'll just play devils advocate here. As a consumer, I really like buying from the Mac App store solely for the user experience of, when I eventually new a new Macbook Pro, I can easily sync all of my purchases, rather than having to retrieve the licenses and go download the latest version of each piece of software I've purchased. As a developer, I've heard countless horror stories and totally understand.
The sad thing is, they didn't even need an App Store to provide this type of service, and it would have been more useful without a store. Apple already has iCloud; they only needed a variation of the current sync mechanism (something a bit smarter that knows how to find stuff in Applications and related files like Library->Preferences). If they're comfortable giving away free gigabytes of storage to people, they shouldn't care about uploading all of a user's apps — from a store or not — and syncing them anywhere.
As a user/consumer I consider the search or discovery of new apps on the MAS quite horrible, the features you mention are nice but IMHO they come "after you found the app".
IMHO an app dev is better off implementing the payment system and update than using MAS, for ex in my case there is no way I would wait 7 days to have an update out of the door (eg. I don't automate everything to get blocked on the last step).
Brew is not consumer friendly at all. My parents (in their 60's) own a mac that I bought for them. It was a great decision for me as I barely have to support them for technical problems. I only get questions on how to do something. If I was to try and explain brew to them it would be a disaster. Explaining the Mac App Store is far easier.
Brew is not even tech-person friendly. I'm comfortable with the command line and I had a ton of problems getting cask to work. I LOVE the idea and I will use it every time I setup a computer, but there's so many issues to work out. Mainly, some apps not updating correctly, the storage of app versions in cask, settings, licensing. It's a mess.
I really hope it gets better. I'd contribute if I was knowledgeable enough to do so.
Be aware that Homebrew Cask [1], which your comment is referring to, is a separate project being built on top of Homebrew ("brew") [2] and it currently has a number of shortcomings that are independent of anything to do with Homebrew itself.
Good. The other day the App Store was down and I couldn't use half of my downloaded apps because they failed "verification". I'll be happy as a clam to see more developers move their apps off of the App Store.
Steam does this to me as well sometimes. Why can't these stores use some kind of encryption that can just validate "Yes at some point in the past this has been purchased on this computer" and leave it at that. Always online frankly seems excessive.
It varies with different games on Steam. Steam doesn't require its DRM, so some games have no DRM, even when installed by Steam, which is great. More critically, though, Steam also doesn't require its DRM be exclusive so some games are protected both by Steam's DRM and something else, where that something else may have its own weird requirements before launching a game.
Can confirm. I bought Goat Simulator from Steam about a year ago, have uninstalled Steam, and even moved the application between OSs and devices without any issue.
That's not true. Apple issued a new root certificate using the latest OpenSSL standard. The apps that "expired" were using an out-of-date version. They technically shouldn't have worked in the first place, but Apple kept renewing the old SHA-1 certificate alongside the current one which allowed these apps to validate, despite using a cert that was obsolete since 2005.
Which is to say, that's exactly what Apple's scheme does, except in one crucial point where it does not, which malfunctioned and caused a bunch of havoc.
Why does a purchase receipt need to have an expiration date at all? It's stupid. This stuff should be once-and-done.
Do apps really contact the App Store to approve each launch? That would be a lot of tracking data that could be collected. How could it work if the endpoint is not connected to a network?
No, they don't contact the app store to approve each launch. Apple has a root CA that expired, during this "event" apps wouldn't launch because they couldn't verify the code signing certificate. Apple updated their certificate, and all apps started working again.
I already responded to you in another thread here, but this isn't true. The apps wouldn't launch because they were using an old, outdated version of OpenSSL that's been updated since 2005. They were referencing an old, out of date root certificate, not the current one.
But as the top comment says: The actual issue was that some developers used an old version of OpenSSL, which couldn't handle the SHA2 cert. Apple apparently "deprecated" their SHA1 cert and started to use an SHA2 cert. IIRC some apps were still working because they used the right OpenSSL version.
I guess Apple didn't communicate enough with the developers that they'll start using SHA2.
> I guess Apple didn't communicate enough with the developers that they'll start using SHA2.
Understatement of the year right there. Apple didn't communicate this at all. The first time anybody outside of Apple found out about this was when apps started failing to launch.
If Apple had merely told developers a month ahead of time, "Hey, we're switching to SHA-2 certificates, make sure your receipt validation code handles it," this whole thing could have been avoided.
In a crazy hypothetical world where Apple's app store team actually gives a shit about third party developers, they could have even tested SHA-2 certificates against the apps in the store, and directly contacted affected developers to tell them to get stuff fixed.
Not all apps, some older apps (e.g. Tweetbot 1.xx) stopped working permanently & can't be fixed, because Apple doesn't allow old versions to be re-downloaded from the Mac App Store. It's convinced me to stop using the MAS and I've been re-buying my MAS apps direct from the developer wherever possible.
Thanks for this info. I don't think I fully appreciated this aspect of the MAS before, although I'm sure all the pieces were lodged in the back of my mind, nagging away. I'm not going to buy any software from the MAS ever again.
Something like that. It's ridiculous. I could not use 1Password until the App Store came back up, which was pretty inconvenient. Tweetbot also had the same problem and the developer tweeted about the situation: https://twitter.com/tapbot_paul/status/664668084146339840 (and more tweets around that timeframe).
I found this tweet from the Tweetbot developers even more significant, there was no way they could upload a patched old version to the Mac App Store to fix it:
That is my biggest complaint about the Mac App store. I think in general prices have been reduced for most apps. But upgrade pricing is a must for customer retention. If they try to sell me the next version of Logic for 199 Im not buying it. I spent 599 for logic 8 platinum, 129(I think) for logic 9 upgrade and then 199 for Logic pro X. Im not interested in giving them another couple of hundred dollars for a while.
You picked a bad example. Yes, you need to purchase Logix X for 199, but you probably won't need to pay for any Logic updates in the foreseeable future. While the lack of update pricing is a problem for many developers, it's also a feature of Apple's software. They usually simply don't do priced updates. As far as I remember the upgrade from Logic 9 to X was free on the App Store.
Furthermore the full price of 199 could very well be mistaken for an upgrade offer - it's a very reasonable price.
Logic Pro is a professional DAW as I'm sure you are aware given your years with it. If you can't afford the $199 upgrade, you should probably just use Garageband for free. Personally I prefer this pricing strategy over requiring a monthly subscription. And $199 is far cheaper than the alternatives.
I agree- however, if you follow what other DAW upgrades cost(and I agree, forget this monthly subscription crap)
Studio One Upgrade from 2-3(highest version) - 149
Reason 8 upgrade from any version - 129(sometimes 99)
Cubase 8 upgrade - 75
Logic is pretty expensive to upgrade for what usually amounts to a free plugin or two and minor functionality increases...
Thank god there are some developers who have the balls to stop with this "Store" app distribution bonanza brought by the mobile phone. Someone should give Microsoft a hint.
The "store" was really great for small/solo developers to release an application. It's really expensive to setup your own server to distribute an application. It's also really annoying to have to patch your apps without a store.
What's changed is that there are lots of open source options for distribution and patching, so developers need a "store" less and less.
> It's really expensive to setup your own server to distribute an application.
I haven't found it expensive at all. I've been selling apps outside App Stores for over a decade and never needed more than my $9/mth shared web hosting. Accepting credit cards is even easier & cheaper through someone like Fastspring or Kagi, who only take 8 - 9% instead of Apple's 30%.
> It's also really annoying to have to patch your apps without a store.
On the Mac, Sparkle is your friend for auto-updates, it's been around since 2006 (long before the Mac App Store existed): http://sparkle-project.org
On Windows, there's WinSparkle, though it isn't quite as elegant: http://winsparkle.org
I don't disagree, there were always solutions. The app store just made it easier than the alternatives. But now the alternatives are easier than the store.
I'm guessing you don't have a source for that because I would be shocked if it were any less than 99%. It would be wonderful to see genuine rivals, offering alternative business models.
Yes, there are others, but I imagine (I would like to be wrong) that Amazon is the only one with any significant marketshare. Maybe something in China.
Ha... nooow they do it. I purchased Sketch version 2 for 50 euros when I lived in France. Then I moved to the US and got a new computer - at the same time version 3 came out. There was no way for me to get version 2 back: I tried the old "just re-purchase it and it'll end up costing you $0" (which worked for a bunch of other apps - but they were still on the same version). Instead I payed another $70 for version 3. I wrote to Apple and got my money back... but now I'm stuck with a dodgy version of 3 (that I'm supposed to delete and can't get updates for) and no way to get 2 back. Do I actually own version 2? I don't know!
I would love to take Space Gremlin away from the mac app store. I've had to do some pretty wonky workarounds to offer people a "pro" version to escape the sandbox and it's a constant support headache. I'm just not sure if managing the payment network, licensing and distribution support is going to be even more of a headache.
I'm genuinely surprised that nobody as set up a 3rd party app store that can compete with apple and microsoft and offer a cross platform solution. Get a big company like Adobe to anchor it and I would jump over in a heartbeat.
> I'm just not sure if managing the payment network, licensing and distribution support is going to be even more of a headache.
From my own experience (I have a few apps on the MAS + outside of it) something like Devmate+Fastrpring or Paddle makes licensing and payment processing pretty painless. Of course there's other issues like what happens when Paddle or Devmate go belly up ande stop processing license activations. But still it takes only a weekend to get it to work and once you get it to run it just works.
The real problem though is that the Mac software ecosystem outside the MAS is dead. No user goes to those huge software directory websites anymore (my traffic from MacUpdate & co. is almost zero). (Funnily enough before the MAS went live Apple had a list of OS X software. It was a great source of high quality traffic back then. But it wen't offline with the introduction of the MAS).
The only way to get your app infront of users is via SEO (which means that you take your eggs from the MAS basket and put them all into the Google basket) or by spending loads of money on PPC ads which won't give you a positive ROI because $39 is now considered hugely expensive for software.
Social media, blog posts, etc. are all nice in theory but won't convert to paying users. You made a funny cat picture that went viral and sends thousands of reddit users to your website? Great, but no one will download your app. They just want the cat picture.
The same goes for paying $10k for a blog post over at daringfireball. People will visit your website but won't download.
Buying ads directly on blogs, forums or twitter/facebook? No one cares for those. You will just lose money.
Marketing your own software got really hard nowadays and if you're not one of the "famous" developers removing your app from the Mac App Store just means that you will lose most of your revenue.
Great for Sketch that they can pull it off. But most devs can't. Which makes Apple's negligence of the MAS even worse.
Sandboxing is one of the pain points of Mac App Store. I certainly would like to see sandboxing being more prevalent on the desktop, but not like the MAS way. The user should have the final say of the way in which a sandbox allows and restricts the application. Just for example, I should be able to completely trust an app with access to the filesystem, not with all the popups and confirmations, while disallowing network access from it.
Apple has completely lost the goodwill of Mac developers. The one and only reason the ones that haven't gone bankrupt are still staying is because they have no other choice due to platform lock-in. Every single conversation that I've had with indies recently have gone along the same lines: Apple is killing the indie scene.
I wrote about the MAS exodus [1] more than a year ago and people were skeptical back then. Think again - here's a list of great apps [3] that are only available outside the MAS. Those are not just small time hobbyist apps - those are professional tools.
Pieter (founder of Bohemian, company behind Sketch) listed many problems with the MAS at a recent conference [5]. Wil Shipley (well-known within the community) has also written about it [6].
And now you have another flagship OS X app ditching the MAS due to the multitude problems it creates. The message is loud and clear - if you're a real software business, not a hobbyist at home, don't waste your time with the MAS - it simply does not allow you to run your busienss properly.
When the companies building the flagship apps for the platform publicly state they cannot do business due to the restrictions of the Mac App Store and then abandon the dysfunctional virtual marketplace, then you know Apple have pushed them beyond the edge. No company would just decide to leave the MAS unless the situation is hurting them significantly and holding them back. And unfortunately, there are almost no words to describe how bad the MAS has been for the ecosystem and innovation on the platform. [2]
You also get ridiculous stuff like Intuit because of the limitations [4].
Even if Apple fixes the Mac App Store one day, which is highly unlikely given that in 5 years they have done absolutely nothing, developers have been burned once and will be skeptical. You know, the whole "Fool me once, shame on you, fool me twice, shame on me".
When people say that everything is fine and dandy with the MAS, they seem to be misguided - no one is asking Apple to make everyone a millionare. Developers are asking for Apple not to force simplistic business models and allow companies to have the ability to choose what works for them.
I used to be hopeful for years but no more. I have zero faith that Apple will listen to indies and solve their problem, they've got no leverage. And that's a real pity. Instead of pairing high quality hardware with high quality software, we have a platform encouraging predatory tactics and milking of customers. A truly sad situation. And that's a real shame because the platform I love and have invested a decade in deserves better. It might even be too late - the damage to developers has been enormous.
I've been dumbfounded as well. A company that makes scores of billions on products, should be able to spend millions on a decent app store. Yet it continues to be a bottleneck, fail to serve app developers, and strangle innovation. It all seems so futile.
They should seriously do something about the review times. I'm sure they can come up with a plenty of good solutions if they wanted to.
I suggest maybe giving developers a bank of a set number of expedited review passes per year or so, so they can use it when they really need it. Damn it.
It actually works like this in theory. You can get a couple of expedited reviews for critical or urgent fixes [0], but Apples definition of 'critical' and 'urgent' don't typically include having just shipped a crash bug that will effect your entire user base unless you are Rovio are a similarly large actor.
I once got them to expedite an emergency bug fix, and my company was nowhere near a "large actor". But this was waaaay back in 2009 so I can't be sure they're still that willing to help small devs. The expedited review took 24 hours when the average was over ten days at that time.
Still, any review time is really sucks as a developer. Shipping a big release and having to wait 10+ days to get feedback really slowed us down and hurt my enthusiasm as a developer. Honestly, I'm glad iOS development isn't the main focus of my job anymore - the SDK and tooling is fantastic, but provisioning and App Store submission is awful.
Yea, I'm a small dev and I did that last time a critical feature of my app was broken, and the review still ended up taking a a week. Meanwhile people were sending me support emails and I know even more were silently frustrated. It's not fun to be powerless over your own destiny like this.
- this is one of the most frustrating things about Mac (and iOS) development. There's no good reason why this cannot be brought down to 1-2 days by hiring a ton of people to the App Review staff. App Review is not really a technical skill that should be very hard to scale up, and one that can't be outsourced to locations outside of Cupertino. Apple is the most cash-rich company in the world; they can easily throw some money at this problem if they cared about developer satisfaction. Far easier to resolve than problems like sandboxing and upgrade pricing, where there is a major cost for customer satisfaction to think about.
In addition to those mentioned here in the comments already, another problem that publishing through the Mac App Store is how buggy OS X’s sandboxing can be. I don’t know if the problem still exists under 10.11 (I bet it does but I haven’t checked), but one bug that I’ve hit consistently has to do with file open/save dialogs.
Open/save dialogs in sandboxed apps aren’t opened directly. Instead, requests are handled by the privileged powerboxd helper daemon, which then passes back user choices to the sandboxed app. This sounds great in theory, but something that happens somewhat frequently is that some part of powerboxd’s dialog initialization silently fails and doesn’t open a dialog, leaving the user confused as to why his requested open dialog didn’t open. Worse, when it happens, it can happen several times in a row, meaning the user can try several times and not get any kind of feedback whatsoever.
It’s been a known issue since at least 10.7 and last I checked (10.10) it still hadn’t been fixed. This is a showstopping bug for many kinds of apps but it’s simply been ignored.
I’ve been wanting to move off of the MAS but as a one-man shop, writing in serial code support, trial mode, and registration is daunting, not to mention getting old users set up with a new license. I might just delay the move away from MAS until the next major release.
Also what's wrong with Apple and their approach to software lately ? Have they become just a hardware and accessories company?
Chris Pirillo gave a great talk about all the issues with the upfront statement that Android Marshmallow runs better on older hardware then iOS 9 on theirs (20min): http://youtu.be/n5iuR8pKBfQ
I dumped OSX and installed Debian on my iMac a couple months ago because Apple's software has just sucked the last few iterations, and if it weren't for Capture One and LightRoom I'd be running OSX on my MBP, too.
If it doesn't get better soon, my next phone is going to be an Android.
I've always wondered: is it the limitations of the sandbox that are the problem, or is it expectation? If we never had access to execute outside the sandbox, would we simply say we "see the reasoning" as we do for iOS?
The certificate expiration issue apart I would move to a non appstore version at least for my 1Password. I started using 1Password to store all my passwords including iTunes password and the recovery email. One fine day, I try to launch 1P and i get an error box saying I need to authorize the app on the computer using my iTunes ! Rats now this is a deadlock ! Possible solutions are use the same password for 1Password vault and iTunes or buy iPassword from agilebits directly. I will go the latter route in future.
What are the alternatives to MAS? I've been considering distributing a small OSX app at a fairly low price based on its value. Are there any good ways to sell low-priced licensed software that support pushing updates to users easily?
Edit: I should mention that in my particular case, the app is an Electron (formerly Atom Shell) app, so a solution that involves an ObjC library might be a bit difficult to implement.
Yeah, Paddle looks cool but I'm not sure how I'd integrate it w/ a "fake" faux-native app builder like Electron. Probably just ignorance on my part. :)
Dont get what the big deal is, Mac App Store is far from the most popular way to install new apps. The vast majority of my desktop apps for my iMac i got them from outside Mac App Store via the web. Out of the 20 apps I got on my dock only 2 are from App store.
And I dont think that any of the other apps I have on my dock are even available from app store.
How do apps like "Clozure Common Lisp" get around the sandboxing? The Mac App Store version isn't crippled in any way I can see -- it can read and write outside its directory -- for example it can use the quicklisp package manager which stores files in my home directory?
Sketch team. I am a Mac user and heard thing about your product but haven't yet checked it out. This blog post is the first time I've visited your website. Can you answer one thing for me? Why don't you have a link to sketch.com from blog.sketch.com?
The Mac app store is great for simple, do one thing apps. I purchased a little app that stitched panoramic photos together, and it worked great and cost next to nothing.
However I think it's a long way off working for every app and developer.
I've downloaded the new, non-MAS version, but I'm not getting any migration instructions, though I should since I've purchased the old version. Troubling, since the post made it sound so easy!
IMO sandboxing on desktop is failed attempt. Browser is a sandbox platform. Nobody will download some shady application and run it, even if it's sandboxed (but a lot of people don't really mind to visit a shady website).
If an application is in AppStore, it means that Apple got some legal documents from developer, it means that Apple performed some automated scans on application binaries. For me it's enough to have some trust. Sandboxing is not needed and it actually making some apps unusable or even impossible to implement.
Desktop apps always were in control of the entire computer. And they are now, unless you are downloading them from the AppStore. That's why a PC is much more useful than an iPad or iPhone for power users.
And it's not as if non-Sandboxed applications won't be used. They'll just be distributed outside the app store. So all of the potentially "dangerous" apps are one-more-step removed from Apple's oversight and ability to pull the app and halt downloads. Gatekeeper gives them some power in this regard, but what's the point of not allowing them in the Mac App Store? Is the PR from having a keylogger in the MAS really that different from the recent Instagram password harvester for iOS, or a Mac keylogger that was direct-downloaded?
> We should also add that this move is not a knee-jerk reaction to the recent certificate expiration problems that affected so many Mac App Store customers.
I pretty much only use the Mac App Store anymore. There are maybe 2 apps I use that I get outside of it. I have a bunch that I are woefully out of date because their developers abandoned me. It's too bad that rather than trying to push to make it a better place developers are just leaving.
How exactly do developers "push to make it a better place?" It's owned by Apple, nobody else has a voice, and Apple must be 100% clear on the perceived shortcomings seen by developers. It's not like there's a quarterly App Store Community Meeting where people can go and complain ...
All the reasoning is BS. They just want to cut the middleman and keep all the earning which is totally fine but don't insult our intelligence and come up with ridiculous reasoning.
Really? They seem to target different kinds of users. For illustration work Affinity Designer has the edge but was still pretty badly suited for the kinds of UI design work people usually do in Sketch. Or at least that was the case the last time I tried it.
Affinity is focused more on graphic design while Sketch is focused more on interface design. The price difference is a huge issue though...Sketch needs to drop their price back down to $50 if they want to remain competitive.
Sketch 3 and Affinity Designer are two completely different markets. Sketch is a vector editing program (competing with Adobe Illustrator and Inkscape), Affinity Designer is a photo editing program (competing with Photoshop and Pixelmator).
You're thinking of Affinity Photo. Affinity Designer is probably closer to Illustrator than Sketch is, since it's geared towards vector illustration rather than UI design.
I've always seen all app stores as a blatant money grab. A digital storefront like that does not require that much money to run (no comparison with supermarkets and the like which have heavy operational costs). I mean the search barely works, discoverability sucks. One of the primary drivers for app revenue is handpicked winners and losers via their own app lists, and some of the stores are so amateurish that you have to re-download the entire app to update it. Of the ones that we have, Steam is probably the least grubby.
I would much rather they charge a flat review/update/host fee per app with maybe tiered hosting pricing for multi-GB apps (which apart from steam games, I'm pretty sure few people download anyway). It's hard enough trying to run a successful software business and then these companies go out and beat their chest with "WE paid developers billions this year" rather than "we took away 30% revenue from developers".
* The actual MAS store app itself is a horrible piece of garbage wrapping a bunch of web views. Just make it a real native app and rewrite it.
* Sandboxing is great, but there will always be things that fall outside the sandbox. Have a "Power User / Developer Tools" category and associated checkbox in iTC that says "My app needs to opt-out of these parts of sandboxing". Put those apps through a much more strenuous review process.
* Relatedly, add more entitlements to the Sandbox, even if they also trigger a more in-depth review.
* Both iOS and the Mac app stores desperately need feedback mechanisms and some basic customer support tools. This has been obvious since at least iOS v4. I can only imagine this is due to Apple's inability to do good server-side software (and the organization doesn't value it like they value client software). This should automatically give you at least a private way to send a message to users leaving a bad review, then prompt the user to update their review if the response helped them. Asking users to review is hard enough... getting them to update a 1-star review is nearly impossible.
* Hire more reviewers. There is no excuse for reviews taking so damn long.