I've spent a bit of time recently working on a flash based reporting website. The project is all pretty standard architecture for a flash website, but there has been a persistent issue about loading times and poor user experience.
After having a bit of digging around behind the scenes it appeared as though the flash SWF file was streaming a configuration XML file in the background. This isn't a great idea at the best of times but in this case the file was 147k lines long and weighed in at 22.5mb. So this accounted for a stack of loading time when the flash app loads up.
After downloading the XML file and browsing through it in Eclipse my first impression is that there was a ton of whitespace in it. After running a quick 'find and replace' on any double space characters (to avoid removing spaces in legitimate text strings) and re-saving the file was down to 3.2mb.
So let this be a warning to anyone loading up machine-to-machine text files. Squeeze them down, don't include whitespace, your Apps don't care about it, the file doesn't need to be human readable, all you are doing is using up network bandwidth.
I won't even get into the risks involved in allowing your config files to be downloaded by people here, that's a whole different issue!
I'm a huge fan of the TED education video series. One that really caught my eye the other day was from David Kelly, titled 'How do build your creative confidence'.
One of the most common forms of business failure that I have the misfortune to witness on a regular basis is the allowance of clients to instigate scope creep within projects.
I have never understood how some industries accept scope creep as part of everyday business; let me explain what I mean.
I've been an advocate of 'best practice' for a while now, in any random psychometric test I'll always come out rated as a perfectionist which may go some way as to explaining why I am constantly striving to make whatever process I am involved in either more efficient or generally just a smoother transaction.
But some recent musing has left me wondering just what 'best practice' is? When I sat down and really thought about what the term means to me I came up with some surprising answers.