(This is the second part of a little case study on usability. Read "Deconstructing Joomla 1.6 SEF Settings" first.)
Here's the table from part 1 again:
| Option | Tooltip message | |
|---|---|---|
| 1. | Search Engine Friendly URLs | Select whether or not the URLs are optimised for Search Engines |
| 2. | Add suffix to URLs | If yes, the system will add a suffix to the URL based on the document type |
| 3. | Use Apache mod_rewrite | Select to use the Apache Rewrite Module to catch URLs that meet specific conditions and rewrite them as directed |
| Warning: Apache users only! Rename htaccess.txt to .htaccess before activating. |
Let's try to come up with some ways to make it easier to understand.
1. SEF URLs
A user expects Joomla to output a 'good' site, and a good site has SEF URL's. The historical reasons to have a configuration option for this, are no longer relevant in 1.6. My suggestion: turn SEF on in all installations and remove the option.
2. Add suffix to URLs
This feature adds .html, .feed, .pdf... It looks a lot better than adding ?format=pdf. It fits in nicely with the idea that a website has a /my/folder/myfile.html structure, which is a concept everyone gets. So again: let's turn it on permanently and remove the option.
3. Use Apache mod_rewrite
This is the most difficult one, and not entirely solvable. For starters, we could rename the option to "Remove 'index.php' from URLs". This makes a direct mental connection between the setting and the intended effect. The users can see index.php in their URL's, they click the button, and index.php is gone.
Back to our question from part 1: "Can the system decide this without user interaction?" Joomla could:
- check whether .htaccess is present,
- check whether it contains the correct codes, and
- check whether mod_rewrite is present.
Alternatively, Joomla could rename the htaccess.txt file automatically. As an extra failsafe, it could do a HTTP request against the frontend, and revert the changes if a 500 error is returned.
In a third approach, the .htaccess file could wrap the rewrite codes inside <IfModule mod_rewrite> ... </IfModule>.This automatic handling of htaccess might be a bit too risky, because depending on apache config, it can crash your frontend. Further testing and brainstorming is required.
Conclusion
By keeping an open mind and coming up with creative ways, I'm sure it's possible to remove half the options in Joomla, in the configuration as well as all core and 3PD extensions. Joomla can be smarter than the humans using it, by analyzing it's environment and making informed decisions. We need to step down from the idea that having more buttons means that the software is better.
So what do you think? Which options or buttons would you drop from J!1.6?



