Archive for February, 2007

Microformat UI

Feb 07
28

I’ve been having an interesting conversation with Alex Faaborg on the UI for Microformats. The UI explorations that he’s done are interesting but there is a problem. Not all Microformat UI should be presented the same way. In fact a uniform UI may limit the places that a web-designer can use Microformats. Instead of making the browser responsible for figuring out the right placement of the UI allow the page author to determine where the controls belong and provide the architecture to make consistency easy. In fact Alex illustrates this point very well in this article. Users want Microformat UI controls in the browser content and they want to control what it looks like.

In HTML there is a longstanding tag called <input> the tag gets input from the user and presents standard buttons, controls, etc. I would propose a complimentary tag called <output>. This would allow a page author to designate a location on the page that can output data to an external application such as a calendar, contact, etc.
This will allow the page author to specify where these features are and how they work to create the best user experience for that specific page. If the web-page is the application then the page author needs the flexibility to control the user experience. This will really help the adoption of both Microformats as well as a forward thinking browsers that supports such a tag.

What could such a tag look like?
<Output for=ID3 type=contact action=addContact showIcon=true iconWidth=16 iconHeight=16 value=”Add this contact to your address book” />

An alternative could be an extension of the Anchor tag…
<A for=ID3 type=contact action=addContact > <img type=contact width=16 height=16> Add this contact to your address book </a>
The ‘for’ is similar to the label attribute ‘for’ and associates the action with the microformat data. The action would be a pre-defined set of recognized and supported Microformat actions. The showIcon allows the browser to display the standard icon for an application. Note that the page author doesn’t know what application is being used so privacy is preserved.

Some possible issues that Alex brought up…

Consistency?
We need consistency and this is important but it should be a guidline not a rule. (Like the RSS icon). The browser chrome should stay out of the way of applications. Maps.google.com should be able to present contacts differently from people.yahoo.com. The page designer should be able to promote/demote the importance of a microformat action. If we paint all UI with the same brush it may hinder adoption. We can encourage UI consistency by providing good default styles and icons. We can also provide a standard and consistent menu such as File->Export ->Contacts as a fall back. If we force a particular type of browser UI into the page we will loose the possibility for consistency across browsers.

Barrier to entry?
By adding a single tag we have a very low barrier to entry. Sites that want to add it can do so easily.

Compatibility?
Non-compatible browsers will drop tags that they don’t recognize so the above examples can be backward compatible. You could go a step further and do something like:
<Output ><tag A/><tag B/> <NoOutput><A href=”AlternativeLink”> Download this contact </a> </NoOutput></Output>
Then A & B are used by browsers that understand the concept of Output and the link is shown by legacy browsers. This is the same trick that was used for Frames & NoFrames.

Security?
I agree that we need to think through the security vectors to make sure that we’re not exposing any applications to web vulnerabilities. However ‘security’ should not dictate how the design should work. The key thing for Microformat UI security is that an application can’t be launched through script, it has to be through a user action. (Like the file browse dialog or an RSS subscription). Don’t make the same mistake as Vista. Say no to confirmation dialogs, users don’t understand these and they get complacent and always press yes.

One final thought… We need to think about how a website can act as a Microformat consumer (not just a provider.) For example a site like LinkedIn or Basecamp should be able to be both a provider of Microformat data as well as a consumer of it. I haven’t seen anything on website being able to register to recieve Microformat actions but this seems like the logical step for Microformat UI,

The computer is the TV

Feb 07
27

Today there are millions of people who pay a cable or satellite company between $30-$90 a month for 100 channels that they don’t watch. These same people pay hundreds of dollars for DVR’s and media centers to record shows that they end up deleting and if that’s not enough they pay for Netflx to deliver movies that sit on a shelf not being watched.

Why?

We are trying to get traditional media to do the things that computers do. We want on-demand media. We want to be able to watch any show, any movie, any time we want. The problem is that traditional media isn’t setup to do that.

ABC this year has put it’s prime time shows online and that has the potential to change how TV networks interact with consumers. Users with internet access can get any prime-time ABC show anytime they want. I expect the other TV networks to follow… NBC, CBS, FOX, and then the cable providers CNN, BBC, Comedy Central, TLC, etc, etc.

Two things will need to happen to really change the way that TV works. TV 2.0 if you like buzz-words.

  1. An open format for TV syndication. This will do for TV what RSS did for blogs. It will allow other sites, networks, individuals to syndicate content with an agreed upon method to present the content and any commercials that the content provider decides.
  2. A hardware device that allows me to have a 10 ft user experience and makes the whole process dead easy.

The first part is good for the TV networks, it makes it easy for a TV show to go viral, it makes it easier to get eyeballs and to sell targeted ads. Best of all it doesn’t hurt traditional media it just expands the potential audience. This will also eliminate the need for underground Torrent networks to trade these shows. Ads that are targeted can be a good thing but ads for something you don’t want is what drives people crazy and leads them to Tivo. Google will be a major ad player in matching viewers with appropriate ads.

The second part is good for consumers. Instead of paying the cable company $30-$90 for a hard to use cable box that delivers something that you don’t really want I think people would prefer an alternative service that gives you exactly what you want. Any show, any movie, any time you want.

Linux/Unix Case Sensitivity

Feb 07
11

Case sensitivity is one of the best examples of how programmers expect people to conform to the computer rather then having the computer conform to people. We are human, we make mistakes and we are forgiving in the way we communicate. My name is Gregory but I also go by Greg and sometimes respond to ‘Hey You.’

But Linux/Unix isn’t forgiving, if I want Test.txt, this isn’t the same as test.txt and it’s completely different from TEST.txt.
Why?

The primary reason is that programmers in the late 1960′s & 70′s for C and Unix decided to optimize the compilers and parsers. At the time computers were much slower and it was faster to compare identical strings rather then normalizing the upper/lower case of the strings. Back in 1969 when there were was no such thing as personal computers this optimization made a lot of sense.

Fast forward to today as someone is tying a URL into a web-browser.  It doesn’t work. Why? Because the web browser passes the exact case of the web file to the web-server, the web-server is Apache and runs on a Linux server that cares about cases because almost 30 years ago comparing cases took a little extra effort.  Today this type of upper/lower case comparison is trivially quick.

But what’s really amazing is that in all those years developers have refused to change this. Some even think of this as a ‘feature.’ This is really stupid, it causes a ton of problems and there is no longer any good reason to have case sensitivity in an OS.

Computers are meant to be used by people, and people make misTakes.

Mixed Apples with DRM

Feb 07
7

I’ve said this before, DRM can’t work. Recently Steve’s head said something similar. Apple claims that they provide DRM as a necessary part of licensing and if it was up to them they would offer DRM-free music to their consumers.

Let’s assume this is true. Are their hands tied?
Apple doesn’t want to license FairPlay because it would provide a migration path away from the iPod.
They can’t convince the big four music studios to license their music DRM-free.

Guess what. Apple doesn’t have to license FairPlay. They don’t have to convince the big 4 music studios of anything. They just have to do one thing.

Follow through on their statement and allow ‘some’ tracks to be sold through the iTunes music store with no DRM. You don’t have to convince the big four to ditch DRM. Just convince a few hundred independent musicians to offer some of their music for sale without DRM.

Given the choice between two songs (both that sound good). I’ll choose the one without DRM, and I’ll be more willing to buy it knowing that I’ll be able to play that song on any device I own. If these DRM free songs do sell better then DRM ridden music, more and more artists will take the plunge. The big four are late adopters.

Apple can’t rely on big music labels to make the change for their future, they need to rely on the creative independent labels and individuals making great music to help them make the change.

3D Photo Sharing Application – PicMe

Feb 07
6

I’m really excited to announce a quick visual preview of an application that we’ve been working on at Raizlabs. The application is code named PicMe and offers a new way to view, share and interact with photos. The video here shows a quick preview of some of the functionality.

The application was designed to handle what I call the “Lifetime of Photos” problem. Many existing applications do a good job of working with hundreds or sometimes thousands of photos. We wanted to really think about how you would manage an entire lifetime of pictures, potentially hundreds of thousands. We came up with an innovative perspective look that allows you to see stacks of photos. Individual folders are represented as stacks and you can quickly scroll through thousands of images and quickly access, preview and share the images as well.

Over the next few months I’ll have some additional information about the application, it’s development and how other developers, photographers and individuals can use this tool. Some additional information is available here.

If you like it please give me a digg:
Digg: PicMe

Greg’s Head gets a haircut

Feb 07
3

It’s been almost exactly two years since I started Greg’s Head. Today I updated the look and feel and migrated everything from Blogger to WordPress. If I’ve done everything correctly those of you using an RSS feed should still be reading this. Unfortunately many of the comments didn’t migrate over. If your feed stopped working you can resubscribe here. Thanks again for reading.