My iPad is (unfortunately, mostly) a toy

Some pundits have declared the iPad a “toy”, or suited only for content consumption. I disagreed with the latter a few days ago, and I think it will have some very interesting business uses. If I come up with a sufficiently novel one, Oasis Digital might implement it.

But sadly I must mostly agree, for at least my personal use of iPad v1, with the “toy” assessment. Here’s why.

I like to hand this iPad (I wrote the first draft of this post on it) to other people to try out, to my kids to play with, to sit it out as a novelty for guests, etc. But if I set it up as a personal tool, with my email, calendar, Twitter, Facebook, other accounts, work related files, etc., then I’d be handing access to all that personal and business information to everyone I offer the iPad to. Clearing out and re-entering my accounts from a whole pile of apps (and Safari, and Mail, and ???) is tedious and error-prone. My personal accounts include occasional bits of my (and our customers’) proprietary information, so leaving them present for guests is clearly unacceptable. Thus, for now this iPad can be only a toy to me. I occasionally set up email, then remove it; set up Twitter, then remove it, etc. I type some notes, then email them to myself, and remove them.

The key missing feature of the iPad, for me, isn’t a camera, a USB port, or an SD slot – it is the lack of a user account/profile capability. My Ubuntu netbook, at half the cost, has this capability in the box.

This isn’t much of an issue with an iPhone, which by nature of being a phone, is inherently almost always a personal (not shared / guest) device.

This isn’t much of an issue with an iPod Touch, at least for me, because I already use it as a guest/toy only anyway.

I suspect that Apple won’t add an account/profile mechanism anytime soon; it is easier to therefore ignore a mixed personal / guest use case like mine. If Oasis Digital ends up with a line of iPad software, we’ll work around the problem by buying more iPads.

But in the meantime, I like the share the one I have – so I must configure it primarily as a toy.

iPad: Not Only for Content Consumption

Like 300,000 other people, I have a shiny new iPad in hand. Here is my very short review:

Apple is going to sell a huge pile of these things.

Expanding on that…

Lots of other companies are going to sell an enormous pile of apps for the iPad. From the point of view of a maker of software, this is a very appealing market. As with the iPhone before it though, my main concern is that it is such an appealing market, that is might actually have an unfavorable ratio of developers to customers.

Other hardware and software makers are either in panic mode, or they should be and will suffer if they aren’t.

The device and its software are remarkably polished and ready for wide use, primarily for content consumption. There are many commentaries out there about the iPad as a device only for consumption, citing the lack of a keyboard and camera among other factors. While the lack of a camera in iPad v1 is a bit annoying, I expect that to be fixed in the next version (2011?). Regarding the keyboard, I am also a fan of physical keyboards, but I was able to write the first draft of this post on an iPad without much difficulty. It is clearly unsuitable for writing many pages of text or extensive editing, but quite sufficient for blog posts, tweets, organizing and naming photographs, short emails, and many other minor-data-entry tasks done every day.

On the other hand, I generally agree with the many comments out there about open vs. closed systems, and I am a fan mostly of the former. We are in a situation right now where is one particular closed system has a great lead on the open alternatives, a situation I expect to continue for a few years but not much longer. The hardware design needed to make the iPad work is currently an area where Apple is well ahead of its competition; but they will catch up. Android devices with a similar form factor, battery life, and somewhat-as-polished user experience will appear.

The biggest surprise so far is Pages – it works much better than I expected (which was admittedly a low bar). A related annoyance is that Pages documents don’t automatically sync in iTunes; rather iTunes provides a GUI by which I can manually copy Pages files back and forth.

The second biggest surprise is my impression of the size of the iPad. I had expected it to feel a bit too small; instead, I think it’s actually a bit too large. I wouldn’t be surprised to see v2 feature a screen 1/2 inch smaller, and overall size 1 inch smaller.

As I expected, for me an iPad is an adjunct to my real computers. My work involves extensive use of multitasking, keyboard, pixel-accurate mouse positioning, large hierarchical collections of files, and all the other things that modern “real” computers are well suited for. I don’t see this as problem for the iPad though; for it to succeed, it is not necessary for grown-up computers to fail. It doesn’t even need netbooks to fail.

Lastly, it has been observed that iPad use requires a knees-up sitting position, and I can confirm this is true. There isn’t a good way to rest an iPad and have both hands free to use it, while tilting it to a reasonable viewing angle, other than with one’s knees up.

My First Emacs (plus Slime, Swank, Clojure) on Mac OSX

Emboldened a talk that Ryan Senior gave at the St. Louis Lambda Lounge (now available as a video), I grabbed the most popular two Emacs versions for Mac OSX:

and set up each on my Macbook Pro (10.6.2). For each Emacs, I also set up SLIME, Swank, and Clojure.

If that sounds like a bunch of garbled nonsense, don’t worry, it is simply a sign that you are a normal, well adjusted person, rather than a Lisp person.

It was a bit irritating to get these tools up and running the first time; there are countless web pages with the details (I won’t make that worse by adding my own here). The challenge is figuring out which instructions to follow, while ignoring the rest. The most tractable approach for me, for a quickly-installed, easily-updating, fewest-steps process, was to install the needed packages from ELPA, without any manual downloading/configuration of SLIME, Swank, etc. at all. I have no command line operations to share with you, because in the process I recommend, there aren’t any.

I used Emacs in school, but not at all in the last 10 years. Since then, my expectations for developer tools have grown – I think it is reasonable for a modern development environment to simultaneously:

  1. be easily discoverable, for a fast start
  2. cooperate with its environment well
  3. make good use of the large high-res display on most PCs, to expose expected status and control surfaces
  4. be deeply configurable and highly powerful

My experience, coming in from that point of view, differs from what Ryan and a couple other people suggested: I suggest Aquamacs. It is much more of a good citizen on the Mac platform. Its menus are much more approachable. Printing works in a Mac way. You get tabs showing your buffers, by default. You get menu options to gather them up in to one window(frame) or split them apart, all by default.

It may indeed by worth switching to the non-Aqua version later, if/when you get so deeply in the toolset that the pure emacs experience is preferable… but I estimate you’d need to be pretty far down the path (much further than I).

Something I should try out eventually is the Emacs Starter Kit. Perhaps it would have given a sufficiently “saner set of defaults” to make the non-Aqua version a more reasonable choice. Emacs gurus seem to lean that direction, overall.

Books, shirt, free to whoever wants them at STL JUG tonight

The world is my warehouse. Here are a few items I’m storing in the warehouse (giving away) tonight at the St. Louis Java User Group:

The Hawken book is a classic, a wise read for anyone serious about growing a business. I’ve read it at least three times in full.

The Walsh book is a great introduction to the many hundreds of things a person needs to know, to start a web startup. I’m not starting a web startup; but if you’ve thought about doing so, come get this book free.

The T-shirt is from the EFF, a great cause that I support every year… but I have too many T-shirts already, and I prefer to wear plain (text free) clothing.

Update: Given away successfully.

Upcoming talk: Cloud Computing User Group

The St. Louis Cloud Computing User Group launches on Jan. 21st at Appistry. Sam Charrington over there kicked it off, but I suspect it will shortly grow far past its Appistry roots.

I’m giving a talk (one of two) at the first meeting. Contrary to the initial description floating around, I won’t be speaking (in detail) about “Amazon Web Services from a Developer Perspective”. Rather, my talk will be broader, and from a developer+business perspective:

To the Cloud(s) and Back

Over the last few years, I’ve been to the Amazon cloud and back; on a real project I started with inhouse file storage, moved to Amazon S3, then moved back. I’ve likewise used EC2 and tried a couple of competitors. I think this qualifies me to raise key questions:

  • Should you use (public) cloud storage? Why and why not?
  • Should you use (public) cloud CPUs? Why and why not?
  • How do you manage an elastic set of servers?
  • Can you trust someone else’s servers? Can you trust your own?
  • Can you trust someone else’s sysadmins? Can you trust your own?
  • What about backups?

This talk will mostly raise the questions, then offer some insights on the some of the answers.

Update: Slides are online here.

Unrealistic Cost Expectations, and How to Fix Them

I suppose there have been hiring companies with wildly unrealistic cost expectations forever; the internet just makes it more visible. Take, for example, this job post for PostgreSQL expert, which I republish here for criticism and comment, anonymized:

We are looking for a postgre expert with indepth Oracle skill to help with the following project:

1) migrate all data and structure from Oracle 9i to PostgreSQL 8.3.
2) create a script to capture daily differentials on Oracle db and export the changes to PostgreSQL
3) create a script to automate the import the Oracle differential export into PostgreSQL on a daily basis
4) full documentation

Will provide both Oracle and Postgre dev box to work with, interested party please send email to (REDACTED)

Job budget between USD 300 to USD 400. However need this delivered within one week from job acceptance, or before Dec. 31, 2009, whichever come first.

To clarify for anyone reading this, this is not my job post. I am not looking for a PG expert. Do not contact me to apply for this work.

This fellow wants:

  • An experienced guru
  • In two quite complex technologies, one of which is a very expensive technology
  • To do a non-trivial project, and presumably, to be responsible for the results actually working
  • Who can do their project Right Now
  • Over the Christmas holiday, at least here in the US
  • For a $400

It seems to me that this person, in addition to creating some annoyance on the mailing list where they posted it, simply has wildly unrealistic expectations. As a result, they are likely to end up disappointed with any real person applying for their work. They will quite likely get multiple applicants, eager to attack the job for the budget shown; so I am not suggesting that noone will do it.

Instead, I estimate that most likely a week will come and go, $400 will come and go, and they will not have a working system. With some struggle and legwork on the hiring end, they may get the end result for a surprisingly small multiple of the proposed budget… but if they started with a more realistic amount in the first place, they’d likely get there faster and with less work on the hiring end.

A broader lesson, that I’ve learned through experience in the trenches, is that if you don’t have a good feel for the price range, start with no price range. Then talk with the first handful of applicants, listening carefully. With a couple of hours (for a simple request), you’ll probably have at least some realistic sense of the size of your project. With this knowledge, you can make more realistic and credible job posts, yielding more and better applicants.

Were you hoping for an approach to fix someone else’s unrealistic expectations? Sorry, I’ve not found a good way to do this. The best you can do is to find and fix your own.