News for hackers. Stuff that matters.
Re:What Apple Gives You for $100 as a Safari Extension Devel... by shakna on Tuesday January 03, 2017 @04:43AM (#13308036)
So... This last year in Safari Extension world:

* $100 buy in. Yearly. (Firefox, Edge, Chrome, Opera... No license fees.)

* Long, bug-prone, and somewhat idiotic review process.

* No way to charge for an extension, to recoup that $100. So its ads or nothing.

* Installation page only. No reviews. No real information.

Caveat: You can develop for free, without getting listed, but then you can't automatically update the extension.

What's coming in Safari Extension world:

* The $100 fee is staying.

* Xcode requirement. You'll need a Mac to publish.

* Swift/Objective-C requirement. No more HTML/JS/CSS only.

* Mac store listing, which means you can charge for extensions. But the Mac Store isn't known for a nice review process.

* Hugely lacking documentation. Hopefully this'll change... But Apple doesn't have a good track record here.

Result:

Reddit Enhancement Suite has to decide between not publishing for one of the major browsers, or paying out for a longer, harder to maintain process, to achieve the same thing as they already do for Firefox, Chrome, Edge and Opera.

Personal anecdote:

Apple seems to hate their own developers. This story, others, and my own experiences tell me that Apple makes everything more difficult than need be to put together a program, small or large, that actually runs on their platform.

Swift was a step in the right direction, a nice language, a decent Open Source effort, and cross platform to boot.

But Safari... Safari lacks in so many areas that it's progress on JS doesn't matter much. Isolating those who build for it is unhelpful.

It almost seems like Apple want Safari to die.

Re:What Apple Gives You for $100 as a Safari Extension Devel... by pavlov on Tuesday January 03, 2017 @07:59AM (#13308781)
Apple seems to hate their own developers. This story, others, and my own experiences tell me that Apple makes everything more difficult than need be to put together a program, small or large, that actually runs on their platform.

To Apple's credit, they are occasionally way ahead of the curve on developer convenience, and have reaped huge benefits from that.

I tried making smartphone apps in 2003-07 for Symbian, Java ME and the very first Android beta (the one that had a traditional keypad phone emulator). The experience was always disheartening. Horrible IDEs that sometimes cost money, awful device feature fragmentation with no standard ways to handle it, inconvenient APIs designed in the style of '90s embedded platform expectations.

If you managed to get a working app together, distributing it was a mystery. On Symbian, you'd have to pay something on the order of $1000+ for certification from a "special Symbian partner", and even after that there was no central app store. There were websites offering downloads (and paid listings), but users would not stumble on those. It was a terrible offering all around.

The native iPhone SDK in 2008 changed all that. Suddenly there was a smartphone with a desktop-class IDE experience and desktop-derived APIs, with easy access to fascinating new multitouch UI possibilities... And there was an integrated Apple-curated store where you could publish any number of apps for only $99 / year! That was an amazing deal compared to anything that came before in this space. Some occasional hassles with Xcode bugs and certificate weirdness was nothing compared to the nightmare of the Symbian/JavaME style mobile dev experience.

Even before that, Apple had done well by its Mac OS X developers by offering the NeXT-originated Cocoa tools for free. Back in 2001, that wasn't the expectation yet. It was a good API, battle-hardened at NeXT already, and much better than anything Microsoft was pushing in that Windows XP timeframe. Apple's efforts to support OS X development had two major benefits: the Mac's resurgence was helped by increasing availability of good 3rd party software created by dedicated developers, and the iPhone global launch was greatly helped by the fact that those same OS X developers were able to easily move to the iPhone.

Re:What Apple Gives You for $100 as a Safari Extension Devel... by mikeash on Tuesday January 03, 2017 @10:00AM (#13309525)
What they did with the iPhone really makes me sad. They had a unique opportunity to completely open up mobile devices. Instead, they stuck with the walled garden approach, but done better. There was huge outcry about this from developers used to PCs, but Apple didn't budge and developers put up with it since, as you say, it was a lot better than other mobile platforms.
Re:What Apple Gives You for $100 as a Safari Extension Devel... by kabdib on Tuesday January 03, 2017 @10:19AM (#13309653)
If it hadn't been a walled garden, the market would have sucked horribly inside of a year. It would be a steaming cesspool of malware and trickery and junkware. Consumer trust would have been eroded, and the market would have failed.

I think that Apple did absolutely the right thing for a young marketplace. It was bad enough as it was (remember the $1000 app that did nothing? And the game with a $100 in-game purchase of ammo?)

Re:What Apple Gives You for $100 as a Safari Extension Devel... by mikeash on Tuesday January 03, 2017 @12:09PM (#13310662)
The Mac wasn't a steaming cesspool despite having none of these restrictions. I don't think your examples at the end support your point at all. It seems to me that a $1,000 app that does nothing and $100 in-game ammo purchases are only enabled by something like the App Store. The App Store is pretty anti-consumer, really. For example, the freemium craze was partly driven by the fact that Apple forbids free trials, so developers had to come up with other, worse ways to monetize without requiring people to pay up-front for something they didn't know the worth of.
Re:What Apple Gives You for $100 as a Safari Extension Devel... by cwisecarver on Tuesday January 03, 2017 @12:40PM (#13310995)
The iOS marketshare is a orders of magnitude larger than that of macOS so the target vector is larger. Malware and the like would be hugely more profitable on iOS than macOS.
Re:What Apple Gives You for $100 as a Safari Extension Devel... by kitsunesoba on Tuesday January 03, 2017 @12:50PM (#13311122)
I have no doubts that if Apple had been more open in terms of publishing apps for iOS, the App Store would closely resemble the current Play Store in terms of malware and junkware. Something as personal and often-used as a smartphone is just too tempting of a target.
Re:What Apple Gives You for $100 as a Safari Extension Devel... by mikeash on Tuesday January 03, 2017 @12:49PM (#13311101)
It is now, but it wasn't when the App Store was introduced.

In any case, malware is best prevented by strong sandboxing. Forcing everyone to go through the store does approximately nothing to fight malware.

Re:What Apple Gives You for $100 as a Safari Extension Devel... by kabdib on Wednesday January 04, 2017 @09:44AM (#13318606)
Sandboxing has proven pretty weak in mobile products (definitely in the case of Android; the iOS sandboxing has had a better track record).

Additionally, not all malware needs to escape a sandbox. For instance, there are a bunch of fake apps that simply capture credentials, or that make expensive phone calls or texts.

A well-run store that can run tools against images is a decent first line of defense against malware. A store also provides reliable information about code publishers. These are not a complete defense, but they appear necessary.

Re:What Apple Gives You for $100 as a Safari Extension Devel... by mikeash on Wednesday January 04, 2017 @11:52AM (#13319821)
A big part of Android's problem is that the permissions model sucks. Until recently, all permissions requested by an app had to be granted up-front as part of installing the app. Apps tended to request anything and everything for no good reason. This trained users to just click through the permissions screen without paying any attention to it.

The iOS model (and now Android model) of prompting for permission when the app first tries to use it is much more solid. If an app requests access to your contacts for no good reason, you'll get a fairly obvious prompt and you can say no. There's still some trouble with getting users to pay attention, but it's a lot better.

I don't see how this makes a store appear necessary. Android doesn't allow sideloading by default, and iOS can now sort of sideload apps using the new free signing stuff Apple put out. The limits on the number and duration of sideloaded apps make them impractical for selling legitimate software, but are no obstacle to malware.

Re:What Apple Gives You for $100 as a Safari Extension Devel... by drwl on Tuesday January 03, 2017 @01:53PM (#13311851)
Could you elaborate on what makes you sad about their approach?
Re:What Apple Gives You for $100 as a Safari Extension Devel... by mikeash on Tuesday January 03, 2017 @02:21PM (#13312142)
We might have been able to have mobile devices that look and act like PCs, with full user control, high customizability, etc. Instead, we get locked-down devices. Android is better, but Google seems to be gradually following Apple's lead on this, and it's sad enough to me that Apple's mobile platform isn't open and customizable the way their desktop platform is.
Re:What Apple Gives You for $100 as a Safari Extension Devel... by DashRattlesnake on Tuesday January 03, 2017 @10:21PM (#13315407)
What's even sadder is that the success of the iPhone has encouraged people to try to lock down what were once more open platforms.
Re:What Apple Gives You for $100 as a Safari Extension Devel... by mikeash on Wednesday January 04, 2017 @10:47AM (#13319188)
I totally agree. Apple's success with the restrictive model seems to be creating a lot of imitations, which is really terrible. We can handle one or a few platforms being this way, but if they all end up like that....
Re:What Apple Gives You for $100 as a Safari Extension Devel... by bhldr on Tuesday January 03, 2017 @08:45AM (#13309051)
I think past-apple did do a really decent job and set the stage for many other vendors to follow. Everybody has caught up and surpassed it though.
Re:What Apple Gives You for $100 as a Safari Extension Devel... by sb8244 on Tuesday January 03, 2017 @09:28AM (#13309310)
There was a car commerical which sums up my feelings here pretty well. What do you do when you get a room full of trophies? You think about how to get more.

Apple seems to have gotten their trophies here (no doubt) and then stared at them rather than figured out how to get more.

Re:What Apple Gives You for $100 as a Safari Extension Devel... by cageface on Tuesday January 03, 2017 @06:09AM (#13308362)
Swift is a nice language and I applaud all the hard work that people at Apple have put into it. In almost every other respect developing for Apple platforms feels like a marriage to an abusive and indifferent partner. Coding for Android or the web can be frustrating too, of course, but a lot of the complexity there is inevitable given the decentralized nature of those platforms.

Apple controls the entire software and hardware stack so their crappy dev experience is a consequence of either incompetence or arrogance.

Re:What Apple Gives You for $100 as a Safari Extension Devel... by onion2k on Tuesday January 03, 2017 @05:38AM (#13308243)
$100 buy in. Yearly. (Firefox, Edge, Chrome, Opera... No license fees.)

There's a one-off $5 fee to publish things on the Chrome store.[1]

[1] https://developer.chrome.com/webstore/publish#pay-the-develo...

Re:What Apple Gives You for $100 as a Safari Extension Devel... by shakna on Tuesday January 03, 2017 @05:44AM (#13308268)
You're right.

But that one off fee seems incredibly negligible against Safari's fee, which is 20x larger... And yearly. For smaller marketshare.

Re:What Apple Gives You for $100 as a Safari Extension Devel... by Drakim on Tuesday January 03, 2017 @05:51AM (#13308297)
Yeah, Chrome's fee seems more like a gate-keeping cost to ensure that the store doesn't get spammed or abused, not an attempt of Google by generate revenue.
Re:What Apple Gives You for $100 as a Safari Extension Devel... by JohnTHaller on Tuesday January 03, 2017 @09:00AM (#13309154)
> Reddit Enhancement Suite has to decide between not publishing for one of the major browsers, or paying out for a longer, harder to maintain process, to achieve the same thing as they already do for Firefox, Chrome, Edge and Opera.

Just stop supporting Safari. It's more trouble than it's worth and, generally, the type of person that runs RES isn't running something has uncustomizable as Safari.

Re:What Apple Gives You for $100 as a Safari Extension Devel... by falcolas on Tuesday January 03, 2017 @10:04AM (#13309562)
I was, up until recently, running Safari as my main browser just to avoid the cost in battery life; I'm also an avid RES user. I finally bit the battery life bullet and moved to Firefox for my personal browsing, but it was a hard choice to make. The battery savings (until recently) were non-trivial; giving those up was a hard decision.
Re:What Apple Gives You for $100 as a Safari Extension Devel... by kitsunesoba on Tuesday January 03, 2017 @12:29PM (#13310889)
It depends on what facets you're speaking of, but some parts of Safari are more customizable than equivalent parts of Chrome. Safari still allows you to customize your toolbar, for instance, which unless my memory is failing me was never an option in Chrome.

Of course Firefox beats both Chrome and Safari out in this aspect, but you trade off things like the battery life you mentioned as well as compatibility with OS X services and general native-ness (Firefox has always felt odd and foreign under OS X due to using XUL for its UI). For someone like myself whose extension needs stop at Stylish and a good adblocker, the trade off isn't worth it.

Re:What Apple Gives You for $100 as a Safari Extension Devel... by cheshire137 on Tuesday January 03, 2017 @01:46PM (#13311767)
> Firefox, Edge, Chrome, Opera... No license fees.

I think Google charges like a $5 one-time fee to publish a browser extension, as a way of discouraging trash extensions.

Re:What Apple Gives You for $100 as a Safari Extension Devel... by Eridrus on Tuesday January 03, 2017 @02:01PM (#13311949)
> * Mac store listing, which means you can charge for extensions. But the Mac Store isn't known for a nice review process.

Do you know if this will allow companies to install extensions to their employee computers automatically?

I worked on a commercial Safari extension briefly assuming this functionality had to be there, but gave up when I realised there was no way to push it to an employee's computer without a prompt.

Re:What Apple Gives You for $100 as a Safari Extension Devel... by matthewmacleod on Tuesday January 03, 2017 @09:08AM (#13309196)
Apple seems to hate their own developers. This story, others, and my own experiences tell me that Apple makes everything more difficult than need be to put together a program, small or large, that actually runs on their platform.

Totally disagree. Publishing Safari extensions might be a rubbish experience, but publishing anything else is fine.

Re:What Apple Gives You for $100 as a Safari Extension Devel... by Twirrim on Tuesday January 03, 2017 @10:20PM (#13315398)
Years and years of anecdotes about the app store submission process would suggest otherwise.
Re:What Apple Gives You for $100 as a Safari Extension Devel... by bangonkeyboard on Tuesday January 03, 2017 @04:49AM (#13308060)
> Caveat: You can develop for free, without getting listed, but then you can't automatically update the extension.

There's a comment on the post disputing this possibility.

Re:What Apple Gives You for $100 as a Safari Extension Devel... by shakna on Tuesday January 03, 2017 @04:57AM (#13308084)
True, I guess one could concievably build your own update mechanism. But that's even more overhead than what is necessary for all the other browsers, who let you use their stores and update mechanism for much less than $100/developer/year.
Re:What Apple Gives You for $100 as a Safari Extension Devel... by bangonkeyboard on Tuesday January 03, 2017 @05:06AM (#13308111)
Sorry, I should have been specific: a comment on the Medium post that is TFA:

  This isn’t correct. Without paying the $100, you can’t get a certificate, and 
  without a certificate, you can’t sign an extension to build a safariextz.
Re:What Apple Gives You for $100 as a Safari Extension Devel... by shakna on Tuesday January 03, 2017 @05:47AM (#13308281)
So the situation is even worse than I thought? I mean, it is technically possible to install untrusted extensions, using xcode's self signing, but it isn't exactly straight forward and/or easy.
Re:What Apple Gives You for $100 as a Safari Extension Devel... by bangonkeyboard on Tuesday January 03, 2017 @06:18AM (#13308401)
Xcode is used for Safari App Extensions. Safari Extensions like RES are created in Safari's Extension Builder, which apparently balks without a signing certificate.
Re:What Apple Gives You for $100 as a Safari Extension Devel... by coldtea on Tuesday January 03, 2017 @06:17AM (#13308395)
>So the situation is even worse than I thought?

Or even better? Higher barrier to entry and more protection against crappy extensions, spam extensions, amateur hour, etc?

Re:What Apple Gives You for $100 as a Safari Extension Devel... by benologist on Tuesday January 03, 2017 @10:41AM (#13309821)
* Swift/Objective-C requirement. No more HTML/JS/CSS only.

It almost sounds like they want really fast extensions they can confidently distribute on iOS...