Saturday, December 05, 2009

I would pay for personalized news delivered to my [insert gadget name here]

After reading a post by Kevin Kelleher on Gigaom titled "Does Google Event Understand What News Is" and Schmidt's opinion on the WSJ this week titled "How Google Can Help Newspapers" I came up with some comments on this.

I agree that Google is forcing a new business model down old medias' throats (such as the newspaper), and I agree with Kevin's comment that Murdoch is merely testing how much he can get away with in this 'new world'. However, Google did cave in and closed a 'loophole' in this free access to paid content on News Corp.
But I do differ on the point about Schmidt's fantasy '..suggests ignorance of what news actually is...'.

Schmidt's 'fantasy' is 3 fold:

Know who I am


Personalization starts with this. For any recommendation based service one must know who you are delivering this recommendation to, by definition a recommendation is personalized or customized.
Knowing "who I am" is not limited to knowing my name, or date of birth for example. It can include many other things that span where I was born, my current and past fields of work, where I went on vacation, my blog, my twitter, etc. Odds are "privacy" comes to your mind right now, but if you are a member of any online network you are already sharing more about yourself today, than you ever did in any other form in the past. Think about your Twitter account, Facebook profile, Amazon, Flickr, eBay, MySpace, Hi5, blog, RSS feeds you subscribe to, etc. etc. Why not put "your lack of privacy" to a good use? such as receiving better news.

Know what I like


You buy a newspaper today and you get a dozen different sections, all of which you have technically paid for but in reality you might not read them all. You get the main paper, the financial pages, sports, entertainment, comics, health/living.
I never read anything past the main page of the financial times, I never read the health/living pages, I never read non-football (or soccer as it is called in this part of the world) news - why should I pay for them? I rarely buy a newspaper, I read it online, why should the online version be modeled exactly like the paper version.

Kevin claims this will lead to tunnel vision, but on the other end of the spectrum I don't have time to digest 60 pages of news. I do see his point though, just because news about the Middle East is more often bad news than good, doesn't mean this fantasy gadget would block it from me. By knowing who I am personalizing my news would mean that news about the Middle East would bubble to the top of my reading list - maybe not your reading list.

I would also argue that the current model results in tunnel vision. Looking at the Toronto Start page today I see news about PM Harper's stop in China, Lessons of the Montreal Massacre, Michael Bryant, Pakistan troop surge, Russian nightclub, GM shakeup, violence and racial slurs in kid's hockey, etc.
Seems like tunnel vision to me. What I see is completely controller by the paper's editors, not me.

The only thing I clicked on that front page was the Montreal Massacre link, why? because I learned of it at McMaster were I studied.

Its not a lack of creativity, its a lack of courage and the ability to know when a business model has passed its final stretch. It was a good run. Move on.

Know what I have read


This one is the most important step, not because it decides what not to show me again, but vice versa. Knowing what I have read, helps identify what follow up stories I need to see. By reading about the real estate fiasco in Dubai the past few weeks, I would like to see what happens next.

Google can help newspapers


Yes, Google wants to do that, not because it wants to help them, but because it wants to shape them into a business that it can benefit more from. Asking them to share their 'treasure trove' i.e. access to users' data - for free - is absurd. But by investing in AdSense, the newspapers can gain access to this treasure. Why should Google give 'unrestricted access to the data of its users'? , they worked hard to get that, and provided a lot of free services to gain access to that treasured currency.

Murdoch Fantasies


Murdoch is a business mastermind, but I think he got this all upside down. People don't pay for content, and whether its on Google or on Bing I will get a link from Twitter that will point me to a 3rd party site that aggregates this news or some other way that bypasses the wall he is erecting around his content.
Can you really believe you don't need Google?
Ten years ago people paid for online content, only because it was a new way to deliver newspapers i.e. you didn't have to wait for it to be delivered, or end up with a stack of papers to throw out next to the shoe rack. People will pay for how content is delivered, but unfortunately delivering it via a browser is a decade old model. Today there are many other forms that people would pay for such as on your phone or Kindle. Its the same content though, and some might not want to pay for it. However, personalized news is yet another form, and personalized form delivered to your favorite portable gadget is yet another. Now that is something I would subscribe for or watch ads to read.

Saturday, October 17, 2009

Toronto Google Street View Time-Lapse

Its pretty exciting that Google Street View has finally launched across several Canadian cities.


What is more exciting, is finding myself standing outside the ThinkWrap Solutions office!


View Larger Map

Wednesday, October 07, 2009

Nicholas Zakas on "Writing maintainable JavaScript"

A great video on JavaScript best practices by Nicholas Zakas at Yahoo!


I think his best suggestions are:
  • don't put JS in CSS; its bad for performance as well
  • don't put CSS in JS; change styles by changing classes, and not actual styles.
  • don't put HTML in JS; this is rather tricky to avoid, but again if the markup changes, its really time consuming to change it in JS. I guess this one depends on whether you have a lot of markup that gets dynamically updated. One way I really like is how Dojo widgets go about this using HTML templates.
  • attach event handlers using JS, not within markup ex. "onclick". This is an odd one, but it really does make sense, what if the JS hasn't loaded when the click occurs?
  • event handlers shouldn't contain business and UI logic; makes a lot of sense since this way I could re-use my event handlers, and I can re-use my business / UI logic
  • don't compare against "null", compare against the type you actually want.
  • don't extend objects you don't own ex. Array and extending it with "indexOf" to fix a bug in IE. (Guilty as charged...)
  • least but not least, throw Errors within functions that can really go bad and you get a useless error like "undefined is undefined". At least now you can tell what went wrong.
Since I have not had enough time to blog about "My thoughts on technology..." I figure I can share videos on others' thoughts on web technology.

Monday, August 17, 2009

Why I use Twitter

I just read a post by Devin Coldewey about why he doesn't use Twitter. Of course everybody is entitled to their opinion on what they think about a product or service, hence this is my opinion on why Twitter has a place, adds value, and is as complete as a service really needs to be.

Until February/March of this year I think, I didn't use Twitter nor believe in why I would but I then decided to give it a fair try.

Why Tweets have value?

At first, 140 characters may seem too little space to express any single idea, but after using Twitter for a few months I came to realize I really don't need that much more space to express any single thought. Think of it as an elevator pitch. If I can't grab someone's attention in the first 140 characters what makes me think I can in 4 paragraphs?
Twitter in my opinion makes you a better writer and teaches you to express your ideas in the most efficient way possible.

When I scan my feed on my phone or at a computer I'm not really reading every word in the tweet. I quickly scan through and stop when a keyword catches my eye. With a blog I have more text to scan, plus how would I even find the blog post in the first place? And with the shear amount of content on the web, I appreciate the fact that I am harvesting what others found interesting. I might not be interested in everything they tweet, but I followed them for a reason - i.e. I found them more or less interested in the same topics I am.

Twitter is as complete as it needs to be

Sure, people want A+B+C, but nobody said Twitter has to be everything for everybody. Twitter does A really well and leave B and C for others to do just as good. I am a strong believe that if you can't get the basics right, then there is no point to attempt at providing B and C. And when you have the basics nailed, why ruin it by expanding scope? Twitter is not fundamental, but it is simple and gets the job done. I used to scan blogs I follow in the morning before heading to work, now I am exposed to a larger base of articles and tweets where I am able to quickly pick out what I am interested in reading at that point. The problem with following blogs is that most of the time you won't find something interesting on them every day, you will on Twitter.

Why Facebook status updates are nothing like Twitter feeds?

This will probably change after the recent acquisition of FriendFeed by Facebook, but until it does Facebook status updates is very different and is used for different reasons. I would argue that Facebook in fact is pure vanity, I agree Twitter is too to some degree (i.e who has the more followers? who has the coolest background, who is a connector? whose got more RTs? etc.). I wouldn't scan Facebook updates on a daily basis, I would scan Twitter updates though. Twitter is kind of like a dynamic browser and social bookmarking tool. The similarity that I have seen between both is that people are using Facebook to share funny or interesting videos in my case. If I feel like watching a funny video, I would check what has been shared on Facebook.
Another major difference is that on Facebook your interests may not be aligned with your friends as much as they are with the people you follow on Twitter. For example, I got an iPhone a month ago and would like to know what applications people recommend I download. I can easily follow 20 people that talk about the iPhone and find out, how do I find such people on Facebook? and after I do I need to befriend them to be able to see their updates.

Twitter isn't supposed to replace anything, but it definitely adds a lot to certain people - and for me at least it replaced reading online news. Facebook's feed as this stage is nowhere near a competitor to Twitter. Their uses overlap in some areas but in my opinion are disjoint in most areas. Certain things are better shared on Facebook, ex. a picture of friends at your birthday party, other things are better shared on Twitter ex. a link to a specific topic that interests a fraction of your Facebook network, but much more on your Twitter network.

Twitter as a news aggregator

Twitter is a great aggregator, and works great aggregating news which explains why traditional media hopped on it. I didn't learn about Michael Jackson's death on Facebook, nor did I learn about it on CNN, I read it on Twitter. I confirmed it on CNN though and then on Facebook I saw friends' recollections of his greatest moments. On the Iran fiasco, I learned that through Twitter as well, unfortunately that weekend the media dropped the ball and I couldn't confirm any of it, but the fact that so many people were 'reporting' on it in real-time was enough to give it credibility.

Twitter became pure vanity

One thing that disappointed me about Twitter is how fast it got flooded with "experts" and "gurus", there is an expert on every imaginable topic on Twitter - obviously not all legit or credible sources of information. But I am guilty of this as well, I described myself as a "Google Maps Guru".
For me at least, I don't follow many people who just promote themselves i.e. the whole "I just ate an apple....yum" crowd - unless I know them in person or they usually share stuff that interests me. But this is the great thing about its simplicity, if I want to do some sort of social experiment about how often people post when eating an apple, Twitter would be my source for that info.

My daily dosage of tweets come from other Google maps developers, the different Google products teams, friends, legit SEO experts, news aggregators, the media and some miscellaneous people that I found interesting via RTs, FollowFridays or followers.

I agree, our attention is spread so thin these days, but because of that, if it weren't for Twitter's 140 characters could it have worked at all?

Thursday, June 04, 2009

On Guaranteed SEO Results: Have I got a deal for you

A search for "guaranteed SEO" on Google returns about 5,300,000 results. On the first page alone 6/10 results mention the word "Google". So this begs the question, is there such a thing as "guaranteed SEO"? Let's find out.
According to Matt Cutts Google ranks pages according to relevance and reputation. Why should you believe him? well because he is the head of the Google Webspam team. When it comes to search; Google Search, Matt Cutts is the man to listen to. So listen to him.

Reason 1: You can't become relevant over night
Being relevant is something you acquire over time. Measuring relevancy is something that gets tweaked over time. So by nature Google's ranking algorithms will and must change over time to maintain relevant rankings and improve their measure of relevancy. So how can you, you or you guarantee relevancy? I can promise you the sun will rise from the east tomorrow (if it didn't then SEO is the last thing on anybody's mind), but can anybody promise you a million dollars tomorrow? Sure someone can; somebody very generous and with a million dollars to give away. For SEO that generous billionaire would be Google, but then if they do, can they remain relevant? You get my point.

Reason 2: You can't become reputable the next day
Building any reputation takes time; even a bad reputation. Your website's reputation is critical for ranking on the SERPs. The more PageRank the higher you rank. You get more PageRank by getting inbound links from others with high PageRank. Quality over quantity. 1 million times zero is still zero.

Reason 3: Because Matt Cutts said so
According to him, the best SEO strategy is adaptive SEO. Just like any optimization algorithm, you make gradual improvements and take a measurement against the objective function. Rinse and repeat, but don't get overly obsessed with it; quit when you hit the point of diminishing returns, then try something else. 
This process obviously takes time and research. But thanks to Google they give you all the tools and information you need to rank high on the SERPs.

For my blog I follow three simple rules:
  1. When I write about something, I put myself in the shoes of someone looking for the information I am about to write on. I make a list of these keywords and naturally include them in my post.
  2. Every month I use Wordle.net to generate a tag cloud of my blog. This gives me a good idea about the keyword distribution and whether I have enough keywords on the topics I would like to rank high on.
  3. I make sure each of my posts' URLs contain the main keywords. This step is crucial.
With these three steps, I rank pretty well on some topics:


Now, have I got a DEAL for you... : )


Monday, June 01, 2009

On the GM bankruptcy: Stay small, think big

Today GM files for bankruptcy protection in an effort to "create a leaner, quicker more customer and completely product-focused company, one that's more cost competitive and has a competitive balance sheet," according to CEO Fritz Henderson. What happened today is only a sequel to many previous episodes where big companies have failed big. Remember Enron? Air Canada? American Airlines? Circuit City? Lehman Brothers? Washington Mutual? WorldCom? Chrysler? Texaco?

Ironically the terms GM CEO Henderson described the future of GM as are "leaner", "quicker", "customer focused", "product focused", and "competitive" which are some of the terms that describe small companies today, in the present not in the future - and after filing for bankruptcy protection.

Too Big To Fail?


Although it is probably applicable for many industries, with regards to technology firms, is small the new big? Why do extra large IT firms lack the creativity and drive to implement the cool applications of today? Why are these cutting edge and innovative applications being created in basements and college dorms nearby by a handful of people? Think Google, Facebook and Twitter for example.

Before the Internet it paid to be big. Big sales team, big headquarters, big advertisements, big, big, big, big and big. Yes I'm talking about economies of scale. Today though, are economies of scale as important as they used to be? Probably not otherwise these big companies such as GM and Enron would not have failed big since they supposedly enjoyed big economies of scale. "Too big to fail" is now a myth of the past. You don't need an army of developers and IT professionals to build successful applications used by millions.


Tuesday, May 26, 2009

Hyperlocal News - Personalized News For You

With online services like Animotto, Flickr, Blogger and Twitter almost anybody can be a video producer, photographer, journalist or news reporter- no degrees or formal training required. With these new mediums the average person can create and distribute their content with virtually no barriers to entry. This major shift gave rise to terms like hyperlocal and citizen journalism


Hyperlocal is relevant


Hyperlocal news is news relevant to small communities. Think a modern neighborhood flyer or newsprint where anybody can submit content such as videos, pictures, articles or even just their opinions and comments. In the 90s as the internet spread widely, forums and blogs started popping out all over the web to cater to different communities be it virtual or physical ones. 
The big news companies took notice of this shift and started providing their own mediums for hyperlocal. These include services like CNN's iReport or The Weather Channel's photo submission. What about the newspapers? how are they coping with these changes and in an uncertain economy?  

Once upon a time printed newspapers were extremely popular and they utilized techniques today's websites still use to promote themselves, increase traffic, and keep users on page longer. Sounds familiar? yes these are the same goals every person involved in SEO wants to achieve. Why else do you think that comic strip or crossword puzzle was printed in your favorite newspaper?

Hyperlocal feeds our thirst for news


Newspapers are dying, but people still want news. Our thirst for information has not decreased, if anything it increased beyond belief. The change is, people want to choose what news they want. I never read the stock pages and charts in a printed paper; I rarely read the finance paper and if I do its limited to the front page - so why should it be delivered to me? 
The case for hyperlocal news is just getting stronger so perhaps these major newspapers will break off into smaller hyperlocal news outlets. Maybe a visit to NYTimes.com will render a page like NYTimes.com/Jersey? This is if they wake up and stop being in denial. 

Hyperlocal is context aware, and of course location aware


Location is a key component for personalization and its possibly the easiest piece of information one can extract from their visitors and deliver personalized content. With hyperlocal news it makes complete sense to me to present it on a map instead of a traditional newspaper-ish view. And with the popularity of mobile devices this strengthens the reasons for a hyperlocal news map. Consider this, you are stuck on a highway and pick up your iPhone to turn on this hyperlocal news map. You get to see where you are right now and what stories are going on around you. The exit is coming up and you are considering escape, but your hyperlocal news map is reporting that a group of chimps have escaped the local zoo and are sitting on the highway barrier 'entertaining' the traffic which is causing all the delay. Now that is something that you don't see on a regular day on the highway, maybe you won't get off that exit after all?

Thursday, May 21, 2009

Referential Integrity: honesty is the best SEO policy

What does it mean to provide something that is relevant, precise, and efficient? The common factor between these terms is the truth and nothing but the truth. Google defined the rules for this game; they want to help you rank higher, but you need to play by the rules. If you do so you get rewarded by PageRank i.e. your pages will rank higher on the search terms that you want. Try to cheat the system and you will get punished. Google does not assign these search terms for you, you pick them; its up to you to pick the right terms and follow the rules. One of my posts ranks #1 on Google for the search term "liferay seo best practices":


What does it mean for one to have 'integrity'?

According to Wikipedia 'integrity' has to do with perceived consistency in a holistic fashion. Integrity is also perceived as the quality of having a sense of honesty and truthfulness in one's actions. Integrity can be tested subjectively by one's individual methods or objectively by scientific methods. Take for example your purchasing process before paying for a product or service. Every wise purchase decision includes research. Normally you would research the products or services you are interested in and see for yourself what they say about themselves. The end product of this stage results in a list of potential products that you are considering for purchase. In this stage you are testing the product for relevance, precision and efficiency. Next comes your method to test the list of potential products for honesty. Usually one would do this by getting feedback from others who have made the 
purchase. The end product of this stage is another list of potential products - hopefully a smaller list than what you started with. You now rinse and repeat this cycle until you reach a small enough set to actually make your decision and do the purchase. 

What is 'referential integrity' ?

This term comes from relational databases. Basically it is consistency between coupled tables. The following diagram from Wikipedia shows what it means to have referential integrity and what it means to have broken referential integrity.
Although the second record of the album's table claims the album 'Eat the rich' belongs to artist #4 the actual artist's table does not confirm this claim since there is no artist #4. Hence referential integrity is broken in this case. 

How can enforcing your "website's referential integrity" reward you with more traffic?

It all starts with honesty. Do not try to write content for search engines, it does not work because it is not relevant, not precise and not efficient. Hence it is not truthful. Write content that people will find useful. There are things that you can do that are under your control; for example building references between your websites pages. There is no reason why one would not be able to do this properly. You need to be objective with these links as well; "Home" is not an objective link yet it is very common to have on a website. "Products" is not an objective link yet it is also very common to have on a website. The page title is not the only important factor, the name of the page or URL is also important; "home.html" or "products.html" is not an objective name. It is very important to have objective page names and titles - for example "What is Referential Integrity? and how can it increase your PageRank" is an objective title. "/referential-integrity-increase-pagerank.html" is an objective page name. By being careful with picking page titles and names you are already well underway in improving your ranking on search engine result pages.

A database designer knows what database normalization is. The concept behind database normalization is also applicable in writing great website copy. Basically database normalization is the process of organizing your data in an efficient way. The two main objectives are eliminating redundant data and eliminating the storage of the same data in multiple locations. With regards to website copy, it is important to aim to write copy for each page to allow that page to rank high on specific search terms without cannibalizing your other pages' rankings. This is easier said than done, especially if you are writing a blog since usually you have a certain number of topics that you write about. Eventually you will get multiple pages ranking for the same search terms as the image of my blog's ranking for "liferay seo best practices"

The second component of an SEO strategy is to proof of your integrity. At this point you have written honest and complete copy for your pages. This stage is something out of your control, but this does not mean you cannot do anything to help you in this stage. By writing honest copy you increase the chances of others finding your information complete and truthful hence increase the chances they would link to you from their websites and blogs. Social networks are extremely helpful in this stage and as I have described in an earlier post "SEO without social; Cereal without Milk". You can publicize your content on social networks such as Facebook and Twitter as I am doing right now. This helps you broadcast your content to a much larger audience, increase your traffic and eventually generate some inbound links. 

How does Google prevent SEO abuse?

The main line of defense Google has against this is their PageRank algorithm. This algorithm rewards for being truthful as well as punish you for cheating. For example if one were to create 100 fake websites to link to their company website. The PageRank algorithm shares a page's credibility with every other page that it links to. So in a case of 100 fake websites, odds are they all have a very low PageRank if not zero. This also strengthens the argument on promoting your website on social networks because of most them have a high PageRank (8 or 9) which is comparable to high profile sites such as the New York Times. Obviously it is easier to get a link on Twitter than it is to get on the New York Times and the fact that a good share will by the nature of social networks get re-shared or re-tweeted you will get far more links and faster than you can get one link up on the New York Times.

Again honesty is always the best policy - even for SEO. Understand how referential integrity works and play by Google's rules and you will be rewarded.




On the current state of online ads: Ads 3.0 - Social Aware. Context Aware. Personalized.

Mozilla Labs launched a new experiment in how one may enhance their Firefox experience using Jetpack modules. Firefox plugins have been one of the most popular features of Firefox that allows the user to personalize and customize their Firefox web experience to their needs. Jetpack may be "how Firefox might be extending web functionality in years to come" according to a TechCrunch article. This article is not about Mozilla, Firefox, plugins or even Jetpack - in fact it is just about one Jetpack example called "unAd".

The mere presence of add ons that strip out advertisements from website - which is what the Jetpack add on "unAd" does - tells a lot about the state of current online advertisement campaigns. These advertisements are basically more annoying than they are successful - otherwise people wouldn't be looking for ways to strip them out of their web experience.

In my opinion traditional marketers turned online marketers have been attempting to shoehorn their traditional marketing methods into today's online model of commerce and advertisements - this is mainly why I believe these methods are failing today. What worked in 1990 does not have to work in 2010; times change and it is about time for marketing to change.

What are the basics of marketing any marketing student learns about in Marketing 101?
Now you might think what does a software engineer know about marketing, but I did take marketing and business management as part of my Software Engineering and Management degree so at least to some extent I do know what I am talking about.
  • Grab the potential customer's attention i.e. wow them
  • Motivate them to buy i.e. click through
  • Get them to buy i.e. click through
  • Get them to buy again i.e. click through again
So basically in today's online marketing any advertisement must motivate you to click through and actually get you to do so. How is today's online ads fairing in doing this? When was the last time you actually clicked an advertisement?

Apple revealed a new web advertisement that definitely "wowed me". I first heard about it from a friend who saw it on the New York Times website a few days ago. Although it is still basically the same advertising model that has dominated the web i.e. non personalized online advertisement yet it did in a different way that captures our attention. 



This advertisement just brought the page to life, it's not personalized but its definitely new and very creative and it would have definitely grabbed my attention instantly. Frankly if an advertisement cannot distract you for 30 seconds while it delivers its message, the advertisement has failed. 

Coming from traditional mediums of advertisement (print, TV, and radio) is probably not the best background to a successful online marketer. Sure some techniques are still applicable but a lot has changed. Compare online ads with traditional TV ads. Unless you get off the couch and start surfing your channels during an ad you are forced to see the advertisements until your favorite show is back on. Note that people have been trying hard not to see advertisements; how many times have you said: "Hang on, I'll call you back during the commercial break" ?
Unfortunately for marketers, advertisements - as it stands - is a negative experience, whether it is on TV, radio, print or even the web. That is why marketers have retreated to using humor and creativity to "wow" the audience.

The next "wow" factor has got to be personalized advertisements. We have pushed the envelope on the current model to its limits; what else is there to do within the boundaries of the current model? Why isn't it time to look outside of these boundaries and think outside the box?

Today's market is no longer bounded by geography and websites have been delivering targeted advertisements for sometime now thanks to big players like Google's AdSense. For example, next time you log in to GMail, notice how the advertisements around you change based on the content of your emails. If you happen to be looking for jobs and e-mailing resumes you will get ads on resume writing, jobs, interview skills, etc. On the other hand if you are looking to buy a car, then you will get advertisements on that. Keyword advertisement is getting old though, it is still considered spam and it is not personal.

Online advertising can be made personal via all the available social networks today. Facebook has currently 200 million users; if it were a country it would be the fourth biggest country after China, India, and the USA. There is a wealth of information available on these networks. One is able to answer all these questions via the social networks: Who are you? What are you interested in? and What have you been up to? The answers to all these questions are important to be able to successfully personalized advertisements and even personalize recommendation engines on e-commerce sites. We are definitely on the path towards this age of personalized content via knowledge mined from these social networks but the question is: how long before Amazon can finally recommend a book to me next time I log in based on a conversation I have had publicly on Twitter or Facebook?

Wednesday, May 20, 2009

Navegg for behavior web analytics beyond Google Analytics

Navegg is a web based add-on just like Google Analytics but aims to report on visitor demographics and behaviors - which you cannot achieve with Google Analytics.
This information is extremely important for marketers, but it is also important if you aim to personalize your content for different users. The uses are not just limited to marke
ting as the data it gathers can and should influence your design and feature decisions as well.

I signed up for this account a few days ago and now I get access to very little demographics that I will share with you. What is confusing is that Google Analytics reports 20 unique visitors yesterday and 24 the day before yet I only see 3 on Navegg. I will probably have to revisit this in a few weeks when it has gathered more information for me.

The neat thing is that both Google Analytics and Navegg have public APIs and both so far are free services. One could potentially build their own analytics engine that combines data from both in the segments each excels at. For example I really like the Goal Funnel Visualization feature on Google Analytics, it can be made even more useful if I can see demographics on it; ex. how many single females between 22 and 28 dropped out of the sales funnel? 

Thanks to Jennifer Van Grove's post on Mashable about Navegg which got me to sign up and try it out - how else would I have known that I had 3 readers yesterday that are college graduates and males between 25 and 34 years old!

Monday, May 18, 2009

Lessons learned from Gordon Ramsay

Ever watched an episode of Kitchen Nightmares? I mainly got into it because of the similarities between running a kitchen  Gordon Ramsay style and how a lot of software processes could look at Gordon Ramsay for direction.

Ramsay's kitchens are agile kitchens and if his kitchens followed a waterfall model like many software teams do then you would end up getting your food at 2am after arriving for supper at 6pm. Anyway that is not the topic of this post, but you can read more on this at Clinton Begin's Blog.

Can you become successful by being average?

What makes a good dish a great one?
Every ingredient in a great dish is there for a very specific reason, there is not 1 unnecessary ingredient. Nothing is out of place and each element captures a component of the dish's essence.
Presentation, presentation, presentation. That is the second element of a great dish. A great dish is inviting, once you see it you already know how you are going to 'attack it' and you are not left confused where to start.

Why simple works better?


A good software engineer says "No" more than they say "Yes"
Cooking a great dish requires a lot of discipline; building great software also requires great discipline. It is very tempting to just add more ingredients or more features into a dish or software, but that temptation needs to be resisted; someone needs to act like a referee and reject anything that does not add value. Just because you can, does not mean you should. As a software consultant I always find myself facing customers that want everything under the sun in their application. They want everybody and I mean everybody to use it for everything. There are many problems with this philosophy, mainly you end up with a very cluttered software where it's main essence has been diluted. This is where I find myself asking over and over again What value does that feature add? Who does it benefit? How many will benefit from it? Keep in mind that 80% of your revenue is generated by 20% of your customers.

Gordon's cooking style is simple, and whenever he walks in to a failing kitchen he ends up simplifying and idiot proofing the menu more than anything else. A lot of restaurants fall into the trap of trying to satisfy all their customers even if doing so takes away from the restaurant's essence. This seems to be a common mistake amongst all restaurants shown on Kitchen Nightmares. Surprisingly lessons learned from these failing restaurants can be applied to failing software as well. One episode I remember is the case of an "authentic" Indian restaurant in Notting Hill that had french fries on their menu! Yes french fries in an "authentic" Indian restaurant. The owner's flawed reasoning is because some customer's wanted french fries. This is a simple example where discipline was required and if the customer wanted french fries they can go to the nearest McDonald's or KFC - not an "authentic" Indian restaurant. If it goes on the menu it will be ordered, but don't trick yourself into thinking just because it was ordered or used then there was demand for it.
I am a true believer that doing one thing great is better than doing a half assed job on 10 things. I hear the phrase "Jack of all trades" often in the software / consulting industry I don't particularly like it because it literally means you are not exceptionally good at anything, just average in many things i.e. "Jack of all trades; master of none". I don't see anything to boast about there. Don't get me wrong, there is nothing wrong with knowing a lot of trades, but everybody needs one or two trades where they are really good - and I mean really. So can you make a career for yourself out of being a "Jack of all trades" - I don't think so. 
In his book Malcolm Gladwell talks about the 10,000 hour rule where for one to call themselves an expert at anything they need to have done that for at least 10,000 hours. Consider one who works an average work week of 40 hours and no weekends, it would take you 5 years of doing nothing but that one thing to become an expert at it. If you are a "Jack of all trades" then it could take you 10 years, 20 years or maybe even a life time before you become an expert at any one of these trades. Point is, it is very easy to be a "Jack of all trades" but it is difficult to be a "master of one"; so focus on a few things or ingredients and become really good at delivering these ingredients together. Now you have a unique selling point. Next time remember this when you are just about to describe yourself as a "Jack of all trades".

Presentation is the second criterion for great dishes and excellent software. Making 12 features look awesome is always an easier and simpler task than making 120 look okay. Get the basics right first and then build from there. If you mess up on the basics, you really don't have a chance.

So how can you tell the difference between an excellent dish and an average one if all you have been tasting are average dishes?


SEO without social; Cereal without Milk

How does a bowl of cereal without milk sound? Some do it but you are always left with an extremely bugging question "Why?"

SEO, SEM & SERPs - The Whats, Whys and Hows?

Search Engine Optimziation according to Wikipedia is the process of improving the volume of traffic to a website from a search engine (aka Google) via organic results. Actually it is not just limited to Google, but if you don't exist on Google's SERPs (Search Engine Result Pages) then do you exist at all?
Search Engine Marketing according to Wikipedia is the process of promoting a website by increasing visibility on said SERPs via paid methods or contextual advertisement. In my opinion paid methods are for websites that want the easy way out; my advice is do it right and focus on content and context.

So how is this all tied to the Social Web? Let us start with Web 3.0; a concept in which the semantics of the web are defined. In other words the Semantic Web is an extension to today's Web that make it possible the exchange of data, information and knowledge (aka sharing). But wait how can I define Web 3.0 without mentioning its older brother Web 2.0? Well the fundamental reasons behind Web 2.0 is to facilitate collaboration, sharing, and interoperability of information on the web. Web 2.0 is by no means fancy design and cool buttons; Web 2.0 is a mentality and a philosophy and without understanding the fundamental reasons behind it do not throw the term around loosely. 
Today a lot of people equate Web 2.0 with a certain look. You must have heard the phrase "web 2.0 look and feel" or "web 2.0 design" but unless the design includes elements to enhance sharing and facilitate collaboration then it cannot be identified as a member of the Web 2.0 family. "Web 2.0 look and feel" reminds me of a computer salesmen that went ahead to explain what 2GB RAM means to me and his explanation was that 2GB RAM allows me to run multiple applications at once - as opposed to my 1 GB RAM machine at the time that allowed me to run one application at a time? Yes that is what "web 2.0 look and feel" reminds me of - a terrible sales pitch. It definitely sounds better than "cool look and feel" and since so many people are throwing the term loosely here and there then it is very easy to throw it around ourselves. Don't; nothing will make you look worse than trying to sell something to a potential customer where they know just enough about this than your explanation implies about you.

SEO & Social - Please put some milk on my cereal

Okay so how does this all fit together in the big picture? Remember we talked about Google SERPs, content and context to improve the volume of traffic to your site? Well the Social Web provides you with a tremendous opportunity to generate fresh content and add context to your site. By joining the Social Web be it Twitter, Facebook, Digg, Del.ici.ous, Stumble Upon, Flickr, and using the tons of applications that enhance your Social Web productivity you are generating a lot of indexable and shareable content. Your investment will pay off when you notice you are still getting more traffic on weekends than you did on weekdays prior to joining.

With the rise in popularity of SEO many companies have sprung up that claim to be SEO professionals and claim to have a 'fool proof' strategy. First be very wary of companies that claim a 'fool proof' strategy for anything that is as volatile as the web. Ranking algorithms change frequently to battle such companies and their claims. Second, if their 'fool proof strategy' does not include a Social Media strategy then walk away because SEO without Social is like leaving money on the table and who wants to do that? Besides on top of leaving money on the table you are paying them for half a supposedly 'fool proof' strategy. Would you buy a car and leave the wheels at the table?

Corporate 2.0 - Humanize the brand

Times have changed, and corporate websites need to catch up - and they already started to. Again Corporate 2.0 is just like Web 2.0, it is not just a look & feel. It is in fact a complete overhaul of the web, marketing and strategies - and an overhaul to the internal work philosophies in favor of more transparent communication between employees that allow the company to capture, store and manage all the intellectual property generated from these internal communications. 
The days of talking about me i.e. the corporation are long gone. Customers expect to find you participating in the Social Web, and to really be on there corporations need to come down a notch and put human faces on the brand. The days of hiding behind a logo or a "we" are also gone. Twitter accounts, blogs, profiles, pictures, comments, ratings, videos,  Screencasts, Youtube, are all important building blocks of a corporation's web and sales strategies.

For example let us consider the sales technique of "cold calling" and how Twitter is a better technique. By definition this method is "cold" yet it is one of the most popular tools in a salesperson's toolbox. Is it even effective? What is the success ratio? 
Briefly, Twitter is a better tool mainly because after you have a built a community by contributing and not just marketing yourself you can easily approach these members of your community - your followers. These individuals and companies have pretty much subscribed to your content because they found it interesting - they could also be automated marketing bots that follow anything under the sun so don't get too excited. Anyway, so real "Twitterers" have subscribed to your content  - you are already in the door. You don't need to sell them right away - actually do not do that as one of my favorite people on Twitter @theexpert says "It's eConVERSE before eComMERCE". This micro-blogging site allows you to contact anybody with a public account and direct a 140 character message at. Not only would they notice it, but also other people will too. So even if the 30 seconds you invested in formulating that 140 character message does not bare any fruit from this person, your 30s investment is not just visible by that one person, it is visible for all to see. This is a priceless fact.

Corporate 2.0 also includes usage of crowd-sourcing i.e. you allow your community to do some work for you. This is a very natural result of joining the Social Web. People will share, comment, rank, digg, like, stumble, re-tweet, debate, criticize, discuss and collaborate and all of this enlarges the pie for you. What is important is that companies should provide their customers and employees with an open channel for these actions - even the criticism; this is important too. The criticism is a golden opportunity for your employees to "flip the table over" and turn what was a negative comment into a positive experience for everybody to see. Remember that Listeriosis outbreak in Maple Leaf products? Imagine Mr. Michael McCain did not come out publicly and openly with his messages; imagine he instead chose to go through the legal systems to fight the lawsuits thrown at Maple Leaf and declined to comment? Because of what he did, the story has died and I would assume people accepted the fact that mistakes happen to everybody and it is really about what you have learned from them. This is why a mistake or criticism pointed out publicly by a customer's comment on a corporate website is big and golden opportunity; not always threat to the brand's image or a PR nightmare - of course the PR people want you to believe that otherwise they will be out of a job...
What is more important is that there is no way a company can compete with all this authentic 3rd party content. All of which will be considered more objective and useful than anything present on a traditional corporate site where every page is basically an About Us page.

Finally, don't limit yourself to Twitter, there are many tools out there; it is up to you to find the best combination but for now at least Twitter is definitely at the core of any social media strategy.

So now you have put some milk on your cereal, doesn't it taste better now? Remember it does not stop here, you need to keep the content rolling and keep it fresh, otherwise how would a bowl of cereal with sour milk sound?



Wednesday, May 13, 2009

The Three Rules of Epidemics by Malcolm Gladwell

In his book "The Tipping Point - How Little Things Can Make a Big Difference" Malcolm Gladwell explains how that idea, trend or social behavior crosses that specific threshold and explodes. That magic point in time is the "Tipping Point".

Malcolm's book is full of exciting and interesting examples on different trends in history and is a must read for anybody interested in social networks and how to spread their ideas like wildfire.

1 + 1 + 1 : The Three Rules of Epidemics

The Law of the Few

Any successful social epidemic "is heavily dependent on the involvement of people with a particular and rare set of social gifts". With regards to any social network; a great idea is not nearly enough - in fact the idea itself is not the only thing that matters when it comes to social epidemics. A great little experiment Malcolm mentions in the book to illustrate this concept is the following:
  • Create a list of 40 people you know that you consider to be your circle of friends - without including family members and co-workers
  • Now go through this list and backwards track any people that were responsible for that connection until you reach an individual that is ultimately responsible for that connection
  • Repeat this process for all 40 on your list. What do you see
It took me some time to work through these steps for each person on my list - but the really interesting thing is after doing 10 or so people you will start to notice a pattern; there are names that are repeatedly showing up. You will then be blown out of your mind when you realize that there your social circle is really a social pyramid and that if you did not meet this one person your circle of friends today would have been completely different. This is the Law of the Few. Any epidemic - specifically a social one - depends on this law and without these special people your great idea will have a hard time reaching its tipping point.
Malcolm talks about three different types of special people; Connectors , Mavens and Salesmen.

The people at the top of your social pyramid are the Connectors you know, you pretty much owe who you know today to these people. What makes someone a Connector? Yes, you are right, they need to know a lot of people. This is not easy to accomplish though, sign up for an account on Twitter and see how much of a Connector you can be. Don't underestimate the effort it took someone on Twitter to reach 100K, 500K or even more than 1M followers. 
Quantity is not the only important thing about Connectors, who they are connected to is also important? Are they also Connectors? or are they other types of special people?

Who are the Mavens? and why are they important? Mavens collect information - they love to collect it, almost to a level of obsession. These are ones that know how to get the best deals and where to get them - more importantly they want to share this information. Although Mavens will know a lot of information, that is not what is really important for a social network; Mavens are responsible for starting a social epidemic. Consider this: who started the #fixreply trend on Twitter today/yesterday? or who started the #followfriday trend ? 

The last group are the Salesmen. Although Mavens are the data banks in a social network and are the ones that start epidemics, Mavens are not persuaders, but they can start epidemics and Connectors spread them, what do Salesmen do? When you don't believe what is being said about something, it's the Salesman that manages to convince you. From a social network point of view, Mavens are the Early Adopters and Innovators - the group of people at the far left of the Technology Adoption Life Cycle. The Connectors and Salesmen exist throughout the adoption cycle. Some connectors might adopt the new technology or social network by just hearing about it, others need some persuasion and that is where the Salesmen who have adopted your great idea come into play.


The Stickiness Factor


This is a straightforward rule and it is one of the basics of advertising and marketing. Whatever it is you are promoting, the ad needs to stick. This also applies to social networks. The initial hype of the launch will generate some buzz and traffic and the early adopters will start joining and try out your idea. Your work is not done here, you can't just leave it to the Tiki Gods. If your idea lacks Stickiness it will fail - and do so miserably. All this hard work down the drain. You need to find how to make your idea stick and be irresistible. The first impressions of the early adopters and Mavens is critical to the idea's success and allow for that first spark that may ignite the fire.


The Power of Context


Finally, the last rule for a successful social epidemic is context. A great and sticky idea along with the right mix of "special people" are still not enough to ignite this fire every social network entrepreneur dreams about. Context is the first and perhaps the most important rule.  "Epidemics are sensitive to the conditions and circumstances of the times and place in which they occur" explains Gladwell. The slightest changes in this environment can cause the "tip", slow down the progress or even capsize it completely. Timing is also important, attempting to start an epidemic at the wrong time may completely fail. That is why the Flu is more common in the winter than the summer and why global pandemics are more common in the summer than in the winter. This is also the nature of the social web. Today information travels incredibly fast on the social web and the right information released at the right point in time can push us to take the action and adopt a new technology. Take me for example, I have been building Google Maps mashups and applications for almost two years now. When the iPhone launched in Canada in 2008, it was exciting news, but I was not overly excited by it. I still monitored iPhone news, but I did not feel any compelling reason to adopt that new technology. Slowly I heard about the App Store and slowly started seeing more and more ads about the App store. I started getting more excited about the iPhone but still not that excited. Note the effects of this change in the perceived environment i.e. the presence of the App store. Finally I hear about the new iPhone 3.0 OS and the new features it introduces such as built in maps support, push notification, and peer-to-peer communication. Less than a month later I have already purchased a mac mini, downloaded the iPhone development kit and started experimenting with it. So what happened here? My perception of the iPhone continuously changed from "Yet another phone" to "Ok a neat phone with impressive UI/UX" to "Wow tons of 3rd party apps" to "Oh man, this is the ultimate location based device" with the announcement of the 3.0 APIs.

So these three rules are very important, and you need all three for your social network idea or application to succeed. Think about it, would Twitter be this successful if it weren't for the Connectors, Mavens or Salesmen? would Facebook? What does Orkut lack that Facebook doesn't? Keep in mind the last rule - Context. Orkut is actually very popular in South America, more so than in North America. Or consider why the iPhone has not succeeded in China? or why Yahoo! is more popular than Google in China? Any product or service dependent on a viral marketing campaign needs to be aware of these 3 laws to succeed.

Malcolm Gladwell's book is a great, great, great read for anybody who is planning on launching the next idea. His style is easy to read, full of real world examples and he can quickly get the point across with his wit. I have also read his other book "Outliers" and already got the 3rd book "Blink" - and yes in a couple of months he has became one of my favorite authors.

Sunday, May 10, 2009

Facebook Application: pul.se - truly personalized recommendation engines

With the rise of the social web, personalization has quickly become more and more important for the consumers as well as the providers. Personalization allows you to target specific types of content to specific types of people, hence increasing your chances of being able to sell your product or service. Its Marketing 101 - if you want to sell your product or service to anybody you need to speak their language first and relate to them by explaining how your product or service can solve problems specific to them. 

At the end it comes down to what will $1 invested in your service give me? Whether it is better customer support, better project management, faster processes, real time analytics, etc. Of course you can do this by having custom products and services but your margins are far better if you instead customize / personalize how you deliver the same products and services. This is a fact. Rolls Royce does not generate as much revenue as Nissan or Toyota. Yes there are problems today that require a 'Rolls Royce' and customized solution but a lot of people have common problems that do not need a 'Rolls Royce' solution - hence you don't see a Rolls Royce on every block. I think solutions that focus on these common problems have better profit margins and second are easier to sell and market than a customized solution.

I posted recently on the topic of content personalization and recommendation engines for eCommerce solutions. Today I came across pul.se which is also available as a Facebook application. I was not able to install it because it's a Facebook Application for Pages - not entirely sure what that means, but I guess my profile 'Page' does not count. 
Anyway from reading the application's profile after installing pul.se it will recommend stuff that is relevant to you. As a Facebook application,  pul.se could - and should - learn about your friends, your interests, your favorite books and movies, your friend's favorite books or movies, etc. and when the time comes it will recommend something to you based on this information. This is the smarter recommendation engine - something I see becoming the norm for recommendation engines across all eCommerce websites.  Remember the quote "Tell me who your friends are and I'll tell you who you are"?

There could be more services like this, but pul.se is definitely the first one I have seen so far. I am surprised it is not something Facebook owns themselves. Sooner or later we will see applications just like this but on the online stores themselves such as Amazon where their recommendation engines would become smarter by thinking social or ask the smarter recommendation engines that think social such as pul.se  for help. This is an important step for truly personalized recommendations that think outside of the box instead of being bounded by the information they have about you. 




Liferay Virtual Hosting & Friendly URLs


Virtual hosting is an important feature in Liferay that allows you to customize Liferay URLs to suit your needs. You may want to customize the URL for SEO reasons or user friendliness or you may just not like having that '/web/guest/home' in the URL.

What is the /web/guest/home for anyway?


First let us try to understand what it means. The name of the servlet that deals with incoming requests is the 'web' servlet and hence '/web/ is a mapping to that servlet. Obviously '/guest' maps to the 'Guest' community i.e. your public facing pages. And 'home' is the name of the page you are requesting within that community.






Remove /web/guest/home through Liferay Virtual Hosting

After you login as an administrator user, click on the 'Control Panel' under the dock.


Click on 'Communities' under the 'Portal' tab on the left hand side. 


You should see the following page with all your communities.



Click on the actions button and select 'Manage Pages' for the community you want to setup Virtual Hosting for.



On the next page click on 'Settings'


Then select 'Virtual Hosting'


Enter the domain name for your website. For purposes of this How To document I added an entry in my local hosts file to get this working locally. On a public portal you would just enter www.mywebsite.com.

Save the new settings and go ahead and test it. You should now only see the name of the page after the URL. 



This is really handy when it comes to search engine optimization since the URL of a page is really important and the '/web/guest/' component of it does not add any value to the URL, in fact it kind of dilutes your URL when it comes to search engines.

You can do this for your other communities as well. So if this were an organization portal, your members virtual host can be 'my.organization.org' and your staff can be 'staff.organization.org'. 

Feel free to drop me a line and share this How To.



Saturday, May 09, 2009

Real time, social, microblogging and context aware searching

A couple of days ago Google's Eric Schmidt reportedly said that Google is looking into ways of intergrating microblogging within their search. 'Microblogging' is really code name for Twitter and this news is rather interesting after the rumors earlier this week about Apple, Microsoft and Google were eyeing Twitter - Twitter's co-founder Biz Stone was on the The View on Wednesday to announce that Twitter is not for sale.

What could real-time microblogging search do for Google?

From a user experience point of view, the current search does not really feel real-time mainly because the results don't update as they do on Twitter Search. Real-time search would also make the Google search engine more aware of the context of the search query and hence be able to deliver context-aware advertisements.

Yet micro-blogging introduces an interesting problem that Google would need to solve first. Conversations on twitter are threaded and posts can come down to a short
user2: @user1 yes its amazing
which means context is spread across all the conversation's threads. There are several applications online that give you access to a threaded view of Twitter - something that Twitter does not have but it should. Any real-time microblogging search needs to support threads to be able to deliver more relevant content. By nature search queries are really questions which works well because conversations usually start with questions or an opinion. When I search 'mac mini' on a real-time search I'm not very interested in Apple's Mac Mini product page, I am more interested in knowing what others are saying about it right now. So If my hypothetical Twitter post above was in response to:
user1: do you like your new mac mini?
searching for 'mac mini' should ideally be able to show that threaded conversation even though the words 'mac mini' are not present in user2's response.

Real time search and Search Engine Optimization

Not so long ago - when people read physical news papers instead of online news - if someone wanted to know what has happened in the past 24 hours they would buy a newspaper. The news paper is similar to real-time search, it will inform you of new events around you and in the world. Also not so long ago - when people went to the library to get access to newspaper archives instead of online archives - if someone wanted to learn about an event that happened 10 years ago they would visit the local library and pull out archived newspapers that mention that event. Although current search engines can index pages very quickly, it still feels like archived news - in fact search engine result pages are really archived news.

In a real time search engine pages need to be ranked a little differently that how they get ranked right now and hence SEO practices need to change to accommodate these changes. Because conversations on a microblog like Twitter are threaded user2's response 'yes its amazing' would not rank at all on a search for 'mac mini' although that response is probably what the user wanted to see i.e. mac mini reviews. Maybe another user responded:
user3: @user1 its great, i installed tweetie, evernote and am in love with front row
That too should show up on a real time search since it is showing different applications one can get on a Mac. Threaded conversations on microblogs should be looked at in the same manner comments are viewed at the bottom of a blog post - except these comments are not nicely grouped together with the original post on Twitter. 

This introduces new problems, since conversations can have nested threads:
user4: @user3 yup tweetie is the best Twitter application and front row is just too sexy
and then loops:
user4: @user1 I use my mini as a media server at home

Real time search is Social Search

Information is being added to the Internet today at a much faster rate than before the Social Networks age.  A lot of this content is being added by individuals all over the world on dozens of social networks like Facebook, MySpace, Twitter, Blogger, Youtube, etc. In my opinion this content is the most useful to be presented in a real time search engine. Real time news can still be delivered through the participation of news organizations in social networks - as they do today. 
Real time search would also allow the search engines to deliver truly personalized content and targeted advertisements.  Google recently allowed users to create Google profiles and link it to your online identities across the many social networks. Search today is not aware of "where you are right now" so how can it truly direct you to where you want to go? Consider the Google search page as a map, and for Google to be able to deliver relevant answers to you, it needs to know your "location". I don't mean location as in a physical location with a latitude and longitude, I in fact mean context but for the sake of the argument I am using "location". So imagine the Google search page is a map and you are looking for "mac mini". Google goes out and gets you the most relevant results according to Google for that search term and plots it on the "map" i.e. the search engine results page. If your search term is broad, then your "map" will just contain "locations" all over the place - i.e. Google is unaware of your search context and depends on you to point it to the right context. With real time search and Google profiles, Google can make an educated guess about that context i.e. Google is able to tell what your current "location" is. Real time search on Google can now become a "GPS" and route you to the most relevant "locations" to you. By being able to search your threaded conversations on Twitter for example about the "mac mini" Google can customize the real time results page to contain content that you have discussed with others. Now my search for "mac mini" would produce results on "tweetie", "evernote", "front row", "media server" and "mac mini" - all keywords in the threaded conversation above. 

Now even the advertisements on that page can be personalized instead of the ones I see now including "mac mini store" and "mac sale". These ads are not relevant to me since I already have one - so there is absolutely no compelling reason for me to click these ads. But on the other hand if the advertisement showed "evernote sale 50% off pro account today only", first I would be blown away that AdSense showed that to me, and second I am more likely to click it because  I have the free version of Evernote.


Thursday, May 07, 2009

iPhone Search Bar and Web Services

I have started experimenting with developing applications for the iPhone last week - which is mainly why I bought a new mac mini to replace my old PowerBook G4.

Apple did an amazing job with the documentation and there are a lot of great tutorials and resources available on the web and iTunes. After playing around with the 'hello world' app example I went a head and applied lessons from four different tutorials to utilize the search bar, picker view, web view and consume a web services

The following "Nael's Are You Feelin' Lucky" example combines these elements to present behavior similar to Google's "I'm feeling lucky" button on their search page - except it uses the Yahoo! Search Web services instead.

It was a great little educational experiment. Feel free to comment.


Tuesday, May 05, 2009

MAMP: Mac, Apache, MySQL, & PHP

Install Apache, PHP and MySQL on a Mac in a few clicks. Search "Mac Apache MySQL PHP" and the first result you will get is MAMP. Like the popular LAMP installs for Linux you can do the same with a Mac with just a few clicks. You also get additional features that I have not seen on LAMP installs: a command and control center and Dashboard widget.


Technorati Blogosphere Tag Chart

Just a few minutes after claiming my blog on Technorati I got introduced to their Blogosphere Chart widget which goes to show how useful this tool can be for not only researching your topics but keeping tabs on the top tags this week.

The chart below compares Personalization vs. Context vs. Social Media vs. Social Web

 
You can probably already tell what is on my mind, why is 'Personalization' not a popular tag? It almost looks like Context, Social Media, and Social Web are going hand in hand, yet in my honest opinion Context and Personalization are like peanut butter and jelly (I really don't like peanut butter though) Given your visitors' context a great website will deliver content specifically personalized for that user. 

Just a tiny observation on my end.


New Bloggers: Submit your content to the Social Web - the sooner the better

Over the weekend I created my Technorati Profile to help promote my blog, build links, network and aid in my research before posting. Basically these are the reasons why one should use Technorati - one of many similar tools.

About a month a go I started an experiment on this blog to generate more traffic with more focused and consistent content. The experiment started out with more technology focused content where I mainly write about the Social Web,  Marketing via the Social Web, and applications mainly ones that have to do with a map or mash-up or again the Social Web.

The experiment also included new branding and theme to disassociate myself from the old brand where I wrote about "Random Sh!t" which included many different topics including but not limited to Politics, Photoshop Cartoons, Software, and the Flight Simulator I worked on right after graduation in 2006. I still chose to keep these labels and content as a history and a reminder to remain focused on the new purpose of my blog. i.e. To Present My Thoughts on Technology and Web Applications. 

This blog started in 2006 just after I completed my Software Engineering and Management degree. Back then the topics were not as focused as they are today, and the traffic I am receiving via Twitter is outstanding compared to what this blog was used to.

So I decided to take this experiment a step further and claim my blog on Technorati in hopes to generate even more traffic. The OpenID method of claiming the blog did not work for me so I am using the other method of embedding the provided link on my blog. Instead of just posting the link somewhere on the page, I figured I might as well make a blog post of it and talk a little bit about Technorati. Of course since I have not claimed my blog yet on there I have yet to gain any knowledge on how to best promote your blog on Technorati - feel free to comment to share your experiences -

I will however post on this next week once I have experimented with this new tool. At the end of the road there is no harm done by acquiring another knife to carve myself a tiny piece of the steak one would refer to as the Social Web. 

Sunday, May 03, 2009

Social Media and the Swine Flu: The Social Web Pandemic

What does it mean that a disease has been categorized as a pandemic? Mainly the disease must spread through a population dispersed over a large geographic area; a continent or even several continents.

Consider the Swine Flu example. Lets say the Swine Flu is the recent profile page on Facebook or Twitter for example with around 400 friends or followers - those that caught it world wide. In only a couple of weeks the Swine Flu became one of the top ten topics discussed on Twitter. This is the main essence of the Social Web. What lessons can be learned from this event and applied to promoting your website, product or service via the social web?

Rule 1: Content is King
A search on Google for "Swine Flu" returns about 260 million results, that is a lot of content. From just the results on the first page we see only one result that we can categorize as the most authoritative source - the Centers for Disease Control and Prevention (CDC) website. Think about this as your official website when one searches for the main topic on your website, product or service. Your website needs to rank high on the keywords that are crucial to your business.

Rule 2: Start a [INSER YOUR BLOG, PRODUCT, SERVICE NAME HERE] pandemic
Now scan through the results on the first few pages, what do you find in common? A whole lot of them are news websites and blogs - Reuters (8), BBC (9), Guardian (9), Harvard (9), CNN (10), ... and then we have digg.com. Why is this interesting? For two reasons,

  • Digg.com has a page rank of 8, comparable to all these news websites. See the numbers in parenthesis above.
  • But most importantly, you can freely submit your content to Digg.com. Its much harder to get your content on the above sites.

Digg allows the most obscure blogs and websites surface by allowing their members to 'dig' the content and collectively determine the value of your content.

There are many online destinations such as Digg that allow you to do this: del.ici.us (8), Slashdot(9), StumbleUpon (8), Technorati(9), Reddit(8).

Then there are the social networks such as LinkedIn(8), Facebook(9), and Twitter(9) that also allow for propagating your content. Think about it, all these websites allow you to propagate your content and have the same Google PageRank as the World's biggest news corporations.

Rule 3: Keep up with the trends
So back to our Swine Flu example. This event allowed - as much as it is unfortunate - for very creative people to promote their products and services. Their products did not include health answers to tips how to prevent getting infected but included a Swine Flu Google Maps mashup, a cartoon, and a Swine Flu iPhone application. It is very important to keep up with the trends and optimize your website accordingly in order to funnel some of these searches back to your site. 

The benefit of doing this is mainly because optimizing for keywords within your field of expertise would only result in a fraction of the potential visitors. A search for 'Swine Flu' does not put the rest of my life on hold - I may in fact have had a problem and by just seeing the Swine Flu Google Map a spark may go off in my head: "Hey, that is exactly the solution to my problem: I need a map that will ...."

A really good book to read on trends and how they spread like epidemics is Malcolm Gladwell's "The Tipping Point - How Little Things Can Make a Big Difference" The topics he writes about in this book cannot be any more applicable to trends on the Social Web and how little things can lead to a viral promotion of your product or service allowing you to hit critical mass much quicker than traditional approaches to marketing.

Marketing and promotion on the Social Web is a new beast, so one really needs to look at it differently.

Saturday, May 02, 2009

URL SEO Best Practices & Liferay Virtual Hosting

It is very important to have a good URL if you are looking to improve your search engine page rank. At least if you are doing everything wrong in terms of SEO, having a good URL gives your website a little bit of hope.

Don't use numbers, page ids, user ids, session ids, or even odd characters
Think about it, if the URL does not speak your language, you will have no idea what content it may point to and hence there is very little reason for you to click it. For example, what gives you more reason to click through this:
this:
http://www.youtube.com/watch/The%20Hostage%20Audi%20Ad
or this:
http://www.youtube.com/watch/The-Hostage-Audi-Ad

Unfortunately Youtube does not have friendly URLs - but they don't need it since they are blessed with high page ranks - on the other hand the rest of us should care.

Don't have multiple URLs for the same page
Here is a thought imagine you are asking for directions to the highway and someone tells you:
  1. You can go North on Cawthra turn East on Burnhamthorpe, then North on Hurontario and you will see the ramps after Robert Spec....OR
  2. You can stay North on Cawthra until you get to the ramps when you reach East Gate
If I am already late or lost I really don't need to think about different routes to my destination. So stick to canonical URLs - that is the standard way of giving out directions i.e. http://www.elshawwa.blogspot.com and not http://elshawwa.blogspot.com

Also, if you are using friendly URLs for your content don't even think about leaving the non friendly URLs. Whatever reason you may have to think it is good, you are wrong. So having http://www.mywebsite.com/members/12 and http://www.mywebsite.com/members/nael is never a good idea. You may tell yourself "But this way I give my users more ways to access my content and they can choose what they like best". Do you know what happens to restaurants with overstuffed menus operating under the misguided notion that more choice is better and that to be successful in that business you need to offer every dish under the sun - even if it means offering french fries in an authentic Indian restaurant? Well, they end up on Kitchen Nightmares with Gordon Ramsay. What you would do in this case, is point these old URLs to a 404 page where you can direct the user to the right URL.

Bloggers: say no to a short URL
Goes back to the first point of having descriptive URLs:
  • http://www.elshawwa.blogspot.com/seo
  • http://www.elshawwa.blogspot.com/seo-url-best-practices
Which would you click on? Sure they are both descriptive but clearly one is better than the other. URLs can be multi word - just separate them with dashes - so make use of max size. On blogger I first publish the post with the keywords that describe my post the best as the title. I then edit it and save it with the proper title I want.

Say no to long URLs
Ok now you might think I am being indecisive here, but hear me out. For the sake of the argument, say you are going for an interview and you are lead through 6 doors, down 4 flights of stairs, through more doors, down an elevator into the basement, and finally through even more doors to meet the boss. What would you think at this point? I would think this is some kind of joke as clearly if this person was of any importance they would not be tucked away where the sun does not shine.
So back to URLs, if you see yourself doing something like:
http://www.mywebsite.com/news/world/europe/italy/soccer/ac-milan 
then think of that boss tucked away in the basement's basement - that is what your visitors will think.

So what is behind my reasons of publishing this? Mainly because by default content management applications generate URLs for you and attach all sorts of stuff to the url, from session ids, content ids, user ids, dates, times, you name it they have it. For example Liferay Portal does that, and if you go to Liferay's website you will see it. That /web/guest/home part is really annoying and adds no value to your URL. Last week I figured out how to get that rubbish out, and from now on this is the first thing I will do when promoting any Liferay portal to production. I'm actually surprised Liferay has it on their production site, and that is mainly the reason why I have incorrectly assumed it can't be removed.

Removing the /web/guest/home part from a Liferay URL is easy:
  • First go into your Communities Admin panel and decide on the Community you want to do this for
  • For your public facing site, that is your Guest community. So click on the Configure Pages action under Actions
  • One of the tabs is "Virtual Hosting" - click on it
  • Set up your public domain i.e. mywebsite.com
  • Clear out the field that appends /web after the domain. Usually you don't want anything in there unless you have multiple Communities in Liferay