views:

704

answers:

3

I'm writing a specification document for a whizz-bang Web 2.0 application, and I want to make sure that the client is not mislead into thinking that the jQuery animation / AJAX bits will be smooth for any visitor on their dodgy old DX-66.

I considered taking the Firefox 3 requirements (Pentium 500MHz, 128MB RAM) but that isn't going to provide a sexy Web 2.0 experience. What minimum hardware specification would you recommend for today's modern web apps?

+1  A: 

why don't you just put some standard office PC in the last 2 years time specs? some >= 1,5 GHz processor of any kind & 512 MB RAM should be something not too expensive and pretty common today in most environments.

zappan
+1  A: 

This is one of those areas where we don't specify, and for good reason. The experience can be so drastically different between browsers, versions and OS, that it is impossible to give concrete performance promises. I typically state the minimum system requirements for the functionality to work, and that is always the same as the JavaScript library I use. So I just pull from jQuery's specs. You will know when a vast majority are experiencing performance issues, and a lot of times that means an ongoing adjustment, not a one time fix... more like a give/take.

EDIT:

Think about this way... how fast of an animation is fast enough? If your drag/drop lags, how much lag is okay? If it is slow on Safari, but fast on Firefox on a particular system, then do you blame the OS, or the browser, or the processor? When you combine the three, you are talking about increasing the complexity of your testing plans exponentially.

hal10001
Good idea but I can't find the jQuery specs! Any chance you could provide a link? Thanks.
tags2k
http://jquery.com/ -- Roll over the cross-browser link :)
hal10001
That just tells me the browser specs, not the hardware specs?
tags2k
Yes, which is the general idea. Browser (functional) specs are okay, but you can't provide hardware specs because there are too many other variables to consider.
hal10001
A: 

It's possible to write a very simple application that will bring a 3GHz powerhouse to its knees. And it's also possible to write a very complex, featureful application that runs on an old 1GHz Celeron with minimum slowdown. There's no way we can give a specific set of requirements based on the technology, it depends on your application and how it is written.

My suggestion is to pick a speed, and then buy an old computer (something that was top of the line 4 years ago perhaps) that runs that speed. During development, test on the old computer regularly to make sure it works. Set that as your official minimum specs.

davr
While that's a good idea, I can't promise a specification now that might turn out, during testing, to not be capable of handling my scripts. It really needs to be test-proof right now, which seems to imply that I should pick some fairly high specs to begin with!
tags2k
My point was that if the test system can't handle your scripts, you need to modify your scripts / optimize / cut inefficient parts out, in order to make it work on the test system.
davr
I'm using jQuery, if the test machine can't handle it then there's nothing I can do to change that, short of re-writing jQuery and I'm fairly sure they've optimised it as much as possible already...
tags2k
You're thinking about it wrong. The hardware specs depend on what you do in your code, not on the library. The fastest library in the world wont help if you do something really slow in your own code.
davr