magpiebrain

Sam Newman's site, a Consultant at ThoughtWorks

Archive for ‘October, 2003’

Whilst reading one of Hani’s “enjoyable rants”:http://www.jroller.com/page/fate/20031029#opensymphony_dirty_laundry over at “The Bile Blog”:http://www.jroller.com/page/fate, I can upon a reference to “Seraph(Atlassian – Seraph)”:http://opensource.atlassian.com/seraph/introduction.html, which at first glance seems to be one of those things that is destined to save me loads of time the next time I write a web app. For some reason, in nearly every web application I’ve been involved with (and there have been a few) I’ve ended up either writing the authentication and authorization code, or at least eneded up doing major work on it – for me its replaced the constant implementations of sortable tables for various companies Swing interfaces.
I’m going to be playing around with some changes to the “Display Tag Library”:http://displaytag.sourceforge.net/ at some point – I might combine it with a web application that uses Seraph to see how it hangs together. It should also be noted that Seraph and The Display Tag Library are the first projects I’ve seen that uses Maven and have gone to any effort to make the resulting sites look like something other than the default Maven L&F.

Bram has hit the nail “right on the head”:http://advogato.org/person/Bram/diary.html?start=97when he says that what users actually want in software and what they actually ask for can often be two completely different things. Most of us who have developed software have probably come across various forms of user driven software design. The central principal behind such development processes is to sit down with your prospective user and work out what they want, such requirements being detailed as Use Cases, or Stories (in XP parlance) or whatever. What people commonly forget is that recording what the user says they want is not really the job, its about working out what they actually want and helping them understand this. Never let your marketing department gather user requirements – you’ll end up attempting to deliver a product too soon packed with fancy features that don’t actually address what the users real requirements are. Don’t let your manager do it either – every added layer of communication between the developer and a user is an opportunity for miscommunication. I know it can be a drag, but making the effort to develop a meaningful business relationship with your user can drastically reduce the chances of feature creep and can help produce software that the user really loves. And a happy user is more likely to be a repeat customer after all…

I “posted(Advanced Table display using JSP Tags)”:http://www.magpiebrain.com/archives/000095.html a while back about my discovery of the “Display tag Library”:http://displaytag.sourceforge.net/, used to created tables in JSP pages. To recap the tag can handle formatting, automatic export options (Excel, CSV, XML), sorting and grouping with a minimum of fuss. Back then I was impressed just from reading the documentation and from viewing the “on line demos(Live Examples of the Displaytag library)”:http://www.displaytag.org/index.jsp. Now I’m impressed because I just used it to generate a very simple contacts list for our intranet, and it took me about 2 hours to download the taglib, install it, work out how to use it and then create a great looking table with sorting, grouping and CSV export. To be honest, I spent as much time playing with the CSS as anything else.
Next up, I think I’m going to look at a simple way of putting form controls in the table. A “prototype(Display tag library – Editable table implementation)”:http://sourceforge.net/tracker/index.php?func=detail&aid=755192&group_id=73068&atid=536615 based on the Display Tag was built but it seems a little complex, and despite being posted several months ago it doesn’t seem to of been integrated in the code base yet. Hopefully I’ll be able to come up with some simple extensions that don’t require too much coding.

I try to keep my blog relatively on-topic, and make sure its at least partially related to technology issues. However something has come to my attention that requires airing in public, before I explode in a towering rage. Hellblazer, perhaps my favourite all time comic series is being made into a film. For those who don’t know, Hellblazer tells the story of John Constantine, a Londoner mystic who spends his life drinking, pissing people off and messing around with the occult. John Constantine first appeared in Alan Moore’s run in Swamp Thing, and since getting his own comic has been written and drawn by such greats as Garth Ennis, Steve Dillon, Jamie Delano, Brian Azzarello and Warren Ellis. Noted for sharp humour, occasionally shocking material I look forward to each release of the graphic novels with genuine delight.

At the best of times the results of comics can be very varied – from the good (Batman, From Hell, Spiderman) to the bad (Batman and Robin). Fans of the source material are notoriously picky when it comes to translations of their beloved material. When I heard they were making a film, I thought I should try and keep an open mind. “Who is making it?” I ask. “Warner Brothers”. Hmm…ok…”Who is the director?.” “Francis Lawrence” I hear. Who? Turns out this is his film directorial debut. Credits to date include music Videos for Britney Spears, Jennifer Lopez and P.O.D. Admitidly Spike Jonze’s only experience prior to Being John Malkovich was directing videos, so perhaps all is not lost. “Where is it set?” I ask again. “America” came the reply. Now I’m really worried. So much of John Constantine’s charm comes from the pithy Londoner in him – such much of the excellent backdrops to the stories being London itself. Then I remember High Fidelity, which survived the translation to America relatively intact. Now the big question. “Who is playing John Constantine” I ask? ” Keanu Reeves” comes the, frankly unbelievable reply.

NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO!!!!!!!!!!!!!!

For the love of god, what were they thinking…

More information on this potential abomination in waiting can be found over at “Straight To Hell”:http://www.insanerantings.com/hell/movie/, probably the best Hellblazer fan site.

For a while now some colleagues have been raving about XPath, but I must admit its something I’ve never really looked into. In a brief post Simon has managed to not only explain what XPath is, but also why its so damn handy. I would quote from his post, but its some concise there isn’t any real point – go read it for yourselves! He goes on to mention that those of us with valid XHTML markup (I knew there was a reason I did it) can use XPath queries to search our websites, and the search engine on Sam Ruby’s blog allows you to do just that.

I’ve been reliably informed that the “Telegraph(Telegraph.co.uk)”:http://www.telegraph.co.uk/ are currently carrying out experiments with RSS, and are planning on rolling the service out in the near future. I don’t know if there are going to be any restrictions on the service yet (e.g. ads in the feeds etc), but I’ll let you know as soon as I do.

Work is proceeding on my second article on the “Informa API”:http://informa.sourceforge.net/ – I’m currently refactoring the FeedManager class whose use forms the basis of the article. The FeedManager‘s job is to manage multiple feeds, and handle their lazy loading (which will fix a major flaw with the simple code presented in “my first article(Java.net – Using RSS in JSP pages)”:http://today.java.net/pub/a//today/2003/08/08/rss.html). I’m also getting to grips with OPML – support for which was added to Informa as of the 0.4.0 release by Niko Schmuck (Informa’s project manager), and will be adding a method to add channels from an OPML file to the FeedManager itself. All changes will be going back into the Informa code base – expect them to appear in the next release.