Talk to developers
Is there an extension that you regularly use and regularly modify (hack)? If you're anything like me then I'm confident that you have found a joomla extension that is just perfect for a site but just needed a little tweaking.
When I mentioned this to several people during Joomla!Day many people came back with the same answer, "Oh yes I always use XXXX but each time they release an update I have to re-apply my fixes".
That's a pain in the proverbial butt, of course, and yet not one of the people I spoke to had actually passed on their "fixes" to the extension developer.
Why should you?
It's quite simple really and quite selfish. In my experience most developers love to hear how their hard work is used in the real world. It's only by hearing about these real world experiences that the developers can learn and further develop their extension.
If you explain your fixes, customisations and hacks to the developer then there is a chance that they will be included in future releases. And of course that will mean you have one less job to do whenever there is an upgrade.
But my code isn't very good.
I've regularly stated that I am not a coder. If the code is well written then I can usually understand it enough to make some modifications but that's where my limits lie.
And this is another reason to "talk to developers". They might not like your code but if the idea is good they can re-write it, and often improve on it, in future releases.
So don't worry about the quality of your code, the developer won't care, they just want to know what you need.
Another benefit of talking to developers and building a relationship with them is that they will start to respect your opinions and you may even get to see beta releases of upcoming products. In my experience developers love a fresh pair of eyes and it's at this pre-release stage that you really have the opportunity to help shape the direction of an extension.
Real world examples
Don't believe me - here are two different occasions where I have directly benefited from building a relationship with a developer.
I've been a fan of eventlist from schlu.net for several years and have used it on numerous sites. Each time it's required a few small modifications that I've made and sent back to Christoph and as a result we have developed an occasional email relationship.
So when last year I was desperately searching for an FAQ component, and becoming even more disappointed with the available extensions, I emailed Christoph to see if he thought I could modify eventlist to match my needs.
Imagine my surprise when Christoph replied that he had an FAQ extension, written for his own site, but that as he hadn't thought there was a market for it he had never released it. Christoph explained that it was still a bit "rough around the edges" but that I was welcome to check it out from the SVN repository.
Two weeks later and I had thoroughly checked out the component, emailed a series of fixes, suggestions and modifications and Christoph had release QuickFAQ to the whole joomla community.
I've lost track now of the thousands of sites that are now benefiting from the release of QuickFAQ
JCal Pro, the Joomla Calendar, is one of those extensions that I install on almost every web site that I build.
During the development of www.reformjudaism.org.uk I think I probably made 30 to 40 modifications to the core code. I learnt the hard way on another site that this number of modifications is not good for the long term.
If any new features were added to JCal or more importantly any security issues then it would be very time consuming for me (and possibly very hard) to reapply all the changes. Dependant on the core code changes I might even have to work out new ways to do those modifications.
So instead I contributed all of those changes to the JCal development team. Now I won't claim that there is a single line of my contributed code in the current release of JCal Pro, as I said my code is very ugly, but I think every single one of them has made it into the current release.
Now I can upgrade JCal Pro to take advantage of many new features, which the client loves, and all of my modifications are still there.
Make a friend of your extension developers
So remember to talk to the developers, let them have your modifications, no matter how crude and ugly, and if you're lucky like me they will be integrated into future releases.
It saves you time and money!! Clients are unlikely to want to pay you to redo the work you did for them once and this way they don't have to and you don't have to do it for free.
And yes I promise this will be the last article based on conversations at Joomla!Day Netherlands.