My Photo

About Me

  • Hello you. I'm a 38-year old MSc student, studying Advanced Computer Science at Sussex University. I'm especially interested in Internet and mobile software, sensors and pervasive computing, user interfaces, and the process of developing great software.

    Before that I spent 11 years running Future Platforms, a software company I co-founded which makes lovely things for mobile phones, and which I sold to Vexed Digital in 2011.

    I read a lot, write here, and practice Aikido and airsoft. I live in Brighton, a seaside town on the south coast of the UK, with two cats and a clown.

Stalk Me

  • Email me:
    twhume at gmail dot com
Blog powered by TypePad

« Fossil Bluetooth watch | Main | Nokia touts low-cost, low-power wireless tech »

October 03, 2006

Comments

petrilli

I think people have taken my words a bit differently than I originally intended them. What I was referring to is the absurd myopic focus that many "geeks" take towards performance, while forgetting that other things are equally, or more important. Performance only has to reach "good enough," often to delivery a real benefit to the customer. Most of the people who "get" the overall picture, in my experience, naturally deliver sane solutions that don't kill you from a performance perspective. Those that micro-optimize their solutions to shave 1ms off a query have forgotten the 20 minutes it takes a user to enter the wrong data because of their poor design.

Honestly, if it just gets people thinking about where the issues fit together, then that's all I really wanted. Thanks!

Tom Hume

Petrilli - I agree with you, you need both. But, particularly at a time when XP-type stuff encourages evolving architectures rather than up-front design, "good enough" needs to be "good enough to go live and cope with an initial audience".

I guess one way around this is to set clear initial targets for scalability - "the system must handle X hundred users within the first Y months", and thus avoid the requirement seen all-too-often in initial specs that the service "must scale" without any explanation of what this really means.

petrilli

I agree that scale must be part of requirements, but it's also necessary to be "realistic," something that is unusual in a lot of start-ups. 99.99999% of the time, you don't have to deal with hundreds of thousands of users in a short time. If you do, then you'll be able to get forgiveness in many cases, and you're more likely to find yourself with a lot of users if you're out of the gate earlier.

It's a trade-off, I just find that people tend to find fascination in scaling issues they simply will never face. My definition of a "big database" doesn't start till 500GB or so, but for a lot of people that's inconceivable, and for some that's barely a day's worth of work. It's all a matter of perspective.

Tom Hume

Petrilli - I agree, but on a complex service it's perfectly possible to generate high load with lower numbers of users - particularly once we start breaking the page metaphor of traditional web development and head for more asynchronous lands...

The comments to this entry are closed.