Speeding Up OmniFocus Sync

Some great tips by Sven Fechner on how you can speed OmniFocus sync. It involves archiving data on the Mac and resetting sync databases on your iOS devices:

The free OmniSync Server makes life a lot easier and keeps your OmniFocus world, well, in sync. If you use your own WebDAV server you have the same capabilities but without the awesome “Mail Drop” feature which allows you to email in your actions.

While the OmniSync Server is fairly reliable, it is not necessarily the fastest syncing solution on the planet. In particular when your database gets larger and more convoluted.

It’s the first time I’ve followed this procedure, and, indeed, my OmniFocus database has been slimmed down and it now takes 5-8 seconds less to sync on WiFi; the improvement is even more considerable on 3G.

I’ve used my own WebDAV server with OmniFocus for months, but the convenience (and simplicity) of the Mail Drop feature lured me back to Omni Sync Server. Mail Drop works amazingly well in conjunction with Drafts, allowing me to quickly send off a task to my OmniFocus inbox in the cloud. In moving to Omni Sync Server, I didn’t lose the ability to have the latest version of my OmniFocus database mirrored to a calendar: OmniFocus does, in fact, come with some great debug commands to change its default sync times.

As an aside, while looking forward to OmniFocus 2, The Omni Group has posted the first batch of videos from The Setup event in San Francisco a few weeks ago. You can watch them here.

The (Un)Obviousness of iCloud

Chris Bowler writes (via Shawn Blanc) about his slow yet inexorable migration to iCloud:

And so it has gone with iCloud overall. I never really set out to use it to its fullness, but it has become integral to my computing experience. It should have been an obvious transition, but instead it was subtle. This past year came with migrations to two new laptops. The ease of setting up each blew me away both times. The combination of Dropbox (my data), Rdio (my music) and iCloud (preferences, OS X integrations, applications and everything else) is a powerful one and a testament to the time we live in.

I have previously written about how, for the end user, iCloud may as well look like “the operating system”.

When I think about it, I’m thankful for the kind of integration that iCloud provides. I use Calendar, Safari Tabs, and Find My iPhone on a regular basis and I enjoy their functionality. On the other hand, I’m less excited about iCloud Mail and its continuous downtimes, and I understand third-party developers who lament the poor state of iCloud sync and APIs for their apps.

Major shifts like iCloud take time. When you consider that Apple hasn’t traditionally been great at web services, what they have managed to make work reliably is quite a remarkable achievement. Yet, like Maps, average users don’t care about this: they just want their devices to work. And if Apple gave them iCloud, then Apple needs to make sure users can trust it.

As an aside, I’d point out that several friends of mine constantly ask me about iCloud — the things it does and what it is. Maybe my friends are lazy, but I’d go all the way out to guess perhaps Apple needs to tweak the initial guided setup to make iCloud even more understandable. I’ve always thought the short trackpad videos Apple embeds in OS X are nice and effective because they show features in context. Rather than using an animated cloud, short videos and actual screenshots would be a nice addition to iOS’ first setup guide.

Last year, when Manton Reece of Riverfold Software, maker of Tweet Library, announced he was working on a new service to sync Twitter timelines across apps and platforms called Tweetmarks, Twitter users and iOS nerds alike rejoiced, and began hoping the service would work as well as Manton promised. Not only did it work, Tweet Marker — the final name of Tweetmarks — turned out to become the de facto solution to implement synchronization for timelines across different Twitter applications. In the past nine months, we have seen Tweet Marker find its way into popular apps like The Iconfactory’s Twitterrific and Tweetbot, spanning a variety of mobile devices and platforms like iOS, the web, and even Android. Today, Reece is launching Tweet Marker Plus, an enhanced and paid version of Tweet Marker that adds new features on top of standard timeline sync.

At $2 per month, Tweet Marker Plus offers new functionalities and a web interface for Twitter users, while keeping the basic sync you may already be using in Tweetbot or Twitterrific completely free. On top of that, developers who are already integrating with the “regular” Tweet Marker can now also check out version 2.0 of the API, a minor upgrade to improve reliability.

Tweet Marker Plus brings a web-based timeline that remembers the read position from Tweet Marker-enabled apps; a searchable archive of your tweets and tweets from people you follow, and an option to manually select the tweet you want to sync with other apps. I have been able to test Tweet Marker Plus prior to its public launch, and I’ve been consistently impressed with the sync implementation that seamlessly switches from the web, to clients on the Mac and iOS.

The most visible feature of Plus, the web timeline, is very straightforward, but I believe it’ll prove to be a worthy addition for, say, those users who rely on iOS and Mac apps at home, but who are forced to stay on Windows environments at work. Tweet Marker’s web timeline can pick up from where you last left off on another connected client, and it’s got a “scroll to marker” option to manually load your last-seen tweet. On the timeline itself you can reply, retweet, mark as favorite and check out a tweet’s unique URL, but these actions will simply forward you to a dedicated page on Twitter.com. Tweet Marker’s Plus timeline isn’t meant to be a full-featured client: rather, it is a basic way to rely on your existing sync position if nothing else is available.

At the core of Tweet Marker Plus there’s the new search option, which will keep a searchable archive of tweets from you and the people you follow. This is something I’ve been obsessed with lately — to be able to keep a fully indexed archive of tweets I saw appearing on my timeline on any given day. I have been using a combination of Greplin and CloudMagic to search for old tweets from my timeline, and it looks like Tweet Marker Plus will be a fantastic addition to this category of services. Reece told me the goal is to begin by keeping an archive of about a month of tweets, indexing 800 tweets (per Twitter’s limits) when a user signs up to the service. As more tweets are scanned and indexed in the background at regular intervals, Reece plans to increase the amount of tweets searchable by Tweet Marker as the service grows and evolves.

With over 170,000 users to date and 1,000 new ones added each day, Tweet Marker is now a reality that is not going away anytime soon. Twitter hasn’t shown any particular interest in allowing users to sync their timeline position through apps and platforms, and Tweet Marker has turned out to be the proverbial “right idea at the right time” as users were growing tired of having to manually reload and scroll timelines in their clients of choice. Tweet Marker’s servers now process over 40 million hits a week, and the service has been enabled in 15 different apps across 6 platforms. The idea for Tweet Marker Plus, Reece explained, is to lay the foundation for an improved service that will give subscribers more features inside supported apps while continuing to work with the free version, which doesn’t require any registration or subscription.

It may be a version 1.0, but Tweet Marker Plus is already a solid offering. At $2 per month, the service adds search and a web-based interface on top of a platform that has reliably synced Twitter timelines on a variety of apps and hardware. You can subscribe to Tweet Marker Plus here.

Mar
6
2012

When I reviewed the first, iPhone-only version of ListBook from noidentity last year, I called it ”a good alternative to Apple’s Notes app for most iPhone users”. In the past 12 months, however, Apple shipped iOS 5, a major revision of its mobile operating system that, among other things, includes a native list-making app called Reminders. The writing was on the wall for developers of third-party list apps: Apple likes to “borrow” ideas from successful applications every once in a while, and simple todo lists are just something too common to ignore for a possible system integration. As usual after Apple comes out with its own take on a previously third party-only idea, many rush to declare Product X has been “sherlocked” by Apple. It happens every time. The opposite is quite true: Apple’s take on such ideas and workflows often creates an even bigger market for developers, raising the public’s awareness on a particular kind of software, leading more people to seek out alternatives and different takes from other developers.
The new ListBook, released today, falls exactly under this category. With a simple interface, lists, and iCloud sync, one could easily think it’s a Reminders clone with a price tag on top of it (the app is sold at $1.99 on the App Store). As I mentioned above, those looking for a different take on Reminders — which will also gain a desktop counterpart on Mountain Lion — will be pleased to find in ListBook some clever features implemented in a way that makes switching between the iPhone and iPad version as effortless as iCloud allows.

ListBook makes lists. On the iPhone, these lists are accessible from a button in the top left corner that you might have seen elsewhere recently;  on the iPad, the app uses a split interface that’s quite attractive and works fine.

Lists can be assigned an icon (the selection is nice), and you can disable Home screen badges on a list basis. Each list shows how many items you entered in total (tasks) and how many of them haven’t been completed (open). Because ListBook isn’t strictly GTD, but wants to combine text-based lists with a simple todo management system, completed items will stay in a list until you delete them permanently — a Filter button lets you view only “open tasks” if you prefer such view. This view setting, alongside lists and todos, will sync across devices using iCloud, and in my tests sync has been fairly responsive — it takes only a few seconds to see new items appear on another device, even if the app is already in the foreground.

Overall, I think ListBook 3.0 is a great update and the right path to follow for the developers, especially with iCloud, which would open the door to a possible Mac app in the future. If you like well-crafted user interfaces (the icon is also very polished and not blue or red), a simpler approach to list creation and supporting indie developers, you should give ListBook a try — it’s $1.99 on the App Store. For people who are just looking for a basic todo list app that syncs across devices, however, hitting the Buy button on this one might be a little hard. Apple’s Reminders does more, is integrated with Macs and PCs, and it’s free. Those users will be more than fine using Reminders, and I don’t blame them — Apple’s utility covers various aspects of list management very well, it’s got Siri support, and will gain a desktop version this summer. If, for some reason, you don’t like Reminders, or are simply intrigued by third-party apps in general, you should still try the new ListBook — it’s very nice and gets the job done.

Jan
27
2012

Three months after the public launch of iCloud, I thought it’d be interesting to check upon the App Store and see how many developers have decided to enable iCloud integration for documents & data storage in their apps.

iCloud went live alongside iOS 5 and OS X 10.7.2 on October 12th, two days ahead of the iPhone 4S’ launch. In retrospect, iCloud’s public debut wasn’t without its issues and hiccups, but it was relatively smooth in the following days and Apple acted promptly to restore interrupted services for its users. Looking back, it’s just weird how many times iCloud Mail has been down, and continues to be unstable, whereas iCloud sync (for apps and data) has been fairly responsive and, at least on my side, always up. This says a lot about priorities, I guess.

In 107 days since iCloud went live, and 235 since Apple’s announcement at WWDC ’11, it appears the majority of third-party developers are still considering whether or not iCloud is something worth investing their time — and customers’ money — or not. Those who have successfully implemented iCloud have done so in ways that require minimal user interaction, most of the times enabling sync capabilities through a single setting switch. Others have tried more complex solutions, often having to come up with separate tools to enable iCloud. Especially on the Mac, the fact that only apps sold through the Mac App Store can be directly integrated with iCloud isn’t helping developers who are still selling apps both on Apple’s App Store and their own website. Overall, there seems to be a shared trend among developers choosing to wait for Apple to clarify specific aspects of iCloud sync, improve the platform and fix some bugs that may prevent certain applications from being iCloud-enabled without requiring a major restructuring of the codebase on their end. Turning an iOS or Mac app into an iCloud-enabled app hasn’t turned out to be the 1-click process many, including me, wrongfully assumed when iCloud was previewed at WWDC last year.

Every app has its own way of storing local documents and user data. Some apps prefer keeping the original source of a document intact, say a .txt file, whilst others may apply their own file format to store documents and data internally in a proprietary database or multiple files, such as Evernote’s take on XML. There are pros and cons: keeping a universal file format such as plain text gets you more benefits in data portability; writing your own database structure allows you, as a developer, to do things exactly the way you want. What does this mean for iCloud?

Without getting too technical (also because my knowledge on the subject can only get you so far before I suggest you go read the developer documentation), the developers I’ve talked to explained that in the way iCloud syncs file, there may be some incompatibilities with apps that are based on complex databases and libraries. Apps that simply want to sync .txt files across multiple devices might be easier to port to iCloud, but then again there are always some aspects to consider such as conflicts, renaming a file, or getting a timestamp for the modification date when multiple devices are accessing iCloud. That’s not to say implementing iCloud is technically impossible for apps that are based on libraries, and not easily exportable files: below, I’ve collected some examples of apps that do just that, and quite cleverly too. However, getting to enable iCloud and make it reliable enough so that all kinds of apps can work with it without frustrating the user (who, in theory, never has access to the inner workings of iCloud) while at the same time providing the functionalities he or she expects. (more…)

Sync Your iOS Device Wirelessly with AppleScript

Doug Adams shares a great AppleScript to initiate a wireless iTunes sync session, set up so that it runs automatically once a day:

A while back, I retired my iPhone 3G to the bedside table after buying an iPhone 4. I use the 3G pretty much as glorified clock radio-iPod Touch. I have a few radio apps on it and the Digital Clock app. I also have it set to sync and back up over Wi-Fi to my main iMac so I manually initiate a sync when I need to update Podcasts and apps and what have you.

This manual syncing has become tiresome. (I mean, if I used a traditional clock radio, I wouldn’t have to update its content manually, right?)

It’s simple enough to write an AppleScript to sync a connected iPhone but I want the script to run on a regular basis without me having to fire it. I like to listen to Podcasts in the evening so sometime during dinner would be a good time to update the 3G with any Podcasts that have arrived during the day. For this, I can create a launchd agent to fire the AppleScript that syncs the 3G in the background.

I had cron already set up (I followed this post), and I can confirm the script works really well (as you can see, I changed the script with “4S” for my device). Obviously, you can use this script without cron as well — it’ll simply sync with iTunes, but I guess it sort of defeats the purpose of this tutorial (unless you have a way to launch AppleScripts remotely). Doug also posted a similar script for automatically updating expired podcasts, which you can check out here.

After using Google Chrome for more than two years, I still find it rather amusing that Google hasn’t released an iOS companion app to access your browser history, tabs and bookmarks on the go. Mozilla does this, third-parties have figured out a way to do this, yet Google doesn’t seem to think an iOS version of Google Chrome with, perhaps, a minimal set of functionalities would be necessary. Fortunately, a developer in the App Store has figured out a way to sync your Chrome session (that is, history, tabs and bookmarks) from the desktop to an app, aptly named Chrome Sync Pro.

Priced at $0.99, Chrome Sync Pro runs as a universal app on the iPhone and iPad (the latter doesn’t support landscape mode for some reason), and has three sections at the bottom to switch between your bookmarks, open tabs and history. When I first heard about Chrome Sync Pro my first concern was security — it turns out, the app gets your Chrome information through an extension that doesn’t communicate with third-party servers, but copies your browser’s data into a Google doc in your account. The data in Google Docs is encrypted in some sort of way, I believe, so that only Chrome Sync Pro for iOS can read it and display properly on your device. I’d like the developers to explain this process better, for sure, but I’m not deeply concerned about security and privacy as long as my Chrome data is passed along through OAuth to Google Docs.

On iOS, the app is very simple and functional. When you open it, it’ll refresh with the latest data from your Chrome browser and allow you to tap on links. Chrome Sync Pro supports different third-party iOS browsers instead of just Safari, although some personal favorites of mine like Grazing and iCab aren’t supported yet. There is a refresh button to update the sync results from your desktop computer, but I’ve found the extension to be stable and fast at syncing back tabs and history to Google Docs.

Chrome Sync Pro is a simple utility that could use a prettier interface and more third-party browser integration; for now, it gets the job done. If you’re looking for a way to make your Google Chrome data portable, Chrome Sync Pro is only $0.99 on the App Store.

Jan
10
2012

Earlier this year, I started using Day One. Not just another text editor with Mac and iOS versions and support for Markdown formatting, Day One is at the same time a flexible and focused solution to archive your thoughts, memories, experiences into a well-built interface that keeps everything in sync across Macs and iOS devices. A fresh take on the old paper journal, Day One takes advantage of modern technologies such as local reminders to tell you when it’s time to write your journal; on the iPhone and iPad, the app supports different font sizes and Markdown, so you’ll be able to write nicely formatted documents that you can easily export to HTML. On the Mac, Day One comes with a standalone menubar application that makes it incredibly fun and quick to jot down thoughts whenever you want.

Day One’s 1.5 update for iOS, released today on the App Store, brings a more powerful Dropbox sync for iPhones and iPads (Day One can store its database in Dropbox, and it allows you to export notes on the Mac via File>Export) and the long-awaited iCloud sync, which I’ve been able to test on my iPhone 4S and iPad 2 (Day One 1.5 for Mac isn’t live yet, but it’s been submitted to the Mac App Store).

I came from an old installation of Day One with a Dropbox database synced to my iPhone and iPad. As I upgraded to version 1.5 and launched the app on both devices, I was asked to disable Dropbox sync if I wanted to use iCloud. I disabled Dropbox, and waited a few minutes for the initial iCloud background sync to finish (it had to pull at least 50 entries to begin with).

Once iCloud is up and running in Day One, it is extremely reliable, fast, and invisible. Unlike Dropbox, it’s not manual sync you have to initiate or automatically perform upon launch and quit — it’s push technology that constantly sends changes back and forth between devices. As an example, I started writing a new entry on my iPhone and it showed up after a few seconds on my iPad, which was running Day One. The main list of notes on the left basically refreshes to accomodate a new note — no manual sync needed. For the same reason, notes are pushed with iCloud as you write them — typos included.

Day One 1.5 clearly fits in a much bigger picture with the Mac client constantly receiving changes from the cloud, but this doesn’t mean you can’t enjoy Day One 1.5 for iOS now. In fact, I often find myself writing my journal on iOS devices rather than the Mac, so iCloud support (with this kind of invisible push technology) is more than welcome.

Day One for iOS is $1.99 on the App Store.

Last night we detailed how it’s possible to sync documents across multiple Macs configured with the same iCloud account through a hidden folder in Lion’s Library called Mobile Documents. As I explained in the article, this folder is actually the destination and sync location for iCloud-enabled apps, such as Instacast and iWork, that have been updated by developers to officially take advantage of iCloud’s Documents & Data. But as it turns out, Mobile Documents can be used for syncing files across Macs “manually” — just drop a file or folder in there, and it’ll show up on another Mac running the same iCloud account. So whilst Mobile Documents is “officially” used for App Store apps that work with iCloud, it can also come in handy as a native “drop box” powered by iCloud.

As many were quick to point out, syncing files between Macs is nice, but “real” syncing solutions like Dropbox come with mobile apps to make sure your documents and folders aren’t simply synced between desktop machines. Since Apple isn’t offering a new version of iDisk based on iCloud — and seems to be moving away from the concept of filesystem altogether — the method I described in the article was obviously meant for owners of multiple Macs — the Mobile Documents “hack” is cool, but it’s not supported by Apple.

On the App Store, however, that are several apps that over the years have tried to re-implement the filesystem on iOS by offering access to a plethora of online sources for your files, such as FTP servers, Google Docs, Dropbox and SugarSync. These “file management” apps like iFiles and iStorage aren’t integrated on a system level, but they work as “aggregators” for documents you may have already saved in the cloud, only they bring them together in a single location.

One of such apps is GoodReader, perhaps the most popular document reader & file manager ever landed on the App Store’s virtual shelves — GoodReader comes with hundreds of features and support for multiple online services, plus it’s also a decent PDF reader with annotation functionalities and an overall good preview engine. As I was playing around with the idea of having Mobile Documents work with an iOS app, I realized one of the latest GoodReader updates introduced full iOS 5 and iCloud compatibility, meaning the app can store its documents and data in iCloud, and will show up as iCloud-enabled app in your account (to check this, open Settings->iCloud->Storage & Backup->Manage Storage on iOS, or System Preferences->iCloud->Manage… on OS X Lion). And if an iCloud-enabled app with Documents & Data shows its contents on OS X under Mobile Documents, it means GoodReader should be capable of syncing its own filesystem back to the Mac.

Indeed, you can use GoodReader to manage files and folders on iOS, and have them available on the Mac as well through iCloud and Mobile Documents. GoodReader will create its own folder inside Mobile Documents, and every change (new file, new folder) you’ll make on the iOS app will appear inside GoodReader’s “Documents” directory. Of course, you’ll have to use GoodReader’s “iCloud” folder to enjoy these syncing features; thanks to GoodReader’s file management features, you’ll be able to create folders and sub-folders, move documents around and delete them, create new text files, rename documents, and more. GoodReader has some pretty powerful features, and it’s nice to see the developers are supporting iCloud out of the box with a dedicated folder on the main “My Documents” page.

Thanks to GoodReader’s support for multiple online services, you’ll be able to, say, move files from Dropbox or Google Docs to iCloud directly from the iOS app.

In my tests, iCloud sync with GoodReader has been extremely fast and reliable. Documents imported on iOS would show up in seconds on the Mac’s Mobile Documents, and vice versa. I was able to move screenshots between my Mac, iPhone and iPad using Mobile Documents and GoodReader, but I also created folders, compressed files, imported PDFs and MP3 files. Because iCloud is based on push technology, files are pushed immediately to the cloud and downloaded on all configured clients, but I noticed that GoodReader for iOS, unlike the Mac’s Mobile Documents folder, doesn’t download a full document as soon as the data is “pushed” from iCloud. Try this: on your Mac, drag a medium-sized PDF into GoodReader’s iCloud folder. Notice how the PDF’s icon and name show up on GoodReader after your Mac has pushed the document to iCloud. But try to open the PDF from GoodReader, and you’ll see the app will require additional download time, as only the main information about the file has been pushed to iOS — if you want to read it, you’ll have to wait for the full download. I actually found this method pretty clever, as it gives me up-to-date file information in seconds, and allows me to download files when I need them. Overall, I’m impressed by iCloud and GoodReader working together to sync files across different iCloud clients.

Why should you care to have GoodReader syncing files that also happen to show up on your Mac? First off, it’s a cool trick. More importantly, iCloud’s push technology works well, and users (like me) may find it convenient to have an easy way to, say, import iOS screenshots on the desktop without using Photo Stream, while still relying on iCloud. Thanks to GoodReader’s support for audio and video, iWork and Office files, HTML archives and text files, you’ll be able to copy a variety of documents from your desktop onto iCloud, and have them synced back to iOS in seconds.

Check out how to sync files with Mobile Documents and iCloud here. GoodReader is available on the App Store for iPhone and iPad.