December 5, 2011

What is an Intuitive Design?

We have heard a lot about designs being 'intuitive', but is here is a good way to explain what exactly it is, and how can we build it.

Magic Escalator of Acquired Knowledge - Luke Wroblewski

"When you are at the bottom, you have no knowledge of how something works and when you are at the top, you know everything about how it works .
 
There are two points on this continuum to care about. 
- Current knowledge (what the users already know)
- Target knowledge (what they need to know) 

The knowledge gap is the space in between (what we  need to design for).
 
A design is intuitive when current knowledge is equal to target knowledge. A design is unintuitive when there is a gap between current & target knowledge.
 
We can reduce target knowledge until it meets current knowledge by simplifying the design. We can move current knowledge to target knowledge through training. These are our two options for design.
 
The “gap” between current knowledge and target knowledge is where design happens.
 
A design is intuitive when the knowledge gap is really small. In other words, it’s easy for people to bridge from current knowledge to target knowledge. In these cases, people don’t realize they are being trained."

September 29, 2011

Don't miss the SILK, amongst all the FIRE

Amazon's new 'iPad Killer' Kindle Fire is all over the Blogosphere. The $199 tablet, powered by Gingerbread (no, not Honeycomb) is expected to be available on Nov 15.

While it is grabbing all the limelight from the launch since Wednesday, there was another interesting product that was introduced.

SILK, is 'the potentially radical' browser that will be exclusively available on Fire.  It supports HTML5, JavaScript, CSS, Flash and associated next-generation Web standards.

Amazon built the software from scratch, using the WebKit open-source browser engine, but what makes it different from the other browsers is that it can be configured to let Amazon's cloud service do much of the work assembling complex Web pages. Which results in faster load times for Web pages, compared to other mobile devices.

It is based on the "spit browsing" approach hence it processes requests partially on Kindle and partially on EC2.  All the user's requests are directed to the EC2 service, which fetches the pages from the source and optimizes the content for the platform. Complex parts of JavaScript may be pre-processed and images may be downsized to a more manageable size.

As per Bezos, this provides "unlimited computational power and unlimited bandwidth, for all practical purposes".
 
But here is the part that I liked the most..

"Silk leverages the collaborative filtering techniques and machine learning algorithms Amazon has built over the last 15 years to power features such as “customers who bought this also bought…” As Silk serves up millions of page views every day, it learns more about the individual sites it renders and where users go next. By observing the aggregate traffic patterns on various web sites, it refines its heuristics, allowing for accurate predictions of the next page request. For example, Silk might observe that 85 percent of visitors to a leading news site next click on that site’s top headline. With that knowledge, EC2 and Silk together make intelligent decisions about pre-pushing content to the Kindle Fire. As a result, the next page a Kindle Fire customer is likely to visit will already be available locally in the device cache, enabling instant rendering to the screen."

However, it is interesting to note that, it is possible for users to turn off the EC2 service altogether and use the browser in a standard way.

Opera has been playing with Split Browsing approach for a couple of years now hence, though this might not be a 'new' but it'll surely add some twist to the market flooded with mee-too tablets.

September 28, 2011

Seventh deadly sin of Firefox..

2011 seems to be like an year for sevens and eights.

WP7, Windows8 and F8, have kept the bloggers busy so far, now its time for Firefox to add some buzz.

The latest version of Firefox is here. V7.0 is said to reduce the memory utilisation upto 50%  thus making web browsing experience faster.

One of the major complain, the "startup speed" has also been addressed and Mozilla claims that tabs, menus and buttons on websites will also respond much faster.  

It also claims that "Heavy Internet users will enjoy enhanced performance when lots of tabs are open and during long Web browsing sessions that last hours or even days."

If you notice, the browser's address bar in Firefox7.0 will not show "http://" in the webpage URLs, however in case of secured pages "https://" is displaced.

To help improve future versions of Firefox, users can opt in to Telemetry. Telemetry is a tool built on Mozilla Privacy Principles that allows users to provide anonymous browser performance data in a private and secure way that they control.

Here are some links that you might find handy
- Know more about feature of Firefox 7 and Download
- What's new (techie stuff)
- List of bugs fixed

September 27, 2011

Chrome the No.1 browser in India

Apart from Android, there is another Googly that is gaining market share rapidly.

As per StatCounter, Google Chrome is all set to become the number one browser in India. It has already pushed IE down to number 3 last month and now just a percent behind Firefox. 

Its just a matter of a week or two that we'll see a new King of Browsers here. 

PS: I'll still be using Firefox :)

Source: StatCounter Global Stats - Browser Market Share




September 18, 2011

What if Humans were versioned?

This thought stuck me when I was wishing a friend of mine on his birthday.  But before we get into what I am trying to say let’s do a quick recap of software release and its versioning.

Almost all the software undergo certain stages of development, mainly Pre-Alpha, Alpha, Beta, and Release Candidate (RC) or the final release. Once the final version is out, every subsequent release is versioned to track and communicate the updates.
 

Most of the software maintain a numeric versioning upto 3 places, e.g.  x.y.z where change in the rightmost digit usually indicates bug fixes or minor updates, middle one is for new features and major updates, and change in the leftmost denotes substantial improvement in the software, like completely new UI, significant change in functionality etc. 
 

Also, one of the integral part of every release is a release note, which contains the details of the changes or the enhancements made in the software.  It has to justify the need of a new release and sometimes be compelling enough to make the user download the new version (especially if it involves money).
 

Okay enough about the software, now lets get back to the humans.
 

Similar to software, once our final version is released, i.e. we are born, we keep track of ourselves via our age, which we write in Years, Months and Days.

Now, instead of writing age like 29 years and 10 months, what if we start using the regular software versioning convention, so my age/version today will be something like 2.9.9.16 in a decade.year.month.day format.

And if we stick to the popular nomenclature, and drop the fourth digit, calling myself version 2.9.9 will make sense, as every decade there is a huge change in what we are and the way we look, every year makes us slightly different from the last one and every month, there are minor changes or fixes.

But there are two things in which we differ from software.

First, unlike them, we neither have a choice of deciding whether to release a new version or not, nor the timing of it, it comes out automatically with every passing second.  Infact we are the best example of continuous integration.

Second, and the important one, we don’t write our release notes.

Now this is a tricky part, what if now we are also required to publish a release note for each release of ours, a note that describes all the things that we have learned or done in that duration.


I feel, its not that we have stopped learning, although the source might have changed from teachers to tweets. But amid this demanding life that we are living today, we don’t make a conscious effort to figure out what we have learned and how does it makes us a better person than what we were before.
 

Thus writing a release note might be of some help.
 

Now I am less than three months away from a major release, i.e. Satya 3.0 and so much has changed in last 10 years. From young & restless, to not so young and much more restless. From a BCOM FY student, to a professional with over 6.5 yrs of work ex. So many new people, so many new places and I have learned from everyone, everything and every little mistake I made.
 

And all this made me who I am today, a person starkly different from Satya 2.0 (including the size and amount of hair on my head ;)

I know it’ll not be easy when I’ll sit down and try to write my release note for this major release, since I didn’t write any for the previous ones.

Nevertheless, I’ll write one, though I might choose to keep it unpublished.

 Good luck for yours :)

August 25, 2011

Challenges of delivering content and applications on the Internet

Tom Leighton's (Founder Akamai) interesting talk on content delivery.

Funny Footers...

Dear Websites,

If you can still be "best viewed with Internet Explorer 6.0 / Firefox 2.0 or higher" let me tell you that stone age is over. Oh and there is something called Chrome that you must know even if you choose to ignore Apple of the eyes.

And here is something you might find earth shattering:

Source: StatCounter Global Stats - Browser Market Share


Good luck,

Cheers,

August 22, 2011

Androids Made in India

We know that Android versions are developed under a 'sweet' codename and released in alphabetical order.

But, what if Androids were made India, what would they be called?

Here are a few options

1.5 -  Cham Cham
1.6 -  Dhoda
2.0 -  Elaichi  Peda
2.2 -  Falooda
2.3 -  Gulaab Jamun
3.0 -  Halwa
4.0 -  Imarti
4.1 -  Jalebi
5.0 -  Kaju katli (yet to be announced)

 Sounds Yummier ? ;)

----

Updated the on Android's 5th Birthday !