Mark Fletcher (the bloglines guru) explains the effect of speed on a web site / application:
The speed of your service directly affects its usage. We quickly discovered this with ONElist. When the web site was slow, people used it less, resulting in fewer page views. When it was fast, we saw an increase in usage ... we thought that web site usage was very task oriented. Once they finished their task, they'd leave. The speed of the service wouldn't affect the number of pages they viewed, just the time it took to complete their task. But we were wrong.
A slow site leads to an exponential increase in load on the service. ... This is because people are impatient. If Joe Surfer has to wait more than a few seconds for a web page to load, he generally hits the Stop button in his browser and tries to load the page again.
This definitely reflects our general experiences with Sytadel, but I have seen another more powerful way to create exponential load. During the boom I was the technical lead for a very high volume dot com. 4am one morning (Australian time) I get a dreaded “server down” call (9am their time). Restarting Apache and watching the httpd process list grow to >100 in the first few seconds is very disconcerting. The server had been performing well for weeks and investigations later that day revealed the problem. The home page was constructed by using a number of include() statements to pull in various PHP code pieces. A technician for the site had added some new PHP code pieces but was getting the content piece via an fopen() on the full URL rather than using an include(). So, every home page view spawned 4 extra page views on the same server to construct the home page HTML itself.
The fact that I now use Google for all mathematical operations is also testament to this. While drilling down for the Windows calculator a couple of months ago I saw that Google toolbar input field sitting there just waiting for an equation. I had the answer faster than it would normally take to find the calcuator from the Windows Start menu.
Note: Originally posted to my Synop blog on 24 March, 2004.
Many years ago I was a keen user of the Arsdigita Community System. Coming out of MIT, it was licensed under the GPL. This worried me a little:
As I understand it, the GPL states that any work derived from the GPL'ed work also comes under the terms of the GPL. Doesn't that mean that any customized ACS web site must be available publically? I have also noticed with interest that comparable open source projects seem to be releasing under the LGPL (Library GPL).
The response was a very direct "don't worry about it", sensibly trying to shut down any concerns or worries of users and their customers. But, his answer also showed a misunderstanding of the GPL and the general loose care factor at the time about using it:
I'm not a lawyer. I just have an office down the hall from Richard Stallman's so I used his license.
....
I'm too busy programming the next release to worry too much about legal stuff...
But, under the changes proposed to the GPL3 to "close a loophole" I suspect we'll have no choice but to worry.
Developers and website administrators have to be very careful about the software licenses they don't read. The "I'm not a lawyer" argument just won't hold up in court.
Over the last few days I've been reading up on hardware architecture for the PS3 and XBox 360. With multi-core processors seemingly the way of the future for all the major manufacturers, game developers will continue to be software pioneers over the next few years facing incredibly complex multi-threading and software design problems. From Arstechnica:
But like I said above, that free ride is over, and now it's time to face the multithreaded, multicore music. In the new world, a world of which both the Xenon and the Cell are a part, programmers have a whole lot more work to do, in terms of both splitting their applications up into threads and of optimizing those individual threads. The fact that they haven't yet been able to figure out how to make applications that they learned how to write on the old hardware work on the new hardware is completely unsurprising. The old hardware had a theoretical performance peak and lots of hardware aimed at helping applications reach that peak; the new hardware has a higher theoretical performance peak, and little to no hardware aimed at helping applications reach that peak. So developers have a longer distance to go, and they have less help in getting there. It certainly makes for a vexing combination, but it's way too early to say that it's the end of the world.
Anandtech has a number of great articles for getting up to speed on this hardware architecture and the implications for software:
While there will be many challenges in rearchitecting existing software for optimal execution under this new architecture, I'll be more interested to see what new applications and solutions become possible as a result of the new architectures. Software that has many things going on simultaneously, software that seems to be moving around you rather than just waiting for your next piece of input.
Software developers are used to coaching a single player (think tennis), who got faster and stronger each year. Now, we're being asked to coach a team (think football) where each player gets only slightly better but the number of players available increases each year.
It's time to start rewriting the playbook...
I've been thinking for a while that I don't do enough to encourage exploration of my weblog content, making it hard to discover older content. Of course, most people probably only see it in an RSS reader and thus couldn't care less about my design or branding decisions anyway.
In Embrace your bottom! Derek Powazek might have the idea to kick start some improvements:
Your engaged users - the ones who really like you, yaknow, more than a friend - are sticking with that main content. Everything in the sidebar just makes it harder to focus on your content. Then, when they get to the end, when they're ready for something else to do, when they're ready for that end of the date smooch ... that's the moment it's all been leading up to. That's when users are most open to suggestions of where else to go, maybe do a search, maybe even click on an ad.