For the last five or six years I have spent a week every summer in Athens with Nicholas Dionysopoulos. It isn't a conference, there is no agenda, and if anyone were watching us from a nearby balcony they would probably conclude that we were doing very little at all. We spend hours talking about Joomla, eating far too much excellent food and, every now and then, sharing a beer or two. It has become something of a tradition, and one that I look forward to more and more each year.
Our conversations almost always drift back to the same place. We talk about where Joomla is today, where it ought to be in five years' time, and the things we wish it could do. Every so often one of us will ask, "What if Joomla could do this?" or "Wouldn't it be interesting if Joomla had that?"
Most of these ideas remain exactly that: interesting conversations. Some evolve into GitHub issues or feature requests, while others quietly disappear, overtaken by more pressing priorities of the real world. There is, however, one idea that has stubbornly refused to go away.
For years we have talked about creating a desktop application dedicated to writing content for Joomla. Not a desktop version of Joomla itself, and certainly not an attempt to replace the administrator interface, but a simple application that would let you create and edit articles locally on your own computer before synchronising them with your Joomla site whenever you chose. It always seemed like the sort of tool that we would both use ourselves, and perhaps other people would too.
The problem was never the idea. The problem was always the implementation.
Creating a desktop application that works on Windows, macOS and Linux is a very different proposition from building a Joomla extension. Neither of us has any affection for Electron, and neither of us was particularly excited by the prospect of learning an entirely different language and ecosystem simply to satisfy our curiosity. Every year we would sketch out a few more ideas, convince ourselves it would be far too much work, and move on to the next topic of conversation.
Last year something changed.
We came across a new project called Boson, which promised something rather intriguing. Instead of abandoning PHP and learning an entirely new technology stack, Boson allows you to write desktop applications in PHP while it handles the complicated process of packaging them into native applications for different operating systems. It was still a very young project, but it looked lightweight, approachable and, perhaps most importantly, fun.
Naturally, we couldn't resist trying it.
Using Boson to build a new version of Akeeba Extract seemed like a great idea. The original had reached the end of its practical life, relying on an old and vulnerable version of .NET and looking, frankly, a little dated.
Nicholas built a small proof of concept and quickly discovered both its potential and its limitations. The limitations weren't really Boson's fault; it was simply a young project that was still evolving. Like many promising open source projects, it wasn't quite ready for everything we wanted to do, so after a few enjoyable experiments we reluctantly put the idea back on the shelf.
The idea to use Boson wasn't wrong; we had simply arrived a little too early.
This year Nicholas decided to try again using Boson to make a new version of Akeeba Kickstart - a new desktop application which uses parts of Kickstart itself to extract the backup archives. This time a lot of the kinks and rough edges with Boson had been resolved and now you can download a brand new version of Extract from https://www.akeeba.com or https://github.com/akeeba/extract/releases
Seeing a real application successfully created using the Boson framework gave us the confidence that perhaps our old idea of a desktop authoring app for joomla deserved another visit. The platform had matured, our understanding of it had improved, and suddenly the obstacles that had seemed so daunting twelve months earlier no longer looked quite so intimidating.
Of course, there was another significant difference between last year and this year.
Claude.
Like almost everyone working with software today, we have been experimenting with AI-assisted development, and it quickly became an indispensable part of this project. I say "AI-assisted" very deliberately because I think that description is much closer to reality than many of the headlines would have you believe.
Claude didn't magically produce an application because we asked nicely. It produced code because we were able to describe, in extremely precise terms, what we were trying to build, and because we could recognise when the generated code solved the problem and when it had wandered confidently in completely the wrong direction.
That, I think, is the part that many people overlook. Success with tools like Claude depends on far more than simply writing prompts. You need to understand the project you are trying to build, think carefully about its architecture, explain your requirements clearly, and be capable of reading, evaluating and improving the code that is generated.
In many ways it isn't that different from working with another developer. If your specification is vague, the results will be vague. If you ask better questions, you usually receive better answers.
After many conversations with Claude, several discarded approaches, and more than a few moments where we realised that our own thinking needed to become clearer before the AI could possibly understand it, something rather satisfying happened.
We ended up with the desktop editor that we had been talking about, on and off, for several years.
Nicholas has followed his naming convention of choosing something Greek so it’s called GRAFIDA - which is the name for a pen, stylus or writing implement. It's a very apt choice: it evokes writing, authorship, publishing, or the written word rather than simply "pen."
At the time of writing the first release of Grafida is still a few days away but it will be available from https://www.akeeba.com and https://github.com/akeeba/grafida/releases.
Grafida - The desktop writing app built for Joomla
Stop opening a browser just to write an article.
Grafida is a free desktop application for Windows, macOS and Linux that gives Joomla users a dedicated place to create, edit and manage content. It feels instantly familiar because it uses the same TinyMCE editor that powers Joomla itself, but now your writing lives in a fast, focused desktop application instead of another browser tab.
Whether you write for one Joomla site or a hundred, Grafida provides a single workspace where your content comes first.
Will anyone else want to use it? I genuinely have no idea. Perhaps it will turn out to be a niche curiosity that only appeals to the two of us. Perhaps other Joomla users have been wishing for exactly the same thing. Either way, that isn't really the measure of whether the project was worthwhile.
The real success was that an idea which had lived almost entirely as an annual conversation in Athens between two friends finally became something tangible. Along the way we learned a great deal about Boson, discovered a practical way of building desktop applications with PHP, and gained a much better understanding of where AI genuinely helps software development and where it still depends entirely on the experience of the person sitting behind the keyboard.
I suspect that next year, when Nicholas and I are once again sitting somewhere in Athens discussing Joomla over good food and perhaps another beer, we'll find ourselves asking exactly the same question that has started so many of these adventures.
"What if Joomla could..."

Comments