This summer I started a new job as the Senior Interactive Designer at AOL. AOL is parallel with dial up users and now, more than ever, a large part of the projects I develop focus around optimization. So I thought it would be a good idea to share some techniques for optimization that I have learned over the last few years that many people still aren't familiar with. This article will be the first in a series on overall file optimization and how you as a developer can create smaller files and test them before deployment on the web. And since I'm wrapping up a project right now I thought I'd start with testing.
Optimization testing usually involves different bandwidth connections as well as platforms to see how your files perform in the real world. It just so happened that as I began doing this, a coworker of mine pointed me to a small, free Java application he found called Sloppy. He sent it to me as another cool little thing he had found in his daily surfing thinking nothing more of it than that. Once I saw what it did I just about fell out of my chair. What seems so simple has never been readily available to my knowledge and has been something I could have been using for the past few years.
Sloppy constricts your pipe in a nut shell. It slows your connection down and emulates a connection speed of your choice. To a Flash developer (specifically one who works at AOL) this is a great tool for checking out how content will be delivered over different connection speeds. Preloaders, video buffering, loading XML and connecting with XML sockets can all be tested from a single machine and a single connection.
Sloppy was created by Richard Dallaway in 2000 and has evolved since. Richard was working as a server-side developer for a magazine dealing with heavy graphics at the time. "Sloppy came about because I wanted a manager to be able to fire up something, look at the site and understand how the site would work from a dial-up
user." By later developing an easy to use GUI, non-geek types wouldn't have to worry about messing with modems or web browser settings to see the effects of slower connections.
I was surprised that after so many years developing with Flash I hadn't seen a forum post, a tutorial or a blog with an entry about an application doing what Sloppy does so well. Sloppy requires Java and a 1kb download containing the interface for the app. Once launched, 3 easy steps are needed to use Sloppy. All you have to do is enter a URL to constrain, a connection speed to replicate and to hit "Go". Best of all, it's free! The FAQ states: Sloppy doesn't work as a real HTTP proxy so don't configure your browser to use it. Sloppy doesn't look at the HTML that comes back to your browser. If the HTML contains absolute links, and you follow them, you will be browsing without sloppy. You see this when it happens because (a) the site will load very quickly and (b) the address bar in your browser will change from "http://localhost:7563" to something else.
Sloppy is available for all major platforms and requires no installation outside of Java. Richard's site starts with a quote from PC Pro Magazine stating "Sloppy belongs in the 'essentials' toolbox of every web developer". I couldn't agree more, especially for a Flash developer's toolbox.
Richard Dallaway is currently a software engineer, living in Brighton (UK) and one of the founders of www.spiralarm.com which is all about mobile technologies.