iCloud and App Store Transition: Yojimbo

Today, Bare Bones Software posted an advisory to educate the users of Yojimbo (BB’s fab personal data archiver and organizer) about the transition from MobileMe to iCloud:

As one of the very first developers to adopt MobileMe for synchronization, we’re accustomed to working closely with Apple to address the complexities involved. iCloud represents a radical change in how data synchronization operates; it’s unfortunately not just a switch that developers can throw.

It’s easy for us all to think “Apple has this new iCloud service that’s way, way better than MobileMe. This is going to be great!” But a lot of developers are really feeling the pain. Products that were working just fine are now broken. Time, money, and resources that developers could be investing in making a great product even better must instead be spent just to keep their software working.

“So what’s the big deal?” you might wonder. “An app used to rely on MobileMe…now it has to use iCloud. iCloud is much better than MobileMe. Developers should quit whining, grit their teeth, and get on with it.”

They can’t. It’s horribly like a home renovation.

(And anybody who’s ever renovated a home is now shuddering.)

It’s not as easy as swapping the old cast-iron tub in the master bath for a whirlpool spa. You need to change the flooring so it’ll support the new tub. New pipes need to come in to feed it. The old water heater isn’t big enough for the new tub. You’ll need a new one of those, too. You hire a plumber to upgrade the house’s 50-year-old water service…

…And oh, ****. He can’t do the work without a construction permit. You go to your Town Hall. An inspector tells you that the plumbing in your 50-year-old house isn’t up to code, and your entire water service has to be upgraded. Your plumbing is perfectly safe mind you…it’s just that since the system was installed, the town chose to change their definition of “safe.”

See? All you wanted to do was take a bath with your spouse, like in that super-hot scene between Kevin Costner’s and Susan Sarandon’s butt-doubles in “Bull Durham.” And now, here you are, fighting a massive bureaucracy just so that you can continue to have running water in your house.

That’s what many Mac developers are dealing with right now. An app does syncing through MobileMe. Now, it needs to do it through iCloud. Fine. But Apple won’t let an app use iCloud unless it’s sold in the App Store. Fine. But Apple won’t approve an app for the App Store unless it’s sandboxed. And for many developers, sandboxing means that half of their app’s features will either no longer work at all, or will need to be dumbed way, way down. Selling your app there also means being cut off from any kind of simple and direct line of communication with your users.

The knock-forward list of problems here is a long one. My initial “what’s the harm?” reaction to the App Store’s requirements was based on the idea that a developer could still sell their apps outside of the Store if he or she wanted to. My attitude has changed. iCloud is just one example of a larger (and kind of nasty) problem: Apple is making the newest and most desirable features of the OS exclusively available to App Store software. How does that encourage developers to create the best apps possible?

No wonder so many developers are feeling a little bit smacked around by Apple. I wouldn’t necessarily read that conclusion into Bare Bones’ update page, of course. But that’s the impression I get from so many developers of so many popular apps. They’ve been sharing some profoundly sad stories with me over the past year. Yes, I’ve heard the phrase “that’s it; I’m out” at least once.

This is bad hoodoo. Very, very bad hoodoo. It doesn’t mean that MacOS is doomed. But it means that many apps aren’t going to be as good as they can possibly be. I worry that many of the best and most Mac developers are going to start to ask themselves if this is all worth it.

32 replies
  1. Ian
    Ian says:

    Many developers are trying to work through design decisions related to sandboxing. For some application types, there just isn’t a way to get there, and these devs are probably going to wind up sighing heavily and walking away from the App Store.

    There is an opportunity here for Dropbox, Box.net or someone similar to become the preferred synchronization service for apps that can’t or won’t fit in with sandboxing and the App Store. Building a more reliable service than MobileMe isn’t going to be that difficult, and they could even work on a compatible API to make the migration as simple as possible from the developer’s (and end users’) perspective.

    I get the impression that Apple really is trying to do the best thing for end users by strongly pushing least-priveledge development practices for App Store applications, but it does wind up excluding whole categories of useful applications.

    This is leading to a bifurcation of Mac development. As Apple tries to encourage adoption of the App Store for Mac users, it will very likely end up causing apps that are sold outside of the App Store to start looking shady in comparison.

    Sure, ‘sophisticated’ Mac users (and, by this, I mean those who understand why some apps will need unfettered access to the file system, not necessarily those who sip claret while glancing through their monacles at their stylish cravats) will appreciate that Yojimbo (for example) is a useful utility and not a lurking software menace, but ‘casual’ Mac users, or those just new to the platform, might be wary of the app if it exists outside the App Store ecosystem. Even worse, they might not know where to find it, or even know that great apps exist at all outside of the App Store.

    For all its growth over the last few years, the Mac desktop is still a relatively small platform in the scheme of things. Splitting the Mac app and developer communities isn’t a good idea. I’m not sure how to resolve this one. Maybe it’s as simple as Apple sharing some love (and advertising dollars) with non-App Store apps by showing Yojimbo running on a Mac in a TV commercial or something.

  2. Keith
    Keith says:

    Which is it Andy? Did Mobile Me suck and needed to be ditched, or should it stick around with its outdated technologies so a very small number of devs that used it for syncing will be happy? To use your plumbing analogy… if the pipes are rusting should the homeowner just ignore it because it’s too must work and expense to replace it with PVC plumbing (a better technology)?

    If you want to pick on Apple for its development headaches, focus on Sandboxing and the app approval process. This particular topic is just dumb.

  3. Joshua Emmons
    Joshua Emmons says:

    One thing I never see covered whenever a tech writer or developer moans about how iCloud is only available via the App Store is that Apple has to pay for iCloud somehow. Apple needs to be collecting its 30% cut of sales to keep the lights on in its massive data centers. The only mechanism it currently has for this is the App Store.

    iCloud isn’t free. If you want it, you have to give your 30%.

  4. Patrick
    Patrick says:

    In my opinion it’s not about features that are compatible with the MAS or not. Imagine Apple would even open up iCloud for MacDeveloperID programs – it still is not the main reason why so many ideas do get thrown in the trash.
    Currently it’s all about being in the AppStore or not. I doubt that there will be a thriving commercial Mac software community outside the AppStore within the next two years.

    I’m a developer and my main attitude was always to solve problems. Now the first thing I can think of is “will it be able to be in the AppStore”.
    That’s exactly what censorship always creates and we call “scissors in your head” that cut’s your thoughts before you do something.

  5. Mark Sigal
    Mark Sigal says:

    Two quick thoughts. One is that the age-old dilemma for developers is always whether to add new functionality or to fix/augment old functionality.

    Any way that you slice it, this is a forced tax on developers that want to stay burrowed into Apple’s App Economy model, and smart developers will assess the cost/return equation accordingly.

    Two is that if Apple wanted to better protect developers they’d consider bifurcating their pricing model between ‘bargain’ apps and ‘pro’ apps, so that part of the equation becomes, “Yes, we are making you make this investment, but this is how we are enabling you to differentiate and make more money.”

    If there is any unease that I have with how Apple has cultivated its platform and developer community, it’s in protecting on the monetization side – AKA the “golden handcuffs” strategy.

  6. Michael
    Michael says:

    I think something worth mentioning os that MobileMe was never free to use. It cost $99 per year to sign up. Basically, Apple is moving the cost from end users to developers with iCloud by requiring apps that use it to be dold through the app store. It would be nice if it was completely free, but, ungortunately, that’s never been Apple’s model for online services.

  7. Susie Ochs
    Susie Ochs says:

    Great post. I have been buying from the MAS for convenience of having a stored credit card and easy downloading to all my Macs, but this is an eye-opening trend. I got a note from Smile about TextExpander 4 not being in the Mac App Store because of sandboxing, so already that’s one purchase I’ll have to “transfer” out of the store.

  8. Dave
    Dave says:

    I think Andy understates the problem. Remember when Apple introduced iCloud at WWDC last year? They announced that it was coming for Windows as well as Mac. They were completely short on details (Is it a RESTful API? Have the APIs even been designed? Is there a Windows library that you have to link to?)

    But the dearth of details was not, I think, due to lack of progress. They actually did port iCloud to Windows, and it works for their internal apps to sync addresses, songs, etc. They just kept it private!

    So now, not only is iCloud not for Windows apps, it’s not for general Mac apps either. Only for MAS apps. That not only greatly diminishes the value of iCloud, but also severely undercuts Apple’s credibility. Not that it’s the first time they’ve announced something revolutionary that they never shipped. Remember QuickTime Interactive? Of course you don’t.

    For those of us working on cross-platform software (which frankly is almost every app that’s really interesting), iCloud is irrelevant.

  9. Chris Johnson
    Chris Johnson says:

    Joshua,
    Developers can use iCloud even if their apps are free. In any case, Apple makes money they can use to pay for iCloud when you buy a Mac, an iOS device, extra space for iCloud, OS X updates, a developer account.

  10. DDA
    DDA says:

    There is another solution, apparently; put a stub app into the MAS whose sole reason for existence is to use iCloud (or whatever other service that is MAS-only). That stub then communicates with the main (non-app-store) app to do, say, syncing.

    Yes, it sucks because the app itself can’t be in the MAS but it lets the app continue to exist yet use all the nifty MAS-only features.

    Of course, Apple may not approve said stub app but that’s another issue.

  11. Drew
    Drew says:

    With the MAS, Apple had the ability to dangle a motivational carrot in front of developers: Mass promotion to the loyal Mac user base. And the streets paved with gold stories from Autodesk and Pixelmator just showed what was possible.

    Now with iCloud, Apple has the ability to force product development of its 3rd party developer community.

    This is a torrid situation and I think it’s impossible to show Apple as anything other than a bully.

  12. Warren
    Warren says:

    Synching Yojimbo using Mobileme across multiple computers with a large library never did work for me. This is a welcome change. I am sure people complained when we moved from the telegraph to the telephone. We lost a lot of useful functions without the printed word…Finally, Sandboxing is needed less we wind up fighting worms and viruses like our Windows cousins.

  13. Scott
    Scott says:

    Apple would definitely not approve a stub app; one of the most basic requirements is that the app be useful to users on its own without other downloads.

  14. R Hake
    R Hake says:

    if ios is not a not a crystal prison, then maybe just a crystal holding cell? Wasn’t it the bard that said the house across the street is not a home? This is a good problem to solve. I hope it leads to solutions and not isolutions. Some sort of universal gatekeeper app more moduar than sandbox and standards based across platforms, down on the physical layer, maybe.

  15. ghoppe
    ghoppe says:

    @Keith said “If you want to pick on Apple for its development headaches, focus on Sandboxing and the app approval process. This particular topic is just dumb.”

    Did you read the same article I did?

    He *did* focus on sandboxing. That was the whole point of the article.

    To summarize: the whole home renovation analogy was predicated on the fact that to offer iCloud syncing, you must sell on the App store; but to sell on the App store, you must sandbox; but to sandbox you must do a lot more work or give up some of your application’s features.

  16. rbq
    rbq says:

    Well, that’s the way Apple generally works, at least in the few years I own a Mac. They build key technologies, try to squeeze money out of them but keep them so incomplete and/or restricted that they sooner or later rot an disappear. I. e.:

    Firewire: A connector superior to USB, requiring lower CPU, allowing for higher speed, even supporting networking, etc. They decided to sell expensive licenses so the devices never reached the price level and distribution required to survive. Then they simply stopped development.

    AirPrint: This wonderful technology allowed for printing from iOS to every printer. Then they decided to sell a license to HP and restrict the feature to next to no devices so that it’s quasi useless for mainstream users.

    AirTunes: Allows for streaming audio from your Mac to your stereo. But somehow they decided to leave it out of OS X and only build it into a single application. WTF. On the receiving end they only sell licenses to hardware manufactures so that you can at least buy some overly expensive speakers. Or you can bury a portable Wifi router with printing capabilities behind your stereo, which is also kind of pointless. The software solution that simply allowed for using your existing iOS device (such as last year’s iPhone) as a receiver on the contrary was kicked out of the AppStore. I guess because it was actually useful.

    AirPlay: Oh yeah, finally you can send video between devices over the network! That’s so cool, because you plug your iPhone into a projector and stream your Keynote presentations there. No, wait, this combination doesn’t work. But for sure you can stream video from your Mac to your iPad, so that you can continue watching your running movie at the kitchen table? No, doesn’t work either. Now I know, I can surely transfer video from my tiny iPhone to my large iMac screen! D’oh, also impossible. So, yeah, why did they even invent and advertise it if they decide not to implement it? Right, to sell another single device that makes it possible to view stuff just on non-Apple-devices. And for the ads.

    FaceTime: Cool, a standard for video calling that actually works. And they even promise to release it as an open standard! In 2010 … or 2011 … or 2012 … or maybe in 2376. But we all know that it will never become a standard and everybody just uses Skype because it’s available on every device. It looks cool in the ads anyway.

    The same is true for iCloud: They just don’t care if it’s a universal feature and if a viable ecosystem will grow around it. It solves some distinct purposes such as:

    1. Force developers into the AppStore which brings money.
    2. Force users to hand over all their data to allow for building services around that later.

  17. GB Henderson
    GB Henderson says:

    I wouldn’t know a line written in CSS from a line written in Hebrew, but I do love the Apple platform. It’s so transparent and powerful. End user satisfaction has been the Apple mantra since the beginning. I like that. I am having a bit of an issue with the control Apple seems to be instituting now with a new and more powerful OS and a newer and more powerful one on the threshold. I regret that I do not fully understand the issues involved, but I can be sympathetic with the developer community, while not at all seeing the point from the Apple side of the coin. I hope I am pleasantly surprised. I bet you do too.

  18. Pmoes
    Pmoes says:

    I really think there is some big picture stuff going on that no one has yet been able to articulate properly (especially me)
    Apple is famously known for releasing something with next to no features and then slowly over time, adding features once they know it will work. Eg iOS cut and paste
    I really do think that the Big Picture here is that iCloud is intended to be far more than what most people think. It’s not that apple is making the iosification of Mac OS, or that Mac os features are being brought to its, Apple is making iCloud the OS.
    To do that, it needs to be simplified. Initially…
    Imagine that icloud is one big mother hunkin’ unix box with 35-odd million user accounts?
    Imagine if an app had unfettered access to that file system?
    I can’t even begin to appreciate how difficult it is to sandbox an app, but like some other posters here have already suggested, the devs who solve this problem are clearly going to be the cream of the crop.
    Isnt this exactly the philosophy that SJ promoted and that has clearly been ingrained at Apple?
    The devs who solve this problem will be the ones who help bring iCloud to success finally as THE universal computing platform, accessible everywhere on the most suitable device that you have to hand at the time.
    I’ll leave it to others to investigate this more thoroughly than I have, but I think everyone, devs and pundits should be looking to iCloud as the reason for the transitional simplification of how apps are made and where computing is to become.

  19. john seward
    john seward says:

    It’s not that sandboxing is difficult. It’s that it makes many useful features impossible, and requires others to be dumbed down, less convenient, less useful.

  20. Peter Payne
    Peter Payne says:

    I love Keyboard Maestro, if it were a female woman I would marry it. This is a fantastic app…but will never get the love it deserves from Apple since they have tried to pussify their software. A shame, and it helps no one.

    Why not make a special “I agree that this app is not sandboxed and would like to purchase it anyway” check box so everything could be good?

  21. David
    David says:

    rbq isn’t seeing the big picture. iCloud must become a universal feature because it’s intended to replace local file storage. The infrastructure and public aren’t quite ready yet, but that’s where this is all going. Storing data on your local drive simply won’t be possible in the future. There will be no file management tools because there will be no files to manage. You won’t backup your data because you won’t have a clue where it is. Pages will know where in iCloud your documents are and which AppleIDs are allowed to access them. In fact Pages itself will only exist as a collection of tools in the cloud and “buying” it will simply grant you access.

    I don’t like the look of that future, but I believe it’s the one Apple, Google and all the big media companies want.

  22. trx3
    trx3 says:

    Regarding Mac software, Apple has flipped every switch it said it wasn’t going to, including actually launching a Mac AppStore. This trend is not stopping. So it will get as restrictive as you can possibly imagine. There will be a day when Apple will get to decide what apps you are able to run. Apple doesn’t like an app or feels that it competes with its core offering, it just shuts it down. No questions asked.

  23. rbq
    rbq says:

    @David: I’m aware of this but don’t see Apple enforcing this anytime soon as it won’t meet the need of developers and professionals in general. I rather expect them to checkout how far they can go in a future iOS/OS X merger, maybe in summer 2014, by providing a more sophisticated cloud storage but still granting access to the whole UNIX foundation for at least half a decade.

    During this timespan I expect Microsoft to do many things right, such as providing a plug-in architecture for storage providers, allowing user to choose between public and private clouds while maintaining the benefits of cloud storage. Those business guys are aware of the fact that their customers have to conform to policies of (in my example European) law and companies can’t just transfer all of their data to North Carolina in plain text. (I also don’t think that online storage is something inherently bad as long the user keeps the encryption key and chooses the platform.)

    Frankly I can’t imagine yet how vendors are going to reconcile their consumer strategy and developer’s needs in the future. But I can’t see it happen by stripping down user’s freedom to the state of our current phones.

  24. Laurent Daudelin
    Laurent Daudelin says:

    They just need to expand their sandboxing rules a bit or relaxed them a bit by prompting the user to give an app access to some of the resources of the machine. Right now, there are few rules and if you don’t meet them, you’re rejected. I have a small synchronization tool on the App Store. Of course, if I ever want to release a major update, I’ll be rejected. But, to me, it seems it would be possible to prompt the user to give the application access to some parts of the file system without going through an open dialog. If the user just bought the app and wants to use it, he should be able to understand that the app needs access to the folders he wants to synchronize. The problem is not really sandboxing, it’s the rules around it that are too rigid.

  25. Hamranhansenhansen
    Hamranhansenhansen says:

    I sympathize 100%.

    But the reason it will be all worth it is that these changes will enable the Mac to sell in mobile numbers. For many users, an app does not exist if it does not 1-click install from the network, whether Web or native. As great as the pre- Mac App Store Mac app platform was, it is 1% of what it can be if it is safer and easier to use than the Web.

    10 years from now, we will look at the Mac of today like we look at NeXT now — like a beta test. A small scale rollout to technical users.

    Mac App Store is not optional — this replaces the disc. Take it from me, I am a musician. It is you programmers turn to get MP3’d and basically it means you have to work your asses off for a few years on stuff you won’t get paid for so that you can earn your way into the next phase. Mac App Store is like being preinstalled on every Mac. Very high bar. But also a very good club to be in.

    Again, this is just discs going away, not imposed by Apple. The replacement for the disc platter is the hardware device, and the replacement for the disc content is not a “download” — it is a “virtual preinstall.” That is to say, OmniFocus is already essentially on your device, preinstalled — you only have to activate it by paying for it in App Store. Sure, the binary is only then downloaded, but if storage were not at a premium, the binary could already be on the device.

    So right now, Mac developers who participate in Mac App Store and iCloud are essentially negotiating preinstalls on the next 1 billion Macs. Yes, it is brutal to meet Apple’s needs but the results will be really great.

    Think big like Steve did!

  26. Felix Schwarz
    Felix Schwarz says:

    Regarding the argument that Apple needs developers to sell through the Mac App Store to get their 30% as a compensation for running iCloud:

    – free applications in the Mac App Store can access iCloud as well. To get and keep a free application in the Mac App Store, developers need to pay an annual membership fee ($99).

    – Since Developer ID requires the same annual membership ($99), too, financially there’s no difference for Apple between Mac App Store apps and apps offered outside the Mac App Store and signed with Developer ID. Yet, only Mac App Store applications can access iCloud APIs.

    – Since Apple can revoke Developer IDs and easily block access to iCloud on a per-app basis, I can’t see how this could be justified with security concerns, either.

    – Notification Center in Mountain Lion is another API that’s only available to Mac App Store applications. Apple has no costs at all operating it. It’s simply a new API. Still, it’s Mac App Store only.

    Looking at it from that angle, I don’t think that Apple’s decision to make iCloud an App Store only API has anything to do with the running costs of iCloud.

  27. Hugo
    Hugo says:

    Just pointing out, this move has been talked about for over a year. They have had plenty of time. My big home renovation took 9 months. They had 12.

  28. Danny
    Danny says:

    I work for a company that produces successful cross-platform applications.

    They were eager to get one of their products into the MAS to supplement their own online store and I spent several months updating it to work within the guidelines – removing deprecated API calls, code-signing the bundle, ensuring that files were written to the correct locations etc.

    But then Apple mandated sandboxing and complying with the draconian restrictions would have meant crippling the app beyond value and rebuilding much of the UI. And the newer APIs required to re-implement that functionality would have mandated the very latest version of 10.7.4, limiting the user base.

    So the whole project was scrapped. Good going Apple.

  29. Danny
    Danny says:

    @Hamranhansenhansen you’re completely missing the point with you CD vs MP3 analogy.

    This is not old-media DVD vs download. These applications are only available via download. The problem is that getting them into the appstore requires massing reworking for no gain, assuming that the final product isn’t compromised by the harsh sandboxing rules, rules that Apple themselves refuse to follow for their own applications.

    And this compounded by the fact that in order to use iCloud, your app must be in the store.

Comments are closed.