“Limited government”

I’m tired hearing about how the government shouldn’t get involved in medicine, public transportation, or telecommunications because “if the founding fathers wanted the government to be involved, they would have put it in the Constitution.”

Of course it’s not in the Constitution.  None of it existed yet. There was no Internet or telephones 200 years ago, nor were there trains or cars. Medicine hadn’t really even been invented yet. Yes, there were doctors, but the doctors of their time advised that people avoid bathing and use leeches. Not only were there no CAT scans or MRIs or antibiotics back then, there weren’t even stethoscopes or medical thermometers.

And let’s not forget, the Constitution also doesn’t give the government any particular power to form agencies like the FBI or CIA. It gives the government the power to have an army and navy, but doesn’t explicitly authorize them to create the Air Force.  It doesn’t give them specific powers to fund military research and keep a stockpile of nuclear weapons.  I don’t remember there being any particular clause that permits the government special powers to provide for disaster relief or combat terrorism.

The founding fathers weren’t afraid of communism. Communism also hadn’t been invented yet. It’s arguable that capitalism didn’t really exist yet either; it certainly didn’t exist in its modern form. The limits that the Constitution put on the government were to prevent the rise of a tyrant, not to prevent the government from providing medical checkups for poor children.

iPad Missed Opportunities Part 3: Dashboard home screen

I think I’ll probably get an iPad and, in the long run, I’ll probably think it’s a very well designed device.  However, my first impression when I saw a picture of the iPad was, “Well that’s a goofy home screen.”  Take a look:

Now it’s not too bad.  It’s clean and simple and no-nonsense.  The icons are all far apart, I suppose to keep you from accidentally hitting the wrong thing, and maybe when I get my hands on an iPad I’ll be glad things are spaced so far apart.  But my first impression was that it was a big waste of space.  Also, there’s very little information here; the only think I know from looking at this screen is that I have some unread email, but I have no idea from who or regarding what.

What I had anticipated and hoped for when I heard rumor of the iPad would be that it would give you something a little more useful and information-dense.  I was hoping that the primary home screen would be a sort of dashboard with a whole lot of information available at a glance.  Here’s a mockup just to give an idea:

Now admittedly I’m not an interface designer or even a graphic designer, but the big idea here is to present the user with an aggregated feed of information from several sources.  You have a consolidated inbox of all email accounts, but also the most recent SMS messages, IM conversations, voicemail transcriptions, and even incoming social networking notifications.  Below that, you have news feeds to let you know what’s going on in the world.  There’s a search box that would search all the information on your device, a box that gives you time, date, and the weather, and below that a box that shows a list of contacts in your address book, including the contacts’ IM status.  At the very bottom, a series of shortcuts to the user’s favorite applications.  All in one screen, right there without needing to flip back and forth between applications.

At the risk of overstating things, I think it’s important to note that this isn’t just a different design, but I think it’s actually a different conceptual approach to the interface.  Apple has had a long history of object-oriented user interfaces.  Apple was one of the early developers to use the desktop metaphor, and Mac OS retained a spacial file manager for all the way until OSX.  Even OSX’s Finder exhibits spacial behavior if you hide the toolbar and sidebar.  Apple seems to be sticking with their conventional interface concepts, so it makes sense that the first screen you see is essentially a bunch of little objects– little buttons to press on, and those buttons do things.

Twenty years ago, interfaces pretty much needed to be object oriented and spacial in order for people to make sense of them, but I think people today are ready for interfaces that are a little more abstract.  I propose that it’s time to put the information front and center.  Although I’m generally a fan of Apple’s products, I was impressed to see Microsoft’s new OS for phones.  Instead of filling the interface with icons and fancy jelly-bean buttons, it’s all minimalist white text on a black background.  I don’t know if the UI will be intuitive and pleasant to use, but it looks pretty slick.

Just to be clear, I haven’t presented this interface mockup to propose it as an idea interface.  Interface design is pretty complicated, and I’m sure Apple could come up with something much better.  Still, I’d like to argue that information-driven interfaces could be more efficient than more classic object-oriented approaches. The mockup is just a visual aid.

iPad Missed Opportunities Part 2: Remote Handset

One thing that bothers me about the prospect of buying an iPad is that it means I’ll be carrying both an iPad and an iPhone, and there’s a lot of overlap between the two devices in terms of functionality. Worst of all, even though I already have “unlimited” data service through AT&T with my iPhone, I have to pay $30 for an additional “unlimited” data service for the iPad. Otherwise, I’m reduced to hunting for WiFi hotspots.

Thinking about this problem lead me to consider the following question: if I had an iPad, what would I use my iPhone for? It occurs to me that the iPhone really has 2 advantages over the iPad. The first advantage is that you can make voice calls over AT&T’s network. Though I think this is a big deal, it’s only a big deal because of circumstance. Right now, cell phones support voice much better and much more widely than they support data. If you were to have a robust, ubiquitous, and fast wireless data network, you should be able to make all of your voice calls using VoIP. Of course, you don’t want to hold your iPad up to your head like a phone, but you could easily get a Bluetooth headset or even a Bluetooth handset.

The second advantage that the iPhone has over the iPad is that it’s small. Of course, the advantage the iPad has over the iPhone is that it’s big, so being small isn’t absolutely better. However, in many contexts, being small is an advantage. The chief advantage of the iPhone being small is that you can stick it in your pocket. This means it’s much easy to take it everywhere with you, and just as importantly, it’s easy to access in any situation. When you’re standing in a crowded subway car, it’s much easier to reach in your pocket to pull out an iPod than it is to dig through your bag and pull out a notebook. Relating this back to the first advantage of the iPhone, you probably don’t want to have to pull out your iPad when you’re running around in the world and you need to make a phone call.

To address both of these problems, I think it might be good if Apple were to create a small Bluetooth iPad remote. I imagine that hardware-wise, it could look quite a bit like the iPhone but smaller and thinner. It would only connect to the iPad, so you wouldn’t need WiFi or cell connectivity. You could ditch most of the internal storage as well. The handset would retain the speaker, mic, touchscreen, battery, and perhaps a headphone jack.

The controls of the handset would expose 2 main functions: making and receiving phone calls and browsing through the media library on your iPad. The handset interface would have a dialer which would control the VoIP calls placed through the iPad’s data connection, and the handset would also “ring” like a handset when the iPad’s VoIP received an incoming call. During calls, you would talk through the handset like you would with a normal cell phone. Your voice would be picked up through the mic and sent to the iPad via Bluetooth. Incoming audio from the call would be sent to the handset’s speaker via Bluetooth as well.

The other use for this remote/handset would be to allow a user to store all of his music on the iPad and listen to the music on-the-go without actually needing to pull out the iPad every time he wants to change songs or adjust the volume.  The menu system could look identical to the iPhone’s normal music playback, but instead be controlling remote playback of the iPad.

Actually, the idea of a iPhone-like remote control for the iPad isn’t too far removed from features that Apple already provides.  One of Apple’s early iPhone applications was one which allowed you to use the iPhone as a remote control for an Apple TV or even any computer running iTunes.  It wouldn’t be much of a stretch for Apple to expand this application to allow remote control of an iPad.

iPad Missed Opportunities Part 1: Docking Station

So in the last post, I talked about some of the iPad complaints that I thought were unfair. There are a few that I think are quite fair, such as the fact that you’re locked into Apple’s iTunes store and can’t install software from other sources. Also, I’ve read that it’s a bit of a pain to get documents on and off of the iPad.

However, what I find most interesting are the missed opportunities for making the iPad even more useful, including improvements that could still be made post-launch.

The first big missed opportunity in my mind was that Apple didn’t make use of this patent:

For years I’ve thought that my ideal computing experience included something roughly like the iPad: a small lightweight tablet about the size of a standard sheet of 8.5×11″ paper with a highly refined touchscreen interface.  However, the problem with a device of this form factor is that working on a small touchscreen for a long time isn’t as comfortable as working with a nice big monitor, keyboard, and mouse.  So in my ideal computing experience, I would be able to dock this tablet to a monitor, keyboard, and mouse for projects that require more intensive computer use.  Ideally I would have access to all the same documents and applications whether I was using the computer in touchscreen-mode or docked-mode, but I would always be presented with an interface that was optimized for whichever mode I was in.

Of course, this concept presents a lot of complications.  Not only would the OS need to host two totally different context aware user interfaces, but application developers would need to create two interfaces for each application as well.  The tablet would also need to be powerful enough to run a full desktop operating system and full desktop applications, while being energy efficient enough to allow several hours of battery life while in tablet mode.  The technology isn’t there yet.

However, what Apple could probably do is allow the iPad to be used to host user profiles.  Technologically, this would be a very different approach, but it could achieve similar results.  The idea would be that you permanently store all of your documents and media on your iPad, and when you dock your iPad to your computer, instead of syncing, your computer automatically mounts the iPad’s filesystem and uses it for your home folder.

You computer’s iTunes wouldn’t store all your music on the hard drive and then sync your music to the iPad, but instead it would store all of your music on the iPad.  When you ran iWork on your computer, it would read the Pages document directly from your iPad and edit it on your iPad’s internal storage.  When you disconnected your iPad from your computer, you would have access to the same exact document through your iPad’s copy of Pages.  When you looked at your task list in your computer’s version of Things, it would be reading and altering the same database that your iPad’s version of Things would alter.  This would also allow you to dock your iPad to any number of computers and essentially take your whole home folder, settings and all, from computer to computer relatively seamlessly.  If Apple really wanted to, they could even get fancy by supporting automatic backups of your iPad through Time Machine.  Or they could even allow you to store a cached version of your iPad on the computer so that you could work when your iPad was disconnected, which would automatically sync when the iPad was docked or connected on a local network.  Or perhaps an even crazier idea: the iPad could automatically sync all of its contents online via MobileMe’s iDisk.

I believe all of this is possible with current technology.

Unfair iPad complaints

I’ve been thinking a lot about the iPad and considering whether to buy one myself. In reading some of the reviews and responses, I’ve encountered a set of complaints, many of which I don’t think are entirely fair, and I wanted to share my thoughts:

No Flash support

The iPad does not support Adobe Flash, which seems to upset a lot of people.  From my standpoint the fact that Flash has become so ubiquitous is improper and even scary.  Flash is a bad thing (unstable, insecure, slow resource hog), and if Apple had to choose to include Flash or not include Flash, one or the other, I’d prefer that they didn’t.  I’m also glad they don’t have Silverlight, and I don’t see much of a difference.

In my view, these technologies are good for approximately 2 things: games and video.  With the advent of HTML 5, I hope all sites will be moving away from using Flash for video.  I know there are people who will argue with this, but it’s not really the topic I want to address here.  Flash games: I can live without them.  Flash ads: I’d like to actively block them.

Multitasking

I’ve read a lot of people complaining that iPhone OS is technologically backward because it doesn’t support multitasking.  In truth, it already supports multitasking, it just limits the access 3rd party developers have to that capability.  There are a couple of good reasons for this.  First, no one has built a good enough UI (User Interface) into managing background applications.  Windows Mobile and Android based phones both get a lot of user complaints that boil down to having too many applications running in the background without a clear UI for seeing what’s running or a clear UI for closing them.

Second, most applications don’t have a lot of need for running in the background in a system like this.  For example, when you’re reading an ebook, it takes up the whole screen.  When your writing a note in the “Notes” application, it takes up the whole screen.  You aren’t split-screening, doing both a the same time, the way you would on a computer.  There’s nothing about these programs that needs to keep running– like when you leave the ebook reader, there’s no benefit to leaving it running in the background, using up system resources, rendering an invisible book.

Therefore, what you really need are (a) for programs to be able to save their state when quitting so that you don’t lose data; and (b) a good notification system for the programs that need it.  Essentially, I don’t need my full mail application and my full IM application and my full phone application all running in the background on my iPhone all the time.  I need to get an appropriate alert when I receive a phonecall or an email or an IM.

No ports/expandability

I’ve read some complaints about the iPad not having built-in card readers, USB ports, or an audio line-in.  I think there are probably many reasons for this, including keeping the size/weight down and keeping the price low.  However, I think some of the reason that the iPad lacks expandability is that Apple is managing user expectations.  If you put a USB port on the iPad, then people are going to expect that they can plug in their peripherals and have them work.

This presents some problems.  First, it means that Apple has to develop a large base of drivers for all these devices.  When you plug something into USB on your computer and it works, it’s not magic; there are loads and loads of various pieces of software sitting around on your computer on the off chance that you plug in a piece of hardware that uses that software.  Unless Apple puts all that software on the iPad then your USB devices won’t work anyway.  Then we’d be hearing complaints like, “Why did Apple put a USB port on this thing if I can’t use any of my USB peripherals?”

So why doesn’t Apple simply include all of the necessary software and drivers to support various USB peripherals?  Well… then you’re opening a whole other can of worms.  Let’s say Apple put a USB port on the iPad and I plug in one of the simplest and most common USB peripherals: a mouse.  Most users would expect that a mouse cursor would then appear, and they could use a mouse instead of the touchscreen capabilities.  However, the UI isn’t designed to be operated by a mouse; everything is big and spaced far apart.  Apple specifically avoiding replicating the mouse-driven interface on this device, and I suspect as a result, it wouldn’t be a terribly fun device to navigate by mouse.  So that diminishes the user experience. Even worse, allowing people to use a mouse with the iPad would encourage developers to create mouse-driven interfaces, which would in turn make for a poor experience when using the touchscreen.  So then you end up with a split between apps designed to be used with the touch screen and apps designed for the mouse.  Confusing.  Apple doesn’t like “confusing”.

Beyond that, you’d have extra hard drive space taken up by the mouse drivers and any associated software (e.g. calibration software), and you’d lose any CPU or battery power that got devoted to running those drivers.  Plus, the mouse would draw power from the USB port, which would drain battery life.  One of the key things that Apple seems to be very proud of is the iPad’s battery life: 10 hours of watching video; 1 month standby time.  They achieve this by using a low-power processor and carefully managing the resources, which probably means loading no more drivers than are necessary, not running applications in the background except when necessary, and not using any powered ports.

So for putting an extra port on the iPad (which would cost a little extra per unit, possibly require extra engineering of the case), you get almost no extra functionality and decreased battery life.  There actually is a USB connector built-in to the iPod docking connector, but the dock connector includes other things too (e.g. audio/video out, remote control support).  Plus the dock connector is skinner and is a little less likely to break anything if you yank on it, since it’s not as deep. Bluetooth devices, on the other hand, have their own power sources.  By forcing peripherals to use the dock connector, it ensures that people will only be trying to plug in devices that are designed specifically for iPhones/iPads.

Managing expectations

I think how you see the iPad of this depends on your expectations. If you’re expecting the iPad to be a full computer in tablet form, then I think you’ll end up being disappointed. I don’t think Apple is even aiming for it to be a full computer. It’s more like a device, like an iPod or an Apple TV. Or think of it like an XBox. Would you complain that you can’t do multitasking on your XBox? That you can’t play a video game and type a term paper on your XBox at the same time?

Essentially, the iPad isn’t meant to replace your computer. You know how you used to carry around a disc-man and a bunch of CDs, and that got replaced by an iPod? Well now the iPad is replacing your books and your moleskin notebooks, but also maybe your TV, iPod, and PDA. Not a bad accomplishment, if it pulls it off effectively.

Fragmentation III

Ok, I didn’t mean to talk so much about data fragmentation in the Internet age, but it has been an issue that has bothered me for a while and it doesn’t seem to be getting better. The third (and perhaps final) topic that I wanted to cover was document/media storage. The prior two articles were essentially about messaging, but now I want to talk about the places where you store your documents, your music, and your movies.

Just to start off with the example of my own data, I own 3 computers: a laptop, a desktop, and a home server. I also have a smart phone and a set-top box that holds movies. I have a separate work computer at work, and I have a couple different web hosts. Those are a lot of different places where I might store data. Mostly there’s good reason; I keep my work data on my work computer and my personal data on my home computer, and I want to keep them separate. On the other hand, I have a set of documents that I want to have accessible on my laptop and desktop, backed up on my home server, and maybe backed up online. That sounds simple enough, right?

It’s not. It should be simple, it’s almost simple, but there are always niggling little details. I won’t go into all the technical details of all the solutions I’ve tried and why they don’t quite work. Yes, there are workable solutions (rsync, unison, Dropbox, or working directly on a server), but I believe this problem really needs to be solved comprehensively for everyday computer users.

Some people will of course suggest “thin clients” or “cloud computing” or “Internet operating systems”, but I think all of these solutions have real problems, one of the big problems being that if the server goes down, everyone on that server is suddenly unable to work. People will counter by saying, “well you just distribute it across a bunch of servers so there’s no more single point of failure.” It’s harder than it sounds, and even if you accomplish that, what if the client’s Internet connection goes down.

One of the things it’s important to keep in mind is how cheap computing has gotten. We have more computing power in our cell phones than existed in the biggest computers a few decades ago, and we’re putting hundreds of gigabytes into USB thumb drives. It’s ultimately not going to save you much money to forgo internal storage and computing power for a thin client, so people are usually going to get a thicker client anyway. Once you have that internal storage and processing power, you may as well use it.

I think ultimately there are two solutions. The first would be to try to come up with elaborate syncing technologies which will enable you to always have all your data stored on the server but cached locally. This could have some nice effects. Imagine you open a word document on your desktop computer which, for all intents and purposes, appears to be stored locally on your hard drive. You start typing, and every change is immediately synced to an online server where it can be viewed and edited in a service like Google Docs. Meanwhile the changes are also being downloaded to each of your authenticated devices, including your cell phone and your laptop. If changes are being made through one of the other devices, you get something like the “collaborative real-time editing” in SubEthaEdit. Or imagine that when you take a picture on your cell phone, it was automatically uploaded to a service like Picasa, which in turn synced to it all of your computers. If you add a picture to your computer, it syncs back to your phone. We have the pieces for a solution like this, but it’s not comprehensive or well integrated as what we need.

The other solution is to go the other way and to try to put all of your data in a single place. It’s a pretty simple idea: put a big enough storage device in your cell phone so that it can hold your entire home directory. Put a standard dock on every computer you use, and set the computers up so that they’ll automatically mount the home directory during login. Of course, that can still get a little tricky if you’re using different platforms, and I don’t know of any platform that supports this use very well. Also, you’re going to want that data backed up, and you’re probably going to want to get some of that information online sooner or later, so it wouldn’t completely settle things.

On top of the rest of these things, there’s another detail that I think about now and then: all of us are putting a lot of money and effort into storing the same information over and over again. For example, I have the Radiohead’s album “The Bends” stored on my computer in AAC format. It’s also stored on my home server and my laptop, as well as my iPod. It’s also probably stored on millions of other computers around the world, but I still need to store myself and back it up, because if I ever lost those files, then I couldn’t get it back. If I went back to iTunes and asked to download it again, they wouldn’t let me. If I tried downloading it from another source, I’d be accused of being a pirate.

The vast majority of the data on my computer is like that. All my documents and pictures take up a couple of gigabytes, and the rest is copyrighted material that probably exists on lots of other computers around the world. Still, I have to concern myself with backing up the copies on my computer as though I have a unique copy. In some ways, this is a very uninteresting problem, but it raises a question in my mind: what if we looked at issues like data storage and backup for a society as a whole rather than on the individual level? All of Radiohead’s “The Bends” probably takes up less than 100 megabytes on my computer, but just by myself I have it copied on 5 different devices, not including backups to external hard drive or DVD. That’s half a gigabyte right there. How much storage do you think is taken up worldwide, storing just that one album? How many terabytes? Are we making efficient use of our time, effort, and resources?

Honestly, I’m not sure how much it matters. I believe that there are probably better ways to deal with some of these issues, but copyrights and proprietary intests will probably prevent significant improvements from being made in the foreseeable future.

That’s all for now. Thanks for reading.

Fragmentation II

To continue talking about fragmentation, I feel like there’s an inherent problem with online social networking. It’s all fine so long as you stick with a single site for social networking, but otherwise it gets messy. You like Facebook, all your friends are on Facebook, and you never leave Facebook? Then everything is peachy-keen.

What happens when some of your friends are on Twitter and you’re using LinkedIn for your professional contacts? Well now you have a couple more profiles to manage, a couple more places to check for messages, and a couple more places to post your status.

Now your contacts on these sites probably overlap a little; some of your Facebook friends are also LinkedIn contacts. So now you want to send them a message. Do you send it through normal email, or through one of these sites? If you send it through one of these sites, which one?

Or your information changes and you want to post an update to your profile. Now you have multiple profiles in multiple places to update. Your probably also have an old Friendster profile that’s way out of date because you can’t even remember the login information. Does that matter? Is anyone still on Friendster, and do they care that your information is old? I don’t know. It’s probably not a big deal, but we certainly haven’t been forward-thinking in coming up with these things.

If you ask me, there needs to be an open standard for online profiles that enable connections across sites. I should be able to use Facebook if I want, and my friend should be able to use LinkedIn, and we should still be able to befriend each other and see each other’s status updates. Everyone should only need a single online profile, and that profile should have standard machine-readable parts.

I should be able to write a script that can crawl my friends’ profiles, collect all of their blog addresses, and set up a consolidated RSS newsfeed of all of their blog posts. I should be able to set my desktop address book application to crawl my online profile, go through all my friends’ profiles, and populate my address book with the most recent profile picture and contact information available. When I add a contact to my address book, it should be able to ask me whether I want to add them as a friend and automatically put in the friend request regardless of what network they’re on.

Of course, this is unlikely to happen anytime soon, and not because of technological hurdles. The bigger problem is that Facebook has no incentive to open up. They need you try to force you to use their service in order to interact with their membership, and they need you to visit their site in order to use their services. The whole point is ad revenue.

I will admit that there’s one sense in which the fragmentation is advantageous: keeping your social networks separate. I’d like to be able to manage my profile in one place, but I don’t want my boss seeing the same information that my old college friends see, and I might not even want all of my college friends to see the same information. This presents some problems, and keeping different profiles could be helpful. However, having multiple social networking sites don’t actually help. Even if you try to make LinkedIn professional and Facebook personal, there’s nothing to keep your professional contacts from trying to befriend you on Facebook.

I think the best long-term solution has to be enabling people to make and maintain a single profile in one place, but having more fined grained control over which information gets displayed to whom. You should be able to put both your work email address and personal email address into the same profile, but maybe only show the work address to work contacts and personal address to personal contacts. Ideally, being able to create different profiles would also provide an opportunity for some plausible deniability: you could befriend someone and allow them to only see a small subset of your profile, but they wouldn’t need to know how much of your profile they were seeing. You could befriend your boss and parents while being careful to ensure that they can only see information on your profile that shows you to be a fine, upstanding citizen. Alternatively, you could post about your love for My Little Pony without sharing that information with your tough-guy friends. Somehow, it needs to emulate how we deal with real people in real life– we show different facades under different circumstances.

I don’t think those sorts of controls would be too difficult to develop technologically. The real problem would be making the controls simple and fool-proof. The settings would need to be clear enough that users would have no trouble understanding who would be able to see the information, simple enough that a user would have no trouble achieving the results they want, and convenient enough that it wouldn’t harm the user’s experience of the site. Finally, the privacy controls would need to be refined in such a way that mistakes were unlikely– there’s no point in developing all these fancy privacy settings only to accidentally post information about your sex life where your parents can read it.

Well I think that’s all for now. Stay tuned for part 3.