At the moment I’m working on my second project thesis for my studies. The topic I have chosen in accordance with my company is the “Project Mess Tool” (PMT) as we named it.
So what’s this about? In a few words: The PMT is a tool which will allow us to keep track of many quality-relevant metrics our company-website “produces” every day.
Problem
The sites we use for selling products are changed very often due to marketing campaigns. Not only do we have to change some images for that instead these are huge changes to the affected frontends. This of course results in the fact that many parts of our codebase are from older versions which may not be needed anymore.
At the moment we’re in the uncomfortable situation that we often don’t know how our pages really perform e.g. how many of the resources we deliver or keep are really necessary. We don’t know how many kilobytes (or even megabytes?) the average page weighs nor do we know where we could optimize easily.
Possible solution: the PMT
The PMT is designed as flexible as we think it can be. All it basically does is receive data from all different kinds of sources by offering a defined interface (a webservice). This will include information from
- the Jasmin servlet as mentioned by my colleague Nico Steiner (both in German)
- our Pustefix framework which renders the sites
- some other emerging projects we will use to make our websites even faster
In the end we will have information not only like “how many of the CSS selectors we deliver are really used by our pages?” but also “how does this change over time”. So we will be able to track quality with our predefined metrics and check back every week or so whether we have improved in those fields.
Architecture
I chose Grails to build this application – which I’m already pretty familiar with – but we’re also using some core Java libraries to add some features specific to the frameworks and technologies we use. Grails seemed like an ideal candidate for me because it already ships with the really powerful GORM abstraction layer. There are also plugins for other enterprise applications like the Quartz enterprise job scheduler. Grails makes it very easy to run all this stuff so I got done with the first steps pretty soon.
Frontend
At the moment I’m also drawing the first drafts of how the user interface of the PMT will look like. It will probably use Flot which I also mentioned several times.
Conclusion
For me this is a really great project. Not only in its size – it’s definitely the biggest project I’ve been working on until today. But its also a project in which I spend all my effort and time of work this time. I think it will help a lot to improve the overall technical quality of our web frontends.
I’ll keep you updated with all major changes and milestones to the PMT. So what do you think of our idea?
Tags: 1&1, Grails, performance, PMT, study
Hi Matthias,
You’ve been very diligent this weekend, great!! I’m very curious about your project thesis and looking forward to follow your presentation. I’m also very interested in Flot, I think I’ll also play around with it a little bit. In your part “Possible Solution: the PMT” you link to Nico Steiners site. As Jagdeep.S. Pannu writes in his article Anchor Text Optimization you should give the links a real name instead of “here”, if you want to support his site.
I like your new 960px layout. It fits exactly in my 1024px fu**ing notebook :-)
Have a nice week
greez
Lino
Hi Lino,
thanks for your comment, I updated the post to make the links more readable. Thanks for pointing me at this!
Cheers,
mat.i.am
[...] main thing of Jacqueline is that it’s one of the first pieces to the lately mentioned Project Mess Tool. We’ll be using the power of Jacqueline to detect unused CSS selectors in our web [...]
PMT-Artikel…
BA-Student Matthias hat einen Artikel über seine Arbeit am Project Mess Tool geschrieben. Das Tool soll ein zentraler Bestandteil unserer Qualitätssicherung werden und liefert verschiedene Frontend-Kennzahlen, welche von den unterschiedlichsten Systeme…