The Roadmap For a Great Joomla! 3.0 UX
Joomla! 3.0 is scheduled to be released in September 2012. It will include major new core features built on top of our rapidly advancing framework. But in order to apply that power effectively, everything has to be tied together in a simple and intuitive way that will result in a great user experience (UX). In this interview with longtime community contributor and Joomla! User Experience team member Kyle Ledbetter, you'll learn about his UX vision for Joomla! 3.0 and the high level roadmap for how we will get there.
How did you first learn about Joomla!, and what led you to want to contribute to the project?
I was a partner in a 2004 startup pumping out e-commerce sites (which were all the hotness then) based on an open source PERL e-commerce system. I hated it. We had a client that wanted a simple brochure site that they could maintain with no HTML knowledge. Insanity, how could this be done?
We stumbled across Mambo and I immediately fell in love with the control panel, which at the time was revolutionary.
We split from that partnership and formed a new company soley around Joomla and life was good. Over time I grew tired of clients complaining about the admin interface, so as a proof-of-concept we developed our own (the original AdminPraise). I then got delusions of grandeur and decided I had to help update the core admin interface instead of complaining on the sidelines. It only took six years (I can’t believe it’s been that long), but now I’m finally getting to do that!
Along the way I started attending and then presenting at Joomla!Days. It was through real relationships and good times that I really got involved with the project, and it has always been an honor.
For those who may not be familiar with the term “UX”, can you share what that term encompasses and why it is important?
UX stands for “User eXperience”, which is the all-encompassing experience you gather from something. This could be an experience you get from driving a car, reading a magazine, using your dvr, or in the most common case, using a website or app.
UX is related to Usability, UI (User Interface), and Accessibility. Usability is what makes UX quantifiable, and it is the more scientific approach. The UI is how you interface with the software, it’s your heads-up display that can be designed. Accessibility is a broad term that boils down how many different types of people can access something, where they are not blocked by language, disability, or other factors.
Now that Joomla! 2.5 has been released, attention is already beginning to turn to what will go into Joomla! 3.0. What type of UX improvements do you think are achievable for Joomla! 3.0?
We have tons of opportunity for UX improvements in Joomla! 3.0. With a leap in versions, we’re allowed to make some significant changes. In my opinion, significant changes are needed to keep Joomla! relevant. Here are some of the key areas we want to focus on:
Joomla! 3.0 Administration
We’re taking a clean slate approach to the 3.0 admin. This is not to say we’ll throw out all good things that’s gotten Joomla! where it is, but we don’t want to limit creativity. The admin needs an overhaul. We all know that by now. What made Joomla! great in 2005 has now become a liability in 2012. We inherited the Mambo admin, so this will in fact be the first admin made custom for Joomla!. This could also include the frontend admin experience. We’re currently collecting feedback via a survey and the JUX forums to help inform the design process. We’re also inviting several well known Joomla! template designers to create unique concepts (here’s my first first stab).
Joomla! UI Library (JUI)
UI options and standardization have always been an issue in Joomla!. When developers hit a roadblock, they would create their own UI libraries and design patterns. This is great for innovation, but poor for UX. It creates the current situation we have from component to component. Users have to relearn the interface with each component and designers have to allow for different interfaces with each component.
The goal is to create a library of UI elements that includes all the possibilities that an interface may need, and to iteratively improve it in the core rather than having developers create islands. This way component developers can breeze through views and layouts without designers, and designers can easily create a template to change the appearance of all components at once. Something like Bootstrap from Twitter may even be included, or at least draw inspiration.
From this unified JUI, we could also derive a library of design symbols in programs like Adobe Fireworks and stencils for wireframing apps like Omnigraffle to allow for rapid mockup development.
Joomla! 3.0 Default Template(s)
A huge part of the Joomla! UX is the first thing that people see when they install Joomla!. This is our outward appearance. Instead of having multiple templates, I’d love to have one ultimate, flexible, simple template produced. I don’t want to cram a template framework into this template, but instead it can harness the power of the latest template features (and possibly add more). On a related note, the sample data could use a bit of refining, or perhaps rethinking. It could instead show off all the possible layouts available in the JUI.
What do you think is the best way to make sure that UX considerations are taken into account throughout the Joomla! development process? How well do you think our current development process supports that, and what improvements do you think can be made in that area?
UX needs a more permanent role in the development process of the Joomla! core and for Joomla! developers. Once a feature is approved for the core there should be some type of mockup for the appearance and flow of the new feature. Where does it fit in? How does it affect existing UI? There also needs to be more checks and balances, and defined rolls. In the world I live in, I have no ultimate call on anything related to programming, while the programmers have no call in design. They can question a design, but that usability engineer makes the final call and is responsible for it. I realize that volunteer time is limited, but all this needs to be thought out before it gets in. Now that Joomla! is on Github there is far greater opportunity for forks and branches to present new ideas and possible changes.
What can the Joomla! project do to help third party extension developers improve the frontend (user) and backend (administrator) UX of their extensions?
The good news is that the project leaders are taking the right steps. The Community Leadership Team made the joomla.org redesign happen by seeking outside assistance. Ron Severdia (on the Product Leadership Team) helped make this all happen, as he knows the importance of UX. That’s the role of leadership, not necessarily to do all the work but to get the right people on the job. This is why I’m so excited that Joomla! is now on Github and that contributing is easier and more social.
How can members of the community get involved with the discussions and development that will help to define the UX for Joomla! 3.0?
Outside of the core, community developers need to band together with designers. Even if developers have a library of UI elements they need to run it by designers. This is already happening to a degree. The developers of HWD VideoShare are rebuilding from the ground up for 2.5 and collaborating with the developers of Projectfork (including myself) to ensure that their component will be as native and standard as possible for Joomla! 2.5. The Community Builder developers are also reaching out for advise on these same best practices in the new version of CB. We’re all quickly finding shortcomings in existing UI options but don’t want to repeat the same mistakes, so we all desperately need an ever-expanding JUI. In the end I see the community leading the development of the tools that they need. This is how it should be.