Non Functional Requirements

All too often software development projects focus solely on the functional requirements, after all, upon delivery, our clients simply want to see an attractive functional solution. But what do our clients know of performance, scalability, capacity, security and availability? These non-functional requirements are typically implied, assumed, or the client is simply not aware that need to be specifically catered for. Instead the need to be driven from an IT perspective, but how do we (IT) go about putting measures on performance, capacity & availability and how we can ensure we deliver on these?

Any measurements of an object need a base unit of measurement, or at least a yardstick to measure against. It is not possible to measure performance without a yardstick since there is no unit of measurement. So what do we consider performance? Is it simply the ability to manage with whatever levels of usage are thrown at our solution? Is it a total number of users, or user requests per second? for web applications we normally measure page response times, but for most applications it should be based on the response time from an event (a click, or keystroke ) to a final rest state. If we base our ideas of performance on previous experiences, we need to have specific measures. E.g. If an existing website took 2.5 seconds to load for a single request, but slowed to 7 seconds for 100 simultaneous requests, then what do we consider acceptable performance if our new website takes the same amount of time to load? We can consider factors such as file size, bandwidth, the hardware (CPU & RAM), or Application Server. Fundamentally, we might assume the same performance as existing experiences is acceptable, but for how long?

An effective tool to ascertain current usage levels in terms of peak usage times, days & no of users/requests throughout is a Business Usage Model. This BUM defines the expected no of users now and in the future; the expected peak periods of use – for business or financial systems, this typically shows peak usage between 9am and 5pm Monday to Friday with peak usage typically earlier on. Over time, a trend can be determined to help predict future peaks and volume of users. Additionally the business may have some specific plans on how many customers or clients they are targeting to acquire over a given period. Tie these figures together and you should be able to predict your worst case scenario – how many users making requests at the peak time on your peak day. Test your site with that volume and measure how long it takes to load your site (specific pages that provide the most functionality). Now the figures you record will depend on what you have decided is acceptable. For financial transaction sites e.g. Banking and Trading, anything more than 1 second is unacceptable, and for anything with online bookings, you need scalability. Read more of this post

Philanthropy starts at Home

We all have certain charities, causes and not-for-profit organisations that we go out of our way to support and there are others that we graciously decline. For me, given my background in Naval Architecture, its Maritime History, and late last year I became a volunteer of the Sydney Heritage Fleet otherwise known as the Sydney Maritime Museum.

As a volunteer I can offer services in all manner of areas including deckhands, tour guides, hospitality, shipwrights, carpenters, general labourers, rigging, painting, welding, riveting, restoration and clerical roles as well. Given I have a full day-time job and a young family at home, sparing time to assist in any of these roles is quite difficult, so I’ve turned to doing what I do best – Website design & development.

So through this philanthropic gesture, Mammoth Technology has been engaged to provide an update site for the International Maritime Museum Congress – a not-for-profit self-supporting international organisation for maritime museums all over the world to come together and share mutually beneficial research and standards for maritime preservation.

Additionally, in March I will be travelling to Mannum South Australia for the 2011 Australian Maritime Museum Conference where I will be presenting a paper on how Museums can connect with Visitors online and on-site with a focus on how technology can assist. I’ll be talking about a few new technologies and some old ones – e.g. Free Online CMS solutions, QR and RFID tags, Augmented Reality Applications, Interactive “Surface” like interfaces, and the “real thing”. I’ve spoken to some staff from some of the top Museums in Sydney and there is definitely a trend towards these sorts of technologies, however the real obstacle to adoption of these technologies will be the limited funding to many of the smaller not-for-profit museums that dot the country.

It really is up to each and everyone of us to commit time and support to our “special interests”. Wether it be a Museum, a charity or even the local school canteen, these organisations cannot sustain their existence let alone technological advancement without the thousands of volunteer that help to keep them running.

Use the following links for more information on how you can volunteer at the Sydney Heritage Fleet or your local organisation. Every little bit helps.

Standing on the Shoulders of Giants

We are “standing on the shoulders of Giants”.

No matter who you attribute this famous quote to,  we are still thankful to all those that came before us and provided us with lessons learnt so that we can contribute to and build on their ideas.

Ten years ago, almost all of the web solutions I provided were bespoke solutions that I tailored to every client. I did reuse existing code from previous jobs, due to retaining copyright and passing on a perpetual royalty free license to my clients to make whatever changes they see fit, howevever it was only ever limited to core functionality and almost every other web page was developed as static html using a common header and footer that contained the site’s look & feel or “theme”.

Nowadays, the same sites can be built in less than a day using tools that are freely available to anyone that wants an online presence. That’s right. I’m talking about WordPress. Over the years I’ve seen quite a few attempts at online site builders that let you customise and create a collection of webpages, but they were always compromised in some way – lacked theme support, CSS edit-ability, cost too much or were functionally limited in some way. WordPress.com and WordPress.org has all the features I ever thought were needed, yet it has so much more. WordPress – where were you 10 years ago?

Sure as a web developer, the longer it takes to build a site, the more you get paid, but with clients looking to pay as little as possible and competition in a growing market, the faster you could knock up a site and get it out, the sooner you could move onto your next job. Add to that a lack of respect for true experience, which meant you were competing with 14 year old kids who were pretty cluey at putting together a functional page but had no idea about usability and performance, and it becomes all too easy to become very disenchanted with the whole industry.

So now, as I sit here and write this blog using WordPress, it becomes so much clearer that the next website I build will be using WordPress. With the vast number of free and commercial themes available and widgets and plugins, I no longer need to do Photoshop layouts or write any code. Imagine that! As a web developer, I’m back on an equal footing with my clients who are equally as capable of performing the (WordPress) famous 5 minute install and getting online. Have I become redundant? Well, No. that’s probably being a bit extreme. Web Developers will alway be required to customise, configure and update sites and themes.

I’ve come of age considering my last site was built using Joomla – an open source PHP-based CMS similar to WordPress. I managed to get by building an entire site with image galleries, news articles, and of course the admin system to create , update & delete articles, pages and anything else – all without writing a single line of code.

Does this make me a lazy developer? I don’t think so.

Does this make me a dumber developer? Quite possibly, but that’s another story. (Read The Shallows by Nicholas Carr for more about what the internet is doing to our brains).

Does this make me a better developer? I think so. The client gets what they want (in fact so much more if you consider just how extensible WordPress is) and for much less that it would have cost to provide a bespoke solution.

I  believe that when using tools like WordPress and Joomla, we are “Standing on the Shoulders of Giants” and this allows us to go so much further in what we can do and deliver for our customers. Anyone that’s not looking to leverage existing solutions to deliver is not looking far enough. Granted not everything that can be invented has, but we can always do with a bit of a boost!

How you made me feel

Your silence is deafening,
my head screams while my heart breaks.
Since you left me, I have failed to love;
No other image can be borne next to you.
I am still sane but my mind is not.
Your name echoes in my dreams and nightmares.
Knowing that you have found elsewhere
what I lost here with you, gnaws away
at my innermost person, exposing every
secret that I dared to share with you.
The fun and laughter exist no longer,
our memories haunt me everyday, every way,
everywhere. The people, the places, the songs,
the words, the smells, the sounds, shout at me;
make me shrivel up inside and scream;
not for you, not for god, but for help;
help and redemption from the place where
I exist, the hell that I live in and
suffer every moment since you went away.
The very last time I saw your face, it said
goodbye forever, but I was deaf; or was it
blindness that made me incoherent to
your yearnings for escape; escape from
my overwhelming, smothering love for you;
Love cannot therefore be a good thing – to
allow one person to destroy another due
to lack of love. ‘Let them leave and if
they return, it was meant to be, otherwise……’
You were never meant to leave, nor come back;
come back for what? .. for a second chance
to dishevel my mind from the labyrinth of
mixed messages that so besotted me with your spirit?
No, this is no plea for reprisals or forgiveness,
nor is it a wish that you were wrong. What has
happened has happened and will always be.
Let the hell continue…… why am I so alone……

© Michael Hall 1994

In your room

In your room the walls echo with passionate shadows,
Empty realms of light melting in and out of each other.
I am drowning in a sea of petals,
Soft and red as your kisses, warm as whispered promises.

In your room the musky smell like incense
Draws me deeper inside your lust,
Dark and damp as the hairs that coil just below your navel.
Tight as your legs wrapped around my hips,
Hard as your breasts crushing against me.

In your room I am naked and fearless as your eyes open,
wet as your mouth and strong as your nails digging into my flesh.

In your room I am cradled with your passion,
I am filled with your hunger,
I am bruised with your aching,
I am overflowing with your desire.