<< January 2007 | Home | March 2007 >>

How to promote your company, product or service without spending a penny when people still use Google ?

Blatant Advertising

It's quite easy and will take just few minutes with Search Director, so even if your time is very valuable, you still can save hundred dollars on payment to Google. I'll provide a step by step instruction on a simple example.

Initial task

I have a Java build tool and want to get it reachable for people who're trying to choose a building tool. I've created a home page for this build tool at http://7bee.j2ee.us/bee/index-bee.html . The tool name is 7Bee.

Verify that your target can be found using direct name search

Generally this step is optional, because even if your page not listed on direct name search, then following to next steps of the remedy plan you have a good chance to get it listed and generate traffic to it.

Verify that your target can't be found at a simple relevant search

Run Search Director an use relevant query like java build tool. Add a filtering rule with a name of your product, like 7bee in our case. make sure that result produced by a search engine didn't bring any entry on your product. There is no surprise.

Find a content in search result you can change

Blogs, forums, surveys, visitors lists, encyclopedias, and any other type of pages allowing content management are your target. (You do not need to hack in WebDav or something like that.) To find such pages use filtering words like blog, forum survey, and so on. To filter out paid high ranking annoying competitors page just specify their product name should be presented not more than couple times on a page.  Doing that I found two pages looked promising as:

  1. A poll page from http://www.manageability.org/polls/what-is-your-favorite-java-build-tool This page asked to add your favorite Java build tool unless it's already listed. So I have added my tool 7Bee on this page. Manageability page was very good catch since it was entry number 3 of Google's result.
  2. Another page was found as blog of Sayed Hashimi's  at http://weblogs.java.net/blog/sayedh/archive/2005/10/your_build_tool.html . This page allowed to leave a comment, so I left it about 7Bee build tool. Ranking of this page not quite well, it has number  356 in Google's result, so very unlikely somebody ever will open it. However Google generates 3 entries for this page, so it made me think that this page is popular in other searches and people can get know 7Bee without a targeted search.

Enjoy seeing your product by search engines

After remedy actions defined in previous steps I could see my tool listed instantly in search results. Although search engines as Google still do not provide direct links to a product, it doesn't seem like bad, because a mention of the product can be found in first page of any relevant search.

I used the same technique to promote my servlet container which currently listed as 2nd entry of Google's result. Without usage of this tool it wasn't listed at all. Needless to mention that nothing required to make my products listed by MSN search within 2 first pages of a result. Certainly MSN produces much less biased and more relevant results. MSN search is just lacking in search of problem solving pages. So Google wins here. It looks like internally Google can have a good ranking mechanism, however it's completely destroyed by ads.

Time passed, things changed

You need to repeat the described procedure to keep you listed on first result pages of popular search engines. Google seems lost interest to blog of Sayed and Manageably site withdrew this page either. However a 3 minutes procedure returned status quo. I got listed again. Google seems hiring more engineers from India, so my product listed on Indian sites turned on visibility on Google's pages as well. Microsoft seems lost sense of a good search engine. Yahoo looks strong and relevant, so I do not need to do the procedure to be listed in their results. Sayed is also loved by Yahoo probably he moved from Google there, who knows?

Application patterns

Next big step in software engineering

Rapid software development based on using different open source frameworks and application servers became mostly standard now. Besides of frameworks primary targeted for using programming languages you can find development platforms based on using scripting languages as PHP or Ruby. So what is next? Frameworks become more and more complicated and contain most of all open source solutions existing on the market. Offering tons of open source solutions without clear defining benefits of every one converts developers to use just most popular which in most cases is far from ideal. Should I go with Spring, Tapestry, or Struts? What should I use for data connectivity, like JDBC, Hibernate, or JDO? What about JMS? The same API can be implemented by different open source vendors and there is always difficult to decide with which one to go. Another problem is you need to keep 90% of completely useless software just to extract 10% of required functionality. But not only selection of open source component, framework or libraries stays in front of a developer. What’s particular approach to select to implement certain functionality, for example use container authentication, or write a filter, or use a servlet? Where to keep and initialized global data, in init method or app context listener? Consider now backend, what database selection of more suitable, like SQL server express, or PostGreSQL, or Derby? Return again to design, what GOFA design patterns of J2EE patterns to choose, how combine them? Developers are in role of monkeys dealing with bunch of objects and trying to build something useful for them. Question, question, questions, but where is an answer? Most of developers do not dig much for answers and just do as somebody already did. This approach is working but it’s far not perfect. So where is a solution? A solution is application patterns. What are they? Application patterns are pre-built set of solutions based on best practice in certain domains. Every pattern includes highly stripped version of open source components, so nothing extra. This selection guides you for right development, for example solution won’t include Quartz if scheduling tasks are quite simple and can be managed by Timer. However application pattern isn’t a ready to use application which you need to modify to get desired functionality. A pattern is designed in a way that you need only add and very rarely remove. In more details we can consider application pattern as application web content management pattern. Using such pattern you can very quickly build blog, forum, and annotated news type of application. All what you need will be there, including content storage and management, calendar, visitors monitoring, web page layouts, Ajax scripts and so on. Creation of application patterns is not simple, however results will pay off.