29 Aug 2007

Joomla and other open source CMS : safe to use ?

Just happened to stumble across the truly interesting article Joomla goes GPL - again -- to make it short, it´s about a sort of "war" between 2 parties:
  1. the Joomla core development team, which has sort of redefined their GPL license and declared that commercial extensions have to be released under the GPL as well

  2. the makers of commercial Joomla extensions who - until now - were safe to do provide their work under commercial license and also encrypt their code, what´s now obviously not allowed any longer.
I´m honestly far from completely understanding what´s going on there and why, BUT :: I´m a developer of custom-made CMS systems -- and at times I´m also a "solution provider" and "consultant" who (depending on the project´s complexity and special demands) of course gives his customers the option to rather have his website built upon existing CMS frameworks such as Joomla in order to make things easier and less expensive to him.

However, this "conflict of interests" certainly does affect folks like me, and it´s most likely to seriously affect those (fortunately very few so far) of my customers which have been talked into using Joomla and using solutions relying on commercial extensions -- brutally said :: neither me nor my customer can now be safe that the developer of extension X will continue providing his work in the future respectively be willing to release updates/bugfixes at all !!

IMHO this incidence does reveal something unexpected :: using an Open Source product as such does not provide *any* warranties to you after all, because :: me or you, the probably somewhat naive developer respectively customer/user, who blindly assumed that everything will be "love, peace and harmony" once you start implementing an Open Source solution, might turn into a victim of *politics* over night, and all your work that´s based on it might be doomed on the short or long run !

Honestly said, it now seems that - once and for all - building your stuff based on well-established commercial solutions might not be the worst decision after all, because once you pay for it, you do at least benefit from explicitely expressed warranties -- established and reputable companies providing commercial development applications (such as Adobe´s Dreamweaver) usually do have a very clear & public view of what they´re doing and why, and as their license scheme is clear, you´re free to sell your work or not, and Dreamweaver extension developers are not forced to give away their work for free either.

Very regretfully not so with Joomla, I have to say, and everyone who´s now affected by all that, should be thinking twice and generally rather switch to something "real", even if they´d have to pay for it.

Providing a CMS to your customer is BTW not "fun for the sake of it" -- it´something that needs to work and be supported even years later. I´m now certainly in a somewhat disproportionately skeptic mood, however :: maybe the whole Open Source / GPL - model might not be the right thing if you need true reliability and persistance ? You always get what you pay for -- and if you don´t have to pay for what you get ... make up your your mind.

Let me just add a final note on "extensions" in general, regardless if for Joomla, Dreamweaver or whateverCMS / development application :: IMHO well-crafted and "relevant" extensions which add important features to their host application, should always have the right to be distributed commercially ! Creating & maintaining & supporting a "good" extension is very hard work after all, and - honestly said - "applications" like Joomla or Dreamweaver would be nothing without all those dedicated folks who added notable value by developing open source or commercial extensions. Mind you -- at times programmers even have to have something to eat on their tables, now where does that come from ?

15 Aug 2007

website in the making : vesture couturier

I´m currently building a website for a new customer, and this is how the site´s index page is (for the time being, you know how quickly things like that are going to change :-) going to look like:

Die Kleidermacherin

1. About the project:

Well, what´s a "Kleidermacherin" ? As you might guess from looking at the image in the middle, my customer is "producing clothes" (sort of literal translation), but this rather ordinary german label does by no means reflect the true gorgeousness and artistry of what my customer really does :: she´s an accredited vesture couturier producing high class and tailor-made theater costumes, historic robes and business fashion for women, men and children -- a craft which actually has already been practiced in the european medieval times.

However, to me it´s a truly challenging task to "communicate" this very special craft respectively the associated "grandeur" via a website. But it must be said that (unlike other domains like e.g. real estate websites which are plenty in number and *must* provide a high standard for being taken seriously) I now wouldn´t have to struggle with too many "reference values" for various reasons:

1. very few german vesture couturiers do have a website

2. those few couturiers who do, funnily enough have a very badly designed site using a, say, "90´s, frames, all sorts of font faces, sizes & colors" style

2. Tools used:

"Die Kleidermacherin" is actually my first project being designed "from scratch" with Dreamweaver CS3 -- something that´s giving me enough opportunity to compare it´s new features and improvements to previous versions, and I have to say :: it´s just great, and in particular the CSS handling (and internal display !) is in many ways sooo much better than what´s been possible with previous versions !

The provided "layout" variations are "CSS only", extremely well prepared and documented, and of course valid -- this makes it a breeze to build your own page design based on a certain sample, and the initial "Design" my customer decided on during a meeting was the "1 column liquid, centered, header and footer" one.

The current page design displayed above is certainly quite a "tweaked" and extended version, but Dreamweaver CS3 respectively it´s default Layouts truly "play" to you and your customer when it comes to choosing a draft -- just great !

3. Approach

This time my coding- & database related skills will be taking a back seat in favor of design -- something I´m innately not that great in, but when looking at my current draft I gotta say it´s not bad either, and I´m sort of proud of the top logo including the "scissors" idea :-)

The pages will be mostly static, but of course I´ll be throwing in some custom-made PHP/MySQL based...

4. Dynamic features

4.1. Guestbook

Guestbook entry form

As opposed to most prefabricated guestbook scripts available at popular script "libraries" like Hotscripts or elsewhere, this own development tries hard to meet one important need :: providing utmost security measures to protect the system against the "usual vulnerability suspects" such as fake entries by "bots". In addition to this the guestbook entry form displayed above contains heaps of validation routines (both client- and serverside) and "data filters" to prevent inadvertently or intentionally submitted wrong or missing data.

Custom programming is not just fun, but can add some value at times, because it´s *you* who´s supposed to "know your stuff" and to control what´going to happen with the data after submission ::

a) I added another server side validation that´s checking the database for existing entries to make sure that no email address is getting submitted twice

b) the new entry will first have to be approved by the site admin before being published on the website -- means, my customer will be receiving a notification about the new entry and then be able to revise the message respectively activate respectively reject/delete the entry within her guestbook administration area

c) a certainly quite convenient feature to the visitor adding a guestbook entry is the option to receive a notification once the new guestbook entry has been approved and actived by the site administrator

1 Aug 2007

a *comprehensible* counseling interview -- how difficult !

As I´m now on the point of becoming a freelancer again after a 3,5 years stint as salaried full-time web developer working exclusively for one company, I just conducted my first counseling interview with a new prospective customer. Well, as I did work freelance before, it´s actually not the first interview I ever did, but -- seems as I honestly underestimated the difficulties of having been "absent" for that long and then taking it up again, and the main difficulty I struggled with during the interview´s initial stage was :: I´ll have to relearn my previously (1999 - 2003) existing ability to mediate facts in a *comprehensible* way !

Working 40 months for one company definitely does shape and improve your communication *habits*, but can be all the time you´d ever need to have your general communication *flexibility* ruined :: talking to the same people over and over, and also repeatedly talking about the same matters leads to some sort of "addiction symptoms" :: after a while you know your guys and they know you, so whatever complex matters you´re talking about, you can be sure that your familiar "intranet audience" has by now learnt to understand what you´re trying to tell them, and you develop a reliable gut instinct related to who´s even capable of "reading between your lines" in situations when you´re not able or willing (the usual "bad day" ;-) to communicate yourself that well.

Well, it´s funny to see how your well-trained and previously successful "communication reflexes" all fail when trying to apply them to your new prospective customer during the initial counseling interview. Fortunately the lady and me were both smart enough to quickly get over the initial and mutual "who´s that, and what does he/she talk about ?" stage of confusion and find a common denominator -- however I had to struggle with both having to "find other words" and, honestly, the intuition that all my accumulated expert knowledge (this includes probably irrelevant attributes like a "Community Expert" status and coding skills etc etc) as such doesn´t mean a *little thing* if I can´t communicate my stuff on a "beginners level".

Well, after all I managed to get my "message" across by trying to put myself in my customer´s shoes ("if I were her, wouldn´t I think this geek has his heads in the clouds ?") and reconsider my communicative approach -- but this experience has taught me something valuable by making me notice some simple matters of fact :: it seems that the *real* professional is someone who succeeds to avoid going strong with all his expertise regardless of the circumstances, and it seems that only a real pro will be able to develop a sense of awareness by downplaying his trained "I´m a pro !" figure and rather act responsive to the one who´s actually sitting there with you and seeking help on what matters *him* the most.

Well, on a far less declamatory note :: let´s just learn to save up the bragging for situations when it´s really appropriate :-)