Archive for April, 2010

A Wiki for your iPad

Tuesday, April 20th, 2010

WikiPad 1.1 has been approved for sale in the App Store.  This version includes full support for the iPad.  If you’ve already purchased WikiPad for iPhone, all you need to do is download the free update and you’ll be ready to go!

If you’re wondering how to keep your iPad and iPhone copies of WikiPad in sync, don’t worry. Sync support is coming soon.  Stay tuned!

Sync Library Project for iPadDevCamp

Friday, April 16th, 2010

(Caution: extremely technical post ahead.)

I’m looking for a way to provide WikiPad with the ability to sync between iPhone, iPad, desktop and possibly other mobile platforms.  I’d also like reuse the code in my future apps, and make it available to other developers, probably under an Apache 2.0 license.

I’m thinking a WebDAV-based solution might be best, because then users could sync to the cloud via MobileMe, or to a local desktop machine running a WebDAV server.

WikiPad’s current schema is quite simple:

CREATE TABLE page_store (name TEXT, contents TEXT);

but future apps might have more complicated, and more relational database-type schemas.  It seems like what I want is a way to record all the transformations to the database since the last sync, and then upload a file containing that information.  Other instances of the app could then download that file and replay the actions to synchronize their databases with the changes.

Suggested course of action:

  • Get a WebDAV server up and running on a laptop.
  • Upload a SQLite database file from a device to the server.
  • ???
  • Profit!

Peter Robinett has suggested basing the sync on a distributed version control system, such as GIT or Mercurial, since distributed version control systems are designed to deal with multiple concurrent changes to the source base.  Seems technically feasible, but both GIT and Mercurial are GPL, which makes them incompatible with closed-source commercial apps (of which WikiPad is one).

Presenting WikiPad for iPhone

Friday, April 2nd, 2010

Blame Andy Hunt.

Back in late 2001, I attended Jerry Weinberg’s Problem Solving Leadership workshop with Andy, and during a break we got around to talking about what apps we had on our Palm V organizers. Andy said that he wished somebody would write a wiki for the Palm.

“That’s a stupid idea,” I said. “Wikis are about sharing information. What would the point of a wiki be if the information were all locked up inside a single device?”

Andy shrugged and the conversation went elsewhere. But after a few months, the idea of a personal wiki started making more and more sense to me. It would be a relatively simple Palm OS application to write. So on a plane flight in August 2002 (ironically on the way to Jerry Weinberg’s Change Shop workshop), I wrote the initial version of WikiPad for the Palm. I still have the notes I took that week on WikiPad to this day.

I used WikiPad for Palm happily for many years, first on my Palm V, and then on a couple of Palm Treos. Once Apple released the iPhone SDK, I created an iPhone version of WikiPad for my own use almost immediately. And now, after much polishing, I present the first public release of WikiPad for iPhone. Use it in good health.

[Update 4/9/2010] WikiPad for iPad is coming soon.