Wednesday, January 4, 2012

Thoughts on choosing a backup disk

As a long time computer professional, I know backups matter and that hard drives do eventually fail. So how do you choose a good hard drive for Time Machine or other backup?

10 years ago, LaCie was a popular goto vendor for Macintosh compatible hard drives. After a few of my Lacie d2's failed, I decided to try a different hard drive case and found some pleasant surprises. The Macally unit below is the one I chose.

Macally Hi-Speed eSATA/FireWire/USB 2.0 Storage Enclosure for 3.5-Inch SATA Hard Disk G-S350SUAB2 (Silver)

Priced at $65, this is attractive for a high performance Firewire 800/400, USB 2.0, and eSATA hard drive enclosure. Compared to my LaCie d2's, I noticed several improvements.

It's fan-less which makes it very quiet unless the disk is active.

I like that it includes both Firewire 800 and Firewire 400 on the back.

The power supply is a standard 12v wall wart instead of a separate dual voltage unit (12v and 5v) that sits on your floor or desk and uses a custom DIN connector. LaCie had a run of bad power supplies, so I like that the power supply is such a standard part.

The internal design is actually simpler than the d2 since the drive mounts horizontally and plugs directly into a controller card with interface jacks on the back. The aluminum casing is thinner but not insubstantial and much lighter weight. As an external enclosure, there's no issue with voiding the warranty by opening the case. In the LaCie d2, the drive mounts vertically and needs a ribbon cable (or daughter card) to run from the bottom of the drive to the controller with jacks at the back of the unit. A "warranty void if broken" label covers one of the screws you need to open the case.

By choosing a separate case, you can pick any specific hard drive (and warranty) you like instead of taking your chances with whatever the vendor has on hand.

I tried a NewerTech Voyager S2 USB drive dock for a while, but it wasn't reliable enough for Time Machine backups. Every few days it would report some file access error and need to be hot plugged. The Macally case with included Firewire 800 cable has been flawless for weeks (using the exact same hard drive).

As for bare drives, I've had good results with Hitachi drives ordered from OWC.

What About RAID and NAS


RAID (Redundant Array of Inexpensive Disks) and NAS (Network Attached Storage) get a lot of attention for business critical applications. In my opinion, these are not a good investment for home office or small business backup. In theory, RAID allows you to hot swap a failed drive without disrupting your storage array, while NAS can be used to backup several computers from a single convenient appliance. In practice, these are embedded computer systems (typically running Linux) with their own set of software compatibility and upgrade issues. When things go wrong, and they sometimes do, the added complexity makes it much more difficult to recover.

My preferred approach is to make sure any important data is backed up on at least two separate hard drives, with the most critical data also backed up off-site or in the cloud.

Drive capacities are growing so quickly that the current generation large capacity hard drive will often exceed the capacity of a drive array from only two years ago. Unless you need all that capacity on-line now, it's simpler and less expensive to buy a bigger drive any time you are running out of space. If you want the convenience of network attached storage, it's easier to configure an aging Mac as a storage server, than maintain a Linux based network appliance.

By investing in a flexible moderately priced drive case, you can simply upgrade your drive mechanism every few years, and deal directly with the drive manufacturer for any warranty issues.

Enjoy!

Sunday, November 6, 2011

The Controversy Around Sandboxing

To understand the controversy around Mac App Store Sandboxing, it helps to compare and contrast the problem Sandboxing was designed to solve for some Apps, with the problems it creates for others.

First, consider the problem sandboxing was designed to solve. For a web browser or Email client that handles many kinds of complex media downloaded from the web, how do you protect yourself against deliberately malformed data that uncovers a program vulnerability? With sandboxing, even if an attacker finds a vulnerability in your XYZ media code, it's much harder for them to access other parts of the system. Voluntary sandboxing is a good solution for protecting systems against unknown data from unknown sources.

Next, consider a program like Phone Amego which doesn't download media from untrusted web sites. Its reason for being is to provide Mac to phone integration by working with many other tools (including Bluetooth connectivity to iPhone). It wants to integrate with Apple's Address Book, Daylite, Contactizer Pro, Launch Bar, Finder, Dropbox, FileMaker, EagleFiler, and be scriptable. Forcing an application like Phone Amego to be sandboxed puts the developer in the awkward position of choosing between dumbing down the application by removing features, or abandoning the Mac App Store version including the thousands of customers who have already paid for the application and expect future updates and support.

Mandatory sandboxing without careful attention to the needs of 3rd party developers is not always helpful.

Is Apple prepared to announce that hundreds (or even thousands) of existing Apps in the Mac App Store will no longer be fully supported after March 1st?

If not, who at Apple is listening carefully to what 3rd party developers need to make this work? What should we tell customers who are not sure whether to buy the Mac App Store or "Website" version of our Apps? Is the Mac App Store a trustworthy venue for buying Mac software?

On the whole, I think 3rd party developers want Apple to do the right thing for our mutual customers. If Apple can't sandbox Xcode, Finder, iTunes, Disk Utility, and Time Machine, and has just announced a 4 month schedule slip, is it not reasonable to infer that their sandbox model might not be ready, or some exceptions are needed?

In my view, Apple should be moving in the direction of allowing more Apps into the Mac App Store, helping them to be more secure (through vetting, signing, sandboxing, and entitlements), and making a distinction between Apps intended for General Audiences (G), and Apps requiring more extensive system access. Sandboxing could be big win for users, but only if it's applied judiciously.

The alternative sends a message that the Mac App Store is the best place to go for family entertainment, but not for prosumer or business computing.


Enjoy!

Wednesday, October 19, 2011

Smart Shoppers Guide to the Mac App Store

Follow these tips to find the best deals and avoid paying for Apps that aren't right for you.
  1. Check out the developers website. Many Apps have free trial version or generous return policies if you prefer to try before you buy.

  2. Most small developers are happy to answer questions directly, but are restricted in what they are allowed to say in the Mac App Store. Mac App Store reviews may contain inaccurate or incomplete information. Since developers are not permitted to respond in this forum, show your good judgement by not posting questions or rants here.

  3. If you are unsure about how an app will work for you, please reach out to the developer before rating it poorly for not working the way you expected. That's why the developer's Website and Support link are provided.

  4. The Mac App Store may issue refunds in response to reasonable requests that explain why the App failed to work and what you have done to resolve the problem (such as contacting the developer).

Mac App Store developers want you to be happy with your purchase and will go out of their way to help, but you have to take the first step since Apple is there to protect your privacy and streamline the process.

Enjoy!

Tuesday, October 11, 2011

Sandboxing and the Mac App Store

In a recent Macworld Editorial, The App Culture, Jason Snell argues that an overly restrictive approach to App security "risks dumbing down the Mac app ecosystem as a whole".

A good example is system preference panes or plugins which are not permitted [Apple guidelines 2.15 Apps must be self-contained, single application installation bundles, and cannot install code or resources in shared locations].

In recent months, I've seen two former system preferences panes rewritten as status bar items to the consternation of their existing users (PinPoint and Growl). The right hand side of the system menu bar is being over-crowded with "status items" that don't easily fit anywhere else. The status bar is intended for items that need to present system status and be available at all times without disrupting other applications, not as a mechanism for accessing system preferences. Unfortunately, the mechanism designed for accessing 3rd party system preferences is no longer permitted.

My own Phone Amego for example is a status bar item because I don't want to interrupt whatever else the user might be working on each time the phone rings or you want to make a call. Keyclick on the other hand is a System Preference pane because it reflects a system wide preference that runs in the background, not an application you need to interact with frequently.

The problem Apple is trying to solve is how to make finding and installing software safe for non-tech savvy users, but the challenge is how to apply this without dumbing down the Mac user experience.

By limiting what applications are allowed to do, their security exposure is greatly reduced. But some applications need or want to do more, and this is where things get interesting. Apple has already defined a set of "Entitlements" that allow applications to declare specific types of system access or privileges they need to do their job, so the application can be granted just enough access without exposing any more of the system than is necessary. The combination of sandboxing and entitlements defines a contract between the application and the system, so that even if an application is compromised, it can only do the limited set of things it was designed to do and nothing more. The issue is what entitlements to allow in the Mac App Store and how to present this information in a way that allows users to grant their informed consent.

Apple's current policy is to disallow installing plugins of any type, but this might not be the best answer since users can already install any software they want directly. The effect of banning plugins or startup items is to dumb down applications and push developers and users outside the Mac App Store. My own Phone Amego for example points users to a web page where they can download a set of "Phone Amego Extras" to manually install the pieces the Mac App Store wouldn't allow.

The combination of application sandboxing and entitlements could provide a more elegant solution if it is applied carefully. Apple doesn't need to solve the entire problem all at once, but it does need to recognize there are important applications beyond self contained productivity or entertainment, and begin thinking about how to include some of them in the Mac App Store.

To help get the conversation started, I'd like to suggest a rating system similar to the already familiar film-rating system:

   "G"  for General use or everyone

"PG" for Parental Guidance suggested
(security implications should be noted,
such as anything that installs a plugin)

"R" for Restricted
(requires more extensive system access
such as a network or disk utility)

The point here is that Apple could offer a better user experience by allowing a broader range of integrated solutions to be offered in the Mac App Store.

Sunday, October 9, 2011

When Market Share is used to Mislead

I've noticed a number of blogs and forum posts that keep citing Android market share as evidence that Android is catching up to the iPhone, or even surpassing it. This is misleading so I'd like to put it in a broader context.

Back in the 1960s, when U.S. manufacturing was thriving, business studies showed that doubling production allowed one to reduce per widget cost by around 10%. If you were able to sell twice as many widgets as your next closest competitor, chances are you could produce them more efficiently and enjoy higher profits. The implication is that in each market, there is only room for a few producers with sufficient volume to be the most efficient and profitable manufacturers.

In the case of Android smartphones however, we are comparing a "free" operating system adopted by many manufacturers and carriers, with a specific product from a single vendor that is actually for sale. Any market share comparison that is not related to scale, efficient production, profitability, or customer satisfaction is largely meaningless.

The iPhone is by far the best selling smartphone, has the highest production volume, has the most efficient supply chain, has the greatest share of industry profits (to fuel ongoing development), and enjoys the highest customer satisfaction and brand loyalty. No other single product comes close.

But it goes deeper than this. Many reviewers don't even realize what the product is. They still believe the iPhone or iPad is mostly a hardware product defined by its specifications. Apple has invested 10 times more R&D resources to create the iOS software and supporting eco system than its hardware. Apple didn't design the hardware to match some feature checklist, they designed it to make their software amaze and delight customers, to create an emotional connection that effects peoples lives. To compare the iPhone or iPad to other products primarily on their hardware specifications is not representative of the quality of experience users are likely to have with the product.

What happens if you lose your phone or tablet or wish to upgrade to a newer model? Will all your applications and data move seamlessly? What if you want to share data with others or between your tablet and phone? Can your tablet be upgraded to the latest OS? Will the software you want be available and work smoothly on your new tablet? What about malware? What if something goes wrong? Is there a store where you can take your tablet to get help? These are important considerations consumers see clearly, but the tech press largely ignores. Is the iPad a next generation mobile computing platform, or just the latest cool gadget you're going to replace in a couple years?

Why is it so hard for the tech press to see the iPhone or iPad objectively, and why do they keep promoting the next most promising rival as serious competition when there isn't any?

First, there's the familiar archetype of rooting for the underdog. Apple has become a giant corporation with little need for sympathy to spread their message. Most people already know of Apple's success, what they are less likely know is where Apple has failed or been challenged. Highlighting Apple's weakness is an interesting angle that draws more attention.

Second, disruptive innovations take years to develop and unfold. Not every Apple product or event can meet the hopes and expectations some users have imagined.

While this might explain some of it, in many tech blogs and forums there's an element of resistance around Apple's success. A belief that Apple's customers are somehow being deceived into choosing Apple products over others that are just as good. Or that Apple's tight control over their software eco-system is a threat to user freedom. Or that Apple's singular success concentrates too much power in too few hands. There's an underlying meme that the market needs a worthy competitor, even if that means propping up weaker alternatives.

It's worth noting that Apple has deliberately chosen to serve the less techno-savvy consumer market. By carefully controlling their software eco-system, Apple has made it easier to find and buy computing solutions with less risk of malware or expensive complications. The IBM PC was originally conceived as a less expensive business computer, and more specifically to stop the Apple II from gaining a foothold in the corporate world. The popularity and rapid evolution of the PC meant that consumers were subsidizing cheap business computing. With the emergence of the Post PC era, that subsidy is ending. Nobody likes having their subsidy taken away, including nerds. IT departments are now being told to support iPhone and iPad regardless of their previous support policies. They are losing control over their employees choice of technology.

But there's a deeper reason. As a developer, I've invested years of my life and livelihood in Apple's vision of computing. I left my day job in 1996 to become a Mac developer back when Apple was doomed. For nearly two decades, Mac users and developers have believed their computers were better, while PC advocates argued successfully that their computers were good enough and offered a better selection of business software. It wasn't until Apple switched to Intel processors capable of running Windows that mainstream business users began to take notice.

If you have 10 years of your life invested in Microsoft technologies, the idea that Apple is 5 years ahead of the industry and could dominate the next wave of personal computing is frightening. To admit that you have been out-thought, out-maneuvered, out-marketed, out-executed, and are no longer able to compete effectively is unthinkable, yet this is the very real possibility that the PC industry faces if it concedes portable music and gaming (iPod Touch), smartphones, tablets, and the ultra notebook category to Apple. It simply can't afford to do this without a fight. You have to believe there is a consortium of vendors that can challenge Apple. Otherwise your business and career are at risk.

These factors combined help explain why the tech press is reluctant to embrace Apple's Post PC era. With Apple doing so many things right, the best defense may be to sow market confusion until a worthy challenger can arise.

There is a way to challenge Apple, but most of the industry still doesn't see it. They think Apple is competing on hardware features and price, but they are wrong. What Apple has done is they have gotten serious about creating a portfolio of great software products that delight customers in ways they haven't seen, and then combined this with elegant mobile hardware. Apple is winning in music, photography, home video, phone, App store, mobile gaming, and video conferencing. The iPhone 4S and iOS 5 will add Cards, text messaging, and Siri voice interaction on top of that. You will not be able to challenge this portfolio with more megahertz, pixels, or bytes. Consumers are smarter than that.

When Tim Cook says "Apple loves music", the subtext is that Apple makes the best music players on the planet. If you love music, you should have an iPod, iPhone, or Mac (and once you've tried one, you won't look back).

Android may be strong in mobile web, GPS navigation, and Google app integration, but none of these have the emotional appeal of music. Amazon is starting to figure it out. If you love books and reading, you should have a Kindle. Microsoft is re-imagining windows for mobile, but it's less clear if they realize they need a portfolio of consumer applications with emotional appeal to challenge Apple's. Focussing on the enterprise won't be enough. The next generation of mobile business software is already starting to be written for iPad.

If you don't agree with Steve Jobs approach of serving consumers first, you are free to design a better alternative and let the market decide. For more background, see Thoughts on the "Post PC" Era.

Enjoy!

Saturday, September 17, 2011

Thoughts on the "Post PC" Era

In recent weeks I've seen several editorials and forums discussing the "Post PC" Era. Having lived through a similar transition to the PC era, I'd like to offer another perspective.

First, desktop PCs aren't going to disappear anytime soon.  They have many wonderful advantages, but they'll gradually become less dominant in the supply chain for hardware and software.

20 years ago when I was at DEC, we used to have these arguments frequently. What's the difference between a PC and a workstation?  The temptation was always to elaborate the hardware differences. Bigger CPUs, virtual memory, multi-tasking, and so forth, but these were all wrong. The difference is the software it runs and the user experience. Everything else is a temporary distraction.  

In the early 1980s, Digital tried to build their own PCs but failed to understand the importance of 3rd party developers and creating a sustainable software eco-system. Not unlike some cell phone makers.

By the late 1980s, PC software was already dominating the software
industry.  There were simply so many more developers writing clever,
gorgeous, affordable applications, that the established mainframe
and minicomputer software business couldn't keep up.  If you wanted
the coolest, most cost effective information solutions, that meant getting a desktop PC.

By 1990, Digital realized it couldn't win by building its own PCs (running DOS or Windows), so it tried to bring the best of the PC world to VAX/VMS through X-Windows (aka DECWindows), and put VAX/VMS on a 64-bit RISC chip called Alpha. While these were impressive engineering accomplishments, it's much easier to grow an eco-system up than to grow down.

It didn't take long for the user experience (including the cost of the tools) on the PC to challenge what you could do on a workstation.  I remember around 1995 DEC standardizing on Interleaf, a $20,000 word processor that ran on workstations for all their technical publications.  I couldn't believe it. Hadn't these people heard of MS Word and PDF?  What did they think was going to happen to Interleaf in 5 years? The business model of these systems simply couldn't keep up with the much more affordable Windows/Intel eco-system.

The similarity with today's Microsoft trying to squeeze Windows 8 into a tablet form factor is striking. If history is any guide, this will be extremely difficult. Not because the engineering can't be done, but because the user experience and business model will not be compelling compared to alternatives that were designed for Mobile from the ground up and have a 5-year head start. How will tablet makers feel about paying $40 to license Windows? How will Microsoft get $100 for Word or Excel when Apple charges $20 for Pages or Numbers? Can Microsoft afford to match Apple's business model?

The computer industry has gone through several similar transitions and it's challenging for the titans of one era to be nimble enough to innovate and thrive in the next era. Consider the following sequence:
  Mainframe-computer ->
Mini-computer ->
Desktop PC ->
Internet PC ->
Mobile Internet ->
(Multi-Touch + cellular)

While we describe each era in physical device terms, this is misleading because the real transition is the user experience and the software that runs on these devices. The iPhone and iPad provide mobile Internet and productivity apps, but they do much more: music, pictures, video, movies, GPS navigation, books, games, and a large App library. Nearly as important are the many ways they do less: very little malware, no visible drivers, no extension conflicts, no file system, no hard drive, minimal configuration, compact, lightweight, low power, and no fan.

Squeezing windows into a tablet form factor is unlikely to match the best in class mobile experience in each of these areas, but that doesn't mean it isn't worth trying. There's a huge base of developers and business customers who would love to access their familiar Windows tools from a mobile platform. The difference is whether this can attract the mass consumer market.

So what does it mean to say we're in a Post PC era? The focus of innovation, growth, and profits has shifted along with the attention of the masses. Traditional PC software (and hardware) isn't going away, it's just no longer the most dominant thing driving the industry.

The PC emerged in part as an expression of personal freedom and will remain popular for managing and storing your own data; writing your own programs; and running software you own rather than submitting to the whims of the Cloud. PCs have great displays, file management, and input capabilities. Where the PC has suffered as a consumer product is:

Being too complex for what users need most of the time

The need to deal with malware

Ease of finding/installing/updating software

Lack of mobility

Ease of backup, restore, migration, and replacement

Ease of service when things go wrong

Value when just the basics are enough

How these trade-offs are managed will define the Post PC era.


Enjoy!

P.S. Many of these PC limitations are not addressed by Android tablets which are having a hard time gaining traction in the market.

Wednesday, April 6, 2011

Migrating from Palm Desktop to iPhone (or iPad)

I have a client who recently purchased a Verizon iPhone and wanted to migrate his Contacts, Calendar, Tasks, and Memos from Palm Desktop to his new iPhone. Contacts and Calendar migrated easily enough, but there's no built-in support for tasks and memos. In this post, I'll describe how I resolved this problem.

From Palm Desktop you can export your contacts in vCard format and import them into Apple's Address Book on your Mac. You can also export your calendar in vCal format and import it into Apple's iCal on your Mac. Address Book and iCal can be synced easily with iPhone or iPad.

The hard part was finding a solution for Tasks and Memos. Google searching turned up recommendations to use Outlook which can sync to the iPhone on Windows, or downloading a trial version of Missing Sync for Palm OS to export your Tasks into Apple's Mail.app, and your Memos into Mark/Space Notebook. Once your tasks are in Mail.app, you can sync with MobileMe and then use BusyToDo. Missing Sync also supports Bare Bones Yojimbo and Entourage, but these are incomplete solutions since Yojimbo is for iPad and read only at this time.

If you try this (as I did), make sure you backup both your Address Book and iCal data as described before attempting your first sync. On my first attempt, when I enabled MobileMe synching, it quickly duplicated every calendar entry. Yikes! I turned off synching and restored the calendar from the backup I had made earlier. If you sync your calendars, you have to be careful about local copies and what else might be lurking when you use Missing Sync. I decided to look for another solution.

When I searched the App Store for "Palm Memos", I was thrilled to find Notebooks and read the description of how to import memos from Palm Desktop. Nice!

Notebooks is actually a pretty interesting app for keeping notes compared to anything else I've seen. It has extensive synchronization features (DropBox, WebDAV, WiFi, iTunes,...) and works with many data formats including iWork, MS Word, PDF, html, etc. You can only edit plain text or "mark down" on your mobile device, but you can store and view most things you're likely to be interested in. It supports nested notebooks to any level, ToDos, and allows you to re-arrange your notes and books any way you want from your desktop or mobile device by synchronizing moves and deletions.

Notebooks recently added support for ToDos, and with some tweaking, I was able to capture the text of my clients ToDos, their category, and last modification date. Hopefully, Notebooks will add proper support for importing Palm Tasks. Here's what I did:

1. Exported my To Dos from Palm Desktop, format Tab and Return, name "ToDos.palm"
2. Opened my ToDos in AppleWorks as a spreadsheet
3. Cut column 4 and pasted over column 5 (without removing column 4)
4. Copied column 1 and pasted over column 2

If you press the "Columns" button while configuring your Palm export, you'll see the list of columns exported by Memos versus To Dos. I just mapped the To Dos columns to mimic Memos so I could import them into Notebooks. Using DropBox for synching, this worked well in my simple test run with a few dozen Tasks and Memos.

When I tried to transfer my clients hundreds of Memos and Tasks, the Memos failed to load part way through, and the resulting Tasks folder caused an error when I tried to sync using DropBox. It turns out there were problematic entries in the files I exported from Palm Desktop. Using Bare Bones Text Wrangler, I was able to study the progress or error messages and find the corresponding problem records in the exported Palm Desktop files (by line number or text snippet). Category names must not end in a space, and records must contain a valid title or body. After a few attempts at cleaning up the files and converting to UTF8 encoding, I got everything to transfer successfully.

Once the Tasks have been extracted by Notebooks, you can tell it to display each book as a task list to allow checking off individual tasks.

Finally I learned from the Developer of Notebooks for iPhone and iPad (Alfons Schmid) that he is working on a companion Mac version to create a complete and elegant solution. Currently every Memo or Task is represented on the Mac by a plain text file you can edit directly, and a ".plist" file containing various properties (which you can also edit). While not a perfect solution, it was good enough to ease the transition to iPhone and better than anything else I could find. With a Mac version of Notebooks, iPhone will finally be able to approach the elegance of the Palm Treo and Palm Desktop for keeping Tasks and Memos.