Archive for June, 2008

Learning from mistakes

The stories we hear about (software) product development tend to be the success stories. The guys who made it big. And a never ending analysis of “how you can be just like them”.

But very few people know precisely what combination of vision, skill, timing and luck made them a success. And fewer are able to articulate it. And personal experience tells me that I learn as much, if not more, when things go against me than when things go swimmingly well.

So I learned a lot from this post which describes a failed project and ascribes some of the failures to engineering decisions made during the product development lifecycle. The three mistakes Ari identifies that are most generally applicable to software developers are:

Mistake: Defaults Matter
Mistake: Make it Instantly Useful
Mistake: Don’t Let Technology Decide

For the record this is how I landed up at the post. Started by looking around at Max Bleyleben’s blog on Technorati. Which took me to Max Niederhofer and from there to  Union Square Ventures and from there to Ari’s great post

Leave a Comment

Domain name rant update

A few days ago I posted my views that domain names are too cheap. Here’s an article from Mashable which is also bemoaning the ease and prevalence of domain squatting out there.

While doing some research on various Wikis out there, I’ve found that a company called the Information Superbrand (check out the whois info here) registered the domain www.pedia.com, as well as over two hundred various ****pedia.com domain names, such as travelpedia.com or tvpedia.com. In some cases, a domain wasn’t available so they just used subdomains, for example parent.pedia.com.

Mashable doesn’t offer any viable solutions beyond “I think it sucks” and “it strikes me as wrong.” The comment string similarly doesn’t offer any analysis beyond indignation at the problem.

Wise up suckers. The only way anything will get done with this domain mess is if they become too expensive to register.

 

Comments (1)

Fame already! w00t

Golden Pebbles has only been going for a week or two and already it’s in the top spot at Google!

No joke. Look here.

Fame Already

Number 1. Numero Uno. The big kahuna.

Ok, admittedly it might have something to do with the fact that I’ve spelt “scaleability” with an “e” and most seem to spell it without the “e”. But heck. It was fun to see some traffic coming through from that search.

Roger. Out.

Leave a Comment

Overheard on the train

One: two girls, apparently recent uni grads. They discuss catching up with a friend of theirs on Facebook. And they discuss the blog another friend of theirs used to have.

Two: a “young professional” couple. logging onto Facebook to catch up with friends.

I love the way so much technology is being more and more, well, normal.

10, 20 years ago, technology was strictly for young men with dubious hygiene skills and an aversion to sunlight and exercise. (I still remember the farting competitions held by some ABAP colleagues in their windowless office). You even got bonus management credibility points for NOT knowing how computers worked and needing someone else to type your documents for you.

But fast forward to 2008 and my 10-year old god-daughter spends a LOT of time on sites like http://www.girlsgogames.com/ while Instant Messaging their friends.

And this article on Mashable  http://mashable.com/2008/03/08/girls-web-uk-us/

I find this shift very exciting. I only wish I were at school now and had the internet to help me discover the world.

Leave a Comment

On Availability, Scalability and Reliability

Listened to Michael Krigsman’s podcast with Rod Boothby of Joyent about reliability/scaleabililty – a fairly hot topic in the blogosphere these days with the whole Twitter Up Twitter Down scenarios and recently with Amazon (about 00:35 in the podcast).

Around 01:20 Rod tells us that reliability is a known computer science problem with known solutions. And then at 01:27 he tells us that to develop something that scales is a simple architecture. But all he offers in terms of architecture is that different parts of your site should be correctly siloed , i.e. split off from each other. For example instead of having all your code under www.mysite.com you should put your uploads section under uploads.mysite.com and your messaging piece under messaging.mysite.com etc etc.

Michael asks a great question at 03:27: If it’s so easy why don’t more people do it properly?

Rod’s answer is that is all comes down to load balancing.

I’ve got a different answer. My answer is that the reason more people don’t do it is that in reality there’s a whole load more to availability, scalability and reliability than just load balancing across different subdomains.

Joyent is only talking about one tiny piece of the big availability/reliability/scaleability issue. And Rod is right that what he’s talking about is pretty easy to do. But it also has next to nothing to do with what usually happens to make complex sites struggle.

Usually the bottleneck is not the network or the bandwidth or the load balancing or the processing power of the web servers (these are all pretty easy to address). Usually the issue is the database itself. Partitioning the database into different silos (sharding) is VERY hard to do. It’s also very hard to predict early on what level of sharding you will need a few years down the line.

An example: when I first came to TradingPartners I inherited a system with 4 distinct databases. It had been designed this way to silo out different kinds of data. But it happend that 80 – 90% of the database calls were to one database. Bad design? No, simply that the original architect didn’t have a crystal ball to see where the application was headed. My scaleability issue has always been the database. Everything else is comparatively easy.

There is some great material on scaling at http://highscalability.com. And if you don’t believe me that there’s more to scaling than load balancing then check this great presentation from the LiveJournal/Danga people. There is a good Venn diagram on page 13 (and on page 14).

Leave a Comment

Downgrading Vista

We’ve been with Vista since middle/end of last year. Despite our road testing (which went well) and my own initial experiences of Vista (not that bad) we are seeing performance issues esp. with bootup and crunching large files.

So yesterday we took the decision to offer our laptop users the option of downgrading to XP if they would prefer the performance gain. Especially given the recent coverage here (via Crunchgear). Desktops still seem to be working fine on Vista since they are more powerful machines. But even the maxed out laptops we are using can be pretty slow with Vista.

 

Leave a Comment

Procurement Solutions Exhibition – Things I might be buying

I was at Procurement Solutions yesterday as a speaker. But also walking the exhibition floor I came across two companies which looked pretty cool and which I will be checking out further:

Huddle

Huddle is one of the UK’s rising stars in the Enterprise 2.0 space. They make very simple online collaboration software, in a similar vein as Basecamp. Why am I interested? I am looking at better ways for us to integrate with our clients during our projects. Trouble is, most of our clients aren’t very familiar with MS Project. So a non-MS Project project managemnet/collaboration tool is going to be interesting. Especially if the price tag compares favourably against MS Project. Huddle’s Head of Marcomms was on the stand and she was refreshingly candid. I asked her how the product compared to Basecamp and DreamFactory. She wasn’t familiar with DreamFactory but there and then googled them, on her laptop which was hooked up to the plasma display on her stand. She didn’t drill into their site, clearly – she just looked at the google results. But it’s refreshing to see someone who can be open about their product and its merits compared to the rest of the marketplace – and doesn’t need to rely so much on spin. (Unless of course she was secretly spinning me in some subtle way I didn’t notice).

Mimio

Mimio make devices that attach to your whiteboard and capture the information on the whiteboard electronically. It’s all very automagic but the bits I played with and looked at certainly seemed to work. Now, I adore whiteboards. So something that can extract the scribbles I make on whiteboards – and at a sub $1000 price tag – is going to be interesting to check out further.

Leave a Comment

You can only write software for yourself

People will debate the pros and cons of this.

I’ve been on both sides at different points in my life.

When I look back on what I and my teams have built it’s pretty clear that the stuff we did best was the stuff we really understood inside out without needing recourse to too many requirements documents. When we built stuff that scratched our own itches.

So this was an interesting read on Nick Carr’s blog about Amazon’s AWS offering. Amazon was able to develop this because it scratched an itch that they had. They were then able to productise the offering and sell it is a value added service.

Amazon CEO Jeff Bezos underscores this point in describing the origins of Amazon Web Services. “Four years ago is when it started,” he says, “and we had enough complexity inside Amazon that we were finding we were spending too much time on fine-grained coordination between our network engineering groups and our applications programming groups. Basically what we decided to do is build a [set of APIs] between those two layers so that you could just do coarse-grained coordination between those two groups. Amazon is, you know, just a web-scale application.” As it developed the APIs for its own applications developers, it realized that the interfaces would be useful, as well, to other programmers of web apps: “And so, look, let’s make it a new business. It has the potential one day to be a meaningful business for the company, and we need to do it for ourselves anyway.”

Leave a Comment

Domain names are too cheap.

The lack of good domain names is one of the worst things about Web 2.0: All these companies with spellcheck-busting names as a by-product of the fact that so many good domain names are being squatted.

I was looking for domain names recently for this and my other blog. I even offered to buy some names from people who were squatting them. No-one even bothered to reply with a price. Seems that many domain squatters have even forgotten what they are squatting – or the click-through ad revenue is more than the cost of registration.

Some of these names aren’t even being used to generate ad-click revenue. They are registered but don’t even have IP addresses assigned.

The EU tried to come up with a way to prevent squatting when they released the .EU tld. If someone is squatting a name that you have better rights to then you can go through a dispute resolution process. I think it costs about €3000. So all this has done is set a price for squatters to sell their domain names.

At least the .ASIA people were smart enough to use auctions to set market prices (and generate more revenues for the registrars).

Once again the old cliche that regulation leads to unintended consequences and distorts the market holds true.

Which leads me to wonder whether there is a market solution for existing names. What would happen if .co.uk registrars started increasing registration fees for renewals of names?

Comments (1)

On Twitter

How better to kick off a tech blog than to talk about Twitter. The site we love and hate and love to hate.

I’m on Twitter now (follow me), have been for a comparatively short while. I enjoy it. The initial impetus was so I could easily keep my wife updated during the working day while I am abroad but it’s soon given me way more than this. I have already connected with a handful of like-minded people – which is great. I only tweet about once a day or so.

Regarding the scaling – amongst all the hyperbole, people seem to forget that this stuff is quite hard to do in real life. And you always need to be addressing your bottleneck. (Get one bottleneck out the way and another will turn up to bite you. It’s a basic law of software). And without being on the inside you have no way of knowing what is really going on. And, dare I say it, how confident someone is about their proposed software architecture bears little or no relationship to how well it will work in real life.

 

Leave a Comment