Thursday, October 29, 2009

Nice chrome bug


Almost all the times I write a post I stumble upon one or more Google bugs.

Notice that I don't mention a single application but just Google, because this is the way it should be: integrated.

In this case the prize is for Chrome, because it displayed some HTML text over a flash advertisement, see the picture.



Firefox nicely flows the text around the flash object.


This is Google Chrome 4.0.223.11 and I-m not supposed to complain about it because it's a developer's version. I'm posting this because of the nice looks of the outcome.


Wednesday, October 28, 2009

The end of the "document" age

The prediction
Gartner is predicting the end of the "document" age. Finally!
I'm waiting for this to happen since years ago.
They say "Managing Users' Transition from File-Orientation to Web 2.0 Approach Will Be a Major Challenge" while it should not be so.
The (painful?) transition
I imagine that Gartner interviewed people working in offices and asked them "What do you prefer, wiki-like or file-based documents?" and got honest answers biased by the prior experience of those who asked and those who answered.
Office is enough painful so that nobody wants to switch, not even to a free option like OpenOffice, after all that whining about its cost. This is so because nobody wants to go again through such a painful training experience. Remember having had an experience like this?
The choices
Both choices, Office and Wikis, are painful.
Office because of its ancient design that MS does not want to change because they are locked in because they have so many million users locked in, reluctant to open their wings and fly away because they are afraid of more pain.
Open your wings and fly away
Wikis are, well, wikis. Limited in their capabilities, providing almost a single format for everything, most of the times lacking WYSIWYG capabilities. Geeks can grok Wikis, just another simple language to master, but normal people does not: they have more interesting things to think about.
But change happens
Change happens, and very quickly when the conditions are met. See, for example, Gmail (It seems I always pull the same example!).
Honestly, when web mail was as it was before Gmail, if you were interviewed by Gartner about a choice between desktop email and webmail, what would you have answered? Yes, you would have chosen desktop mail, wholeheartedly.
But Gmail reared and you changed your mind, didn´t you?
So it's about Google Docs ...
Actually, no. Not at all.
Google Docs is a straight copy of the Office UI and thus is has many of the issues Office has.
It has two good points: it´s online and it's collaborative. Unlike Office + Sharepoint, for example, that define "collaboration" as successive offline solo steps.
And Docs has a lot of issues of their own. I will not blog any more about all those bloopers because I don't have that much free time, and I want to blog about positive ideas, but trust me that Docs deserves a sound revision.
So what?
In future posts I will clarify what´s wrong about the "documents" and will sketch my take on the Office replacement, the one that will work, adopted with viral frenzy. Like Gmail was





Friday, October 23, 2009

Making AJAX crawlable

There is a not-so-new slideset by Katharina Probst and Bruce Johnson (the GWT guy) about making AJAX crawlable, here: http://docs.google.com/present/view?id=dc75gmks_120cjkt2chf





It's short and interesting.

It's not only about AJAX but any dynamic web site who wants their pages indexed like, for example, a news site.

One way to have dynamic content indexed was to make the internal engine render all the possible pages in HTML and store them in a special directory, in a simplified format to avoid a traffic spike .

Now Probst and Johnson say that Web sites willing to be indexed should provide a server script that outputs all the data the site wants to be reached through.

For example a site about places can output a list of cities with additional relevant data, in a simple listing "internal page" (do crawlers index very long pages?)

This would be better that to run the server scripts to make it generate all the possible pages. But it might be a resources waste, as instead of many pages one could do with a simple, long, "internal page" sporting the keywords and other fixed data ony once, and a listing of the variable parts, pointing to the URL where the user would choose his selection. http://docs.google.com/present/view?id=dc75gmks_120cjkt2chf Web sites wanting to be indexed should provide a simple script that outputs all the data the site wants to be reached through.For example a site about places can output a list of cities, in a simple listing "internal page". In some cases it is possible to run the server scripts to make it generate all the possible pages. This might be a resources waste, as instead of many pages one could do with a simple, long, "internal page" sporting the keywords and other fixed data ony once, and a listing of the variable parts, pointing to the URL where the user would choose his selection. "

"All possible pages" sounds scary, but in most cases it's not. Obviously Google can't generate each and every page. But most other sites could. Even eBay, for example, which must be doing something like that. Each site has to do its math: number of unique "items" times number of characters per item pure content, devoid of all the surronding stuff like hundreds of links that make a page weighty. Disk drives are inexpensive.

I think about loading a special directory with barebones XML "bait" pages containing all the relevant data with appropriate URLs that the web server could redirect to the actual page for viewing. This way the bait pages could be designed to display better in the search results list, with more relevant abstracts.

And when I write "bait" I think of scams, sites luring users to click in search results that take them to different contents.

Actually, the site should design and store indexing raw data, linking text content with URLs, to feed the crawler. And ideally the site should ba abre to run it at the time that best fits them, like for example during the local night hours. As the indexes do not update so frequently, not in real time at least, choosing a time should not be an issue.

Sunday, October 18, 2009

No new posts

No new post. Many days ago I tried to sprout a new article, funny, revealing, but it was not possible.

I ran into problems, the kind of problems I blog about here, and it was impossible to come out with a post in a finite time lapse.

So I decided to blog about those problems and in doing so I ran into more issues.

The issues were difficult to describe so I recorded the screen action and after doing so I noticed that I didn't know how to publish video, er .., flash, because I recorded the screen with Debugmode's Wink that outputs a flash video.

The "Add Video" button does not know about flash, only AVI, MPEG, QuickTime, Real, and Windows Media.

So I delved into the docs that would help me to learn how to include a simple, small, animation into my new post but no luck.
So this no-post is about not posting because of the reasons I post about.
I googled about posting flash in blogger and nothing clear came out, only that I could upload the movie into youTube and embed it.
youTube refused to accept my swf but didn´t tell why.

Does anybody know how to do it? Now I suspect that youTube rejected my swf because it featured cht usual pause/run controls.

Thursday, January 17, 2008

Calendar and timezones

Today I registered myself for an event, a webcast about a technology (making Eclipse pulgins) that will happen in a few days so I want to enter it in my Google Calendar.

The event is slated for starting by January 22, 2008 at 9:00 am PST / 12:00 pm EST / 5:00 pm GMT.

As I'm not in USA the first two time tags are meaningless to me so I'm left with only the third one, namely "5:00 pm GMT". As I'm in Buenos Aires my time id "GMT - 2" during this summer so after some reasoning I think I have to add (or subtract?) 2 hours to the GMT time to get my local time. Or I can visit timeanddate.com and after a while look for Buenos Aires in the long places list to find out that the event will start at 3PM here.

Why didn't I use the timezone option in Google Calendar event details input form?

Well, it happens that there is no such option. Which I think it might be useful for people entering events that will happen somewhere else, for example one that is going to travel.

Actually the screenshot is only a quick and dirty mockup I made for this posting. Just an idea to be developed.

Tuesday, January 1, 2008

Posting is a pain

Posting in the Blogger UI is a pain, one posts struggling against the system instead of being helped by it.

The first noticeable bit is the working area. In my modest 1024x768 screen only 21% of the pixels are devoted to input text, the rest is mostly flat blank or dark blue. Few artifacts, this is good.

Hey, I paid for the whole screen, why should I want to use only 1/5 of it?

An example comes to mind: the visualization and edition of environment variables in Windows. It is done in fixed-size small windows that didn't make much sense in 640x480 screens and are ridiculous as of today's resolutions.

As I said, this is the first bit. There are so many! For example whilst editing HTML, newlines become line breaks instead of being handled as blank space. A newline in the HTML source is replaced by a ... hmm, I already struggled trying to show tags here ... lets try, newlines are illegally converted in <br> tags.

Ten pearls of wisdom

Yesterday a couple in Florida found a pearl in their dinner.

That´s nothing, in terms of economical value, when compared with this pearl of wisdom I found the day before. It´s a small excerpt from a book, see for yourself:

Top Ten Signs That Things Are Going Badly

  1. "Our Web site is intuitive and user-friendly."
  2. We need to start doing some usability tests before our launch next month."
  3. "We can use [XML/SOAP/ insert other buzzword technology] to fix that."
  4. "If you stop and think about how the interface works for a second, it makes complete sense."
  5. "How can our customers be so stupid? It's so obvious!"
  6. "Well, they should RTFM!"
  7. "We don't need to do any user testing. I'm a user, and I find it easy to use."
  8. "We'll just put an 'Under Construction' sign there."
  9. "Shrink the fonts more so that we can put more content at the top."
  10. "We need a splash screen."

Yes, since long ago I noticed that when a developer designing any piece of software says they were planning to build it "APB" (A prueba de bobos = fool proof) then that system is bound to failure.


What usually follows is "How can our customers be so stupid? It's so obvious!" and maybe the addition of some user-patronizing instructions.

But all these ten bits together! Understanding this might save the site much more value than that of the rare pink pearl.

The book, whick I recommend without having read it in full, is "The design of sites".

It´s not about graphical design the "surface design" but on functional design which accounts for 90% of a site´s usability.

Friday, December 7, 2007

How to learn to loathe usability reviews and stop worrying

An usability review is always about issues in the user interface of a system.
It's the contrary of raving about the web site or whatever, is pinpointing design errors.
In the programming world those unavoidable errors are called "bugs" and usually are fixed without blaming anybody.
This is fine, the whole team owning the bugs and fixing them happily.

One problem I frequently found with usability reports is that the author of the UI resists the reports sayings as if it were an attack, arguing forever.

But so are those reports ...

Tuesday, December 4, 2007

Downloading the GWT Example Programs

How to download GWT Example Projects


Adhering to the currently running GWT Conference I'm blogging about a small issue in the GWT site.


It happens that, after seeing the reasonably good demos, I wants to have the code in my PC.


download sample ... or not?It looks easy: there is a prominent link button closing the page content (see image) labeled "Download Source Code."


So I clicked the button and it took me to a page titled "Google Web Toolkit Downloads" contaning the GWT download offerings, which does not include the sample code I wanted. Only a "Download Google Web Toolkit" button.


I said to myself "It must be somewhere near here" and started looking around.


A "see our complete download list." link seemed the solution, but not: it contains lots of GWT versions including release candidates for version 1.0 (1.4 is current as I write this.)


Conclusion: not a single sample download, I verified that all five example projects led to the same page.


The bottom line


It happens that the examples are included in the GWT download. So it's right to take the user to the download page, but #~@%gggg!


Instead of the notorious "Download Source Code" it would have been better to write "The source code gets installed with GWT in subfolder x."


A bit on usability


Most usability issues are small and silly, the problem is when they are so many!

Monday, December 3, 2007

The very first GWT conference has started today

The first GWT conference

I don't go to such conferences. It's not that I don't want to, I'm too far away and currency exchange is not at all convenient (by a factor of three) so I have to observe them as an outsider. I have observed many, since the first JavaOne and before.

Usually the first few conferences on each new technology convey all the excitement, the feeling of being pioneers, a sense of evangelism.

A new and promising technology captures the vested interest of thousands, usually because it promises to solve all the pending problems or because it appears to be an opportunity to make big money.


The GWT opportunity

That said, GWT is also a huge opportunity for the IT masses to solve a pesky problem that has been always endemic to computer systems. Because it is a product positioned near the User Interface and computer systems too often deny the user.

Unfortunately it seems as if the focus still were the computer ...

From the conference site ...

"Google Web Toolkit enables developers to use their favorite Java tools to build AJAX applications without having to tackle the steep learning curve and quirks of JavaScript and CSS. The Voices That Matter: Google Web Toolkit Conference will insure you understand why this is so and how you can leverage the power and functionality of GWT for your applications."

The text above is the very first paragraph from the landing page. By reading it one can not follow that this is a user-focused conference. It'sall about developers, once again.

In the last paragraph of an inner page the good news appear. Under What is Google Web Toolkit? one can read ...

"The GWT engineering team makes this abundantly clear by stating unapologetically that when there is a choice to be made between "easy for the user" versus "easy for the developer," "easy for the user" wins. That may be a surprising sentiment coming from tool builders, but, then again, their first design axiom is four words: User experience is primary."

There is that candid passage where the author says that this " ... may be a surprising sentiment ... " and yes, it is surprising, a nice surprise.

Who is the conference for?

Obviously the GWT Conference is for developers, technologists, like me and most of the featured speakers. With a couple "usability" sparks, IMO too lame.

It's also clear that one can't make a user advocate out of a hardcore IT geek in the lapse from monday thry Thursday at 1:30PM.

The fact is that GWT solves a problem to the developers, that of having to write Javascript for the UI. Besides that, it could even be harmful from the point of view of the users, leaving them at the sole mercy of the Java developers.

There is nothing wrong with Java developers, many of my friends ara Java developers ...

Seriously, it's not the developer's fault. Can't explain it now ... it's in Alan Coopers book "The Inmates Are Running the Asylum."


The technology and the solution

A technology is not a solution but a tool. Supposedly it will be easierfor a Java developer to build a UI using GWT. This is not to say that the application will be necessarily better, read on ...

Many years ago a tool was announced, one that allowed developers top build UIs with great ease, dragging and dropping controls in a canvas. It was bundled with a well known programming language.

That tool brought GUI development to the masses, literally, and thus itwas used to build both a few good and many loathed UIs.

You know, I'm talking about Microsoft's Visual Basic. VB applications were
used to "upgrade" many DOs applications, frequently with reduced usability. Yes, GUI replacements were not necessarily better for the user than their command linre counterparts, maybe Lotus 1-2-3 was the most dramatic example: the DOS version dominated the spreadsheet marked but the GUI version fumbled.


The bottom line

Althought Java in the server plus GWT for the UI plus the developer sounds like three of a perfect pair, that does not mean that any application is going to be plain better.

In fact, we'll see worse applications because GWT is doing a good job in lowering the threshold.

I revolve thinking about how to help even the most hardcore geeky
devlopers to build usable applications.


Trivia

Alan Cooper, the guy who wrote the "inmates" book, is also the one who invented Visual Basic.

Wednesday, November 14, 2007

The high usability example: Gmail

Why is Gmail an example of high usability?


This happened in two steps, by sure. I imagine it like this:

First step, the idea:
The first step was a positive one, about thinking on behalf of the users, the inception of a useful product.
Remember: before Gmail we used slow webmail, with very little alloted space. For example I used Netscape mail because it offered 10MB, twice as much as the others did!
Also, web mail was cumbersome and slow, made with traditional HTML forms that took ages to reload completely making you lose the focus.

On the other hand we had the desktop mail, with enough space to store messages and with quick interaction. But usually installed in a single PC, unreachable from elsewhere.

The Gmail idea was to question this status quo and seek a solution providing the advantages of both web mail and desktop mail:
  • reachable from anywhere,
  • quick response,
  • lots of space to store messages,
  • and the innovative "conversation" newsgroup-like organization.
Second step, the implementation:
This second step was a "negative" one in that it was about not doing wrong.
Although the developers (I imagine) were conscious that they were challenging the model, they refrained from adding the many features that surface in such circumstances, coming out with a really clean user interface.
Those who are not developers have to imagine how compelling is to show the world a feature that just appeared in one's mind. Whatever excitement you imagine, please double it.
Yes, the team was led by someone with really strong ideas! Perhaps a woman, because women are much more resistant than men to the gadget kind of feature.

The result was an interface that anyone could use without special training, just having operated another email client (even the infamous Outlook) was enuogh.

Wrap up
The first step was to have a good idea, and the second was not to spoil it.
Gmail changed the world. After it's success all other web mail services had to catch up in a hurry, some of them did not resist the urge to add frills and came out with heavy UIs that their users complain about.
Gmail is so good not because it's Google's mail approach but because the team leader did not let features creep into the devilered product.
As I like to say, usability is the lack of defects. One can not add usability but take defects from the product.
Best of all, an application can be born with no defects, strictly sticking to a minimalist design plan. This is what returns the best results.

Thursday, November 8, 2007

Today is "World Usability Day 2007"

This is the third edition of the "World Usability Day", comprised of a set of events that are performed all around the world starting in New Zealand under the motto “Making life easy!
This year's theme is "Healthcare."
The number of events makes evident the interest of the people, not necessarily usability-related people, on the subject.

What's "usability?" Uh?
In the context of last year's Usability Day there was a "Usability Hall of Fame" contest (web site now defunct) and you could vote for your pet usability feature. And the winner was .... a japanese toilet!

It seems that the toilet defeated the other features because it was green: it reused the hand wash water as flush water.
Albeit now everybody is aligned with Planet Care (including the US Gov) the greenness of a thing has nothing to see with its usability. The toilet is interesting but not the epitome of usability.

As we all know, the epitome of usability is Gmail, isn't it?

The Usability Hall of Fame contest made evident the fact that few people has a clear idea about what Usability is.
For example, many think that it's in the user interface design! I used to think that, for a while, many years ago.

The World Usability Day Celebration is useful in that it brings more people in touch with usability concepts. As soon as you look at a few of the events slated for today you get the idea.

Usability does not exist
What is real is the lack of usability. Over time, the things that now are notoriously more usable tend to become mainstream, "normal."
We can notice the lack of usability and act upon it, because it is a facet of design, or better: the final result of design.
Yes, visual design is desirable, and we enjoy it. But is is useless if "the thing" drives you mad every time you have to suffer it.

If you want a 5-minute briefing see "Importance of Usability," a page I just found. It refers only to web sites and usability testing, but anyway ...