Veracity on the iPad
Warning: By the end of this piece I will be shamelessly bragging about our latest product. I'm a Software Craftsman. I love talking about my craft.
I underestimated the iPad
I started out very skeptical of the iPad. It was almost as portable as a phone, and almost as capable as a laptop. I counted too many occurrences of the word "almost" and assumed it would be a tweener product that just didn't have a place in the world.
In practice, it turns out this device takes a whole bunch of stuff that I used to do with a computer and lets me do those things ANYWHERE (such as when I'm sitting outside the school waiting for my daughter's cheer practice to end). And that means I do them more often.
Compared to my pre-iPad life, I now read more books. I tweet [a little] more. I check email more. I play games more. I more actively plan my time.
No other technology purchase in my life has had this much impact.
Two kinds of apps
During the thousands of hours I have spent using my iPad, I have found myself partitioning apps into two categories:
Apps I can only use with a network connection (Safari, Words With Friends, Zillow, Maps, TweetBot, etc.)
Apps I can use truly ANYWHERE (iBooks, Note Taker HD, Pages, Civ Rev, etc.)
My current iPad has Verizon LTE. Prior to that, I had 3G models. My home, my office, and my coffee shop all have WiFi. If the result of all this wireless Internet were a perfectly reliable and consistent connection, available everywhere I go, then I would have no reason to group my apps into two categories. But that is not the reality of mobile Internet in 2012:
There are dead spots in LTE and 3G coverage.
When I have LTE/3G, it is usually awesome/decent, but sometimes I get latency of 2-3 seconds, for no apparent reason.
I went very quickly from being amazed at how many places offer WiFi to being shocked at how many places do not. In my case, this includes the mall, the church foyer, and the auditorium at my daughter's school.
I go to hotels and conferences where the WiFi routers are happy to give me a connection to a pipe which is hopelessly overloaded
So, I have a bunch of apps which require me to think about the availability of a wireless Internet connection. At best, this is a distraction. At worst, it is an obstacle.
At this point, I'll poke fun at myself for complaining about #firstworldproblems. I'm thankful for mobile Internet. Really, I am. It is one of the coolest inventions in the history of the world. But I have come to have a somewhat different kind of appreciation for apps I can use without giving a thought to connectivity issues.
I warned you about this part
As I write this, I'm at #agile2012 in Dallas. In the SourceGear booth, we are showing off our new iPad app for onVeracity.com.
onVeracity.com is our hosting service for Veracity. Free accounts can have unlimited private repositories and up to five users. Paid accounts are $20/user/month.
Veracity combines distributed version control (like git) with bug tracking and wiki, which are also built on the distributed model. It is open source (Apache License 2) and cross-platform (supported on Mac, Linux, and Windows).
Because Veracity's architecture means that everything is distributed (not just version control), our iPad app supports full functionality while offline.
View wiki pages:
Edit wiki pages:
Browse changes to the source code:
See the details of any version control changeset:
Look at code diffs:
View burndown charts:
View summaries of recent activity:
And all of those things work without wireless Internet. I can put my iPad in airplane mode and keep working. I only need a network connection when I want to push and pull changes to/from the server:
After seeing a demo of what our iPad app can do, one of the visitors to our booth reacted by saying, "I hate tools. But that is compelling."
Just like the iPad itself, this app has made my daily life a bit different:
My bug list is more up to date
I read and review more code
My backlog is cleaner
I update my estimates more often
I pay more attention to the project documents in our wiki