ForeverSave Prevents Lost Work on the Mac

It’s happened to all of us. You are busy writing, entering data, or working on a slide deck and all of a sudden something freezes and then the application crashes. If either we recently saved the document all is well, otherwise the inevitable explicative follows. It is 2011 and there is no excuse for not having autosave, but there are still a depressing number of applications that do not automatically save documents. Blaming the user who lost work to an application or operating system crash is blaming the victim. People are far better served by applications that automatically name, save, and version their files without requiring manual intervention. This way users can easily undo or revert to an older version after application crashes, machine hangs, and power outages, no swearing like a sailor necessary.

Tool Force Software’s ForeverSave ($15) largely solves this problem for Mac OS X applications. ForeverSave allows you to configure the application to automatically save documents from many applications including Apple’s iWork, Microsoft Office, and most Adobe products. The configuration process is quick and straightforward. You simply select the applications that you want to enable autosave. There are options to save after a fixed time interval or when switching to another application.

ForeverSave can also automatically create backup copies of your documents. You can set the maximum number of backup copies and a maximum size for the backups overall. One advantage of multiple backup copies is that it is that you can quickly preview old versions of the document with QuickLook. Restoring an old version is a one click operation. One interesting feature is database sharing. This allows you to share all the historical versions of a document, which is useful to show a colleague how a project evolved over time.

If you use any of Apple’s iWork applications including Keynote, Pages, and Numbers, then you absolutely want to use ForeverSave. The applications in iWork are well designed and I use them often, but unfortunately, as of the most recent version iWork ‘09, Apple has not seen fit to include an autosave feature. Each of the applications crash periodically, It also means that you have lost any work form the last time you remembered to manually save. If you have not named and saved the document at all yet, then everything is gone.

When an iWork applications crashes, all remnants of unsaved work is gone. After a recent crash with Keynote, I decided to experiment to see if I could find any traces on my file system. I scanned my temp files and the swap files and found nothing other than the images in the document. This is a terrible oversight and I expect better from some of Apple’s high-profile applications. Judging from the many complaints I found on the Apple discussion boards and elsewhere online, I’m not remotely alone.

Overall I highly recommend ForeverSave, the price is well worth the insurance against lost work. I experience two annoyances when using the application. First, saving is a blocking operation in the iWork applications, so if you have a large document such as a Keynote slide deck with many slides it will force you to wait each time it saves the document. This is technically the fault of iWork and not ForeverSave, but it is still a detractor. The second annoyance is that ForeverSave requires you to name the document the first time. This typically comes up when I start to work on a document and right when I get into a flow, then the save window pops up asking me to name the file the first time so it can save. I would rather the application not interrupt me and simply pick a reasonable name and let me rename it later.

ForeverSave is $15 and has a 30-day trial. ForeverSave Lite is a stripped down version that offers autosaving only, without backups, versions, QuickLook, or database sharing.

Time Machine vs. CrashPlan for Backups

Trouble in Time Machine Land

In my recent article, A Simple and Effective Backup Strategy for Mac OS X, where I recommended a three part backup system: 1) a full disk clone, 2) local incremental backups with Apple’s Time Machine, and 3) networked incremental backups with CrashPlan. I found Time Machine problematic for my own setup, for reasons I explain below, so I now use CrashPlan for both local and networked backups.

For most people with configurations that are not highly customized or complicated, Time Machine is a great “set and forget backup” solution. The primary interface is a single on or off toggle switch. Its ease of use can make the difference between having backups and not having backups for many. At the same time, Time Machine has some notable quirks and limitations that can make it far less desirable in some circumstances. In these cases CrashPlan provides a solid alternative for local backups in addition to network backups. CrashPlan also has the advantage that it works equally well on Windows and Linux.

Clones are Key to Fast Recovery Time

Let me emphasize that maintaining a recent clone is the key for you to rapidly recover your data in the case of a disk failure or theft. Most incremental backup solutions, including Time Machine and CrashPlan, do not backup your entire computer including all the system files and boot records. This means that you must first reinstall your operating system and then restore your files from the incremental backup on to the newly installed operating system.

The process of recovering from a disk failure with a clone is much faster and more efficient since you can connect your cloned disk and boot from it. You computer will be in the same state as it was when you made the clone. You will only have to restore files that have changed since you last made the clone. No other recovery process is nearly as quick recent clone and an incremental backup. The difference is substantial.

Advantages of Time Machine

  • It’s free, supported by Apple and ships with every copy of Mac OS X
  • The setup is impressively simple and it generally just works after that
  • The overall user experience for backup and recovery is substantially better than most alternatives
  • You can manually mount a Time Machine disk on any computer and copy files from it

Disadvantages of Time Machine

  • When you restore from a Time Machine disk, the backup is invalidated and you must start your backups anew
  • Time Machine only backs up changes to your files once an hour, so there is always a potential lag in your backups
  • If you use FileVault, Time Machine will only backup your home directory when you log out
  • If you use FileVault, you can only restore your entire home directory (missing out on the great restore interface) unless your home directory is on Mac OS X Server
  • Time Machine can get confused if you plug more than one Time Machine backup disk into the computer
  • Moving a backup to a new computer is a complicated process and typically requires editing system files

Personal Observations About Time Machine

  • The combination of FileVault and Time Machine makes logging out very slow
  • I found the Time Machine volume occasionally got corrupted and I would have start over
  • Time Machine would sometimes cause large amounts of disk IO with high memory usage that substantially slow my machine down. This would typically happen after longer periods of not backing up due to travel etc.

Advantages of CrashPlan

  • Backups are continuous and files are backed up as soon as they change (note while CrashPlan can be used in local mode for free, continuous backups require a subscription to CrashPlan Central)
  • All backups are encrypted by default
  • Straightforward to configure multiple local and networked backup destinations

Disadvantages of CrashPlan

  • You must use the CrashPlan software to restore a backup, it needs to be installed first for recovery
  • Higher memory usage with 64-bit Java on Snow Leopard (see note below)
  • User interface is functional but, not nearly as nice as Time Machine, it’s also a bit slow to start up
  • If you use FileVault, you must be logged as the FileVault user for backups to happen

Personal Observations About CrashPlan

  • Simple fix improves memory usage
  • Appears to have much smaller impact on my system resources once memory is reduced
  • FileVault complicates install process

Notes on Reducing CrashPlan Memory Usage

I found that CrashPlan could use up significant amounts of memory with the 64-bit Java on Snow Leopard. The most recent version of CrashPlan places a 512 MB memory limit on the process, but that is still quite large. I limit my to CrashPlan process to 150 MB and it has not caused any problems, although this is lower than you will generally see recommended and you will want to carefully monitor your logs to look for memory errors if you set it this low. This post CrashPlan using too much memory on Mac OS X from offTheHill explains how to reduce the memory footprint of CrashPlan.

Why Pinboard is My Favorite Bookmarking Service

Pinboard is a bookmarking service that allows you to easily save, tag, annotate, share, and archive bookmarks independent of your browser. Pinboard describes itself as “antisocial bookmarking,” which highlights its capabilities as a private and personal archiving tool compared to the social features offered by Yahoo’s Delicious service. I find Pinboard a simple, fast, and reliable way for me to save bookmarks and archive web pages for future reference. I have been happily using the service for nearly five months (Update a year) and recommend it highly.

Pinboard has become a part of my everyday online reading experience as I use it archive both a bookmark and the full text of any article I found interesting or that I plan to read later. My primary use of Pinboard is as a personal archive rather than a public bookmark sharing service, and I prefer it to Yahoo’s Delicious bookmarking service, although Pinboard has fewer options for sharing and tag management. For example, it does not support the Delicious style of aggregating multiple tags in tag bundles or the ability to share a bookmark with a specific user.

To start using the service, simply drag one of the Pinboard bookmarklets into your browser bookmark bar. The first style of bookmarklet can either open a new page or a popup window allows you to edit the URL, title, description, tags, and optionally mark the bookmark as private or “to read”. I use the send style of bookmarklet that Pinboard calls “read later.” This bookmarklet saves the page, automatically marks it as read later, and returns you to the place on the page where you left off without opening a new window or a popup. The “to read” status allows you to quickly build up a reading list without interrupting your workflow.

You can aggregate links posted to multiple services by configuring Pinboard to watch for links in your Twitter posts, Twitter favorites, or pages saved to Instapaper, Read It Later, Delicious, and Google Reader. You can easily save links from a BlackBerry or iPhone using a private email address from Pinboard. I find the ability to centralize my bookmarks from multiple services very convenient. Pinboard automatically expands any shortened links and stores the original URL. Full text search on Pinboard include the title, description, tags, and notes, but not the text contained in the pages themselves. Pinboard also allows you to narrow the results of queries with public vs. private status, starred status, and the source e.g. Twitter.

Pinboard offers a single paid add-on, that will archive the entire page, HTML, CSS, and images for each bookmark you save. You can then view the snapshot of the page, even if the original disappears. The cost for this is $25 a year minus your original sign-up price. Pinboard recently introduced a feature where all users can download an offline copy of the last 25 URLs saved. The developer says that he plans to eventually allow users to download their entire archive.

Pinboard offers multiple ways to import and export data including including a format compatible with that is compatible with Delicious. Pinboard offers both public and private RSS feeds of bookmark data including tag-based feeds. The Pinboard API is compatible with the Delicious API. This means that any application that uses the Delicious API should work with Pinboard by simply changing the URL to the API endpoint. Unfortunately, most bookmarking applications do not allow end users to change the API endpoint URL and few directly support Pinboard. On the Mac, both Delibar ($18) and Pukka ($17) desktop applications support Pinboard. The best solution for mobile devices is to use the Mobile web version of Pinboard. Update The Delibar touch application for the iPhone and iPad ($1.99) works with both Pinboard and Delicious. I recommend it.

Overall, Pinboard is an excellent option for storing and archiving bookmarks and I recommend it highly. The service is not free. Currently the price to join is $6.38 (Update $7.41) and the cost increases by a fraction of a cent for each new user. I like this pricing model as it is inexpensive and allows the developer to support the service without ads and without taking external funding. This leaves the service with a smaller, but more active user-base, and more importantly almost no spam. Recent Pinboard releases have improved bulk editing capabilities, but it is not currently possible to add or remove tags on a set of items returned from a search of your own bookmarks. Hopefully, the developers will eventually add this feature as it would make it possible to quickly and easily organize large numbers of uncategorized bookmarks. Update The developers added this functionality. Tag management is now far more flexible.

If the idea of social bookmarking seems foreign or the benefits do not seem clear, I highly recommend taking three minutes to watch the short and entertaining animated video Social Bookmarking in Plain English by Common Craft. What is Antisocial Bookmarking? is a nice post on the Pinboard blog by, Maciej Ceglowski, the founder of Pinboard explaining his reasons for creating the service.

* This article originally appeared as Why Is My Favorite Bookmarking Service in my Messaging News “On Message Column.”

Update 2010-12-16 Mentioned feature additions, Delibar touch support, and price update.

You should follow me on Twitter.

Notational Velocity – Elegant Note Taking for the Mac

Notational Velocity is a free and open source note taking application for Mac OS X that is extremely simple, fast, and stable. I find the minimalist interface very functional and pleasant to use. It is one of my favorite applications.

I mentioned Notational Velocity’s ability to sync with the Simplenote iPhone note taking application in my Messaging News Magazine column Great iPhone and iPad Apps for Reading and Sharing Docs. The combination of Notational Velocity and Simplenote allows me to create, edit, and manage notes that are seamlessly synchronized between my desktop and iPhone without worrying that I will have the latest version on the other device.

Dropbox and allow for synchronizing Notational Velocity across multiple machines. The author of provides the source code you can run your own private server on Google App Engine.

Aside from the ease of use and speed some of the features of Notation Velocity I like are:

  • Makes no distinction between searching notes and creating new notes
  • Displays search results incrementally to help rapidly filter documents
  • Saves automatically, no save button needed
  • Allows data export with a single click
  • Preserves creation and modification timestamps for both import and export
  • Optionally stores notes as plain text, rich text, or HTML
  • Optionally stores notes as a single database or as plain text files in a directory
  • Optionally encrypts the database and provides secure text entry mechanism
  • All commands have keyboard equivalents

* This article originally appeared as Notational Velocity – Elegant Note Taking for the Mac in my Messaging News “On Message Column.”

Great iPhone and iPad Apps for Reading and Sharing Docs

Instapaper, Dropbox, GoodReader, and Simplenote are my favorite applications for reading, writing, and sharing documents on the iPhone and the iPad. I have used each application for more than six months and I highly recommend all of them.


The Instapaper application makes it simple and pleasant to read lengthy articles on your mobile device. Instapaper is optimized for the type of articles where you find yourself starting in your browser and thinking, “I’d rather read this later”. The application automatically loads any new content from the Instapaper Web service, which reformats Web pages for small screens and strips away unnecessary elements. The service provides an experimental option to save pages formatted for the Kindle as well.

There are multiple ways to save content to the Instapaper service including a bookmarklet, email, or applications that integrate Instapaper directly. The “Read Later” bookmarklet is compatible with most desktop browsers, mobile browsers and Google Reader. Each Instapaper user receives a unique email address that will import included links and text. Many iPhone and iPad RSS feed readers, Twitter clients, and social bookmark clients support saving links to Instapaper directly. The Instapaper service allows sharing of individual articles via email, Tumblr, and several Twitter clients.

Instapaper is available in two versions, a free ad-supported version with a limit of 10 articles, and a $5 (USD) pro version with a 250-article limit. The pro version includes additional features, such as background updating, folders, remembering the last read position, tilt scrolling, multiple font options, and disabling rotation. I find that the pro version is well worth the price.


In a crowded market of Web-based consumer storage services, Dropbox is popular and widely praised. The minimal user interface of the desktop application is one reason for its popularity. When I say minimal user interface, in most cases I mean non-existent. This is the beauty of Dropbox. After installing the application, Dropbox appears as a folder on your desktop. The folder is essentially magic. Any files in the folder are automatically synchronized to all other machines where you have Dropbox installed. Mobile Dropbox clients synchronize with the server upon launch. In my experience, it just works, and this is high praise. Dropbox is fully accessible via a Web interface for devices without an installed Dropbox client. Dropbox saves any revisions to your files for 30 days by default. These revisions are only available via the Web interface and do not count against your storage quota.

Working with shared files on Dropbox is as easy as working with files on the desktop. Shared files and folders are synchronized with all authorized users’ accounts. My only real complaint is that sharing must be configured from the Dropbox Web interface rather than a Dropbox client, which is not intuitive. Access control for sharing is based on email addresses and can only be configured via the Dropbox Web interface. It is important to recognize that any shared files count against the storage quota for all shared accounts. Each user’s Dropbox folder has a public directory—any files placed in that directory become publicly accessible without access control. The mobile Dropbox can generate links and can be used to share individual files with any email address. Be careful, the mobile links can also share private files and currently there is no way to revoke access.

Another reason for Dropbox’s popularity is its broad platform support. Mobile clients for Dropbox are available for the iPhone, iPad, and Android devices. A BlackBerry version is in development. Desktop clients are available for Mac, Windows, and Linux. All Dropbox clients are free. The mobile Dropbox client takes advantage of the document viewers built that are part of iPhone OS to open files directly. Supported formats include plain text, RTF, Microsoft Office documents, iWork documents, PDFs, Web pages, images, music files, and videos. Dropbox only supports viewing files; files must be edited with another application.

Some mobile applications such as GoodReader can read and write files from the Dropbox service, although the process is a little convoluted. Dropbox recently added a new mobile API to allow iPad applications to easily save files to a Dropbox account. Saving files to Dropbox is far easier with the most recent version of the GoodReader iPad application due to the new APIs. Even better, the Dropbox iPad application allows you to open files directly in other applications. Hopefully the iPhone Dropbox application will gain this functionality with the next major version of iPhone OS.

Dropbox is a subscription service that uses the Amazon Simple Storage Service (S3) for the backend store. A free account is available with 2 GB of storage. There are two paid upgrade options—a 50 GB option for $10 (USD) a month or $100 (USD) a year and a 100 GB option for $20 (USD) a month or $200 (USD) a year. Paid accounts can optionally save file revision history forever.


GoodReader works well with long and complex PDF documents. I have used it to read PDFs that are several hundred pages long without a problem. The iPhone and iPad support PDF files natively, but navigating long documents is cumbersome as there is no support for jumping to a specific page, for using PDF bookmarks and outlines, or for searching PDF files. GoodReader supports navigation to specific page numbers, PDF bookmarks and outlines, and full text and bookmark-based search. The application includes a night mode for reading in the dark and an autoscroll mode for reading long files without having to manually select the next page.

GoodReader’s support for text files includes a number of features not available in the native viewer, including the ability to edit text files and reflow text when the font size changes or the device is reoriented. One feature, called PDF Reflow, extracts plain text from PDF files and displays it in GoodReader text file viewer so it can be reflowed, copied to the clipboard, or edited. PDF Reflow should not be confused with accessible PDFs that are sometimes called reflowable PDFs.

GoodReader supports file transfer over WiFi in addition to many storage services including POP and IMAP email servers, WebDAV servers, Apple’s MobileMe, Dropbox,, Google Docs, and FTP servers. There are two versions of GoodReader for the iPhone. The standard version is $0.99 (USD). Access to POP and IMAP email servers, Google Docs, and FTP servers require a $0.99 (USD) in-app upgrade purchase each. GoodReader Light includes all available types of server access and is available for free on the iPhone, however it is limited to storing five files. GoodReader for the iPad is currently on sale for $0.99 (USD) and includes all available types of server access.


Simplenote is a note taking application for the iPhone and iPad that automatically synchronizes with the Simplenote Web service. The application has a basic feature set, but it works very well and is easy to use. Notes are stored as plain text and can be forwarded as email messages or deleted individually. Unfortunately, there is no mechanism to work with multiple notes at once. The built in search is fast and searches incrementally as you type, to quickly narrow down the list of notes with the search term. Options include changing the sort order, preview, link detection, and display of file modification dates. If the user has installed TextExpander, snippets will expand automatically. All notes can also be viewed or edited in any Web browser using the Simplenote Web service.

Currently, support for the iPad is limited to the same feature set as the iPhone aside from running in full screen mode. The developer plans to add additional iPad specific features shortly. The Simplenote API enables synchronization with multiple desktop applications including Notational Velocity—a simple, fast, stable note taking application for Mac OS X. This means I can create notes, make changes or additions either on the desktop or my iPhone and they are automatically synchronized. I am very happy with the setup.

Simplenote is free and ad-supported. A $9 (USD) a year premium add-on removes ads, provides an automatic backup, an RSS feed, the ability to create notes by email, access to beta versions, and prioritized support.

* This article originally appeared as Great iPhone and iPad Apps for Reading and Sharing Docs in the May 2010 issue of Messaging News.

Markdown Simplifies Writing for the Web

Why I like Markdown

I format my articles using Markdown, a lightweight syntax designed to emulate the simple markup style commonly used in email messages. For example, if you would like to make text bold, just put asterisks around it. If you would like to make a list, just put a dash in front of each item. Overall, I’m happy with the change, as it has simplified the process for me to publish online. I can write with any text editor or word processor and then Markdown will convert my text to nicely formatted HTML.

Markdown is both a markup language and tool to convert the markup to HTML. The syntax for Markdown is simple and adds very little bulk to my text. Effectively, the only change made when I write was to add a small amount of formatting for the Markdown hyperlinks and headings. Markdown’s creator, John Gruber, wrote Dive Into Markdown, an essay describing his design goals, soon after he released the software in 2004. It is well written and worth reading.

I now prefer to keep my documents in Markdown over HTML as they are smaller, easier to read, and I can convert them to modern standards-based HTML on demand. I prefer this setup to WYSIWG tools or graphical HTML editors as viewing the content in the same browser version is the only way to ensure that you will see the same HTML rendering as your readers. When the W3C updates the HTML specification or the Markdown conversion tools add new features, I can just install a new version of Markdown. I don’t need to modify my original text. Markdown is great for producing basic HTML documents like blog entries or simple web pages, but it is not well suited for long, complex, or highly formatted documents. There are several extensions to Markdown that add features to publish more specialized and complex documents.

If you would like to try Markdown for yourself without installing software, the Markdown Web Dingus or PHP Markdown Dingus will both give you a live preview of any Markdown formatted text you type. Markdown works on Mac OS X, Windows, and Unix/Linux and is widely supported as a plugin for most popular blog and wiki software. The reference version is written in Perl and developers have ported Markdown to Python, C, JavaScript, and other languages.

Gruber also wrote SmartyPants, which transforms plain text to include nice typographic elements such as curly quotes, en-dashes, em-dashes, and ellipses. Many implementations of Markdown include support for SmartyPants by default. Markdown has a liberal BSD-style license that makes it easy for developers to embed it in other packages. There are several Markdown test suites that can test compatibility between versions, including one that ships with the reference version of Markdown. Wikipedia has a good technical comparison between lightweight markup languages if you would like to see how Markdown differs from similar projects.

Markdown Implementations and Utilities

These days, I write almost everything using the TextMate editor on Mac OS X, which includes support for SmartyPants, Markdown, and PHP Markdown extra. I use the QuickLook Markdown plugin when I want to quickly see a formatted version of a Markdown file from the Finder.

Markdownify converts from HTML to Markdown. The script is available as a web-based conversion tool or you can run the script on your own machine. It supports PHP Markdown Extra as well.

PHP Markdown Extra by Michel Fortin is a PHP implementation of Markdown that supports definition lists, footnotes, tables, and intermix HTML with Markdown. Fortin also created a PHP version of SmartyPants unsurprisingly called PHP SmartyPants.

MultiMarkdown by Fletcher Penney supports extensions to the Markdown syntax such as footnotes, tables, bibliographic citations, image attributes, internal cross-references, glossary entries, and definition lists. MultiMarkdown first converts the plain text to XHTML and then uses XSLT transforms convert the XHTML into HTML, LaTeX, PDF, or RTF. It includes many features similar to PHP Markdown Extra. Penny’s MultiMarkdown Bundle for TextMate adds support for the MultiMarkdown variant.

Discount by David Parsons is a C version of Markdown, PHP Markdown extra, and SmartyPants that focuses on speed.

Pandoc by John MacFarlane can convert from Markdown, HTML, reStructuredText, and LaTeX to “reStructuredText, HTML, LaTeX, ConTeXt, PDF, RTF, DocBook XML, OpenDocument XML, ODT, GNU Texinfo, MediaWiki markup, groff man pages, and S5 HTML slide shows.” Pandoc includes Markdown extensions for definition lists, embedded LaTeX equations, footnotes, and tables. Pandoc is written in Haskell, which and currently requires a bit of tweaking to make it work on Mac OS X 10.6/Snow Leopard.

Babelmark, the Markdown Testbed, allows you to compare the output of different Markdown implementations.

* This article originally appeared as Markdown Simplifies Writing for the Web in my Messaging News “On Message Column.”

You should follow me on Twitter.

Simple Package Tracking with TrackMyShipments

The web-based interfaces offered by the shipping services allow you to schedule shipments, manage billing, store addresses, and track packages online. Some third-party services offer simplified interfaces and allow you to track shipments from multiple shipping carriers at once. Still, the process of entering multiple tracking numbers into multiple services can be cumbersome. I prefer the email-based input method used by the TrackMyShipments service.

TrackMyShipments is an email-based online package tracking service I used for more than year and half to as a streamlined method to track packages. TrackMyShipments takes advantage of the fact that you already have the tracking numbers sent to you in email. I wrote about another email based interface in my review of how TripIt Shows the Value of Combining Email, Web and APIs. The signup process is very quick. After registration, you simply forward an email messages with tracking numbers to and the service will send you a notification when the shipping status of you package changes.

Say you want to see when the new hard disk you ordered will arrive so that you could finally get around to your New Years resolution to make regular backups. The most common way to find out the status of your package is to search through your email to find the confirmation email from the store that has the tracking number for your drive. If you are lucky the store has formatted the message so you can simply click on a link and it will take you directly to the page on the shippers site that has information about the state of your package.

Unfortunately, many stores do not give their customers such an easy path and so must copy the number from the email and paste it into the web form for your package carrier. You might even already have an account on the package carriers web site that lets you save the number for future reference or set up email or SMS alerts to let you know when there is progress or problems. So you sign into the service and paste in the tracking number you found. This somewhat cumbersome process is the norm.

TrackMyShipments has a few options to configure the level of detail about the status of the shipment. If you choose, the service will notify you about every hop the package takes along the route, but in my experience this is far too much information. I configure the service to notify me on the day of delivery and for any exceptions. This means I get notified that the package is out for delivery and when it is delivered or if there are any problems with the delivery. All of the package carriers have pretty significant lag in their delivery status information and TrackMyShipments can not give you any more information than the carriers have, it’s just more convenient.

The TrackMyShipments iPhone and iPod Touch application allows mobile users to see the current status of all packages tracked and the ability to remove any packages from tracking. Previously the service offered both free and paid versions of iPhone application. TrackMyShipments for the iPhone is now free and advertising supported with iAds. The application includes push notifications, unlimited shipments and the ability to associate users, which were previously paid add ons. The iPhone application works with both free and pro accounts.

Overall, I find TrackMyShipments is the most convenient way to track packages online. The service is simple to use and in my experience it just works. While neither the TrackMyShipments web site nor the iPhone application will win any design awards, there is little reason to use either unless you want an overview of all shipments at once. TrackMyShipments supports tracking DHL, FedEx, UPS, and US Postal Service packages. The basic TrackMyShipments service is free for tracking up to 10 shipments at a time. You will receive email updates about that status of your package or you can log on to TrackMyShipments to see the status and location of all of your shipments. TrackMyShipments Pro costs $20 a year and gives you the ability to track unlimited packages and receive notifications about the shipping status via SMS. I suspect most people will find the basic more than adequate, although those with greater package tracking needs will find the pro service a bargain.

* A version of this article originally appeared as TrackMyShipments Offers Simple Email-Based Package Tracking in my Messaging News “On Message Column.” Revisions and iPhone application updates on September 13, 2010.

You should follow me on Twitter.

New Directions in Push Notifications for PC’s, Phones, and the Web

For the Internet connected population, the problems of access to information have long shifted from limited availability of information to problems of narrowing down the flood of relevant information to a manageable amount. Filters have become increasingly sophisticated, but timely, relevant, and unobtrusive display notifications for the information we want are still a work in progress. This article explores recent developments in notifications for desktop clients, mobile phones, and Web applications. Notifications range from the mundane “Your backup is finished” or “Someone just responded to your column online” to the important “Your flight is delayed and has a new gate” to the urgent “A large out of state jewelry purchase just appeared on your credit card” or “Your corporate mail server and primary database are offline.” Many of these recent developments are very much in the experimental stage, but are clearly leading to important changes in how we receive information. For those willing to tinker a bit, the new capabilities are impressive.

Notifications for Desktop Applications

Display notifications are commonplace. These are the little boxes or bubbles that often appear on the lower right hand corner of your screen when you receive an instant message or a contact goes online or offline. Surprisingly, none of the mainstream operating system vendors have included an easily accessible and well-documented notification system for both system events and third-party applications. Many developers have created their own notification systems to fill the void. On Mac OS X, the open source Growl project has become somewhat of a de-facto standard system-wide notification system. Growl offers a simple way for developers to deliver event notifications and it is widely supported by independent developers. Growl offers a great deal of control to end-users both for the display style, the frequency and duration of notifications, and any sounds associated with notifications on a per-application basis. Growl can optionally receive requests for notifications from networked services. Growl has been ported to Windows and has inspired a similar, but incompatible, notification system for Windows called Snarl. Growl has also inspired a Linux-based system called Mumbles that is compatible with Growl network notifications. Linux has several notification systems available including Galago/libnotify and Notify OSD.

Two recent developments, Yapper by Jeff Lindsay and Silent Diving Seagulls by Abi Raja have the potential to greatly enhance the utility of Growl by allowing the notification system to receive requests via XMPP/Jabber. Currently, networked Growl requests require a direct connection, which is problematic for users behind firewalls or NAT devices. XMPP is an open standards-based protocol for real-time instant messaging, presence, more recently VoIP, and structured data. XMPP forms the basis of the Google Talk service and many enterprise instant messaging systems.

Yapper creates a small local server that can join the Jabber network, listen for requests, and relay them to Growl. Silent Diving Seagulls combines and extends several Firefox extensions into a single cross-platform extension that can relay requests to Growl, Snarl, Mumbles, and Libnotify. Lindsay and Raja are working together to develop a standard and cross-platform reference implementation for delivering notifications over XMPP that will interface with existing notification systems. Lindsay has already written a XMPP to HTTP protocol bridge, which could further simplify developers by allowing notifications to be created from HTTP requests. WordPress, FriendFeed, and third-party Twitter services already offer mechanisms to subscribe to feeds via Jabber, which could then trigger notifications.

Notifications for Web Applications

The absence of a standard for notifications for Web-based applications is even more obvious. We are increasingly dependent on Web-based applications rather than desktop applications. The problem is there isn’t a straightforward way for Web applications to notify users through the system that an event has occurred. In order to receive a notification, your browser must be the primary open application and the Web application you are running must be the front-most tab. Otherwise, there is no way for the application to let you know that you have received a new email or IM, your bank session is about to time out, that you have received a new message on a social network, or that the search query you are running has produced new results. Some developers work around this by distributing specialized notifications systems such as the FriendFeed notifier that maintain their own network connections or by piggy-backing on their own instant messenger client as Google, Microsoft and Yahoo! do.

Fluid and Prism are site-specific browser creation tools. They allow users to effectively turn a Web application into a desktop application, by creating a copy of the browser that works with a single site such as Gmail, Facebook, or Pandora. This new application has all the properties of a desktop application with its own dock or taskbar icon, the ability to run on startup, and the ability to be minimized. Fluid and Prism both include notification APIs for Web applications. Abi Raja created a Firefox extension called Yip that recognizes both Fluid and Prism notification APIs and can relay them to Growl, Snarl, Mumbles, and Libnotify. Raja’s Silent Diving Seagulls extension is built on top of the Yip extension. Growler, by Aditya Mukherjeey, implements Yip-like functionality for Safari on Mac OS X. Despite the limited support, Web-based services—such as the Meebo instant messenger client and the Flittr Twitter client—already implement Web notification APIs. Other individuals have contributed many Greasemonkey plugins to add Web notifications to existing Web services such as Google Voice.

Push Notification Services for Smartphones

Apple push notifications provide a mechanism to alert the user in the form of a popup message or a modified icon with a red number indicating the number of new messages. For both consumers and developers, push notifications have the advantage that an unlimited number of notifications are included with the base data plan and that they can be delivered over both cellular data and WiFi data. Given the potential rewards for a successful product on the iTunes App Store, developers are adding push notifications to iPhone applications at a rapid pace and many more have announced that support notifications are imminent. eBay, BeeJiveIM, E*Trade Mobile Pro, Yahoo! Messenger, and the Zillow real estate application all offer push notifications natively. Applications like Boxcar and GPush add push functionality to existing Twitter applications and Gmail. Pinger’s Textfree iPhone application allows users to send SMS messages for free. Users can also receive SMS messages for free, although they are delivered to a address and read in the Textfree iPhone application. Recently the service added iPhone push notifications so that Textfree notifies the user in a way that feels like an SMS.

Far and away the most interesting iPhone push application I have seen is Prowl–an inexpensive iPhone application and plugin for Growl on the Mac and Growl and Snarl on Windows that can send desktop notifications to an iPhone via the Prowl service. To start receiving alerts, the user simply needs to create a Prowl account and register the account with the Prowl iPhone application. Prowl immediately gives desktop applications that work with Growl and Snarl the ability to send notifications to the iPhone. There are settings to control which applications are allowed to send notifications; settings to control the look of the notifications; and settings to control when the notifications are received by defining a quiet time where only notifications designated as emergency are allowed through.

The most compelling feature of Prowl is its API, which allows you to generate iPhone notifications from many applications independent of Growl. While the process is still very much in the do-it-yourself category, nearly any application or service can send iPhone notifications with Prowl. Third-party developers have already written Prowl libraries for many popular languages as well as plugins for other applications and services.

* This article originally appeared as New Directions in Push Notifications for Desktops, Mobile Phones, and the Web in the September 2009 issue of Messaging News magazine.

TripIt Shows the Value of Combining Email, Web and APIs

TripIt is a free service that simplifies organizing travel plans. The service has done an excellent job of making it painless to aggregate the collection of email receipts that you receive from airlines, hotels, car rental companies and travel agencies into one master itinerary. In order to use TripIt, you simply forward any email receipts to The service extracts the reservation information from the message and assembles an attractive and very functional master itinerary from all the disparate documents. TripIt supplements the existing information with seating charts, information about local weather and events. Tripit supports a large number of travel-related vendors and regularly adds new ones based on demand.

I have been using TripIt for about a year and a half for both business and personal travel. TripIt provides many methods to access your travel information. There are three separate web-based interfaces–one for desktop browsers, one tuned specifically for the iPhone and one for other mobile web browsers. The service makes it possible to access your data via email, SMS, .ics calendar feeds and RSS feeds. TripIt recently added an Application Programming Interface (API) for developers that is rapidly expanding the number of options.

By default, trips are private. If you choose to add “connections” to other TripIt users, the service will then display trip basics including your destination and the dates you are traveling. You can choose to share trips and allow other individuals to view details such as flight and hotel information for a specific trip even if they are not TripIt users. You can also designate “collaborators” that make may changes or additions to an itinerary. While TripIt does have a number of social network features, these are not required to make the service useful for valuable.

Automatic account creation is one aspect of TripIt that illustrates how well email is integrated with the service. An account is created for you the first time you email TripIt a travel receipt. There is no need to go up through a separate sign up process, although you do have to assign a password the first time you log in.

One of my favorite talks from last year’s Web 2.0 Expo in San Francisco was “Making Email a Useful Web App” from Andy Denmark of TripIt. He made the argument that email is still interesting as an access point for web-based applications. He placed TripIt in a historical context of email driven applications such as the old email-based Internic domain registration forms. Denmark also mentioned TrackMyShipments, an online package tracking service, which is also email receipt-based. I like this service as well and will review it in the future.

The release of a TripIt developer API, immediately led to a number of useful connections to external service such as LinkedIn for sharing travel plans with business connections, Plaxo for integration with Plaxo Pulse and Plaxo Pulse, expens’d, which links with TripIt data to simplify travel expense reporting.

In some ways, TripIt competes with Dopplr, but in reality the services have minimal overlap and I think they are complimentary. Dopplr’s focus is on the social and visualization aspects of travel, while TripIt excels at many disparate travel documents and producing a useful master itinerary. I really look forward to the day when a developer connects these two services via their APIs.

I have very few complaints about TripIt, one is that it is difficult to retrieve older trips, which are sometimes useful when double checking records for expensing, etc. A brief history is available in the profile, otherwise you will need to find an old email from TripIt containing the URL from the trip to view the old itinerary.

The API connection potentially improves the situation for using your own historical TripIt records. That said, it would still be nice if TripIt created a way to easily view historical trips in the browser. This data is currently available in the calendar files and RSS feeds, but these are not convenient for most users to quickly look up a previous travel itinerary online. (Update: Thanks to a comment from TripIt’s Scott Hintz, I now see that the earlier trip history is available, just a little out-of-the-way. Thank you Scott.)

I have long wished that TripIt had a native iPhone application. The web-based iPhone interface is well done, but the master itinerary is also useful when I am without network connectivity such as on the plane or in a subway or when data is expensive such as on an international trip. This problem has effectively been solved with the release of the API as third party developers have begun to create applications that work with existing TripIt data.

There are now two travel applications for the iPhone that are able to sync with TripIt, FlightTrack Pro and TravelTracker. I have not yet seen applications for other mobile platforms such as BlackBerry or Android that will sync with TripIt data, but I would be surprised if the did not begin to appear up sooner than later.

The first application, FlightTrack Pro (iTunes Store link $9.99) is the big brother to the FlightTrack live flight tracking application. FlightTrack Pro can also synchronize flights with TripIt to automatically load upcoming trip information. The application includes features that appeal most to frequent fliers including arrival and departure times, aircraft type and flight maps. The application can download current information on flight status, any delays or cancellations and weather conditions over the air. FlightTrack Pro caches this information so you can review the details even after you are in the air and offline.

The second application, TravelTracker (iTunes Store link $1.99) is an iPhone application helps to track the large and small details related to travel such as airline, car and hotel reservations, frequent flyer account numbers. TravelTracker has a long heritage as it has been available for Palm OS since 1998. The application contains a number of internal databases including airports, Amtrak stations and a number of customizable shopping, packing and sightseeing list related to travel. TravelTracker includes the ability to keep track of expenses and includes a large number of default categories to select from. The application provides links to the internal browser to look up flight information, airport maps and seating charts.

TravelTracker provides several options for importing and exporting data. The application supports emailing itineraries as plain text, html or CSV. Users can independently backup or restore TravelTracker data via a desktop helper application. There were Windows and Mac OS9 desktop companion applications for the PalmOS version of TravelTracker. There is currently no stand-alone desktop applications that are compatible with the iPhone version.

The developer of TravelTracker makes a separate application called Flight Update ($5) that provides real-time flight information, which will hopefully also gain TripIt support in the future. If the user has them installed, TravelTracker would benefit from providing links to either Flight Update or FlightTrack as both are significantly more usable than switching to the built-in browser to look up information.

Third party iPhone applications are not allowed to access entries from the iPhone calendar, so neither FlightTrack Pro nor TravelTracker can place entries directly into your calendar on the iPhone. As a practical matter, this is not really a problem. TripIt provides its own .ics calendar feed that you can subscribe to from desktop calendars such as iCal or Outlook or from web-based calendars such as Google Calendar or the Hotmail Calendar.

* This article originally appeared as TripIt Shows the Value of Combining Email, Web and APIs in my Messaging News “On Message Column.” Minor corrections, URL, and pricing updates September, 13, 2010.

You should follow me on Twitter.

We Need Simple Backup Solutions for Complicated Data

It’s that time of year when our thoughts of New Year’s resolutions are just beginning to fade. So let me remind you of one resolution you should probably keep. Do have backups of your irreplaceable data? Are those backups recent enough that you would not loose anything serious? If the answer to either of these questions is yes then congratulations, you are solidly in the minority. Could you restore or work from those backups and not lose more than a couple of hours of work? If so, then you are in great shape, but hopefully I’ll still have something for you in this article. I will talk about online backup and storage services that serve as excellent complements to disk-based storage.

The Mean Time Before Failure (MTBF) ratings of hard disks are largely disconnected from reality. Common street wisdom says you are lucky if your drive makes it 30 days past its warranty period. As many have said, the question of data loss is when, not if. Once you assume that data loss is inevitable, then backups are clearly essential—unless you are prepared to sacrifice your email, photographs, bookmarks, draft letters and other data to the great data cemetery in sky.

The problem of course is that our data and thus our backups have gotten far more complicated in recent years. Increasingly, portions of our data and even the backup themselves are stored in the cloud—data and services that reside in a collection online services, network drives, virtual servers and places we often just refer to as online.

These days, I suspect most of us have complicated data, some of it is stored on home desktops or laptops, some on work machines, some of it online in the cloud, some backed up and some not. We may have multiple copies of sections of data and yet we may not have any copies of other data. Complicated data lends itself to complicated backup solutions. We often have good intentions about complicated solutions, like New Year’s resolutions, most of which we never get around to.

Online Backup Services

Online backup services are a viable option for many people to backup at least their critical data. They are relatively inexpensive, commonly about $50 USD a year for 50 Gigs of data and are a good compliment to other backup options. I currently do not recommend using an online service as your sole backup option unless you have less than 10 GB total as larger collections may take a week or more to upload, depending on your broadband connection, and many days to recover a most of the data. I do recommend keeping multiple backups and multiple types of backups at least a clone and an incremental backup, just to insure against accidental failure of the backup itself.

Most collections of emails and word processing documents, spreadsheets, and presentation decks are of relatively modest size and thus simple and fast to backup. Music and photos take substantially more space with video being even larger. Current online services are less ideal for very large collections. Another issue is that while many services can make backups to a local disk, they do not backup the entire disk and thus there is no way to do a bare metal recovery. You will still want to keep a clone of your hard disk to dramatically reduce the amount of down time in case of a disk failure.

Some common online backup services are Carbonite, CrashPlan, Jungle Disk and Mozy. Carbonite and Mozy both work with Windows and Mac OS X, while CrashPlan and Jungle Disk work with Windows, Mac OS X and Linux. My current favorite is CrashPlan. The software seems easy on my system resources and the UI is reasonably well done. One interesting feature is that CrashPlan has a peer-to-peer mode where you can backup to another local machine, even on a different platform, or to any other machine accessible on the Internet. CrashPlan even lets you back up to a local hard disk, carry that disk to a friend’s house and continue the backup from that point, thus potentially saving weeks of waiting for the initial transfer. A single CrashPlan instance can accept backups from multiple clients. There is a business version of CrashPlan that will let you manage multiple clients in small business settings. CrashPlan comes in two versions, a $60 USD version that will make continuous backups as files change and a free version without continuous backups. The online CrashPlan backup service costs $50 USD a year (for 50 gigs), which is similar to Carbonite. CrashPlan says they plan to offer storage to Amazon’s S3 in the future.

Jungle Disk offers many features similar to CrashPlan and Carbonite and offers the additional feature of working as a general network drive. The service stores your data on Amazon S3, which will give you the benefit of only being charged for the data you use. However, this means that billing is month-to-month, you can not simply pay a yearly fee and be done with it. Jungle Disk also offers a feature called Jungle Disk Plus which is $1 USD a month and gives you the ability to do partial file updates, restart transfers, potentially faster file transfers and optionally obtain access to your files from a Web interface. I found Jungle Disk’s user interface and billing slightly more complicated than CrashPlan, but a solid choice overall. You will also have to set up an Amazon S3 account. Jungle Disk plans to use Amazon’s upcoming aggregated storage feature in the future to simplify billing.

Mozy is the one service that offers unlimited data storage for a single price, although only for its home users and not for business users. Unfortunately, I find Mozy has become increasingly problematic, especially on the Mac and I have seen it fail repeatedly without adequate warning. Mozy is the most resource intensive of the bunch, often dramatically slowing down my Apple notebook when calculating a backup.

Amazon’s Simple Storage Service (S3) is increasingly used as the storage back-end to many Web-based services. It is possible for consumers to store data on S3 directly, however the service is not yet particularly consumer friendly. The most sophisticated application for end users to work with S3 and Amazon’s CDN CloudFront is probably Bucket Explorer, a $50 USD java application that works on Windows, Mac OS X and Linux. Bucket Explorer’s UI is serviceable, but could be simplified. The application provides control over low level details of S3 buckets—the way Amazon partitions space for individual users. The software comes with a command line tool called Bucket Commander that can automate transfers to S3. S3Fox is a free Firefox extension that allows you to work directly with S3 and CloudFront.

Cloud-based Storage

Another compliment to online backups is cloud-based storage. Originally, these services were typically called network drives and were little more than a virtual flash memory drive, however recent offerings are much more sophisticated. Services such as Microsoft Live Mesh, Apple’s MobileMe, SugarSync and Dropbox offer replication between the local disk and the cloud-based storage.

My current favorite online storage service is Dropbox. I like the service because the user interface is largely invisible. The software works like this; Dropbox appears as a local folder and you simply copy documents in and out of it. These documents are then automatically synchronized with the Dropbox service in addition to any other machines you have running the Dropbox software. As files change, Dropbox keeps copies of the changes allowing you to retrieve older versions of files or retrieve files that have been deleted. Dropbox also makes it easy to share files with other people, you simply share a file with an email address of another Dropbox user and the file will appear in their Dropbox folder. Dropbox is free for up to 2 gigabytes of storage for $10 USD per month or $100 USD per year for 50GB of storage. Overall the service is impressive, however it would be nice if they provided better tools to clean up extraneous versions of files after a time and if they added additional pricing levels. Dropbox uses Amazon’s S3 Web service for file storage.

As a final word of caution, I advise you to never blindly trust your backups. At the minimum, always test them by attempting to recover at least a small bit of data periodically. If you have never tested your backup, how can you really know it exists? It would be painful to think you have viable backups until the point at which you actually need to recover something and then find that your backups were never actually there.

* This article originally appeared as The Need for Simple Backup Solutions for Complicated Data in the in the February 2009 issue of Messaging News magazine.

You should follow me on Twitter.