• Dealing with Slow modules and Caching

    One thing I often come across is sites that load slowly due to a single module needing to load data from an external source. Caching helps with this considerably, at least until the cache expires.

    As a prime example, let's use a Twitter module. To load the feed data, the module needs to access Twitter's API. This happens when the page request is received by the hosting server, and one of two things will then happen. If the cache data exists and is still valid (i.e. hasn't expired) the page will load lightning fast.

    Unfortunately, if the cache has expired, or just doesn't exist, the module will need to access Twitter's API. Occasionally the API runs slowly and so the user has to wait for your homepage (or whichever page the module is on) to load. This provides the user with a bad experience, made worse if the module doesn't actually form part of the core content that the user is (im)patiently trying to view.

    This documentation details a quick and easy way to resolve this issue.

  • Why I Use Joomla!

    For those who weren't already aware, this site was created using the Joomla! Content Management System. Personally, I think it looks quite good, but why exactly did I choose to go with Joomla!?

    I can quite happily write software all day, so why go with a CMS someone else has written when I could enjoy the challenge of writing my own bespoke platform?

    In this post, I'll be explaining the reasoning behind my choice, and why I continue to use Joomla where appropriate.