Thursday, August 25, 2011

An Early bird's view of Windows 8 "Metro UI"

Microsoft is formally making it's pitch to sustain and continue to hold the commendable position in the world of operating systems. In this efforts MS has recently announced it's revolutionized, most discussed, and would be most debatable Metro UI for windows 8 operating system.
 Just a day or two before this article was published, Microsoft has been granted patent for it's "Metro UI" from US patent and trademark office, and this patent was filed under the name 'Visual motion for user interface feedback'. 

What made Microsoft to invent "Metro UI" ?
Windows 8 derived this idea of  Metro UI from it's most popular "Windows phone 7" UI. As Microsoft burnt its figures with windows CE phones, since these phones failed to cater to user expectations in many areas, Microsoft really had to bring in radical changes and innovative features into its next generation of phones to stay in the competition and live up it's reputation. "Metro UI " is one of the biggest change that the designers at Microsoft stressed for.

Why is it even called "Metro UI" ?
There is an interesting story behind this. The designers at Microsoft were working hard to find out what makes humans to perceive  things quickly and easily. and  as research went on they found  that people showed capabilities to perceive Sign board, Warning boards, Information board displayed at Metro stations and many other public place.
Microsoft decided to milk out this idea, and redesigned windows phone UI as sign boards displayed at metro stations and named it as "Metro UI"

A sneak peek of Windows 8 Metro UI ...
Microsoft has re-engineered it's conventional desktop UI to bring in home screen concept in windows-8. This is a significant change when compared to all old versions of windows UI, however this Metro UI may doesn't seem to be a big change for windows phone 7 users as windows 8 UI is inline with windows phone 7 UI. Now Microsoft has decided to introduce this unique UI across all gadgets like Phones, Tabs, Desktops, Laptops etc..

As most of you all might be knowing Microsoft is expected to release windows 8 during Fall 2012, though beta releases are made available for selected OEMs there has been no official beta builds available for public . But few companies and geeks (rainmeter and omnino) are successful in emulating windows 8 metro UI on windows 7  and below are the few glimpses.

Home Screen :

  • Home screen is a unified central location providing quick access to apps, file system, multimedia utilities, E-mail clients, browser, HTML 5 and Java script based web apps and many more.
  • Home screen is all set to replace decades old  windows start menu.
Live Tiles :

  •  Home screen is customizable by adding live tiles which will be replacing static icons.
  • A live tile can be created for each of the application that you would like to have a quick access to
  • Live tiles are highly customizable like gadgets on windows 7.
  • These live tiles just not being acting as access points for applications but they also provide a summarised view of application content.
  • Live tiles are dynamic and they get updated with most recent application content.

Other Significant Changes :
  • Smooth switching between running apps .
  • Anchor and re-size apps to the sides of the screen to leverage true multitasking.
  • Touch optimised IE 10 with improved browser  engine.
  • Thousands of HTML5 and Java based web apps.
  • And many more undisclosed feature.

Most of us are hooked to a fact that "Seeing is believing" ,and from all the specs that Microsoft has made available for public, I'm sure that MS will emerge as a winner with this innovative UI. As Bill Gates always said "Passion and Innovation" are the key factor driving their business, and it looks this apatite for innovation has paid off.

After all we need "Change".. So looking forward to you Windows 8 :-)

Friday, August 12, 2011

Let me guess What You Like the most - Recommender Systems...

Have you ever wondered how a news paper site always displayed news of your interest. 
How google serves you with appropriate information that you are looking for. 
How Youtube lists out videos of your likings. 
How amazon computed your buying pattern.

Interesting right ?... Yes there is someone sitting behind the scene and reading your mind, constantly learning about your interests, quickly making best decisions about your likings, running complex algorithms  and performing thousands of computations to derive your web browsing behavior. 

So who is doing all these,  behind the scene ?
"Recommender Systems" a huge and most complex systems striving hard to serve user with the "Most appropriate " content in an automated fashion. These are the systems responsible for understanding user interests and behavior and presents them with the contents in line with their expectations. 

How does Recommender System work ? 
The functioning of recommender systems varies based on the business where they are deployed in,  but most of these systems run intelligent algorithms to extract the most appropriate contents from a large set of options available. These intelligent algorithms are not static, but they are constantly modified based on user responses for the contents presented.
Few of these recommender systems starts from nothing and gets going with constantly learning about user interests over a period of time and based on this data, it decides on the contents to be presented further.
Like this different recommender systems uses different techniques to arrive at best choice of contents.

Let's understand these algorithms by solving a real time problem. 

Problem Statement :
You being the editor of  "Yahoo" home page, your responsibility is to choose "5" articles out of  "30" available articles to be put on Yahoo India home page.

Why this issue is hard to resolve ?
Yes, this is really a complex problem, because the problem itself is very subjective. it's hard to derive at an algorithm which always returns the best predictions for all set of users. An algorithm which predicts extremely well for few set of users may turn out to be the worst algorithm for other set of people.
This is because the interests of people change from person to person,  person 'A' likes sports news, person 'B' likes news about politics, person 'C' is a stock broker, person 'C' always looks for news from Hollywood, like this the tastes and interests of the people are subjective and tend to change even based on geography.

Here I'll try to explain solution for the above mentioned problem in simple terms, using two algorithms, one of them is a simple algorithms which is not very effective and the other one a highly effective algorithm based on probability which is currently being used by many news agencies.

Algorithm 1 - Predictions based on user groups.
This is a very simple algorithm which uses the following principle.

1) Create multiple geographical areas.
2) Consider a particular geographical area and predict interests of people in that locality .
3) Come up with different segments based on predictions.
4) The segments could be Sports, Politics, Cinema, Education, Science, Technology.
5) Now assign users to these different segments based on predictions.
6) At a given time assign all the available articles from different categories to different segments.
7) The article assigned to a segment which has highest number users gets first priority.
8) Article assigned to a segment which has next highest number of users gets second priority. Like this priorities of articles are decided.
9) Hence the algorithm arrives at ranking of all the available articles.
Predictions based on user groups
Algorithm 2 - Random Bucket Algorithm
This is the most efficient algorithm used in many recommender systems. This algorithm was invented by Charles Pierce a physicist in the year 1877.
The algorithm works based on true randomization, and this randomization completely removes bias, which means no article is presented subjectively inline with interests of a particular group of users, but Instead all the articles are presented randomly to a group of users who are also selected randomly.

Finally based on the users feedback of liking or disliking of the article, probability is found-out for each articles. The article with the highest probability gets first priority and the next article with the highest probability gets second priority and so on.

Let me explain this with a simple example. Say our goal is to find-out whether people like Coke most or Pepsi most, here is the trick.

1)  Randomly choose 10 people.
2)  Randomly distribute Coke or Pepsi to each one of them.
3)  Say 5 people got coke and 3 of them like it.
4)  And, say 5 people got Pepsi and only 1 of them likes it.

Which means the probability of people liking coke is more than the probability of people liking Pepsi.
Hence the conclusion is most of the people like Pepsi than Coke, This algorithm though looks simple is very complicated and proven to be most effective under all circumstances.

That's all, I hope you have got a brief introduction about the most challenging yet interesting research area "Recommender Systems". Most of the search engine companies, news and online shopping giants shell out a lot of money and significant amount of time on this research area with an intent of building the best recommender systems which gives out huge customer base in return.

If you are further interested to dig deeper into this topic.... Just Google it.. May be the best " Recommender System " will get you the most appropriate information.... :-)