Archive for November, 2007

WordPress Drop Technorati For Incoming Links

Wednesday, November 28th, 2007

WordPress has a feature in it which shows activity surrounding your particular blog, named “Incoming Links”. For a long time, WordPress has been using the services of blog search engine and aggregator Technorati to deliver this feature. Using Technorati was an excellent decision for quite some time, especially when blogging was still relatively new and Technorati where blazing their own trail in that space. It made even more sense when Automattic released Pingomatic, as virtually all blogging platforms sent activity notifications to that and Technorati subscribed to that stream of data.

Things started to change and the usefulness of Technorati started to fade as the big guns entered into the blog search space, namingly Google. Google Blog Search was a great service on its own, using the incredible infrastructure behind Google to keep their blog search index fresh. Not being content with great, Google set out to make their Google Blog Search index exceptionally fresh as they started accepting ping notifications. Of course, as soon as that happened - Pingomatic started sending notifications into Google, which has yielded an index which is minty fresh - usually showing only minutes of delay.

With the recent release of WordPress 2.3, the WordPress team have now switched from Technorati to Google Blog Search for their “Incoming Links” feature. This single link change could have a fairly profound impact on Technorati, as with literally hundreds of thousands of blogs running WordPress - they were getting traffic for free. The lack of the link from WordPress, coupled with the superior fire power of Google and tongues have to be wagging about the future of blog search engine Technorati.

Free Facebook Application Hosting Provided by Joyent

Tuesday, November 27th, 2007

As many people would be aware, Facebook has become some what of a phenomenon of late. Over the last 12 months, the site has seen growth that most internet companies could only dream of. If that wasn’t enough, in May 2007 Facebook announced that it was going to open up the service with what they called the Facebook Platform.

The Facebook Platform allows third parties to develop plugins or ‘application’s which work in concert with Facebook. When your application is loaded by a Facebook user, it passes information into your application which communicates with your own services. Of course, the dependence of your Facebook application on your own hosting, means that the more popular that your Facebook application becomes - the more web hosting capacity that you must have. There are some great tales of the struggles that companies like iLike faced when they launched their product and trying to keep up with the incredible demand. The insane popularity of Facebook means that if even a small percentage of their users load your application, it can translate in literally millions of web server requests and hundreds of gigabytes of data transferred; far more than any normal person could afford.

To help combat the problem, Joyent have teamed up with Dell and Facebook to offer over USD$3 million dollars worth of their accelerator hosting for free. We’re not talking about cheap Facebook application hosting, this offer from Joyent is absolutely free. The free Facebook application hosting offer from Joyent includes a complete virtualised environment with everything you’d need to get your Facebook application up and running using popular programming languages like PHP, Python and Ruby. Joyent are pushing the product as an on demand, scalable architecture which is built on top of their very successful Accelerator product. The beautiful thing about the Joyent Accelerators, is that their free hosting offers a seamless upgrade path into something more substantial if your Facebook application takes off.

To make sure that the offer isn’t abused, Joyent have some pretty straight forward terms. You’re application must be active and in use on Facebook for you to be eligible. The free Facebook application offer provides 1 year worth of free application hosting for your Facebook application - after that point you’ll be required to pay for a normal plan. Joyent are offering 3500 accounts with their free Facebook hosting offer. That might not seem like a lot, however if your application is dormant for more than 60 days - your account will be reclaimed.

If you’re looking into building a Facebook application or already have and the hosting costs keep going up, check out the Joyent offer - it might just be your saving grace.

Spinning Subtraction

Saturday, November 24th, 2007

I recently wrote about a set of visualisations by Lokesh Dhakar that I thought were fantastic. While the visual representations of the coffee and baseball pitches were excellent, I really enjoyed the new design that Lokesh has put together. Without knowing any better, I would assume that he has taken inspiration for it from Subtraction; but the way that it has been bent and morphed is a really interesting spin on the exceptional grid based design of Khoi Vinh.

In March this year, Khoi put together a fantastic document for a presentation about designing with grids. The thing I like most about the document is that you can easily use it as a process for getting your site proportions correct. Tackling the visual design problem is something that a lot of people struggle with. In my particular case, I find it difficult as there are so many options available that I can never really decide on which combination of those options should be put together.

When I get around to putting my own design over top of this site, I think I’m going to re-read that document to see if I can develop a more cohesive and well balanced design out of it.

Google Advertising Observation

Wednesday, November 21st, 2007

As I mentioned recently, I’ve been running some simple tests surrounding Google Adsense colour palette performance. The results of that test reinforce what others have previously said about Google Adsense, which in short says that blended or complementary colours out perform other colour choices.

While perusing through the historical Adsense click stream data - something popped out at me. It seems that the average cost per 1000 clicks or eCPM is strongly in favour of the highest click through rate Adsense theme used on the site.

For the sake of illustration, the table below contains the Google Adsense results from October 2007. I have normalised the results to conceal my enormous profits for easy comparison:

  Impressions Clicks CTR eCPM Earnings
Open Air, 250×250 999 180 1.8 2.98 2.98
Graphite, 250×250 1000 100 1 1 1

The above table shows that the two different Adsense colour schemes were displayed approximately the same number of times over the month. As pointed out in the Adsense theme performance article, the fully blended Open Air theme has the highest click through rate. To clear up any ambiguity, the two themes are being displayed in the same location on each page throughout the site.

All things being created equal, I would have expected that the eCPM of the Open Air theme to be approximately 1.8 times that of Graphite, based on the click through rate. When I first noticed this happening, I thought it must have been a random event; however when it continued to happen every single month it became clear it was by design.

Thinking about what is happening though makes a lot of sense for Google, as it maximises their profits. When a request comes into Google Adwords, the system looks at what site and web page it is being delivered to so it can attempt to return relevant advertising. At this point, it seems reasonable that they are also checking what ad format and theme settings are in use for this particular request and are returning the ads with the highest maximum cost per click based on statistics.

Are Google using the lower click through rate advertising combinations to deliver lower cost advertising because they have an obligation from their advertisers to show their ads? I think they are doing just that and that they favour delivering higher cost per click ads to higher click through rate streams as it maximises their profits.

Does anyone have any other thoughts on the matter? I’m more than happy to be proved completely wrong if it’ll help increase my understanding of how Google Adwords and Adsense work.

Twitter Lost My Tweets

Tuesday, November 20th, 2007

Over the weekend, I signed up for a Twitter account and that process had a few hiccups which were entirely my fault. After sorting that out, I started posting items into Twitter using the web site and everything seemed to be going swimmingly.

Unfortunately, the site went down with the familiar offline message informing Twitters that they were reorganising some stuff. To my surprise, when the service came back online - it had lost my last tweet. Assuming this was a bit of a one off, I let it go. Later that same night, Twitter lost another tweet. I haven’t posted about it since Friday night as I figured that they were doing maintenance and it wasn’t worth raising, however yesterday it lost yet another tweet and this time I didn’t notice that the site went offline.

I think we’re up to a total of three or four tweets which Twitter have lost in as many days since joining the service. I realise that I might just be a little unlucky, so I’ll be keeping an eye on it over the next week or two to see if it is normal or the exception.

Thank You Twitter

Monday, November 19th, 2007

Over the weekend, I signed up for a shiny new account with Twitter. Without realising it at the time, I had actually typed my username incorrectly and missed a t out of Lattimore.

Being a bit of a pedant at times, I went to sign up for another account with the username I wanted only to find out that Twitter wouldn’t allow me to sign up with the same email address. Not wanting to sign up with a different email address, I was going to email the Twitter mob and see if they could just rename my account for me.

To my surprise, the Twitter development crew supply a convenient ‘delete my account’ option. To my surprise, it seems as though clicking that really does delete your account - all of it. As soon as I had confirmed that I wanted it deleted, I was able to immediately create another account with the username I wanted and using my existing email address.

It’s a small thing but I really appreciate it when services put in convenient functionality like that.

Twittering

Saturday, November 17th, 2007

Curiosity has gotten the better of me, I’ve signed up for an account with Twitter.

When Twitter first started to get some press, I couldn’t see the benefit of it and it seemed like nothing more than another attention grabbing service that was going to get in the road of everyone. I honestly expected that it’d get hyped, gain a bunch of users and then quietly whittle away and die like so many other web 2.0 style products that have been released in the last few years. To my surprise, the Twitter service seems to be going from strength to strength and they are still gaining new members are a rapid pace.

The only thing I’m struggling to work out is how everyone is meant to remember to drop twitters regularly and more importantly, that they can find the time to do so. I don’t know how that aspect of it will go but I’m willing to give it a little air time to see if I can work out what all the fuss is about.

Google Adsense Theme Performance

Wednesday, November 14th, 2007

Over the last few months, I have been experimenting with Google Adsense and using the channels feature to measure the impact said changes.

There are volumes of information on tuning Google Adsense for higher performance on the internet, so I thought I might as well put some of their recommendations to the test for myself. As a small experiment, I have been been randomly selecting the colour of the Google Adsense ads on each impression for the last six months.

The Adsense control panel shows that over any given period of time, each colour or channel has been represented equally to the user. Throughout the rather lengthy experiment, I have gone through four different standard colour themes, which included:

  • Open Air
  • Graphite
  • Seaside
  • Shadow

The Google Adsense tuning guides suggest that blending the advertising into the site or using complementary colours yields the best outcome. For my personal site, which has always had a largely white based theme - I can confirm that a full blend has been the highest performer. The list of Adsense themes above is in ranked order based on the click through rates that they have generated. Surprising, at least to me, is that Open Air has not only beaten the competition each month, but at times by as much as 250%!

In the coming month, I’ll be looking to perform some testing on the size and placement of the Google Adsense ad blocks through the site. As soon as I have enough data to make a reasonably informed decision about the results, I’ll post them here for everyone else to see.

Django, Initial Data & Many To Many Tables

Friday, November 9th, 2007

Django provides functionality through manage.py to manage the database that you’re using. The various utility commands range from building your database using syncdb command to tearing it down using flush.

The functionality to manage the database through Django is great, however it’s often required to load initial data into a database when it is first created. The initial data might be used for running unit tests against or actually providing some useful default information into a system every time it is built.

Django provides two mechanisms to handle this functionality:

Initial SQL
The initial SQL way relies on providing a plain text file with SQL statements in it. The SQL files are located in a folder named ’sql’ under each application. There is no guarantee on what order the files will be executed, just that they will be executed some time after the database creation has been completed. Each SQL file provided should be named after the lower case version of the model name it is for; more about this point later.
Fixtures
Fixtures are essentially blocks of data, which do not necessarily need to be related to one another. Django supports various formats for the fixture files, ranging from JSON to YAML but accepts anything which is has a serialiser for. Using fixtures means that the developer can group various bits of information together, lets say specifically for a unit test and have it loaded each time the unit test is run. As a convenient feature, Django provides a way to dump the data currently in the database into a fixture file in whatever format you’d like and then reload it at a later time using the loaddata command.

Not knowing any better, I followed the SQL path initially simply because it was familiar to me. Everything was going just fine, every model I created I produced a useful collection of SQL statements to match. This process continued until the model definitions got a little more complex and I hit a wall when I defined a many to many relationship.

The problem was pretty straight forward, the SQL method states that the SQL file must be named after the lower case name of the model that it refers to. There is no problem with this until you produce a model that automatically generates tables, such as a many to many table relationship. I tried a number of different file names, however since the table is automatically generated off an existing model; I couldn’t find a file named that worked.

Given how complete Django seems to be in general, I’ll be surprised if I don’t find out that there is a way to do this down the road. Until that road is crossed though, I moved onto using fixtures to load the initial data into the database and it works a treat. I can conveniently use the automatic admin that Django provides to create some sample data and then just dump it into a fixture to reload at a later time.

Internet Scale

Wednesday, November 7th, 2007

After launching ifdebug on the 3rd November, it’s only taken Googlebot and Yahoo! Slurp an amazing four days to crawl and index the site. Many moons ago, people would report having their sites online for literally months before being crawled by search engines, let alone have the content showing up in their index.

In August, Matt Cutts pointed out that the Google index is becoming minty fresh. What used to take months back in the year 2000, is now happening in days and what was taking days in 2005 is now regularly happening in hours or minutes. While the majority of the world don’t care about this sort of stuff and it never even enters into their consciousness, I find this nothing short of a technical marvel.

All major search engines currently report that they index literally billions of objects reaching into the farthest corners of the internet. This is where the amazing aspect comes into effect, ifdebug is but one of hundreds of millions online and some how the major search engines manage to find the time to crawl and index it only a matter of days after it was created!

The fast crawl rate is surely due to the link from my personal blog pointing here, as it is already well indexed and receives constant attention from the major search engines on a daily basis. As for managing the on going freshness of the site, sitemaps and online services such as pingomatic must play a reasonably substantial role in helping to keep their indexes fresh.

I’ll be keeping an eye on the major search engines over the coming weeks and months to see how they are performing; I’ll report back with the finding if there are any worth mentioning.