Planning enough time to do it

Most people like to find all options they have available to them, weigh the pros and cons of each one with the best possible result being the desired outcome. However, there is one variable of the outcome that is often neglected, the duration to reach the outcome. Instead of discussing the plan, if the first suggestion is reinforced with agreement by another automatically more often than not something some work will begin. It might not be the best choice but something is being made whilst a better idea is being decided upon. The something that is getting done if put forward by someone sufficiently clever will more than likely be relatively close to the best idea when it’s determined. Also it will most likely be able to get adapted to work before the completion of starting it from scratch in the present moment.

The development cycle for software is very similar, there is always the discussion of whether it would be quicker to adapt something that already exists, i.e. the time to learn its structure and behaviour versus the time to work out your own and build it. In smaller systems the first option is often the quickest and in larger systems it is easier to make your own.

This is the argument the committee in my head is having at the moment over making CMS, I wasn’t going to tell anyone about it but I typed most of it out anyway in a comment I was going to make at KCNB and I thought that I’d rather keep it for posterity here and drop a trackback to her.

Hazel, the owner of KCNB, is coding a game as a degree project, she’s a little perturbed about spending so much time planning and using the scrum development method. In a nutshell to adhere to its methodology you say what you are going to do and do it in the time allotted.

Accordingly you need to workout, usually in length what you can do before you do it which often means a lot of unproductive talk followed by anticipated achievements which can be very reassuring to the person looking at the bottom-line of missing a deadline.

The method I was primarily taught was the RUP which in a nutshell is making a broad plan incrementally more accurate until the problem becomes little manageable chunks which don’t necessarily need the attention of the starting team.

This means 4 people could do the planning but 20 could do the coding as their bit only requires them to know what goes in and what must come out. Whereas the scrum method is best suited to having those who start a project finishing it aswell as newbies brought in would take a long time to see what their doing in the grand scheme of things, this also means that the man-hours of work can not be distributed in the home stretch.

Working on my own I write the plan as I go, moulding and adapting it as I need, however working as part of a team that aren’t mind readers I find it best to create documents and drawings to show my intentions, and if someone has the same idea as me I immediately back them up to get going, not because I think I know best but because if 2 people have the same idea to solve the problem is can’t be that bad of an idea and its mostly likely simple “which is the ultimate sophistication” (Da Vinci).

Both planning frameworks have pros and cons but sometimes its best to make it up as you go along, its risky but experience and talent with a little luck can sometimes reach the finish line quicker even though they’ve actually done more work (coding) and less planning than another team that have done less coding but more planning. It’s all a balancing act between a time intensive plan making a beautiful and efficient system versus a slapped together quick’n’dirty one.

Specific vs Generic Coded Solutions

Years ago I threw up a phpBB to keep a few hundred people I met at a Scout camp talking. We quickly formed a community and the demands on the site grew so it keep up with the growth I hacked it to bits to add in extra functionality and static pages but it was hard work and I knew a CMS would make the process easier already having the basics a community site would want built in. I did some rigorous testing on 6 different open source website managers back in 2005 and I couldn’t find one that could be easily integrated so I used the most promising and hacked them together and several years down the road it still works. Just.

Last month I had another look, this time with the objective of transferring all data to the new system, having glanced at 22 platforms I often find it has the applications I want but lacks somewhere else. For instance the CMS required manual edits which are a lot slower and hassling than instead of click and go plugins or the templating system was {SMARTY} based when I’m a designer that’s not afraid of coded layouts. There were a couple other little things but those were at the top of my list.

So once again I still can’t find what I want meaning I’ll be forever working with a medium I’m not entirely satisfied with or I can make one myself. Its a pretty big task to undertake, hundreds of man hours of coding and research not to mention risky. The most important issue is security, with one person making the software you have one set of eyes bug swatting and security hole filling, its hard work and many hands (and eyes) make light work. I don’t know if I’d want to put at risk 4 years worth of community bonding using home-made software that has only been given okay by the person that made it.

There would need to be quite a lot of dedication on my part, it’ll be a year long project (at least) to get everything done I want with the next busy period coming in 4 months and 12 months. Saying that if I had started in 2005 imagine how much I could’ve done by now (although I probably wouldn’t be as good at other things). Its certainly not the quickest way to solve the problem, when each CMS out there has its own community of hundreds/thousands of developers working on modifications similar to what I want that could be downloaded an installed that same day.

I could speed things along by opening up the project to others but if they’re worse programmers than me it weakens the project and the better ones would open up my box of code, laugh, and carry on their merry way meanwhile I continue working alone slowly solving a problem in an inferior way.

There is another fun side to look at, with a public CMS there would be logos and website design galore which I could concentrate on which would be quite nice. However once the name, logo and branding are sorted it’ll just be more and more web design which is quite constricting comparing to the blank canvas of print work.

With the third rung of my graphic design career ladder looming overhead I probably shouldn’t be focusing on coding it can’t fill up my portfolio. I suppose it’ll be a hobby for a while, which for some means it’ll never be made to my full potential but at least the trying will be fun, and hopefully keep my plugin skills improving, heck if I write enough plugins and bind them together with string maybe it’ll be enough?

I suppose going with the Witwicky family motto: “No sacrifice, no victory”. I have to risk sacrificing a lot of my time to achieve a success and popularity.

If you happen to be interested making a CMS for code savy graphic designers feel free to get in contact and start up a dialogue.

Free Multimedia Software

Free software is a great thing. However because it’s free the people that labour over the code don’t have any extra cash to spend on advertising it, you only really get to know about it through word of mouth. A old friend, Hazel, has put together a list of useful software to help spread by word of mouth what she thinks are the best ones out there. However she has missed off audio and video software something I hope to fill in.

Playback

  1. K-Lite Codecs

    Before you can even watch a video or hear audio you need to know you can open it. For this you need a coder-decoder, this pack contains pretty much every one you could need in one swoop along with a fallback media player (Media Player Classic).

  2. QuickTime

    Free from apple, needed for a lot of content online, mainly inline trailers, you won’t need the full version for full screen offline playback.

  3. Winamp

    You’ll want this to play just about everything offline, its got a low memory footprint which is always desirable.

Audio Editting

  1. Audacity

    Works on multiple platforms and has a nice minimalistic interface for editting audio shallow learning curve makes this recommended for beginners.

  2. GoldWave

    Frequent updates, quick rendering with lots of visual aids for audio editting.
    Recommended for users with some experience.

Video Editting

  1. Kino

    Similar to Windows Movie Maker in friendliness, reliable, easy for beginners. Interface has changed a lot recently, it may do again.

  2. Avidemux

    A lot more comprehensive than Window Movie Maker, but works on many more systems. Steep learning curve.

Audio Recording

  1. Free Rip

    Convert your CD’s into MP3, Ogg Vorbis, WMA format whilst getting all the track information and naming them correctly for easy finding later. Very quick, very reliable.

I’ve used all of these myself on a Windows Computer, I can’t make any promises about them working on a *nix or Mac but I doubt many of them wouldn’t.

There you go, everything you could possibly need to make your own sounds and videos and you didn’t even need to spend a penny. There are firms that pay studio alot for there suites and now you can do similar jobs for next to nothing!