Simplifying Joomla Template Layouts

Since the early days of Joomla 1.5, component layouts have bothered me. First there’s the problematic nomenclature (which I’m probably using incorrectly). Layouts are component-specific snippets of HTML and PHP logic that generate the actual code (usually HTML) that goes to the target device. A template can override the default layout, which is just one of the many powerful features that give Joomla sites so much flexibility.

My biggest problem with layouts is that they typically embed too much logic. Why should a layout be determining what to do if a category description isn’t present? Worse yet, why does it have to check access to see if an article body should be displayed or not? Surely the actual view should be responsible for this sort of thing, and the layout should be strictly concerned with how to present the information that’s available.

The other problem is that layouts are ugly beasts. Most layouts need to flip between HTML and PHP dozens of times, just to do the most simple thing.

I’m not exactly a patient person. Maintaining the existing layout code in the Joomla core components is bothersome enough, but recently I started doing extensive work on a third party component, adding my own view in the process. That’s when that familiar snapping sound resonated in my head. Always a sucker for diversions, I decided to follow the tangent and see if I could improve Joomla layouts.

It took about triple the expected effort, largely because the initial results were pretty exciting, and I decided to do more than a hack job. The result is JTML, and the results are described in the white paper Simplifying Joomla Template Layouts.

Every once in a while, the idea of creating a simple language for creating Joomla extensions comes up, but that is a very big job indeed, and there are many, many other things to do in the project. So it remains a bit of a dream. I’m hoping JTML is one small step in that direction.

Steve Jobs Just Loves Windows Vista!

As more Windows users cry “Help, I’ve been Vista whipped!”, I thought that the introduction of the oppressive Windows Vista was going to be a boon for Linux.

I got the first part right. As Vista subverts your computer into a Microsoft Peripheral, subject to whatever whim “Balmer and The Boys” cook up, users have resisted. A large number of not-so-technical people I’ve talked to want to avoid Vista like the plague. [And in my opinion, rightly so.]

My assumption was that given reasonably priced hardware from several suppliers and completely free Linux distributions like Ubuntu, the discomfort with Vista would be the kick that finally pushed Linux into the consumer mainstream.

Not so. (more…)

Open Source Changes Software Acquisitions

It used to be that when one software company acquired another, it was frequently as much an acquisition of a customer base as it was one of technology. Often it was a “strategic acquisition” which frequently meant taking a competitor out.

These sorts of acquisitions are the worst: Some innovative company gives a major player a hard time by delivering a great product. It develops a fiercely loyal customer base. “Majorco” users start to ask “when are you going to implement feature X like ‘Smallco’ does”? Unfortunately feature X requires a complete re-write of the major company’s fragile solution, and being constantly reminded of this is no fun. So what does the major player do? Simple, acquire Smallco and throw their technology away. All the customers who hated you now really hate you, but they now have no choice and the customer bleed stops.

As a customer I’ve had this happen to me more than once, and it sucks. I’ve dropped entire lines of business partially because I couldn’t bear working with the purchaser’s sorry-ass excuse for a product.

The integration process must be something else in these situations too. The guys who run Smallco are now rich. They have a contract that makes them hang around and say nice things about Majorco for a couple of years. Then they can go off and do what they want. The rest of the staff, at least those who survive “cost efficiencies”, have a choice of working with a product they probably hate, or finding new employment.

In the open source era, customers are defended from this sort of thing. (more…)

OpenProj: Proprietary Spin Meets Open Source Product

Notification of the 1.0 release of OpenPrjoj came through my news feed recently. The contents were a typical press release. The release quickly gets to making the statement “Projity announced the initial OpenProj beta in the Fall, over 200,000 users joined the beta testing in over 132 countries.” Now this is interesting, because a news item just five days previous claims “OpenProj has now been downloaded over 200,000 times with deployments accelerating around the world.”

It seems to me that someone has drawn an equivalence between “downloads” and “beta testers”. What they can really claim is “200,000 tire kickers” or without the metaphor, “200,000 evaluations”.

I can speak to this because I’m one of the people who downloaded it. I have to say that I was impressed, both with the concept and with the obvious level of effort that’s been put into it.

I used it to import a Project file, with the intention of making some changes and printing a report. Although I was able to change the data, the report they produced was wholly inadequate. Butt-ugly, rasterized fonts, and so on. It sucked. I wound up exporting it to an OpenCalc file and reporting from there.

Now if I was a beta tester, I’d probably have provided some feedback to let them know about my experiences. If it was really a beta release (instead of just another one of thousands of projects with “v0.9” releases) you think it might have told me. After all user involvement is part of the “social contract” of open source.

I resent being placed in a group (or so it seems) that I never thought I belonged to. This press release smacks of the kind of marketing over-hype that isn’t — and shouldn’t — be associated with an open source project.

So make that “over 199,999 users”.