Archive for September, 2008

Search as Locator Entry

Tuesday, September 16th, 2008

Jakob Nielsen has just written an article on location finders. The article outlines some behaviour changes of users in finding locations over the years.

The lastest research has found…

It’s still striking that 73% of users went to a search engine (mainly Google) when we asked them to find a nearby location for a specific company. Only 13% went straight to that company’s own website, while the remaining 13% went to a dedicated mapping service.

Given this changing behavior, we now have guidelines for search engine optimization (SEO) for the locator.

We’ve focused on making ZoomIn SEO friendly from day one so that businesses can be easily found. We constantly tune our system to ensure that we’re at the top the list for a result.

This re-inforces the need for businesses to make sure that their locations are being “found”, using ZoomIn is a good way to make sure that happens!

Xlinks Digest – 16 / 09 / 2008

Tuesday, September 16th, 2008

Xlink is a collection of interesting links as discovered by the ProjectX Team

    Donkey Kong source code found….
    Added on 09/16/2008 at 09:29AM

    10 aspects of web 2.0 strategy that every CTO / CIO should know
    Added on 09/16/2008 at 09:27AM

    What entrepreneurs need to know about founders stock
    Added on 09/16/2008 at 09:23AM

    Don’t buy that textbook download it for free
    Added on 09/16/2008 at 09:22AM

    GPS tracking can drive employees over the edge
    Added on 09/15/2008 at 08:25AM

    20 visualisation libraries
    Added on 09/12/2008 at 10:54PM

    Seth Godin – 8 startup insights
    Added on 09/12/2008 at 10:48PM

    20 best countries in the world for startups: Come on bloody New Zealand
    Added on 09/12/2008 at 10:39PM

    Curious Hack. How to solve a maze in Photoshop
    Added on 09/12/2008 at 10:33PM

    Space invaders in javascript: Cool Well done Chris
    Added on 09/11/2008 at 01:13PM

    UA Profiler
    Added on 09/10/2008 at 05:29PM

    Awesome Time Waster: YUI Pacman
    Added on 09/09/2008 at 02:53PM

    The “Feedization” of the Web
    Added on 09/08/2008 at 10:28AM

    NZ VC scene… Nothing Ventured
    Added on 09/08/2008 at 10:26AM

Runtime page optimiser now live

Tuesday, September 16th, 2008




Runtime Page Optimiser (RPO) is now out of beta, the team from www.actionthis.com have release the automagic web optimisation tool for IIS based sites. RPO is certified for ASP.NET 2.0 and MOSS/SharePoint 2007 intranet and internet sites.

Here’s a list of benefits:





But wait there’s still more, the team are going to release shortly an online webpage optimisation report tool based on AOL Page test.

Congrats to the ActionThis team and I’m looking forward for future improvements.

ProjectX moves into the heart of Silicon Welly

Friday, September 12th, 2008


We’ve moved!

ProjectX moved to Level 3 Symes De Silva House. We’re sharing the space with Plan HQ and the heart of Silicon Welly.

New Contact Details:
Level 3 Symes De Silva House,
97-99 Courtenay place, Wellington

Phone: 04 910 3100

Xapian search – acts_as_xapian tip

Thursday, September 11th, 2008

We use xapian as our offline indexing solution here at ProjectX. Recently, Francis Irving from mySociety has started a fantastic Rails plugin, acts_as_xapian. I’ll leave the introductions to the aforementioned pages. Suffice to say that it is quite easy to install, and it utilizes all the power of Xapian in a very smooth way.

One thing I have not been able to crack is to utilize association proxies on searches. Locomotivation has a solution using named_scope, but that approach removes all ordering, in addition to issuing one more unnecessary SQL statement.

class Lesson < ActiveRecord::Base
    named_scope :find_with_xapian, lambda { |*args| {:conditions => ["lessons.id in (?)", ActsAsXapian::Search.new([Lesson], args.to_s).results.collect{|x| x[:model].id}]}}
end

But if we do this instead, we can now do association proxies

class Lesson < ActiveRecord::Base
    def self.find_with_xapian(search_term, options={})
      ActsAsXapian::Search.new([self], search_term, options).results.collect{|x| x[:model]}
    end
end

current_user.lessons.find_with_xapian "something"

That would automatically scope and return lessons that belong to the current user only. Awesome!

Update: The code is not showing quite as nicely. I have pasted the same code in Pastie – http://pastie.org/270114