Im writing this due to my frustration with the lack of progress on Skribe. Im sure im not the only one.
In the 3 (or 4) years we have pursued this never-ending project (Skribe), I have learnt a great deal, both during the project and in my professional career. Please dont see this rant as another push for something new just for the sake of it – But, (here it comes) – I think it is clear that Java and J2EE frameworks are not working for us. In fact they have not really worked for us ever – Tom ? how many hours did you put in to get a simple login/register site in the Struts/Tiles Framework ?
Looking at skribe.noumenaut.com as the sum total of our work over the years – I would go as far as to say that I could have coded this in PHP in under a week working 9-5, possibly less.
Its my own personal opinion – That J2EE is too bloated, over complicated and quite frankly wrong for Skribe. Yes it can provide the possibility of lots of scalability, flexibility and legacy support if you invest every waking hour you have with it – But for what we want to do its definitely not the best tool. This is a web app we are trying to build here – not mission control ?!.
After developing/designing web sites and backend web apps for almost 5 years now – I have come to realise that it is very important to use the right tools for the job. Why crack a peanut with a sledge hammer ? Sure Skribe’s no peanut, but we are having no success with this sledge hammer. Our choice of J2EE along with our ‘re-invent he wheel’ approach (ie. our own intranet) – has meant that Skribe has suffered to the point where it has almost disappeared.
What I want to put forward is a new approach in how we develop Skribe, from our intranet to our choice of backend/frontend. Can anyone list the reasons why J2EE was chosen in the first place ? I admit I was not around back then, but I can guess it was down to some or all of the following;
1. It was (and in some respect still is) what everyone else was using.
2. It looks good on the CV
3. Can be very powerful (but nothing like it should be given orion’s stability on dune.net)
4. Orion is free as is J2EE (the whole open source is ‘free and good’ argument)
5. There are lots of open source J2EE developers (I think what we have come to realise is that we inadvertantly attract lots of students looking to jump into J2EE so they can get out of open source development in an effort to reach real paying J2EE jobs elsewhere)
J2EE was certainly not chosen for its ease of use – Anyone who has worked with any MVC framework (e.g. Struts/Tiles) in J2EE will tell you that. Doing the simplest things with it becomes a nightmare. Its not like im just giving up on it either, Ive tried (over and over) to get into Skribe’s code and start working with the frontend and presentation layers.
‘So whats the answer ?’ – I here you ask…
Ruby on Rails – I reply…
‘Whats that? some crazy new language and framework that will cause us no end of startup issues and extra learning ?’ – you shout..
‘No’ – I scream back; If you havent heard about Ruby and Ruby on Rails in the past month then you’ve been missing out on a new(-ish) wave in web development – Its not only easy to learn and very powerful – its written using the most elegant OOP language I have ever seen – ‘Ruby’. Ruby is the language, Rails is the MVC framework. Hence ‘Ruby on Rails’. If you dont believe me, start asking the swarm of Java developers who are ditching their sledgehammers and heading into Rails.
Without jumping right onto what could be the ‘next big thing’ – What I suggest is – you spend some free time in the next 2/3 weeks, looking through the links below, and have a go yourself – then come back and ask yourself – why are we using J2EE?
‘Ive no time for learning a new language’ – You might say..
Well I think its about time (for Skribe’s sake anyway) to at least try it out. Even if you are taking on pure project management role – I think you should definitely look at it – to get a good appreciation of whats involved. So please try out the following;
Start at rubyonrails.org and begin reading and watching the videos
Then install ruby (and rails) – on windows you can use the 1 click ruby on rails installer or try the Rails Academy for more help with setting up on windows
Next start your first rails project by following this tutorial; (parts 1 and 2 will take you no more than 30 mins and you’ll have the guts of a web app up in no time) – Then try the creating a blog in 15mins video -
Next listen to some of the Rails podcasts – in particular listen to the earlier casts to get a feel for what Rails is.
After all that you might ask – ‘Ok wheres the proof then? – Ruby ain’t done nothin..!’
Just some of the web apps running under ruby on rails include;
- http://www.37signals.com/ -
Basecamp, Backpack, Writeboard, TadaLists, Campfire
- http://odeo.com/ -
Odeo Podcast Hosting
- http://typo.leetsoft.com/trac/ and http://blog.leetsoft.com/ –
Typo Blog (the very blog engine i used to setup this blog in under 20 mins!)
- Instiki – a small light weight rails wiki (http://www.inistiki.org/)
Also – There is a another Skribe debate in the – going for the 100% Flash front-end – that I am also going to bring up – but not today. To prep for that discussion – I suggest you signup for a new flickr account – use it – post some pictures etc. – look at the way Tags and Photosets work. And especially look at the UI, the way they use AJAX and FLASH to compliment one another rather than replace one another.
I hope I havent offended anyone with this post – thats definitely not my intention. Let me know what you think and if you are still willing to keep this project alive.