Archive for October 12, 2014

Sunday, October 12, 2014

BBEdit Leaving the Mac App Store

Jason Snell:

On Saturday Rich Siegel of Bare Bones Software gave a presentation in which he announced that the next version of BBEdit would not be sold in the Mac App Store. (The existing version will remain, and existing Mac App Store customers can upgrade to the next version directly with Bare Bones.)

Siegel’s talk was notable for its restraint and care. This was not a scorched-earth denouncement of the Mac App Store. […] But, of course, all of these frustrations were cumulative. And, Siegel said, many of those frustrations occur at the very end of the development cycle, when the final code is being shipped and the marketing plan is being executed. He likened it to Max Q, the aeronautical term for the period of maximum atmospheric stress on a flying vehicle.

See also: Mark Pavlidis, Scott Morrison, Jason Snell, Marko Karppinen, Paul Haddad.

Update (2014-10-13): Federico Viticci:

The departure of BBEdit from the Mac App Store is yet another example of the platform’s limitations and it’s sad, but it’s probably for the best and everything will be okay. The Mac App Store isn’t meant for apps like TextExpander or BBEdit, and Apple doesn’t seem to be willing to change its underlying nature.

Joe Rosensteel:

The decay of the Mac App Store over the last few years is pretty subtle. Developers are not leaving en masse, all at once. One by one, as new updates are being developed, they weigh the pros and cons for them, and their customers, and they pull out.

Just look at the main page of the store’s app and you’ll see bric-á-brac. of apps. They’re showcasing the Twitter Mac app right now. Yes, hey everyone, drop everything and check out this crazy thing called Twitter! The best part is the little bit of text. “New Features Added” — A.K.A. We totally don’t care about marketing at this point.

Update (2014-10-14): Milen Dzhumerov (comments):

The Mac App Store was released in January 2011 and it marked the beginning of a great new distribution channel. Even though it lacked some bells and whistles, the developer community was hopeful the problems would be addressed in due course. Unfortunately, it has been years and there’s no evidence that the core issues would be addressed in the future, at all. When notable developers are abandoning your platform, cannot do the right thing for their customers and are delaying their MAS submission, something is very, very broken. I believe that the inaction is harmful to the whole Mac community, affecting consumers and developers alike.

Let me make it absolutely clear why I’m writing this. First and foremost, it’s because I deeply care about the Mac platform and its future, it pains me to see developers abandoning it. The Mac App Store can be so much better, it can sustain businesses and foster an ecosystem that values and rewards innovation and high quality software. But if you talk to developers behind the scenes or explore the Mac App Store, you’ll find something completely different.

Kirk McElhearn:

I’ve heard similar stories from lots of other developers. The entire process – from submission to approval – is fraught with difficulties, with seemingly arbitrary rules that are applied at random. […] This is especially problematic for small developers, who only have one or two people to do all the work, and end up wasting far too much time on problems that shouldn’t exist.

Update (2014-10-15): John Gruber:

The one that gets me, and which seems under-remarked-upon, is how Apple’s own apps in the App Store are exempt from sandbox restrictions. Third-party apps are never on equal footing with Apple’s, but with sandboxing, it’s almost absurd.

Update (2014-10-16): Myke Hurley and Jason Snell discuss BBEdit and the Mac App Store.

Update (2014-10-17): Drew McCormack offers a contrary take. I’ve never understood his aversion to trials, using words such as “ransom” and “blackmail”; why he is so concerned that upgrades couldn’t “inject” releases when that isn’t possible now, anyway; or why he thinks Apple is providing sandbox exceptions, when the abandoned and withdrawn apps tell a different story. Of course, it would be nice if Apple dropped its cut to 15%, but I doubt that would make most developer’s top five list of changes they want to see.

Update (2014-10-30): Michael Grothaus:

Eliminating a popular distribution channel seems like an odd move for any developer, but Realmac is just the latest Mac dev to hold off releasing their apps on the Mac App Store. Bare Bones Software recently decided not to release BBEdit 11 on the MAS and Panic Software has opted not to sell its popular Coda app on the MAS any longer.

Just what is going on? Many major Mac developers say the Mac App Store is in need of changes to make it truly worthwhile for developers to sell their apps there. Here’s what three of them told me what Apple needs to do to fix things.

Update (2014-11-21): Jared Newman interviewed myself, Milen Dzhumerov, and James Thomson for an article in Fast Company.

Update (2014-11-24): Luc Vandal:

There are so many reliability and stability issues with both OSes that at some point we cannot trust them anymore and that’s a shame because these new features are truly great.

Update (2015-01-06): The video of Siegel’s talk is now available.

A Guide to NSButton Styles

Jakub Suder [Update (2022-01-07): archive] (via Jonathan Willing):

I figured I could prepare a kind of cheat sheet that collects all this information in one place. The list below describes the button styles in the same order as in the Xcode panel, and for each button it includes: the Xcode name, the constant name, screenshots of how it looks on Yosemite (on the left) and on Mavericks (on the right), and some guidelines I found about how it’s supposed to be used, or how it’s actually used by Apple in their apps. (I’ve even checked the system apps with Interface Inspector to see what controls are actually used where.)

Implementing Re-entrant Parsers in Bison and Flex

Eric Raymond:

That rebarbative old interface generally broke a lot of rules about program structure and information hiding that we now accept as givens (to be fair, most of those had barely been invented at the time it was written in 1970 and were still pretty novel). It becomes a particular problem if you want to run multiple instances of your generated parser (or, heaven forfend, multiple parsers with different grammars) in the same binary without having them interfere with each other.

But it can be done. I’m going to describe how because (a) it’s difficult to extract from the documentation, and (b) right now (that is, using Bison 3.0.2 and Flex 2.5.35) the interface is in fact slightly broken and there’s a workaround you need to know.

Xcode’s built-in support breaks every few versions, so I recommend creating a Makefile to run your parser generator and adding the generated files to your project. Another advantage to this approach is that you can specify per-file flags such as -Wno-conversion to the compiler to silence warnings that you can’t do anything about.