Although improving Joomla's performance is a task that requires in-depth analysis, I thought I'd just write a couple of words on improving one aspect of your site's performance quickly and efficiently: PHP execution by using the APC or APCu opcode caching modules. Keep in mind that APC is compatible with PHP up to version 5.3.x. APCu replaces APC for PHP versions 5.4.x or newer and it's currently under active development.
Since PHP 5.3.x is considered obsolete, I'll cover the steps to have APCu installed on your server. If you run PHP 5.3.x either consider updating to 5.5.x/5.6.x or follow the steps below making sure you replace any "apcu" reference with just "apc" (minus the "u").
We all know Feedburner. The cool service offered by Google that makes distributing your RSS feed a lot better with analytics, various RSS feed reader support and so on...If you wanna use Feedburner, you just sign up for the service with your Google account on http://feedburner.google.com and then provide your "home page" RSS feed (usually something like mywebsite.com/?format=feed). Feedburner will in turn give you back a new RSS feed link (something like feeds.feedburner.com/mywebsite) which you can use to "proxy" people who read your feeds via Feedburner and enjoy all the goodies the service can offer.
The frontpage of the site is missing many things. Let's start from top to bottom...
The slideshow navigation may be confused with the actual content being on top. A better front/back control would fix that. Also, titles in "italic" is really too much. The font is just fine to display "normally".Moreover, it's missing important elements for newbie users and not only.First, it's missing an "about" block. What is Joomla in short? If I were a newbie I'd have no idea what this site is about.Newbies should also see a block with resources like: "New to Joomla Get started" and a list of things to do (what Joomla is, read the intro guide, how to install, where to seek help etc.).There should also be only one block for news/announcements. Having stories dating a month back in your frontpage is not that good.It's also missing links/buttons to the social channels Joomla has a presence on like Twitter, Facebook, Flickr etc. A block with the latest official Tweets would not hurt too.A block with a few screenshots would also be good to quickly show users of other CMSs what Joomla looks like, as it's one of those CMSs with a distinct backend and not one that mixes frontend/backend all in the same place (cough Drupal).We have a great video for Joomla, called Joomla-la-la. It would be uber cool to have it there. Shows visitors that there are dedicated and fun people involved in this community. We're serious at what we do, but we're not M$ serious.It would also be helpful to have a random showcase of sites built with Joomla. That could be a feed from the featured picks in the Joomla Showcase site.As you can see, there are many things to add in the frontpage. The joomla.org redesign team could do that in several ways, without sacrificing height (e.g. using tabs or sliding panels).Oh, and btw: the inner page/Forum page has the "active" menu wrong ;)
What do you think?
(this post was submitted as a comment to the joomla.org post as well, slightly modified...)
What does Joomla 1.6 bring to the average Joomla user? In practical terms: not much
In reality it introduces a troublesome ACL, enhancements to the core of 1.5 with the addition of the jXtended libraries (already available for 1.5), there are framework changes that do make the extension of forms easier in the backend (but this is something do-able even now with some PHP, no biggie) and some tidbits here and there. Oh, not to forget! The admin theme is now blue-ish.
Meanwhile WordPress and Drupal show significant signs of improvement and at least indicate that the people behind them take the future of their CMS very seriously. Although I don't generally agree with their marketing model, they're doing one hell of a job "distracting" people to them, when Joomla is far superior "by design" from these CMSs ladies and gentlemen. Just try developing your first plugin, module or whatever in Drupal or WordPress! Ha!
Back to the Joomla world, what's the status of 1.6? Well, let's just say it's possibly not coming in 2010. There are many things that simply cannot move forward for many reasons:
- too much bureaucracy?
- lack of professional involvement to stir goals and development
- lack of money to support development
There may be more and -don't get me wrong- they are valid reasons, cause, hey, it's not a perfect world.
"So what's your point?" you may ask...
My point is this: forget about Joomla 1.6. Move on to Joomla 2.0.
How do we do that? We take 1.5 and we supercharge it:
- separate components into standalone applications and minimize dependance between components and the core of Joomla
- remove all the garbage (weblinks, newsfeeds, polls etc.)
- introduce the concept of "installation profiles", e.g. install Joomla from scratch to use as a blog or portal or whatever you want. Make it easy for professional integrators and template designers to pack websites easily. It's no biggie. This can lead to different "sample data" packages and content setups.
- improve the current framework in very specific points. Fix any bugs (e.g. modules not being able to attach stuff to the <head> of the document when the cache is on"
- improve performance. The work is there. Klas has pointed out the weaknesses of the current caching layer. Add his fixes in and move on. Next stop will be to better handle application load (and server load) when we have cases where users need to be logged in and therefore the cache cannot work. Maybe a mechanism to select which elements to cache or a mechanism similar to what Ning uses: Cache everything and attach some query strings to certain user-interaction related links so that the application fetches fresh content. This is a simple, tried and tested way.
- Create a unified installer for everything. Use the concept of the manifest.xml file to install 1,2,3 or 12 extensions at a time. That way you can install a plugin and 2 accompanying modules without telling the user to install them separately or write a component to act as the intermediate.
- Forget com_content. Want more? Use K2 for core content. It's completely separated from the core yet 100% tied to the framework. It doesn't suck with menu item ids. It's veeery familiar to com_content. This will boost 1.5's features to 2.0-ish and slap Drupal and WordPress in the face. Think comments and tags and basic content ACL is difficult? Come on? It's all about decision making.
- Internationalization: include the excellent "unicode slugs" plugin from Jean-Marie Simonet to create unicode capable URLs. It's here already and it's free under GPL.
- Extend the default "content elements" for all extensions so that less experienced devs can create a simple plugin that has a "content category" selector which doesn't suck.
- Improve the media manager a bit with the addition of more actions. Upload and delete is not enough.
- Add a new admin template that just doesn't suck. There are many people out there that have fresh ideas and can significantly help. Sticking to the same Mambo-like pattern just doesn't cut it anymore.
- Make all Joomla 1.5 extensions and templates MVC capable so that template devs can rip the thing out and create amazing templates both for the frontend and the backend.
There are more to be added of course and I got a whole list for that, but these are the most important perhaps.
The key word here of course is "initiative". I believe that software development is like real life relationships. If you drag the thing over and over it will eventually lead to a break up. You have to be able to transform when circumstances demand.
What are your thoughts?
P.S. For those trying to read "between the lines", no, I'm not talking about a fork of Joomla I'm talking about advancing Joomla and how I'd like to see things for v2.0. Jeez...