March 18th, 2007
I just got the following in my gmail…

It so happened that I’d been wondering what happened to my ancestors, and now, according to this ransom email, apparently its Genes Reunited that has them. I am not sure what they want them for but I want it known that I plan not to negotiate.
You can’t give these people an inch - even if they’ve got your ancestors.
Posted in humour | 1 Comment »
March 18th, 2007
I was mucking around on 43things.com recently. I thought this was pretty funny…

It reminded me of that classic scene in ‘The Life of Brian’:
Brian pleading to his followers ‘…You are all different!’ making a point about them not needing to follow anyone.
‘We are all different!’ they return, agreeably.
‘I’m not!’ cries a dissenter in Godelian irony.
Now as far as I understand it, 43things.com is about listing things you have yet to do… arguably if you are one of 73 others wishing to be unique you are possibly already having difficulties. More likely, of course, the other 72 put ‘be unique’ in just to see how many others had, meaning there’s probably 72 other blog posts with a similar screenshot to above.
Maybe I’ve got more work to do than I thought…
Posted in humour, lifehack, web2 | Comments Off
March 11th, 2007
I just read over at Joseph Scott’s blog that Google Trends appears to be dead. Some further investigation on the Google Group for Google Trends seems to confirm this. I think it would be a shame if Google Trends was to be decommissioned as the service provides a way for ordinary netizens to examine the behaviours of searchers online.
Whilst SEOs would be hardest hit I think that the loss for the rest of us is also significant. There are other similar services however I’d wager none would compare to the volume of data available to Google (dominating around 70% of search in most countries).
Don’t be too worried though, I wouldn’t be surprised to see the trends data appear in another format… Personally, I will keeping an eye on Google Analytics. Remember Google also bought MeasureMap, so by my reckoning there’s bound to be an uber analytics tool on the horizon. The free analytics tools are great for encouraging webmasters to continue to invest in Adwords and Adsense.
Update: Google buys GapMinder. They are really building up an arsenal of data analysis tools!
Update 2: Again Joseph Scott has the scoop on Google having updated the data available on Trends up to Feb 2007.
Posted in Google, freakonomics, web development | Comments Off
February 7th, 2007
We seem to rediscover every few months that many users are typing the name of the search engine they are on into the search box. I read many disparaging remarks directed at this very large group of users and I wonder why the remarkers would think this behaviour is ‘clueless’ or ‘dumb’?
Forgetting what the user ’should’ do, lets consider the two options for a moment. Firstly, in terms of physical and functional composition, both methods of navigating the web comprise of a single field and respond to the enter key; so no difference there. Further, one is placed at the top of the screen, the other often nearer to the centre. I’d say thats one factor that the search box has over the navigation bar.
Moving on, the navigation bar will in most cases punish you for mistyping. Google and other engines will offer a link to (most likely) the site you intended. Now thats handy! I’ve started using the search method for those times its handy. Google Desktop makes it easy to get to a search box (just hit ctrl key twice). This is much easier than ctrl-tab a few times combined with another key-combination to open an URL (and then you get to type the URL…). Who wants to be doing what they ’should’ do anyway? That sounds clueless to me!
Not all instances of a search engine name being entered into a search engine is for the above reasons, though. ‘Google’ is entered into the Google search engine because who can remember where all their products are housed. Google, in their effort to deliver a ’simple’ homepage, avoid the portal type page so typing ‘Google’ can be all users can do to find their many great products.
Another point to consider are those keywords put into the navigation bar which aren’t legitimate URLs are often sent to a search engine in browsers such as Firefox. Who wants to spend time repetitively typing the fairly redundant ‘www.’ and ‘.com’ anyway…?
What can we learn from all this anyway? Well next time you consider calling a user stupid, stop yourself and look for the efficiency they are seeking. It can teach you alot about how you could make your application easier. Not everything needs to be reduced to a unthinking action but its worth taking the thinking out of the tasks that don’t require it so that effort is most effectively spent.
Maybe browsers should ditch the navigation bar? Maybe the navigation bar and search box should be one? I’d like to know your thoughts.
Posted in DRY, Google, Yahoo, complexity, search, usability, workhack | 1 Comment »
February 7th, 2007
Since you are here and reading this I figure you have time to try something out. Don’t worry, this may just save you some time in the future or it may even lead your current project to success earlier.
It sometimes takes an external reminder (something that snaps you out of the myopia that can take hold when working) to provoke you into acting on an simple optimisation; whether it be in your own day-to-day workflow or in your business practices or in the flow of activity your customers pass through.
In web development, a common issue that is overlooked when in the midst of upgrading functionality to a property is that the entry page linking to that feature is underperforming in the delivery of users. I have seen teams toil away, moving mountains only to ignore that traffic will not make it to their creation!
Take the time now to consider your current project. How effective is the page where your users land upon to login or to navigate to your tools or content? Do you measure this page? Is there a high incidence of users bailing without further progression? Are they going to the areas you want them to? Have you made adjustments and measured the affects of those?
I build time into my schedule to do this regularly and always find adjustments that need to be made which would have been overlooked if I had just kept my head down, plowing forwards. I am more recently trying take a similar approach and analysing how I use my tools and whether I can simplify or automate regular tasks.
If you do make some discoveries which are not to your liking, I suggest you take some time to address this before embarking on further development. It will be time well spent.
Posted in usability, web development, workhack | Comments Off
February 3rd, 2007
Google have extended further into personalized search results for those with ‘Search History’ turned on in their Google Account. Its likely to result in all sorts of conjecture which I’d like to sidestep and instead spend a few moments pondering out aloud.
Could personalized search - whether this implementation by Google or a future one (by any provider) help reduce spam results by affecting the potency of SERPs? Imagine a time where everyone’s results are personalized by numerous factors, whether by search history, demographic, geographic, psychographic or any-other-graphic. The concept of SERPs disolves as the results are further segmented into a myriad of micro-niches.
Spammers incentive (and indeed, maybe even legitmate SEO implementers) to occupy the top SERPs must be diminished in line with the diminished reward? Could the effort required to achieve positions across the almost infinite permutations of SERPs (the results for phrases multiplied by all possible personalizations) tip the effort required to achieve a return to un-economic level?
You could argue that the number of permutations could be quite low. Whilst only some keywords will have differing meaning and contexts, most could have a context which may yield a different result for almost any user. This might not be practical, however, as one wonders what logic or intelligence could be used to determine which factors to apply to which keywords. When to apply geographic information, say for searches relating to buying a car versus when not to, in the case of me searching for a solution to a javascript issue I was working on.
Whatever happens, this is an interesting area of development - for ideas covered here as well as the many concerns currently being raised in the blogosphere.
Danny Sullivan does an excellent write-up on this latest release from Google so I suggest heading there for more details.
Posted in Google, communication | Comments Off
January 29th, 2007
Its hard to say whether Enso will go the way of my experimentation with browser gestures. Others I work with use the gestures fluently now making me envious of their reduced barriers to productivity. I do think I lose much time transitioning from pointer devices to the keyboard and back so I am inclined to think the people at Humanized have something.
For the uninitiated, what is it? I’d recommend watching the video they have placed on the frontpage of their site. The short rub is that Enso overloads your caps-lock - holding it down reveals the Enso dialog which hovers above your OS, transparently waiting for input. Its a command prompt for navigating your applications or for applying simple commands to your context; for instance some selected text.
It is clearly a polished product - I recognise a few elements from earlier memes they had successfully set loose into the sphere. Some elements such as their use of modal messages which appear in the user’s field of view are smart but maybe not as clever as they present them to be. But maybe they are - I am still training myself to look for the Enso interface in front of me rather than in the task bar.
I can’t help but wonder whether the task of testing this software out is somewhat of a catch-22. To test it properly requires one to learn a few keywords which drive the system and also to train themselves to use Enso rather than existing (slower?) ways of achieving goals. If you succeed at this then the system is probably working for you already and the ‘test’ is over before it has begun.
I guess it comes down to whether you believe this is a significant adjustment to the drag that ‘modern’ interfaces such as windows afford you. I personally think that windowing is working against you for most of the time. Fiddly dragging and resizing is time costly and doesn’t deliver much. If you need to fit two documents side by side then there should be a button or a command for it. Moving these things manually seems like pushing unnecessary work to the user.
Humanized present Enso as being grounded in the study of human computer interaction and they present a manifesto of how life using computers could be much easier. I don’t disagree, but is this product a step forward? Enso takes us back as much as it takes us forward. It reminds us of lessons many developers already know - of the effectiveness of the commandline. It consolidates what Google success has been teaching us - that typed text can lead to an infinite number of destinations and they have made even Googling a few clicks closer by having access always available from the keyboard alone.
Those with Google Desktop who have put up with its (in my experience) fairly regular crashes would be familiar with a similar capacity, in this case overloading the control key, a double-press brings up dialog Enso-esque but of course has in actuality beaten Enso to market to what appears Enso’s most interesting application thus far.
I do persist though as navigating many tabs and windows is my own personal goal and Enso may offer a path of lesser resistance to them. I will let you know how it goes.
Posted in communication, complexity, tipping point, usability, workhack | Comments Off
January 28th, 2007
I am a proponent of tackling tasks which represent the maximum reward for the minimum effort. Why spend months focusing on 11 different things when 2 of them could substantially improve your product or your business proposition or your team’s effectiveness.
A couple of recent releases which have just caught the attention of slashdot.org (and now me) in linux land have struck me as being not necessarily effortless developments but in the face of their potential impact on Linux adoption, releases that deserve applause.
First up (and currently slashdotted it seems) is a windows installer for Debian. The other is also a windows installer for the ubuntu linux distro.
What does this mean? It means that two key reasons you delayed installing linux on your laptop or desktop just evaporated.
- Partitions aren’t used apparently so risk of data loss for files already on your machine is greatly reduced.
- The time spent learning how to install a distro, configure it to your liking and get it to a productive state dramatically decreases.
Live cds were the first step in wider adoption however my experience of them was mixed. A live cd have saved us on a number of occasions when working with sick machines. For use as a trial OS however I have found them to be slow. This may have been due to an old dvd drive more than anything else.
I’ve run a few installs of debian and redhat for development machines at home but found the time administrating them became prohibitively expensive as I reduced the amount of time I spent developing (as I increased general administration and project management responsibilities). Linux desktops have been progressing impressively and I find that my frustrations with ineffeciencies on my windows machine demand I try something else.
I applaud those who have championed, evangelised, developed, tested these two projects. You may have just created an upward-shift in the Linux adoption. It is time now for the various window managers and applications on Linux to prove themselves with their new-found audiences. I do agree with recent posts that disparity between linux applications user experience is a challenge which continues to affect uptake however could unifying tools which change the way people use their OS minimise the impact of such disunity?
I will be trialling Enso over the next 30 days so more on this to come…
Update: I came across a similar project that has been around longer. I am surprised it has not caught my attention earlier? Maybe evangelism is truly what is needed?
Posted in Javascript, communication, linux, tipping point, usability, workhack | Comments Off
January 24th, 2007
Coding Horror covers some general criticism of Javascript libraries reminiscent of a few criticsisms I eluded to in previous posts such as “Javascript: The Quickening” and “Yahoo’s YUI Drag and Drop Module”. I think it could be stretched to other languages as well however as javascript has been a focus of mine recently (and many others) I thought I would explore some frustrations with working with the YUI library (as well as some other libraries) I have had recently.
Firstly, a point in reference to the Coding Horror post. The veneer of documentation can be a trap. The YUI library has more documentation than most, including API documentation, general overview documentation, cheat sheets and many examples. All of that and seasoned OOP javascript developers can still find it quite difficult to use parts of it for work more complicated than the basic examples provided in the documentation. I am interested in exploring why this is.
I find that many examples are often not coded to a standard that would stand up to much scrutiny except somehow examples seem to be exempt from quality control. Procedural code seems to be generally preferred ‘to keep things short’ and they use short cuts such as inlining everything in your HTML which ignores the real issues that go beyond stitching a few API calls one after the other.
The more complex issues in using libraries to solve complex problems are ignored. Trying to get javascript libraries in particular, playing nice with other code can be difficult. Controlling when the code is called and when things occur are complex issues however looking at any Prototype examples you may think that randomly pasting script blocks throughout your code is a sane thing to do.
Another issue I find YUI and most other JS libraries have is not all files clearly state which other files they are dependant on. This appears to be because such documentation is not uniformly enforced across the library (This is a feature of single author libraries as well, I find).
With Javascript unable to natively define explicit dependancies it is more likely to fail with an obscure error or worse still run but incorrectly. It is a time-consuming practice to work through finding all files it may need from the library and all assets it may be relying on (CSS, images etc.). And generally nothing works at all intended until you get it just right… Javascript in particular is often dependant on the order of the includes as well.
To my mind, dependancy tracking is a key facility of documentation whether it be derived from package names or calls to ‘include’ type functions (see my earlier post for the blurred line between documentation and code).
The namespacing efforts of YUI and Dojo; and Dojo introducing linkers and the ability to dynamically include required scripts we may see this improve but until more mature solutions exist we are doomed to some very frustrating hacking - contributing to the mug’s game that is web development at the moment (a topic for a separate post).
Posted in Ajax, Javascript, Yahoo, bug, complexity, web development | 2 Comments »
January 24th, 2007
The line between code and documentation is blurring with the introduction of regimented documentation standards. In PHP reflection (and likely other languages as well) you can use reflection to programmatically access documentation blocks meaning you *could* make code dependant on information in your doc comments! Scary!
More scary is that I discovered this via a colleague who was considering using this. You could argue it conforms to the DRY principle because we were looking to add more strict control of return types implemented in methods that are derived from an interface we defined. This would require us to redefine information already part of our doc comments should we proceed without the reflection API.
For now we have elected not to proceed because it violates the rule of least surprise. Developers do not expect edits to comments affecting code conditionals and thus our effort to enforce correct use of interfaces could backfire causing exceptions in classes implementing our defined interfaces.
At some later date when the trend has continued and there is no line between code and API documentation or at such point we are confident our unit testing will prevent deployment of exceptions due to incorrect documentation we may reconsider this approach.
Posted in DRY, bug, communication, php, usability, web development | 2 Comments »