Together launched on 3 August 2004 (as did Reinvented Software), making it a decade old today. Join me on this long, gloriously self-indulgent look back at the app, some of which goes back even further, complete with some really old screenshots.
Also, I’ve written a post about surviving as a Mac developer for 10 years here.
In a way, Together grew out of a freeware app I wrote at the turn of the millennium to try out Cocoa in the Mac OS X Public Beta. The earliest date in the source code is 1 December 2000 and I released the app on 2 January 2001, so it’s clear what I was doing over the holiday season.
NoteBook 1.0 had almost nothing to it. All it did was present a sequence of rich text notes, thanks to the new text editing features built into Mac OS X. You can see a screenshot on the original web page, which I’ve uploaded here: http://reinventedsoftware.com/notebook/ I’m impressed at my first ever attempt at a Mac OS X app icon, bland though it may be (it later turned into this).
Even back then, I remember having ambitions beyond that. Mac OS X lacked the Note Pad and Scrapbook apps (actually desk accessories) that could be traced back to System 1.0. That was disappointing as I used them quite often, despite their limitations. Note Pad presented notes with a page-turning UI and Scrapbook was a sideways scrolling collection of various types of clippings: images, text, sounds and movies. I wrote about these and their connection to Together (when it was called Keep It Together) back in 2005.
Eventually the freeware app looked the way you see it below. Check out that Helvetica Light!
GEEK CORNER: You would never bother to say something was a Cocoa app now, but back then it was still a big deal. Actually, the app was written in Cocoa Java, so won’t work now. I was a C developer at the time and could’ve easily done it in Objective-C, but I wasn’t even remotely serious about shipping an app back then and fancied trying out Cocoa Java to see what it was like. Apple was still somewhat beleaguered and needed ways to entice both developers and users to the platform. For users, there was the hardware and amazing way Mac OS X looked; for developers, there were concerns that Objective-C, despite being a superset of C, easy to learn and ideal for incorporating existing C code, was considered a bit weird, whereas Java was very much a buzzword at the time. In the end, Objective-C won people over. Now there’s Swift, but I think that’s a very different story. Even so, I wouldn’t write off Objective-C just yet.
The freeware experiment taught me many things, such as what it’s like when people actually use your app and have opinions about it, but also made me think I could make a living selling apps full-time. I could see a few other people doing this and was getting tired of my day job in corporate IT.
After paying off my debts and saving up a cushion, I quit my job, got together with a friend who’d set up a company in the US, added features I knew people wanted, renamed the app to Notes (to avoid conflict with other apps on the market) and tried selling it for actual money. This was a total failure.
However, by this point the app certainly had shades of Together about it, being capable of storing and viewing various file types along with a hierarchical folder structure.
Keep It Together 1.0
For the next year, I did contracting work to stay afloat and eventually burnt out. To recover, I had to shed all previous projects and commitments. I never wanted to let anyone down, but couldn’t have continued, either physically or mentally. It would take years to truly feel well again, and the first year was unbelievably difficult. I slept a lot, but in my waking hours ideas kept coming to me. Unable to consider a real job and with no sick pay, I decided to turn completely independent.
The result was Keep It Together 1.0. This took all the knowledge I’d gathered making NoteBook and put it into something truly designed for the task. No longer was this some kind of classic Mac OS replacement, but a proper Mac OS X app, inspired by the new iApps like iTunes and iPhoto, where you just throw stuff in there and not worry about it.
KIT 1.0 launched on Mac OS X 10.3 Panther with content searching as-you-type (Spotlight wouldn’t arrive until 10.4), linked files, groups (based on iTunes playlists, where items can be in more than one group at a time), smart groups, and notes you could create in the app too. As you can see, the basic design has stood the test of time.
KIT was well-received, but it took a couple of years to catch on, gaining a lot of attention during a golden era of Mac productivity apps that was inspired by GTD, tagging and the like. Eventually, the app grew to support bookmarks, web archives, ratings, tags and plenty more, but all this flexibility meant people wanted to put more in it and the database was seriously starting to creak.
Over the course of 2007, I set about creating version 2.0. I decided to drop “Keep It” from the name, partly because Keep It Together was too long, and also because the abbreviation KIT was an impossible search term, even for the semantically-savvy Google. “Together” as a proper noun suffers none of these problems.
Shelf in Together 2
Version 2.0 was released soon after Mac OS X 10.5 on 15 November 2007, and added a slew of features: a tags source list, folders, portrait orientation for the list and preview, thumbnail icons, Quick Look previews for files the app didn’t understand, Spotlight content searching to remove the burden of indexing, tabs, multiple libraries, editable documents, encrypted items and the Shelf tab on the side of the screen.
The Shelf was (and still is) for the app to be accessed from any other app, harking back to the compactness and convenience of those Note Pad and Scrapbook apps, except it adapts to what you’re doing: click the tab to open it and navigate the library or make quick notes, or drag to the tab to choose a destination for your import, then it changes again so you can add tags and so on.
Over the next 6 years, the app would grow to add .Mac (later MobileMe) sync, which never worked, then remove it when the service was terminated, web PDFs, favorites, importing files automatically from Finder folders or via bookmarklets and global hot keys, scriptability, nested groups, multitouch support and plenty more. All very geeky, but there was one thing people wanted more than anything…
Released on 9 May 2013, I first sketched out the design for Together 3.0 some two years earlier to accommodate new features and work alongside a companion iOS app, even though I still had no idea how the apps would sync back then, as iCloud had not been announced. I also wanted to slim down the app’s UI to restore the simplicity of version 1.x, but without losing any features. This seemed the ideal time to do it.
Mac OS X 10.7 Lion had been previewed and billed as the “Back to the Mac” release that would return some of the features and philosophy of iOS, and Apple’s attention, to the Mac. Finally, iCloud was announced at WWDC 2011 for launch the following October. This was the solution I’d been waiting for.
However, at WWDC Apple also announced the requirement for apps sold through the Mac App Store to become sandboxed in the same timeframe, and that iCloud would be restricted to Mac App Store apps. Sandboxing is a security solution that restricts apps’ access only to things you allow. At the time, app sandboxing was far more restrictive than it is now, and adopting it would mean losing a lot of features from Together. I wasted about 6 months sandboxing my three apps before Apple changed sandboxing to be more flexible and relaxed the Mac App Store rules for existing apps, provided they only included bug fixes and OS X enhancements.
With Apple still working out the creases in sandboxing, many of which wouldn’t be addressed until the release of 10.8 in July 2012, I decided to postpone sandboxing and consequently iCloud and all other new features to Together 3.0. In addition to iCloud, other new features included stationery, thumbnails, an Inbox, navigation history, tab exposé, autosave, a new design, and plenty more.
Together for iPad and iPhone 1.0
With iCloud in place I could finally create a version of Together for iOS. Many obstacles have fallen away over the years, but having a way of syncing that data across devices was absolutely key. Until iCloud, I’d toyed with various ideas, none of which seemed feasible. A solution that relied on something not built for the task, such as Dropbox, was too risky, but creating and maintaining two apps while running a cloud syncing service (and it has to be in the cloud) for something as data heavy as Together is too much for a single developer.
Together for iOS 1.0
I began Together for iPad and iPhone properly after releasing Together 3 for Mac, based on the iCloud work in the Mac app and designed from scratch for iOS 7. It’s a tricky proposition, recreating an app so desktop-based as this, all files, folders and tags, none of which has a natural place on iOS. However, if you take those things away or somehow try to abstract them too much, it fails to be the app people want. Likewise, you need to be brutal in what you can and cannot do. Anything that doesn’t fit has to go. This problem reminds me of the Irish joke, where someone asks for directions and the Irishman replies “well, I wouldn’t start here.”
Then again, it’s clear a shift is happening in iOS where creating an app like Together is getting easier and makes more sense all the time. Besides which, Together doesn’t impose things like folders or tags, that’s something done out of choice. As far as Together is concerned, nothing has changed since version 1.0: it will take care of whatever you put in its library, no further action necessary. Now that sounds like an iOS app.
The future of Together now is to build on all this. OS X Yosemite will bring a refresh of the UI and integration with iOS 8, which also gains the ability to share documents between apps, moving iOS closer to OS X. Despite being years later than I wanted, it feels like Together for iOS has arrived at the exact right time.
I love what I do. I never got rich from it and I rarely have any time off, but it’s far better than what I would have been doing otherwise. To everyone who’s supported me and my apps over the last ten years, thank you!