You are currently browsing the FRP weblog archives for May, 2008.

SVNMate - an SVN TextMate plugin

I use SVN to keep my work files synced to my portable hard drive and work iMac and for keeping some of my other projects synced up with an online SVN account. TextMate is my chosen tool for website authoring so this SVNMate plugin is really useful. To install just download the plugin and drag it’s icon onto the TextMate icon. Then open TextMates Preferences > Shell Variables and add TM_SVN and the location of your SVN install, in my case that’s /usr/local/bin/svn. I really wish I’d found this sooner.

Leopard Spaces

I have used some form of multiple desktop manager since the days of Mac OS9, the ability to separate my tasks onto different ’screens’ helps me to focus on what I’m currently working on without having to hide or minimise windows. On OS X up to Tiger I was using Desktop Manager to organise my windows.

Recently I have updated my laptop to Leopard, as it has Spaces built in I thought I’d use that, I’m not sure Desktop Manager even runs under Leopard. After a matter of minutes using it I realised Spaces is fundamentally broken. It groups windows of apps together rather than letting you decide which windows you would like on a specific space. For example I keep my personal Gmail account open in Firefox and my work Email open in Safari, I like to group these in the same space along with Adium and Skype. This is my communication screen. Now if I go to a second screen and want to open another Firefox window Spaces snaps me back to my communication screen. I then have to move the new window to the second space.

Thankfully I found this hints at MacOSXHints to disable the annoying snapping.

Open a terminal window and type:
defaults write com.apple.Dock workspaces-auto-swoosh -bool NO

Then restart the dock by typing:
killall Dock

To reset back to the default behaviour type:
defaults write com.apple.Dock workspaces-auto-swoosh -bool YES

My ideal CMS text editor

I recently read Richard Rutter’s The Elements of Typographic Style Applied to the Web after reading about it here. The essay makes several mentions of CMSes and the application of tags to help in the display of text. This got me thinking about the shortcomings of CMSes.

CMSes are a great way to empower website owners. Allowing someone to update their own site without needing to learn HTML or CSS. The use of JavaScript text editors like FCKeditor and Tiny MCE mean that people can even add styling to their content.

Since starting to work on CMS based websites some five years ago I’ve always had a nagging doubt about the code they allow a user to produce. Frequently not accessible, validatable or sometimes even readable. The problem with these editors is you are giving someone the means to completely wreck the look of their website, a website they may have paid thousands of pounds to have designed and built. I believe that part of being a web designer is setting boundaries for users looking to edit their own content. Below is my ideal text editor for a CMS.

I would let users set titles as <h2> - <h6>. I would prevent them from using <h1> as that would be retained for the page heading and generally you only have one of those. Also I would only allow <h*> tags on a maximum amount of words - say 20, to try and stop users from misusing <h*> tags as a means to make text bigger.

I would convert any use of <b> or <i> tags to <strong> and <em> as they are more symantically correct.

I would remove any <font> tags - they have no place in modern web design.

I would remove any inline CSS as this is not content. A CMS should be about editing content not making design changes. That’s my job and it’s what your paying me for, just because you can set that text colour to red and the background to yellow doesn’t mean you should.

It would be great to be able to detect when someone has typed their content all in caps and either convert it to lowercase while informing them that all caps is unreadable. Again maybe set a tolerance of 10 words to allow for any acronyms.

Tables are a difficult subject. They can be legitimately used to display product data but they can also be a source of annoyance to us web designers, they don’t always play nice with CSS. I would like to be able to switch allowance of tables on or off based on the type of website - is it a shop or a blog? A shop might need to display product data for example.

Some customers will want the freedom to change the colour of text and font faces and no amount of trying to educate them will change their minds, but for the most part setting some ground rules like the ones suggested above will help users maintain their site to the standard it was authored at. Which will also help with accessibility.