Archive for March 2011

Thursday, March 31, 2011

Skype 5 for Mac

Lukas Mathis:

The window no longer looks simple. Instead, it looks overwhelming. On the plus side, it’s now easier to add a new contact, and I can decide whether to call somebody or start a chat by hovering over a contact. On the minus side, everything else. Since every Skype feature is crammed into a single window, that window feels overloaded. No longer do I see a simple list of contacts. Instead, I have a complex multi-paned window whose right panel shows entirely different things, depending on the application’s mode.

I’m especially not a fan of the little buttons that only appear on mouse-over. Xcode 4 has many of the same issues, although on the whole I think its redesign was a success and most of the problems could be solved within its current paradigm.

Multitouch Multitasking Gestures on iOS 4.3

Guy English:

This all sounds wonderful but I still think they’re a bad idea and shouldn’t ship enabled by default. The problem isn’t that they’re not handy (zing), rather that they break what I feel is one of the key wonders of iPad — it becomes the application that is running. These multitasking gestures add a set of interactions that relate not to what is on the screen but to an abstract higher-level of functionality. The touch screen is now an input into two systems: the application and the operating system. Despite the utility I believe this is a step backwards and certainly a trade off I’d be hesitant to make so early in what will undoubtedly be a long-lived product’s life cycle.

His idea of using the Home button seems unwieldy, but I agree that it makes sense for system-level gestures to require something more than touching the screen.

Tuesday, March 29, 2011

Briefs Rejected From the App Store, Again

Rob Rhyne:

Last Thursday, after working with Apple’s review team for nearly a year, they rejected Briefs again. […] I’m madder than hell over the situation, but it doesn’t matter. It doesn’t matter that I rewrote the app, removing all networking code, replacing it with the worthless iTunes file sharing. Nor does it matter that I was doing this based on direct guidance from Apple’s review team.

Even with the changes to sections 3.3.1, 3.3.2, and 3.3.9, Apple still doesn’t like Briefs. The core issue seems to be that Apple considers the user transferring an XML file via iTunes file sharing to be “download[ing] executable code.”

Taking the “World” Out of WWDC

Chris Adamson:

Think you’re not going to miss corporate developers with only a tangential interest in Apple? I think you will…when the apps in non-computer fields don’t get developed, because the developers couldn’t get to WWDC, couldn’t go to the sessions or the labs, couldn’t come back to their companies with the passion, the sway, and the answers to make iOS and Mac projects happen in their firms. […] Now imagine a thousand other businesses that might contribute to the iOS and Mac ecosystems. Yeah, they’re not coming. But hipster indie developers like me? Us, you’ve got in spades.

I don’t know whether there’s a venue that would work better, but it might help if Apple announced the information in advance of when tickets went on sale or had some sort of lottery. Otherwise, the attendees will be predominantly smaller developers from the US.

Monday, March 28, 2011

Finding and Understanding Bugs in C Compilers

Xuejun Yang et. al. (via Lambda):

To improve the quality of C compilers, we created Csmith, a randomized test-case generation tool, and spent three years using it to find compiler bugs.…Every compiler we tested was found to crash and also to silently generate wrong code when presented with valid input. In this paper we present our compiler-testing tool and the results of our bug-hunting study.

App Store Design Awards

MacNN notes that the Apple Design Awards 2011 are only for products in the App Store. I doubt that anyone is surprised, and of course it’s an improvement over last year’s awards, which were only for iOS apps.

The kinds of products that win ADAs have changed. Once upon a time, disk utilities overwhelmed with options and animation eye candy, and DiskWarrior won for being a great product with a simple interface. Today, a product like DiskWarrior would never win and, due to the Mac App Store guidelines, is not even eligible.

Thursday, March 24, 2011

Betrand Serlet and Craig Federighi

Wil Shipley:

I’m notoriously bad with dates, but in my story-telling memory Craig was running the EOF group within, like, a month. EOF was a HUGE deal for NeXT, so this was the then-equivalent that running the iPod group at Apple would have been a few years ago. During this time he always dealt with Omni openly; he integrated code we’d written at McCaw into EOF, and let us in on what was happening with the framework. We felt like we were his partners – not exclusive partners, obviously, but our voices mattered, none-the-less.

More from Hacker News and David Cásseres.

.NET/C# Generics History

Don Syme (via Charles Cook):

What would the cost of inaction have been? What would the cost of failure have been? No generics in C# 2.0? No LINQ in C# 3.0? No TPL in C# 4.0? No Async in C# 5.0? No F#? Ultimately, an erasure model of generics would have been adopted, as for Java, since the CLR team would never have pursued a in-the-VM generics design without external help.

Tuesday, March 22, 2011

Disabling Dropbox’s Haxie

Dropbox injects code into the Finder in order to draw the green and blue badges atop your icons. I prefer to run a clean system, and it turns out that you can prevent your Finder from being patched by running these two commands in Terminal:

sudo rm -rf /Library/DropboxHelperTools
rm /Applications/Dropbox.app/Contents/Resources/DropboxHelperInstaller.tgz

I first heard about this last year, and indeed it does not seem to interfere with any non-cosmetic functionality. It was also recently recommended in the forum (via John Gruber). Since the haxie is not strictly necessary, I think Dropbox should provide an option in the user interface to turn it off.

Update (2011-04-01): You’ll have to do this each time Dropbox updates itself to a new version.

Update (2011-12-06): With the current version of Dropbox:

sudo rm -rf /Library/DropboxHelperTools
rm /Applications/Dropbox.app/Contents/Resources/DropboxPlugin.plugin.tgz

Update (2012-02-10): With the current version of Dropbox:

sudo rm -rf /Library/DropboxHelperTools
rm /Applications/Dropbox.app/Contents/Resources/DropboxBundle.bundle.tgz

Update (2012-08-16): With the current version of Dropbox:

sudo rm -rf /Library/DropboxHelperTools
rm /Applications/Dropbox.app/Contents/Resources/DropboxHelperInstaller.tgz

Saturday, March 19, 2011

Comparing iPhone Text Editors, v2

Since my previous comparison, I’ve experienced more problems with Simplenote and started using Notesy (prompted by Dr. Drang and others). I’ve updated the table accordingly.

To reiterate, I want a plain text editor that works with Dropbox. This gives me full control over the backups, and it lets me edit and search the files using BBEdit, EagleFiler, and LaunchBar. An iPhone app is essential; an iPad version would be a nice extra. It’s important to me to be able to search across multiple files on the iPhone, pick a matching file, and then jump between the results within that file. Being able to see a search results list with the matching words in the context of their lines would also be nice. Locayta Notes and Simplenote were the only apps I found that could do more than show the filenames of the matches, but unfortunately they both had other drawbacks. Thus, I am currently using Notesy, which has a rudimentary search feature but works very well in other respects.

Droptext 1.2.1 Elements 1.5.1 Locayta Notes 2.0.1 Nebulous Notes 4.3.1 Notesy 1.6 PlainText 1.3 Simplenote 3.1.4 (Premium)
Choose Folder on Dropbox Yes No No Yes1 Yes Yes Yes2
Nested Folders Yes Yes No Yes1 No Yes No
Works Offline No Yes Yes Yes Yes Yes Yes
Choose Font No (Helvetica) Yes Yes3 Yes Yes4 No (Georgia) No (Helvetica)
Font Size No Yes Yes3 Yes Yes4 No Yes
Font Color No Yes Yes3 Yes Yes No No
Background Color No Yes No Yes Yes No No
Multi-File Search No Yes Yes5 No Yes No Yes
Search Results List No No Yes No No No No
Jump Within File No No No No No No Yes6
LF Line Breaks Yes No Yes Yes Yes Yes Yes
Sort by Name Yes Yes Yes Yes Yes Yes Yes
Sort by Modified No Yes No No Yes Yes No7
Rearrange Lines No No No No No No Yes
Versions No No No No No No Yes8
Price $1 $5 free $2 $3 ads or $5 $20/year

1. Rather than syncing everything, Nebulous Notes makes you choose individual files as “auto-saves,” which is a drag.

2. Simplenote seems to be much slower than the other apps at picking up changes from Dropbox. It was often 5 minutes out-of-date, and sometimes hours or days. You can force it to sync, but to do that you have to go to the Simplenote Web site.

3. Locayta Notes is the only app I saw that lets you set font and color options per-file.

4. Notesy lets you set both a variable-width font and a fixed-width font, which is a good compromise between choosing just one and choosing per-file.

5. Locayta Notes does some sort of indexed/prefix search, coupled with auto-correct, which didn’t work well for me. Some words it didn’t find at all. When searching for “cat” it would find lots of useless matches of “at” but totally miss “wildcat”.

6. Simplenote’s results-jumping did not work for me with files containing basic Unicode characters such as é and . The tech support person was not able to tell me which subset of characters to avoid, so the only solution seems to be to stick with ASCII.

7. The option is there, but in my experience the modification dates shown in Simplenote, if I’m using Dropbox, have little relation to when I actually edited the files. The tech support person said this is not the normal behavior and is looking into the matter but has not yet found a solution for me. Even going by the displayed dates, the sorting is sometimes out of order.

8. Simplenote’s versions feature is like the one in Lion and works within the app—very cool.

Using ppc and 10.4 SDK With Xcode 4

Mecki has some Terminal hacks for using older SDKs and GCC 4.0 with Xcode 4 (via Nat!). It’s nice to know that this can be done, but I wouldn’t count on an unsupported configuration continuing to work for very long.

Make Sure Your iOS Device Is Really Encrypted

Rich Mogull notes that in the (I would think, common) case of an iOS 3 device updated to iOS 4, your device isn’t actually encrypted unless you disable the passcode, back up, restore, and then re-enable the passcode. However, a standard four-digit passcode is probably easy to brute-force, so this may be a distinction without much difference.

imp_implementationWithBlock()

Bill Bumgarner:

In particular, imp_implementationWithBlock() takes a block as a parameter, copies it to the heap, and returns a trampoline that allows the block to be used as the implementation — the IMP — of a method in any Objective-C class (as long as the block’s arguments and the method’s arguments are compatible).

Most code will never need this, but in rare cases it will be incredibly useful. Currently iOS-only, unfortunately.

Friday, March 18, 2011

Random Numbers

Mike Ash:

Our “random” index is twice as likely to fall within the first half of the array as the second half. As the desired range shrinks, this problem likewise shrinks, but it still exists for any desired range which can’t evenly divide the original range.

The solution to this is to use as much as possible of the original range, and discard the number and try a new one if it falls outside what’s usable.

This is such a common issue that I wonder why there isn’t a solution in the standard library.

Ingredients 1.0

Craig Hockenberry on Xcode 4 and the new Ingredients documentation viewer:

Ingredients parses the HTML files used by Apple’s own viewer and persists the information with Core Data. The result is quick access to the documentation you need with advanced options to filter and sort to your liking. Recent work by Troy Gaul added an item to the Services menu so a keyboard shortcut can be created to view the selected symbol from any text editor (include Xcode.)

I’ve almost always used a Web browser and the header files, rather than Xcode’s built-in documentation viewer. Does anyone like the pop-ups?

The Story of Oregon Trail

Jessica Lussenhop (via Jason Kottke):

FORTY YEARS AND TEN iterations later, the Oregon Trail has sold over 65 million copies worldwide, becoming the most widely distributed educational game of all time. Market research done in 2006 found that almost 45 percent of parents with young children knew Oregon Trail, despite the fact that it largely disappeared from the market in the late ’90s.

I believe I first played it on an Apple IIe, which was challenging due to the linear arrow key arrangment.

Thursday, March 17, 2011

Objective-C Debugging Aids

Jonathan Rentzsch has tips to avoid retaining self in a blocks and to log information about who is retaining and releasing. I think these would make good macros.

Imperfections.app

Justin Williams:

As a software developer, it’s even worse. I have about 15 apps on my iPhone from great third-party developers and I want to rewrite every single one of them. There is not really anything horrifically wrong with the apps most of the time, but there are the little details missing that drive me nuts or features I’d implement differently.

I know the feeling.

Slow Company

Lucius Kwok:

The idea behind the Slow Company movement is that instead of trying to be the first or to get the most mindshare or market share of any company in your vertical, you try to make something that people genuinely find useful and are willing to pay for it. And instead of trying to woo celebrities and plastering your name all over SXSW, you make something that people like so much that they tell their friends, and it spreads by word of mouth based on how well made it is and how awesomely it solves problems that people have — real problems, not ones that marketers make up.

This is what I’ve tried to do, and these are the kinds of companies I like to buy from.

A Plea for Baked Weblogs

Brent Simmons:

Anyway, I bring this up because I’m tired of slow sites or sites that go dark the very minute I hear about them. It looks to me as if there’s a big missing piece in the ecosystem, and now might be a great time to build that piece. Because, otherwise, it’s not going to get any better.

I think something like WP Super Cache should be built into WordPress. (No, I didn’t find this convincing.)

Saturday, March 12, 2011

iPad Gets GPS Location via iPhone Personal Hotspot

Zachery Bir:

I had decided to forgo the 3G version of the iPad this time around, but the only thing that was gnawing at my resolve was the built-in GPS on the 3G models. Those concerns are gone, as far as I’m concerned.

Twitter

Dave Winer:

If you make a Twitter client, you have a bit of time to get out of that business. If you were thinking about writing one, don’t.

He predicted this a long time ago.

Jens Alfke:

And yes, this is enforceable, because thanks to OAuth they can and will revoke an app’s access to Twitter at the flick of a switch. They brag about how they “revoke literally hundreds of API tokens / apps a week” [ibid]. I just now realized the implications of this, actually. OAuth may be more secure than traditional HTTP auth in that it doesn’t give apps access to your account password, but the centralization of control that it gives to service providers is really disturbing.

He links to Tweetake, a service that can back up all your tweets, favorites, and direct messages.

Marshall Kirkpatrick:

Maybe Twitter’s not really for free-form posting anymore though. Maybe what Twitter leadership really wants is to create a Hollywood-glossy, TV-comfy place for "mainstream users" to read Tweets from famous people and big media brands. Maybe they’re too cool for school and don’t need the earnest nerds that built their ecosystem in the early days anymore. Now they’ve got Charlie Sheen.

Brent Simmons:

One of the cool things about Twitter is that the service sparked a bunch of UI innovation on the part of some very talented client-app developers. I want to see that continue. But it’s as if they said: no more. Stop. We’ll take over now.

Uli Kusterer wants to build a distributed Twitter:

RSS is ideal. It’s XML, so it’s extensible. It is widely supported. There are libraries for reading it for pretty much every programming language. And it was intended to be polled for new, current information. It also deals in items, which can be what each Tweet will be. And finally, at their simplest form, they are just text files on a server, so implementations can be very simple, and can happen on CDNs and other “stupid” web servers, if needed. I’ll first go into the technical infrastructure, and then I’ll illustrate how this would actually look to the end-user.

Friday, March 11, 2011

Dropbox Mobile Less Secure Than Desktop

Mike Cardwell found that, even though Dropbox’s FAQ said:

All transmission of file data and metadata occurs over an encrypted channel (SSL).

the metadata was, in fact, not encrypted from the Android and iPhone clients. Indeed, for mobile clients:

some limited file metadata (name of file, etc) are transmitted over HTTP for performance reasons.

This should either be changed or clearly disclosed and made a preference. The FAQ has since been changed to say:

All transmission of file data occurs over an encrypted channel (SSL).

Although, presumably, metadata from desktop clients is still encrypted, it would be nice to have this spelled out clearly.

The Dropbox API seems to use https, so it looks as though third-party clients, such as the iPhone text editors I compared, are not affected.

Update (2011-03-14): Here’s the Votebox thread for this issue.

Thursday, March 10, 2011

Biplist

Biplist is a pure Python library for reading and writing Mac OS X binary property list files (via Dave Dribin). I’ve been doing this via PyObjC, which works fine except that it can lead to lots of bridging overhead if you’ll be processing the plist objects from Python. I could also imaging this being useful for code that runs on a non-Mac Web server.

Non-Floating Help Window

On Snow Leopard, you can use the DevMode default to make HelpViewer use a regular window (via Joe Kissell).

Xcode 4

Martin Pilkington has a great review of Xcode 4 as well as a guide for where to find Xcode 3 features in it. One change not mentioned is that Xcode 4 drops SDK support for developing applications that run on Mac OS X 10.4 and 10.5. (Depending on which libraries you need to link with, primitive 10.5 support may be possible using deployment targets.) Xcode 3 can still develop for those systems, but it probably will not be able to run on 10.7 or develop for 10.7 APIs from 10.6. So Apple is strongly encouraging developers to drop PowerPC support and support only Snow Leopard and Lion going forward. This was to be expected, although Apple is obsoleting older systems more quickly than in the past. I’m sure there’s lots of code that could, without much trouble, run on these systems if there were tool support.

Update: Part 3 looks at Xcode 4 schemes.

Wednesday, March 9, 2011

Comparing iPhone Text Editors

I’ve long been frustrated with the iPhone’s built-in Notes app. At first, it used Marker Felt and synced only via USB. Now it syncs via IMAP but sometimes duplicates or deletes my notes. On the Mac, the notes are stored as .emlx files with numeric names that change with each edit; this is not very backup-friendly. Apple Mail’s editor is slow and has an annoying yellow background. It wants you to write in rich text, which means that I have to remember to “Paste and Match Style.” Even so, somehow my notes inevitably switch into rich text mode, which means that the skeuomorphic lines on the iPhone no longer match the text height.

Reading Dr. Drang’s iPhone notes app comparison got me interested in looking for alternatives. I definitely wanted a plain text editor that worked with Dropbox. This gives me full control over the backups, and it lets me edit and search the files using BBEdit, EagleFiler, and LaunchBar. An iPhone app is essential; an iPad version would be a nice extra. It was very important to me to be able to search across multiple files on the iPhone, pick a matching file, and then jump between the results within that file. Simplenote was the only app I found that could do this, so that’s what I’m using now.

Other apps have some nice feature as well, however no one app comes close to offering all the features I’d like to have. I’ve summarized my investigation in this table:

Droptext 1.2.1 Elements 1.5.1 Locayta Notes 2.0.1 Nebulous Notes 4.3.1 PlainText 1.3 Simplenote 3.1.3 (Premium)
Choose Folder on Dropbox Yes No No Yes1 Yes Yes
Nested Folders Yes Yes No Yes1 Yes No
Works Offline No Yes Yes Yes Yes Yes
Choose Font No (Helvetica) Yes Yes2 Yes No (Georgia) No (Helvetica)
Font Size No Yes Yes2 Yes No Yes
Font Color No Yes Yes2 Yes No No
Background Color No Yes No Yes No No
Multi-File Search No Yes Yes3 No No Yes
Search Results List No No Yes No No No
Jump Within File No No No No No Yes
LF Line Breaks Yes No Yes Yes Yes Yes
Sort by Name Yes Yes Yes Yes Yes Yes
Sort by Modified No Yes No No Yes No4
Rearrange Lines No No No No No Yes
Versions No No No No No Yes5
Price $1 $5 free $2 ads or $5 $20/year

1. Rather than syncing everything, it makes you choose individual files as “auto-saves,” which is a drag.

2. This is the only app I saw that lets you set font and color options per-file.

3. It does some sort of indexed/prefix search, coupled with auto-correct, which didn’t work well for me. Some words it didn’t find at all. When searching for “cat” it would find lots of useless matches of “at” but totally miss “wildcat”.

4. The option is there, but in my experience the modification dates shown, if I’m using Dropbox, have little relation to when I actually edited the files. The tech support person said this is not the normal behavior and is looking into the matter but has not yet found a solution for me. Even going by the displayed dates, the sorting is sometimes out of order. Also, the first few days, I experienced problems where the iPhone app would not pick up changes from Dropbox for hours or days; this seems to be fixed now.

5. This is like the feature in Lion and works within the app—very cool.

Tuesday, March 8, 2011

Anatomy of a Crushing

Maciej Ceglowski on Pinboard’s traffic spike on Delicious Day (via John Gruber):

We had always prided ourself on being a minimalist website. But the experience for new users now verged on Zen-like. After paying the signup fee, a new user would upload her delicious bookmarks, see a message that the upload was pending, and... that was it. It was possible to add bookmarks by hand, but there was no tag cloud, no tag auto-completion, no suggested tags for URLs, the aggregate bookmark counts on the profile page were all wrong, and there was no way to search bookmarks less than a day old. This was a lot to ask of people who were already skittish about online bookmarking.

iPad Smart Covers and iPhone 5

Neven Mrgan:

If you’ve lasted this long, dear reader, perhaps I can alienate you now by stating that today, eight months after I first picked up my iPhone 4, I am more convinced than ever that its “Leica-camera-like” design is basically a misstep, one that will be corrected in a future redesign. The square sides were an aberration - I mean that in the technical sense of the word, a thing outside the norm - and will not be reused on further handheld products from Apple. The glass back is probably not long for this world either.

One can hope.

Little Brent Tables

Brent Simmons:

And she taught me to program — she taught me about code elegance and about how the best programmers are lazy and never want to write the same thing twice. Software architecture was dinner-table talk when I was a boy.

What a cool mom. I’m glad to hear that her surgery went well.

Apple Documentation Search That Works

Google is no longer a great way to search Apple’s developer documentation. Apple frequently breaks links, and it can be hard to find the most relevant pages. Peter Hosey presents some custom searches for Chrome and OmniWeb that trigger Apple’s own engine, which now presents the search results rather nicely. I’ve set them up in LaunchBar by using * for the placeholder.

On The Usefulness Of Core Data’s User Info

Drew McCormack stores some metadata in the managed object model to aid in implementing copy and paste:

Core Data defines a few metadata properties for each attribute and relationship. For example, properties can be transient, optional, and have a particular data type. The userInfo dictionary allows you to extend this basic set, defining your own metadata. By doing this, you are able to write code for traversing your object graph that is much more generic and flexible. (It is interesting to note that Apple itself adds metadata to userInfo, for stipulating whether to include an entity in a sync, for example.)

DropboxSync

Jesse Grosjean’s DropboxSync is an open-source project to keep a local iOS folder hierarchy synced with a Dropbox folder hierarchy.

Friday, March 4, 2011

Multitasking

Lukas Mathis:

The fact that the iPad only lets me see one app at a time often does not help me focus. Instead, it forces me to switch between apps constantly, thus preventing me from focusing on my task. Every time I have to deal with the iPad’s task switching, I’m interrupted.

A Tour of OSAtomic

Mike Ash:

To see how you can use these, let’s consider how you would write OSAtomicAdd32 using compare and swap. Again, it works using a transaction model. First, fetch the original value. Then add to obtain a new value. Finally, use compare and swap with the original and new values. If it failed, go back and try everything again.

Thursday, March 3, 2011

Trust

By now, I think we’re all just repeating the same points, but Marco Arment has a well-written post on the bait-and-switch:

The root cause for so much of the subscription ruckus, I think, isn’t that 30% number — it’s that Apple pulled the rug out from under some major apps after the fact. And unlike nearly every App Store rule change in the past, this is a major change that developers couldn’t have been reasonably expected to anticipate, and it’s not based in any practical need for the health of the Store or the platform (malware, abuse, etc.).

(Though I’d quibble with the “nearly every” part.) Remember that this “major change” is what Apple’s spokesperson claimed was not actually a change.

And Jim Dovey runs the numbers on his business:

Switching from what I had before to Apple’s 30% fee has taken me from a $90’000 profit to a loss of over $2 million. And if I make more sales, it doesn’t help—only my net loss increases.

The Return of NetNewsWire Lite

Brent Simmons follows the Apple pattern of putting the new stuff in the low-end product first. He’s also posted a Flickr set showing the evolution of the interface.

iTunes 10.2

Kirk McElhearn:

Gone are the dismal, Soviet-inspired silver-gray icons for the different preference panes, at least for some of them. The General and Advanced icons are still gray, as they generally are in other programs, and the Playback icon is still silvery — imitating the silver sheen of the Play button in iTunes’ controls. But the four other icons are blue, green, yellow and black. When iTunes 10 was released, one of the big interface complaints was this loss of color, and Apple seems to have done an about-face here.

I’d like to see the color icons return to the sidebar, too.

Wednesday, March 2, 2011

iPad 2 Smart Cover

Khoi Vinh:

Through and through, this strikes me as a truly clever design, the kind of protective layer that only Apple — and none of the third party case manufacturers vying for this market — can come up with, because they can make all the pieces fit together. It also strikes me as the kind of intelligent engineering that Apple should be coming up with, meaning it corrects the blight on industrial design that was Apple’s old iPad cover

The original iPad case was, I think, the only Apple product that I’ve ever returned for a refund. The new one looks like a home run.

BugzKit

BugzKit is an Objective-C library for the FogBugz API, used to develop LadyBugz (via Brandon Sneed).

The Apple Strategy Tax

John Siracusa:

The essence of a “strategy tax” is something that keeps a company from reaching its full potential. Fielding an inferior product to avoid stepping on the toes of another one of your own products is one example.

Perhaps an Apple unencumbered by the strategy tax would have made iTunes able to rip DVDs just as easily as CDs. If there were DMCA concerns, iTunes could have ensured fair use, applying DRM to ensure that movies ripped from your DVDs would only play on your Macs and iPods. However, iTunes’s mandate is not to be the best media player and manager, but rather to help sell Apple hardware and digital content. At least that’s how it’s perceived outside of Apple.

Apple’s recent App Store changes, however logical and empirically justifiable they may seem, all point strongly to a company that has started to believe that what’s good for Apple is good for America. And indeed, this may be the only way to reconcile the inherent conflict of interest. The alternative is philosophically and practically untenable. Apple can try to be a good platform owner and ensure that popular apps like Kindle and Netflix thrive on iOS, and it can also try to advance its own competing services, but both efforts cannot succeed to their fullest potential.

There’s a similar conflict of interest for us consumers. I want to vote with my dollars, choosing hardware and software that work well. Short-term, I want to use the best products that are currently available. But, longer-term, I want to act in a way that encourages the development of an open platform, where developers and publishers can thrive, where the platform owner doesn’t determine which apps will be available and how they’ll work.

Dirty Percent

John Gruber:

Apple doesn’t give a damn about companies with business models that can’t afford a 70/30 split. Apple’s running a competitive business; competition is cold and hard. And who exactly can’t afford a 70/30 split? Middlemen. It’s not that Apple is opposed to middlemen — it’s that Apple wants to be the middleman. It’s difficult to expect them to be sympathetic to the plights of other middlemen.

Middlemen often provide valuable services. Apple is not willing or able to replace them all, and even if it did it surely wouldn’t do a superior job in all areas.

Why not allow developers and publishers to set their own prices for in-app subscriptions? One reason: Apple wants its customers to get the best price — and, to know that they’re getting the best price whenever they buy a subscription through an app. It’s a confidence in the brand thing: with Apple’s rules, users know they’re getting the best price, they know they’ll be able to unsubscribe easily, and they know their privacy is protected.

This is “best price” as in “you can’t buy it elsewhere for less.” However, even if Amazon et. al. find a way to play ball, Apple’s 30% has to come from somewhere. Prices everywhere will end up being higher than in a world without this Apple policy. Credit card fees, net the cash-back, are perhaps in the range of 1%, which makes Apple’s fee stand out even more.

There’s one striking difference between the subscription controversy today and the App Store controversy in 2008: with subscriptions, Apple is taking away the ability to do something that they previously allowed. There was never a supported way to install native apps for iOS before the App Store. Subscriptions sold outside the App Store, on the other hand, were allowed until last month.

And part of the concern is, what’s next? In another year or two, will Apple try to regulate and tax more types of goods and services? That has to be the operating assumption now.

The whole premise of Windows (and other personal computer systems) is that it is open to third-party software. Apple couldn’t just flip a switch and make Mac OS X a controlled app console system like iOS — they had to introduce the Mac App Store as an alternative to traditional software installation.

Apple can’t flip a switch, but the Mac App Store gives them a ratchet that can produce much the same result over time. There are already some carrots and sticks. App Store apps get automatic installation, updates, and crash reports; non–App Store apps no longer get updated listings on apple.com. The direction of the trend is clear. Would anyone be surprised if future versions of Mac OS X made additional features and APIs available only to App Store apps? There will probably be some sort of pragmatic handwaving, just like the iOS App Store was necessary so that apps couldn’t bring down the cell network, but the bottom line is that Apple could do these things without the App Store and chooses not to.

iOS isn’t and never was an open computer system. It’s a closed, controlled console system — more akin to Playstation or Wii or Xbox than to Mac OS X or Windows. It is, in Apple’s view, a privilege to have a native iOS app.

Exactly. Unstated is that Apple sees a future where most devices run iOS, and Mac OS X takes on more characteristics of iOS (both good and bad).

Tuesday, March 1, 2011

ATPM 17.03

The March issue of ATPM is out: