Friday, December 29, 2006

Wednesday, December 27, 2006

Flash support for Wii

Been a long time since I have any Flash related posts, but here's something interesting. Aral points to the Wii Browser (Opera) which has support for the Flash 7 player. So potentially you can write games in Flash that will run on Wii. Cool...

Polar Rose is out of stealth

Polar Rose claims it can do what Riya pretty much admitted it failed at; face recognition. Check them out on their blog and flickr stream. It really remains to be seen how good their claims are though.

Wikia to launch search

Wikia is embarking on a new project that it claims is "A project to create the search engine that changes everything"

From the project page:

"Search is part of the fundamental infrastructure of the Internet. And, it is currently broken.

Why is it broken? It is broken for the same reason that proprietary software is always broken: lack of freedom, lack of community, lack of accountability, lack of transparency. Here, we will change all that."


Nobody believed that community powered encyclopedia would work, but it did. But will a community powered search engine work?

Friday, December 22, 2006

Google maps India

Google now has maps for some major Indian cities. I'm blogging from somewhere here

Tuesday, December 19, 2006

Making compact forms accessible. But why?

Mike Brittain in his ALA article talks about making compact forms accessible. Before reading his article I was not aware of a UI pattern of using 'compact forms' (pardon my ignorance) but apparently it is an oft used technique, which actually worries me a lot. I've seen forms where there are sample inputs provided and those too are something I believe is a bit of a nuisance. But in this case, the field label itself appears as the form field value. This must be mighty confusing to the user. Anybody has any experience designing these kinds of forms?

Sunday, December 17, 2006

Big screens improve productivity

According to this post by Martin Fowler:

"Why is this important? If I have a small screen I can't see as much at once, so to see different things I have to keep popping windows to the front. With my two screens I can put a whole bunch of stuff on the screen at once and all I have to do is move my head. My eyes can flick between the text I'm typing now in Emacs and the rendered result in firefox. I can keep open an IDE with lots of subwindows and have documentation in a browser right there. I don't have look around on the task bar to see where I put that terminal window, I just mouse and type. It's often hard to imagine the improvement before you try, but I can really feel the difference since I doubled my screen."

Saturday, December 16, 2006

Josh Porter on Iterative Design

Josh Porter talks about how iterative design has worked for Netflix:

"The designers of Netflix.com have a smashing success on their hands, but we didn't find them resting on their laurels. They want to get even better, and for them that means iterate, iterate, iterate."

Tuesday, December 12, 2006

Wikia launches openserving

According to this article, Jimmy Wales, the founder of online encyclopedia Wikipedia is launching a service offering free tools for people who want to build community websites. The site, openserving.com allows you to create collaborative blogs. From the looks of it, this comes from its recent acquisition of armchairgm.com

Book Review: The design of sites

The design of sites: Patterns, principles and process for crafting customer-centered web experience is a great book on web site design patterns. It starts of with some of the basics of user-centered design (customer-centered as the authors prefer to call it) and goes on to describe some of the common web patterns. Since this is pre-Web 2.0 book there is nothing describing AJAX interaction patterns, however the core set of patterns ranging from navigational patterns to layout and error handling patterns hold good even in the web 2.0 era. It may have less of a value for experienced professionals but it is an invaluable asset to people starting out in web based interaction design. Also for people not familiar with design, can get a good primer into good design practices. Also, if you are designer, working for a manager who does not understand design, this book makes a great gift...

Sunday, December 10, 2006

The Theory of User Motivation: Applying Maslow’s Principles to Build Better Software Products (Part 1)

Ever been part of a software project where you have had to choose between time to market (read ‘schedule’) and the right thing to do (usually translated as ‘content’)? I’m sure you have. It’s a tough decision, and most people just follow their gut (also known as ‘top management’) and go one way or the other.

How else does one go about in a situation like this? Can any tools be used? How can one arrive at the right course of action?

In this article I would be proposing the use of ‘User Motivation’ as tool to evaluate a situation such as this.

What is ‘User Motivation’: Motivation generally refers to the desire or willingness to get tasks accomplished. It is generally identified by initiation, direction, intensity and persistence of behavior that will lead to the completion of the desired task.

Similarly, user motivation can be referred to the desire or willingness to use a particular piece of software in order to complete a specified task.

Readers familiar with the theories of human motivation would be familiar with Maslow and McGregor’s theories of ‘Human Motivation’. The theory is based upon the ‘Hierarchy of needs’, and it argues that as humans meet their basic needs, they go on to seek and fulfill higher needs one after another. The human needs as per Maslow’s hierarchy start with physiological needs, safety needs, enjoyment needs and going up to esteems and actualization needs. This hierarchy is usually denoted in the form of a pyramid as shown in the diagram.

For the sake of defining ‘User Motivation’ we can use Maslow’s hierarchy as a basis for defining the progressive set of needs user look to when it comes to a software product as well. This ‘Hierarchy of user needs’ is what forms the basis of evaluating ‘User Motivation’. For each level in Maslow’s Hierarchy, there is a corresponding set of software requirement. Let’s start at the very bottom.



Physiological Needs (Functionality): This is the most basic of human needs and takes the utmost priority as far as humans are concerned. Generally this consists of the need to breathe, eat and anything else that is almost important for us to survive. The corresponding category of needs in ‘User Motivation’ would refer to the basic software functionality. Without meeting this need every other need takes a lesser priority. Let us take the example of a user who wishes to use a word-processing document to write an article. Suppose instead of being provided a word processor, the user is provided with a best of breed image editing software with one piece of functionality lack: The ability to set text. This would be a case where the user has been deprived of the most basic functionality; that is word processing. Note here that the user would hypothetically be able to use tools from the image editing software to draw text, but it would require an inordinate amount of time, that would not justify the use of computer for the purpose. Hence the basis for satisfying user needs has to be that the goal that the user wants to accomplish should be easier to accomplish than it would be without the use of computer system.


Identifying Physiological needs: There are a number of methods and processes that can be followed to identify these needs for the particular software. The most common one is to do a competitive analysis of other software that are available in the market. However this is not often a reliable method as most people tend to over-design and it does not give an idea as to what is the bare minimum feature set the user is looking for. A far more effective tool would be to conduct a contextual enquiry and arrive at the bare minimum feature set that the user would require to complete the task. This would need to be updated frequently using either surveys or other voice of the customer techniques.

Safety Needs (Trust): The Human need for safety corresponds to the user's need to be able to trust the system. Generally trust is built by having a stable software product that is free of defects and does not crash inordinately. If the nature of the software involves the privacy of the user's data, then security also plays at this level. Taking the same example of the word-processing need, a user would only be compelled to work at this level if the software satisfies the functionality need of being able to type words and is also stable and defect free. Given the choice between a bug free product and one which is still alpha code, the user will choose a bug free product. Apart from traditional functional defects, at this level, users would like the software to be free of usability defects as well, though they would not lay an emphasis on ease of use.


Along with a stable product, documented and live customer support also works at this level, providing users with a sense of security that they have help available. But there is an exception that can be made for the early adopters who can be made to use the software with minimal support or documentation.


Checking for the level of safety: A formal QA process along with a Beta testing process will ensure that most of the safety needs for the software are met prior to release. Apart from this, including usability techniques like card sorting and usability testing into the development process ensures that no blaring usability flaws are present in the system which might cause the user to perceive the software as being possibly defect prone.


Belonging Needs (Social/Responsiveness): Software that satisfies the first two levels of needs, now has to vie for the next level which is that of social acceptance. A software that is used by a number of highly visible people in the community makes it more acceptable for the user. Thus building a user community and a way for users to share experiences and learn from experiences of others plays an important role at this point. If the software tool is aimed at technology savvy community, exposing APIs is also a good way of building up the community.


Apart from this need to be part of a community, at this level, the user expects the software to be responsiveness as well. The is where qualities like performance and slickness of the design in terms of handling user errors comes into play. Software scalability also works at this level.

Easy ways to fulfill this need: Today engaging the user community is an important part of any software, and a simple effort like having a corporate blog that communicates and receives inputs from the users goes a long way in building this kind of a relationship with the user.

Esteem Needs (Experience): Most software available today, do well with the earlier three sets of needs and it is at the next level that they tend to falter. At this level the user expects the software to provide them with an end to end experience, right from the point of purchase up the point where they are ready to go up to the next level.


How to get there and measure the experience: Developer and user conferences are a a good way of engaging the user community at this level. If the software is in the enterprise space, then customer relationship management plays an important role and customer satisfaction surveys play an important role in measuring the effectiveness of efforts put into meeting this level of user needs.


Self Actualization (Pride): The last and final level is the holy grail of software development, where the user no longer needs any more motivation to use the software, but with each use, there is an actual sense of pride that is associated with the use. At this level, the users will come back and give feedback on the software without the developer actually having to make an effort.


Having understood these levels of user needs it would be easy to prioritize the software requirements so that depending upon the urgency of the time to market, one can actually analyze and decide upon which pieces of functionality can be taken up. In the next part of this article we will take a look at how we can take those decisions.


Saturday, December 09, 2006

Firebug

Firebug is an interesting web development extension on Firefox. Reminds me of the tidy validation extension and Aardvark

Of Vista, Xbox and the lot...

In this week's Pulpit, Bob Cringely talks about Microsoft's Vista, and that one of the reasons it cannot fail is that it will be forced upon the market. The article also talks about xBox being the winner of the 'war of the consoles'. But isn't it a bit to early to make that prediction. I really see the dark horse (Nintendo Wii) taking down two Goliaths down with one stroke of the remote...

Friday, December 08, 2006

Jon Udell to join Microsoft

Looks like he is joining the evangelist gang at Microsoft. He's someone well known in the blogosphere who can well replace Scoble... Though he says he'll do things differently :)

Thursday, December 07, 2006

Why it would be easy to switch away from Google search

onStartups has a few points on why it would be potentially easy for users to switch away from Google Search. The main points he makes are:

1. Low Training Investment
2. Low Customization Investment
3. Easy Experimentation
4. Better Results

These are precisely the reasons most users moved to Google in the first place. In any case, general search on the net is a commodity that can no longer be leveraged on its own. The future trend will be towards integration of search into other interactions on the desktop, the enterprise and the net. And do these points hold good in those scenarios as well?

Tuesday, December 05, 2006

User proofing AJAX

Nice article on A List Apart about handling errors in AJAX applications. From the article:

Ajax is handy because it avoids needless browser behavior such as page reloads, but it can also be dangerous because it avoids useful browser behavior like error handling. Gone are the “Server not found” error messages and that familiar escape hatch, the Back button. When Ajax circumvents useful behavior, we have to make sure we replace it as well as we can.

Microsoft vs Adobe

JD is keeping a tab of what the blogosphere has to say about Microsoft's Expression Suite launch.

I played around a bit with the Community Technology Preview of the expression suite which I'd downloaded a few months ago and used it to create a few designs. The Graphic Designer module was interesting while the Web Designer module seemed very similar to Dreamweaver and quite good. But the interactive designer/blend/sparkle was the odd boy of the lot. It borrowed a lot from Flash, but you had to do things differently to get it working. And although I have been using Flash for over 10 years, using MS Blend/Sparkle/ID was not quite straight forward as Mano would make you believe in his presentations. As a result I never got around the learning curve, and since my job as an interaction designer is not tied to the tool, I don't think I would really invest much time in it. At least, not now.

If there is a following in the future, it would possibly go up the same curve that Flash did in its early days, but maybe a bit slower as there is not that much of a 'disruptiveness' associated with the product.

Interestingly of the three, Blend is the only product that was designed and developed in-house, the other two were acquired. One more observation I had about the Expression Suite (at least the CTP) was that it did not gel together as one suite of applications, but more like a hotch-potch.

I'm sure things will improve in the future, and it is always good to have more than one option when it comes to tools to work with...

More about digital identities

I'd just recently posted about information overload resulting from too many passwords, when I ran into the 'Digital Identities' icon in my Control Panel. A small search revealed this post on Andy Harjanto's blog. Guess I'm a bit late on this, but thought this was worth blogmarking...

Monday, December 04, 2006

AskCity

AskCity was in the news today, however when I had some time on hand, and decided to try out the interface, it threw up a login screen saying the service was still available only to limited users. Guess the news came in early Eastern time, and AskCity was slated for a Pacific time launch? BTW, I was still on Indian time so much ahead of both. In any case I tried playing with it again, but only after reading Scoble's post on the same, and that has tainted my view on it a bit. The site does not live up to the press it has got, at least...

Too many passwords...

According to this BBC report:

Growing use of the web is stripping people of their personal privacy. The number of passwords and logins web users need makes it inevitable they will re-use phrases, and Re-using these identifiers puts people at serious risk of falling victim to identity theft.

Biometric Authorization still has a long way to go, but it may be a necessity in the future...

Don't play around with simple, says Jeremy...

"I'm tired of AJAX being used as a replacement for quality design." This seems to be the message that is coming out of the disastrous re-design exercise of Yahoo!TV. New Yahoo! designs seems to be forsaking usability for the sake of visual design and AJAX coolness. Somehow I feel we are going to see more such user outbreaks in the coming months...