Tuesday, May 22, 2007

Interoperability that Actually Works

If your applications are already talking to each other, at least make them talk correctly! Web services and the ability to communicate between different applications ease our lives a lot. And I mean a lot; imagine going shopping without a credit card. Credit cards are convenient because they actually work (as long as you don't exceed your credit limit, blah blah blah...).

Last weekend I got quite frustrated trying to publish my last entry. I'm using Google Docs as my text editor for this blog. I'm actually in love with it - it makes my life easier in many ways.

  1. All my blog entries are in one online place - I can access them from home or work without carrying them around (by the way there needs to be more online storage services; I used to love Xdrive back when it wasn't AOL's puppet).
  2. I can easily collaborate my side-project specs with relevant people - Almost everybody now has a Gmail account, so I don't even need to create or manage accounts for them.
  3. Automatically publish to my blog since I'm using Blogger to host this wonderful page - Oh, by the way this is what I'm going to be bi*%#ing very soon.

As I said, I was writing the entry on Google Docs, placed my fancy picture in the correct location and finally "Published" it. The experience is perfect until now. Then I go back to my blog to see if the layout actually looks correct; and of course I get disappointed with the results immediately.

Most obvious flaw in this experience is the title of the post - as a matter of fact the lack there of. A Google Docs document has its own title, which is (I'm totally guessing here) the first line of the document when it's first saved. Usually my first line is the actual title of the post which is totally OK. But the title of the post is technically nothing, therefore Blogger picks up the first 6 words that doesn't contain weird characters of the entry. The following is the table of the title and the URLs of my previous posts.

Title

URL

Published From

I Give Up.../i-give-up.html

Blogger

Design to Interface.../design-to-interface-were-all-familiar.html

Google Docs

High Fidelity =? High User Experience

.../high-fidelity-high-user-experience-ok.html

Google Docs


As you can see the URL of the one entry I posted from Blogger actually complies to its real title. But the other two, come on Google, you can do better than that. I haven't tried using Windows Live Writer, so Google, you are off the hook for now. I'll keep writing my entries from Google Docs but I'll manually publish them from Blogger to satisfy my OCD.

The point I want to make here is not to blame everything on Google. "Publish" is a very "nice-to-have" feature and I don't know what priority Google gives it; but since both the services are owned by the same people I would like to feel safe and assume that the feature will actually cooperate as expected. I have a feeling (experience speaking?) this is not that hard of a feature to fix anyways.

In the world we're living now, inter-process communication is gaining more and more power every day. I've even heard people talking about Web 3.0 which essentially is the idea of having "Web Data" instead of "Web Pages". The Internet is moving to a place where which client you use is irrelevant, however these clients still need to understand and represent the data correctly. And in order for your products to survive in the wild, you will have to consider every such use case carefully and comply with your own standards.

PS: Wow, creating tables in Blogger is not that easy!!! The real table in Google Docs looks so much cooler.

Thursday, May 17, 2007

High Fidelity ?= High User Experience

[OK, so I was going to publish this like 4 months ago, actually before new years, I mean really long time ago. So what happened in he mean time? I moved back to Seattle from my 3-month vacation after graduation; nice!]

Lately I've been looking into the Software as a Service (SaaS) demos Microsoft published. Especially the Litware project, and its architecture explained here and with more details here. It's a great guidance tool that demonstrates how an SaaS application should be.

One of their core take on designing an SaaS application was to define how configurable your application will be. How much of the application's features am I allowing the users to tweak? If I have a dumb, simple application then it will be easier to deploy and maintain it. If I let every single option to be managed by users then they can configure the application to look and behave exactly how they like.

In their presentation they have this nice rainbow spectrum with "One size fits all" on one end and "Fully configurable" on the other. My two cents on this? I totally agree with the rainbow but High Fidelity & High User Experience? OK, I guess UX is not only GUI interaction experience but can also mean to configure the software to such detail to fit my needs perfectly. But then I thought that meant High Fidelity. It's actually a great feature that I can put my company's logo in Basecamp. But then again this example lies on the side of configurability (I don't think this word even exists, my Google Docs spell checker is complaining). Whatever, I'm not here to dis the great work Litware guys have put forth.

Then there is the other question; Does a "Fully Configurable" application give you the best User Experience? My head explodes every time I think about MySpace. I know it's been a hit by millions of users but come on. The only reason I prefer Facebook is the fact that Facebook looks so much elegant the way it is and it would take me days to create a MySpace page that I will like myself. With Facebook, the page is already setup for you, you don't have any options to change your font color or the background image. It's perfect, I'd rather spend time reading my friends' walls and look at their picture.

But then again we're talking about SaaS, it's enterprisey and you need to be scared of those kinds of software. The idea is that my SharePoint page's background should be in sync with my company's logo and I should be able to receive any kind of notifications when the "Company Roster.doc" is updated, right?