Thursday, April 30, 2009

Minimalistic Web Designs Are More Effective

Its easy to see that minimalistic web designs are more effective - just compare google.com with yahoo.com and then compare the stock price for each. One glance at google.com is enough for you to know that Google does search, what does yahoo.com tell you? search? email? cars? real estate? news? personals? dating? Less is in fact more.
The major component of a simple web design is plenty of white space. It is harder to focus on the content when the site is cluttered. So Keep It Simple, Stupid.  
Make good use of typography. Do this to compensate for using less graphics and pictures. With a simple and not cluttered design, you are actually maximizing the impact of images.
Finally color is very important. The old blog template used here did not use color very well and did not help with making the content stand out.  It is also very important to have a specific purpose for the blog, this blog has more of a purpose today than it did last year. It also has a focal point, the most important content is here.

So tonight a new template was chosen, one with less clutter and more white space, better use of color and typography and all of this coincides with the change in direction I started a month go to have a more defined purpose and that is presenting My Thoughts on Technology and Web Applications.


Recursive Search in Google Maps - Why is it interesting?

Apparently this has been out for some time now, but I am able to run recursive searches on Google Maps. I have used the "What is nearby" searches, but I was unaware I can do this from the search field.

What is a typical search on Google Maps?
Obviously the most common would be something like "2000 Main St. Hamilton, ON"

Then there is a slightly more interesting search query...
something like "Coffee in Toronto" is something typical to have on a location map


Finally, there is the ultimate - so far - location query; the recursive query
for example "Coffee near highway in Toronto"


I like it, I like it a lot actually. 

So how about we use some nested recursion?
"Tim Horton's near airport and Starbucks"


Now this is getting really interesting, you can now see the bunch of points around Pearson and another bunch around the Island and some orphaned point by Scarborough. This is beyond finding directions, one could use this for some analysis on where specific brands focus their stores, or even which regions in a city different brands clash ex. Tim Horton and Starbucks. Actually it would be useful if Google Maps colored each marker differently in the above recursive search, ex. red vs. blue. This way I can actually see where Tim Horton and Starbucks are throwing punches at each other.

Let me just check one of these locations, and make sure there is actually a Starbucks near the Timmies - just to make sure Google Maps is not pulling my leg here.

I picked that point marked "A" on the very left, and searched nearby locations...


and sure enough that Tim Horton is near a Starbucks and the airport. You can even click the markers to view the info windows and verify this yourself.

So next time you use Google Maps remember you can do more than just a location search.



Tuesday, April 28, 2009

Thinking Out Loud: Content Personalization - Tell Me Who Your Friends Are

"Tell me who your friends are and I will tell you who you are"

That saying cannot be more true today - especially with all the available social networks. How does Amazon make recommendations to its users? While they don't tell us everything they do, Amazon does reveal one part of it at least when you login:
"These recommendations are based on items you own and more"

I don't find recommendations based on items I own very interesting, I am more interested with the two words at the end - "and more". What other ways are there to provide recommendations?

User demographics have been the most popular way to do this for the longest time now, and with the rise of social networks I believe this is about to change. What is the problem with using demographics for recommendations?

The biggest problem I see is demographics and statistics go directly against personalization by definition. A decade ago that was probably as close as one can get to personalization, but today is this still true? Today, everybody - including the neighbour's cat - has a Facebook profile. All these social networks are sitting on a gold mine and they know it. Demographics are useful when the medium you are delivering the content through delivers content by the same demographics such as a TV. As a TV advertiser you need to know the demographics of the product you are advertising to know at what time of the day you can maximise your reach to that demographic. Unfortunately today's web does not work that way - imagine Facebook where on weekdays between 10am and noon you can only add and talk to stay at home moms? or between 4pm and 6pm its kids between the ages of 8 and 15, or between 8pm and 11pm its men between 30 and 40.

Today's social web is not divided by demographics, whether you are 15, 25, 35, 55, or 60 you can still get on Facebook and find content that interests you.

Consider the iTunes Genius feature that recommends songs? How does it do it? Obviously there is some complex algorithm that answers the question: "If user 1 purchased songs a,b and c, and many many many users purchased songs a , b and d, what is the probability that user 1 will like song d if song d is the same genre as songs a and c for user 1?" This is the bottom line of the majority of today's recommendation engines. Based on my experience as a customer it comes down to:
  • What did I already buy? - or listen, or view, or read, or...
  • What did others buy? - or listen, or view, or read, or...
  • How big is the intersection between our product selections? and is it enough to conclude that I may like what they bought?
So is this personalization? Isn't this similar to how radio stations select songs?


For example, what I would like to see on Amazon is the recommendation engine would learn about me based on what I provide on the profile. By pointing Amazon to my Facebook, blog, twitter, linkedin, bit.ly bookmarks and more, Amazon would learn about what interests me based on my thoughts here, my rants on twitter and who I follow, my friends on Facebook, the events I attended and who from my friends went there, and so on.

Finally, if all this sounds like too much information to give away, although it is already publicly available, then you don't need to use it. Think about it how neat would it be if Amazon was able to learn through my twitter that I started learning CakePHP and sends me a special offer for 50% off a CakePHP book? or that I started using twitter 3 weeks ago which coincided with when I started posting more often on here and recommend a book about promoting my blog via social media?

Monday, April 27, 2009

Google Maps Swine Flu Timeline

A few hours a go I wanted to see a timeline of the Swine Flu and I just found this Swine Flu timeline on Google Maps Mania.

Using the Google Earth plugin and the data from the same map I posted earlier that timeline was created. Very neat.

Help me find the other two requests.

Track Swine Flu On Google Maps

Google Henry Niman has published a Google Maps application to track the recent Swine Flu outbreak around the World. Google Google Maps platform is a great way to quickly publish applications regarding current events.

For a Swine Flu tracking application I would like to see someone do any of the following:

  • add a timeline and be able to view how the disease spread, just like the Google News Timeline launched at Google Labs
  • notification via e-mail or twitter if there was a case reported around your location
  • be able to compare the patterns of this outbreak with that of SARS or some other disease
Comment if you know of any application that does any of the above.

Free Ad-Hoc Business Intelligence and Database Reporting

I struggled for the past week searching for an easy to use, intuitive and ad-hoc business reporting tool. Today I came across Wabit from SQL Power - a Canadian consulting firm that specializes in business intelligence reporting. There are a lot of software out there, but they were either not free, complicated to setup, or required SQL knowledge.

Wabit is really easy to use and SQL Power did a really great job making the interface as intuitive and easy to use as possible. One thing I really needed is the ability to drag and drop tables onto my canvas and select which columns I need for a specific report. Wabit does exactly this, and does it very well.

It also comes with a WYSIWYG editor to design the report, you can drop labels in, drag in the queries you built and finally export the report to PDF.

When I started looking for a Business Intelligence database reporter I started looking for web applications, I figure that would be easiest way to get one, but I was wrong. The first database reporter I came across seemed promising after using the online demo was xreporter. It turned out to be complicated to setup with different components that needed to be installed and configured separately and then I was not able to get it to work. To make matters worse the available resources did not help me figuring out what I did wrong.

Slowly over the past week I came to accept that free, opensource, online BI tools are either non existent or very badly marketed. Today I decided to change my search angle, and decided to look for BI tools for Macs. I have a Mac and when I need an application for something I had no troubles finding it. Lo and behold after 20 minutes of searching there it was - the business intelligence tool for the rest of us. If you are not looking for bells and whistles in your BI tool, give this one a try.

Finally Wabit comes for Mac OS, Windows and Linux which is the other secondary requirement. I'm a PC and my customer is a Mac, so if I were going to walk him through using it, or troubleshoot problems I need to have it as well so this is great.

One problem I did find - not directly with the application but with Postgres - is that Postgres does not support cross-database queries. After generating a query through the GUI and then dropping the query within the report you will get a :

"ERROR: cross-database references are not implemented".

To resolv this just edit the SQL Wabit generates and remove the [DATABASE_NAME].[TABLE_NAME] from the FROM and WHERE clauses.




Saturday, April 25, 2009

Wordle - Still Beautiful Word Clouds

Generating a tag cloud is an art in itself, Wordle has perfected this art. I will try and generate a word cloud from this blog every month to try and visualize the topics I have been talking and ranting about here. Heres today's Wordle - click it to view a large size.

Wordle: elshawwa.blogspot.com today's wordle

Tag clouds do not just have to convey information using the size of each word, we are already restricted about what we can convey so one really needs to maximize the number of ways information can be conveyed. Word size is only one way, but we can also think about orientation of the words and color as Wordle does very well.

I have not seen a tag cloud yet that relates which words show up together. For example, am I using Twitter as an application? or a Twitter for advetising? or Twitter to expirement with advertising my blog?

If you know about a word cloud that makes use of more than just font size, color and orientation please share here. I'm always interested in different ways to visualize data especially when you are constrained in what you can do to visualize it.