Archive for January, 2011

Smart Ways To Use The Mac App Store

January 10th, 2011 No comments

(Expect updates to this article. I wanted it out fast and I so crave a copy editor.)

UPDATE:  SourceTree  Between a rock and a hard place – our decision to abandon the Mac App Store

The Mac App Store has been out for 4 days now and I’ve come to some conclusions I’m ready to stand firm on. They take the form of recommendations for  IT folk, users and for developers.  Any of them will change if and when Apple evolves the Mac App Store. How Apple could make things a lot better will be the subject of another article.

Before you read this, let me be clear. I don’t think the Mac App Store is an entirely bad thing. I’m not wishing Apple hadn’t done it. I am wishing it was different. I do hope it generates opportunities for developers, small and large, to reach new customers with great products built with passion and I think it will. The Mac App Store is, if managed carefully, good for the Mac. The problem is, it’s not likely to be managed carefully by enough people.

What follows is seen through the eyes of somebody who’s earned a large portion of his living for more than fifteen years supporting Macs and managing them in installations from less than a dozen all the way up to environments with more than a thousand Macs. Many battle scars have taught me painful lessons. It’s those lessons that shape this article.

Administrators and I.T. folk :

The App Store being accessible on your user’s machines is a recipe for complete and utter disaster. Wanna know how? Yes, many of these concerns also apply to web purchases but the ease, spontaneity and abstracted costs that will make it successful for Apple make it harder for you to manage.

• Accounting and budgeting. If your users are buying applications for their individual machines, you have no easy way to keep track of your company’s spending on software licenses. It can get suddenly very, very bad. See Configuration Management below.

• Compliance. If your users are buying and installing software on their individual machines, they have chosen to agree to license terms. Each one of them has entered into a legal contractual relationship with a software publisher on behalf of your company. Surely only a subset of employees are empowered to execute contracts.

• Configuration Management. The App Store is yet another mechanism for applications to be easily and invisibly updated in wonderfully user friendly ways. Developers love this. It means when they fix a bug they can have fewer copies of their product in the wild with the bug. Less support cost, fewer problems. Or so they think. In fact, it often makes them lazy or at least seem like it.  It means updates and new versions ship without sufficient testing and, if you watch, you’ll see products machine-gun patched as frequently as every few days. Arguably, if this gets your users bug fixes faster, it’s good for you. The problems come when you’ve tested a version, decided you can live with the bugs and a new version rolls out with shiny new new bugs you can’t live with. You may have a policy of quarterly updates to your build/deployment image, when every app in your tool-chain could get updated by any user you support, you’ve lost control of your planning.

• Budget forecasting and management. Another potentially more dire scenario is when a developer changes a file format. One user can decide to install an update or, worse yet, buy a new version and touch and update old files. Suddenly, you have to buy this new version for everyone. Got a thousand users? You’re in trouble. Serious trouble.

• Security. Theoretically this is less an issue with App Store apps that have limitations as to what they can do on the host Mac but, a change to an App can still break other Apps and customized workflows. Updates, particularly from Apple, that update a system service, like QuickTime can  utterly shatter a complex workflow. If you’ve invested in automation like AplpleScript driven workflows, an update to a self contained app can grind work to a halt and create an emergency you, as the I.T. manager, are now on the hook to fix. Yesterday.

• Backup Management. You deploy a new tool, you investigate where those data files are stored. What file extensions they have. What dependencies they may include. You modify your scripts and selectors. You plan for storage space for online, near-line and offline backups. Suddenly some new tool makes its way onto your user’s machines. Suddenly you’ll be asked to recover files you may not even have known they needed backed up.

• Mac App Store apps can check for authorization against whether the Mac their run on has logged into the Mac App Store with the purchasers Apple ID or, apparently, ask the user to log in to Apple authorize. (see below). Are you going to demand that  your users give you their Apple ID’s? Ex users? Perhaps create a company ID and share it with your users? Got an auditing plan?

Remove the Mac App Store from Macs you deploy. You should have disabled Software Update (SWUpdate) from Apple and implemented your own procedures and policies. Even Apple knows this is a good idea and provides tools for running your own SWUpdate server on your LAN. See: Apple’s Snow Leopard Server Product Info and Mac OS Hints : Create a transparent local software update server (note comments re: local DNS as opposed to public DNS and the workaround of defining the hose by IP rather than hostname)


If you are in any way making professional or even just ‘critical to you’ use of your Mac(s), the following suggestions may save your bacon. If you run a small shop, or a one person shop, take a break, I want to introduce your to your I.T. Director. Go, have a look in the mirror. Isn’t that a lovely face? Oy, such a punim and so smart too! Isn’t that a face you just want to be nice to and not make miserable?

You are your own I.T. Director. Heck, you’re your own CIO and CTO and CFO. Damn, you owe yourself a raise with all those extra responsibilities, best do it now or you’ll quit!

You need to worry about, on a much smaller scale of course, all the things covered in the section for I.T. professionals above. You may be a designer working on a freelance project. You can’t suddenly start giving files to a client they can’t open, or open with complete fidelity, on their older version of a tool you both started your project working with. You can’t afford to have some brand new bug you didn’t expect grind your work to a halt. So, aside from a set of policies of your own about how to run your one-person I.T. operation, here’s the basic advice for you:

1) Do not buy tools you use to run your business from The Mac App Store.

• If a tool you use now goes “exclusive” to the App Store, contact the publisher and complain.

• If a tool you want to use is App Store exclusive, look for another tool.

2) If tools you use are cheaper on the App Store than they are as a download, contact the developer and complain.

3) If a tool you use doesn’t make it possible for you to download a zipped or, better yet, .dmg packaged updates from the developer’s web site, complain.

Why? Because you should be able to decide for yourself when you install something new. You should be able to do it at your convenience when you may be offline making like Henry David Thoreau with a MacBook. You should be able to test a new version, perhaps try it on another machine or test environment on your only machine. (This is a great way to do that: (SuperDuper Testing White Paper [pdf]).

Now, for games? Inexpensive little doodads you want to experiment or just play with? Have at it! Of course have at it in a safe testing environment not on your production Mac and not in the middle of a deadline crunch.

Finally, if you’re a software developer, how should you use the App Store to your advantage.

Maintain a deep, deep linkable, accessible and standards-compliant website for your products. As complete a site as you can manage to truly maintain on your budget.  Ideally, this includes: (and stay tuned to the end for why things that may seem unrelated to the App Store, do actually relate directly)

• Navigable links to your manual, license agreement and an FAQ you update based on the support questions you get.

• A ticket management system so users get an immediate response to support emails until a human has a chance to respond. The responder should give the user a ticket number and a timeframe to expect a response. The email should include links to your online manual and FAQ and, you should be actively managing this. If you’ve recently made a change that has users asking the same questions? Link to the answers or include them. And, finally, obviously, use your ticket system to identify ways to improve your product.

The following two suggestions can only, of course, apply to instances of your app you sell direct. Both, as I understand it, violate Apple’s guidelines for apps they allow to be sold via the store.


• Keep ‘in app’ update mechanisms in your products. Maybe you fork the default state of the update mechanism depending on the channel you sold through (default on for direct sales, default off from the App Store) or maybe you ask the user on first launch. You’ll balance the pros and cons for your product and what you know of your customers.


• Keep your in-app serialization. No, not your online-activation, your serialization. For products you sell direct, key the serial number to the name and/or email address of your customer. It’s copy protection to do this. If a a serial number leaks, you have some degree of recourse. Surely not bulletproof but recourse nonetheless. More to the point, the customer thinks you have recourse and that should encourage better compliance. This is much better than activation because, pure and simple, the legit customer suffers no pain. You also get ways you can kill off pirate copies. See your serials leaked to the usual places? Shut them off in an update. Want to know if there’s a lot more copies of one license than there should be out there? Watch your update server traffic. Yes, you need to tell your users their serial number is sent when checking for updates. Most won’t care. For products you sell through the App Store? Just hope nobody cracks Apple’s DRM. How’s that hope thing working out for ya?

(Important note here, according to this: Mac App Store licensing and copy protection, explained there’s no DRM but that’s clearly not the case and here’s proof: Ted Landau’s “Understanding Mac App Store Restrictions” I’m actually a little disappointed in Macworld because it was pretty clear they had to know there was DRM in there.  To me anyway, this quote is telling: “The way that identity check works is, the app itself (not the Mac App Store App) sees if it’s got authorization to run.”

More about that is here at Macworld’s licensing FAQ

“Are there family pack licensing options in the App Store?

No, apps are purchased for and owned by a user linked to a single Apple ID. But if you log in with that ID on all the Macs in your household, you can download and install your apps on each one.”)

One protection mechanism for thousands of Apps? That can’t be a juicy target, much.

• Keep your updates available from your web site available as .dmgs. Ideally the whole app, not just a patcher. It’s less testing work for you, and it’s less testing work for your I.T. manager customers even your customers who never see their I.T. person unless they look in a mirror.  If you’re concerned about copy protection for web-downloaded uodates? Require a serial number and the owner’s email to sign in for a download. Annoying, better not to add this burden but still in the realm of civilized.

• Maintain and moderate user forums at your site. Be gracious, transparent, gently funny and active on your boards. Build a relationship with your customers.

Don’t go exclusive to the Mac App Store. Seriously. Do not go exclusive to the Mac App Store. Why?

• Go up and read all the stuff for users and I.T. folk.

• If you sell direct, you get to keep all the money after your commerce costs. Sometimes worse than Apple’s current cut, sometimes better. Your own choices about how you manage sales and with whom (or whether) you partner for fulfillment defines your costs. (One developer’s comments on the cut apple takes)

• If you go exclusive, and Apple changes the rules in a way that doesn’t work for you, you’ll be scrambling for other ways to keep your business afloat.

• Apple is an intermediary between you and your customers. Your future growth may very well demand you have ways to engage with them directly. Only by maintaining your own face to them can you have a chance of doing that.

• Keep the hopes you have about exposure for your products via the App Store in perspective. The descriptive data in the Mac App Store is not exposed to Google or Bing or Yahoo or any other web search engine. If the Mac App Store becomes as much an uncurated mess as the iOS App Store, you’ll be responsible for generating your own buzz. Your real estate for information a customer may want to self support or make purchase decisions isn’t exposed to search and won’t show up in search results when they are looking to solve a problem your tool is perfect for that they may not have thought they’d be able to do with software. A full deep website will help you be visible on, and off, the Mac App Store.

Does this mean developers shouldn’t sell in the Mac App Store? Of course not! It can, I hope, be a great promotional vehicle for wonderful tools made by small shops who really care about and understand their markets. Just remember though, Apple puts a very prominent link to your site right in the App Store window for your product. Use this to your advantage.

One final thought, if you push your prices down to get traction in the Mac App Store you’ll work your fingers to nubs trying to get back. The nature of that kind of marketplace causes a race for the bottom. Don’t be a sucker. Price on your value. Price on what it costs you to give outstanding service to your customers and be patient enough to let those who race to the bottom ruin their reputations.

Post to Twitter Post to Facebook

Filter Forge Rocks!

January 9th, 2011 No comments

Apropos of nothing other than I happened to have just been using it, I thought I’d promote a great tool: Filter Forge

It’s a wonderfully easy to use Photoshop Plug-In and stand-alone graphics application. It benefits from an enormous and ever-growing collection of community-built filters, framing masks and texture generators. The pricing, in the universe of Photoshop Plug-Ins, is extremely reasonable and it’s useful in ways you may never have expected for things like making wallpaper, multimedia and 3D modeling textures and, of course, filter effects for your existing images. The company’s technical support has been friendly and responsive and the application has inherently civilized anti-piracy measures. (I won’t deconstruct them here because they are subtle and customer-polite and yet, inherently, help the maker control piracy.)

I can’t say enough nice things about this tool really and my only complaint is that it could be faster.

If you do more than the most basic fiddling with graphics, if fiddling with graphics is just fun for you, go buy this tool!

BONUS: There’s a 70% off sale running now too: so the entry-level version starts at $44. I bought, and I’m glad I did, the full ‘Pro’ version and the DVD with the snapshot of their full huge filter library but there’s big fun to be had even at the entry level.


While in the wrong place for a Mac (Tools->Options rather than <Application Menu> -> Preferences) this is one of the clearest, most polite and most flexible settings panes for the online behavior of any application. Kudos!

Screen Shot of Filter Forge Online Settings-Granular Controls with "Never" options and a proxy configuration option.

Screen Shot of Filter Forge Online Settings

Post to Twitter Post to Facebook

Categories: Inspiration, Tools Tags:

The Mac App Store- Day One

January 6th, 2011 4 comments

I need to spend more time with it but here are my preliminary reactions to the Mac App Store in no particular order:

  • The standard license is actually nicely liberal in terms of what you’re allowed to use where. (Any Mac you own or control if you’re not a commercial user.)
  • The pricing model, for now anyway, is hardly settled. It appears Apple will discount and unbundle some of their products for sale on the App Store as compared to their retail price. (Aperture as an example of discounting and iWork and iLife apps as examples of unbundling.) Some third party Products are priced oddly. Full versions of RapidWeaver and upgrades of RapidWeaver are the same price.
  • The installation process is, to me, creepily opaque. It is exactly like iPhone/iPad. Download, a little icon proxy flies from the App Store application to the dock and an iOS-like progress bar appears on the app icon in the dock while it downloads and installs.  No idea what goes where, no way to inspect a package prior to install to see what you can about what might go where.
  • The installation process leaves you nothing ‘portable’. While you may own a license, it appears you must pull down each copy of your App Store purchased software from Apple on each machine you use it on.
  • Because what you download doesn’t seem to be kept in any kind of package or, better yet, a .dmg, you loose control of configuration management. If you are in the midst of a project on one machine and need, for example, to move it to your laptop, you have to install whatever version is currently available on the App Store. That version may not be bug for bug compatible with the version you’ve started your project with. It’s an essential truth, once in the full throws of production you avoid changing your tool chain if at all possible. If you rely on the App Store, you have lost this control.
  • Apple seems to be able to tell a lot more about my Mac than I want them to by simple dint of my launching the App Store. They know what third party software I have installed. This is, arguably, good for the the user so they don’t re-purchase something they bought via another channel but the App Store application should ask me if I want it to check. What third party software I’ve bought via other channels is, frankly, is none of Apple’s business. It’s unclear whether Apple gets a complete list of all apps or only query my machine for those apps that are made available in the app store. The former is surely more troubling but even the latter doesn’t give me a warm fuzzy. Now, before you call me paranoid, The law allows me to, under some circumstances, decrypt CSS encoded DVD’s. Getting into the question with Apple, or anyone else, whether or not my possession of the tools to do so is in keeping with fast changing law isn’t something I would pro-actively choose to share with Apple.
  • I actively use no less (and often more) than 3 Macs (and sometimes WinTel and Linux machines) at a time in the course of doing both my personal and professional work, all of the above poses administrative challenges for me but, for clients where I manage sometimes hundreds of Macs, it could get very messy very fast.
  • Creation and maintenance of install (deployment) images could be nightmarish given the issues above. If you maintain 100 Macs, you build a standard install disk image(s) and you clone to your machines as you deploy new hardware. The use of receipts as authentication for legitimate licenses and the lack of stand-alone installers will make this as unfun as online activation. There’s a reason corporate volume licensing usually includes an installer that doesn’t rely on online activation. (Adobe and Microsoft for example)

Here are my predictions as of day one, the App Store is going to be a mixed bag:

  • The iOS app store is essentially an uncurated disaster area. Discovering quality applications is next to impossible for the novice user and the frivolous applications crowd out those of genuine utility and refinement. Even at day one, the Mac App Store is littered with faux-free apps that are useless without the purchase of a commercial iOS app. Cluttered with apps that fall well below any kind of reasonable design quality standard (language NSFW) and chock-a-block with casual games. This will make it VERY hard for some publishers and there will be good products killed.
  • The presumption of a broadband connected computer is not the same as the presumption of a network connected mobile device. This could undermine Apple’s currently improving place in non-consumer environments. The valid usecases where desktop computers are not connected to the public internet (or shouldn’t be) include:
    • Forensics Workstations for law enforcement
    • Administration Consoles for Servers in a Data Center
    • Production workstations for video and graphics in some environments
    • Production workstations used for live performance
    • Software development environments for life-safety critical environments.
  • The perception of Apple as a closed company is not aided by the walled garden of an Apple-mediated software marketplace. This will undermine Apple’s claims about openness, the value of open source and will alienate significant portions of their developer community.
  • Laws of economic inertia risk making it impractical for third party software vendors to sell their products outside of Apple’s App Store ecosystem. Retail boxes, online stores, distribution providers like Kagi etc. are all jeopardized.

As of today, I will not be purchasing my software from the App Store and do not recommend clients and colleagues to either. There needs to be a lot more thought put into how it works and how the above concerns can be addressed. For now, the traditional distribution chains solve many of these problems in many cases. In the cases they don’t, you should already have been seeking alternate vendors. If you stick to those chains and communicate your concerns to the companies whose tools you rely on (including Apple), you can help ensure your options remain workable.

**Updates** (note, there will, surely, be new articles on this subject, updates below will only be for corrections and minor additions during early days)

Also, via Daring Fireball:

(some updates inline)

Post to Twitter Post to Facebook