You are here: Home > Never Offline Blog > 2007 April

Variance: Don’t let it kill your AJAX app

You might be surprised at just how variable the HTTP response times are in your web application. Take a look at this 24-hour example:

HTTP Variance

Crucially, the variance in this example is caused by the application response time, rather than the network. That’s the blue Exec component, not TCP or Transfer components.

Variance-of-latency isn’t a huge problem with traditional page-refresh-response websites and applications, but certainly does present an annoyance to your users. When your app starts to get cleverer and offers AJAX goodies, however, the problem becomes more serious.

Sometimes, your user clicks repeatedly in futility, wondering what’s going on and why she is getting no response. Other times she’s not sure if anything is working at all.

So our Happy User rapidly becomes a Sad User. Click… wait… wait. She’s not feeling so empowered by your application at this point.

A more problematic scenario is that out of sequence AJAX responses will break your UI. Many developers using mainstream (read: simple to deploy) libraries fail to code precautions against this.

And it’s easy to see why: By now, most AJAX-happy developers are aware of latency issues, and latency is quite simple to emulate in a test environment.

Variability-of-latency is not getting enough airtime – most likely because few people are actually measuring it as a part of their build process.

It’s not the network.
Raise the issue with the developers and they will probably start a delightful discourse on the “best-effort” nature of internet pipelines, asymmetric routing, and similar vagaries of internet infrastructure. The implication being that the user is at fault because they chose to use your app from a free wifi hotspot in Turkmenistan.

Our graph above, however, shows that the fault lies squarely with the application being unable to offer consistent response times. HTTP network overhead is just a tiny fraction of the total – and runs at a consistent 89ms anyway.

The lesson is: Fully understand your application performance and work to improve its consistency, particularly during peak periods. The underlying network is rarely to blame.

Filed under: AJAX, Server Performance, Web 2.0 — Jules @ 9:08 am :: Comments Off
Relates to: , , , , , , , ,

Why You Should Limit Customer Choice

I’m confronted with the purchase of a new laptop, and am wracked with indecision. A common problem, perhaps? It’s easy to see why: With such a bewildering array of options available I simply can’t be bothered – or don’t have sufficient information – to make the choice.

12, 14, 15, 17 inch screens. 2, 3 4kg weights, battery life options, processors, RAM, all the other specs that I’m not interested in studying. It’s all there. For me to decide.

Intel Core Duo T2250 vs Intel Core 2 Duo 5500? Even stating CPU clock speed has become passé. In the good old days we had MHz and GHz.

I don’t even particularly want to use a laptop, but upcoming travel engagements dictate it as a necessity.

We constrained Wormly users’ choices.

optionsAnd it did a world of good. Until quite recently, Wormly customers were presented with pricing for every nuance of the services we offer, and they could use as much or as little as they liked.

It seemed a brilliant idea at the time, to offer no more and no less than what they needed (wanted?), and to make sure they don’t have to pay for stuff they can’t use.

Brilliant, except that it ignored a fundamental principle: That customers rarely know what they want.

All they know is that they have a problem – and it’s up to you to present the right solution. By splicing up our services into 4 distinct product offerings that appeal to 4 unique customer profiles, we’ve drastically simplified the buying process and – quite unsurprisingly – substantially improved our lead conversions.

Is it easy to buy your product?

Filed under: Marketing, Sales Process, Web 2.0 — Jules @ 8:45 am :: Comments Off

Welcome to “Never Offline”

I’ve been holding off on blogging for quite some time now – but as with most fundamental shifts there’s only so long that you can avoid becoming part of the change. There’s little doubt now that blogging has become the primary channel for communication between vendors and users in online business.

Since divesting Bikely to Future PLC, I’ve made some time available for both article and blog writing – and this is where I will start, hopefully giving back a little to the online community that has taught me a great deal.

Plus after reading this thoroughly polite mention of our monitoring service, I felt somewhat compelled to join the fray. Word of mouth recommendations are a cornerstone of growing small business, and I’ve got more than a few that I ought to share.

Expect to see plenty of technical analysis in this blog – I am, after all, a techie at heart. I also aim to share my discoveries in the variety of activities that go into creating, marketing and developing an online service.

That includes everything from search engine marketing, infrastructure design, and user interface architecture, right through to pricing models and customer support. Being a jack of all trades seems to be the most crucial aspect of running a small business.

One final note – I believe that the blog as a publishing medium demands a personal connection between author and reader – as such I will not be blogging from “behind a curtain” as it were. You know who I am, precisely where any conflicts of interest lie, and what I’m trying to achieve with this blog.

We’ve seen numerous blogs which are simply hopping on the “blogging is the new marketing” bandwagon by offering poorly disguised link bait to draw traffic and backlinks. This will not be one of them.

Oh and the name of this blog, Never Offline? Well you and I; it seems we’re always online – and Wormly is all about keeping websites online. Together we’re increasingly Never Offline, right? Hopefully it’s a good thing, but time will tell on that score.

Filed under: Meta — Jules @ 10:51 am :: Comments Off
Relates to: , , , ,
Jules Szemere

“Never Offline”

A blog hosted by Jules Szemere, founder of the Wormly Uptime Monitoring Service.

On a semi-regular basis Jules will be trying to demonstrate that website infrastructure is not a fundamentally boring topic, and that your users really do care about the uptime & speed of your website.

He promises to keep use of the term “Web 2.0” and other buzzwords to a bare minimum.