Don’t use “Click Here” in links

I have a client that generally wants to link to additional information by using the phrase “Click here to …” They only want to include the words “click here” in the link with the rest of the sentence left as plain text. This is bad practice for a couple of reasons. First, it doesn’t offer an assurance to the user that the link will take them to a place that they want to be. Second, it doesn’t afford search engines a chance to weigh the link with relevant keywords. Third, links can be scanned within a document, which is a useful feature of screen readers. People with visual disabilities can scan a document for its links so they can quickly find information. Imagine listening to a list of links that all say “Click here.” That is not very useful. Additionally, I personally think it looks amateurish.

Tim Berners-Lee, the founder of the Internet, has a style guide for links. The W3C has a page on their site under the guise of Quality Web Tips entitled Don’t use “click here” as link text. Here is another article that I found entitle Why “Click here” is bad linking practice.

Google Maps Tee Shirt

The Google Maps team is seeking ideas for a tshirt. Here is my contribution. Tee hee. Google Maps T-Shirt Idea

Robert Eatman Launched

I recently launched a new web site for Robert Eatman Enterprises. Robert Eatman is an agent for radio talent, aka on-air personalities, aka DJs. The site represent a pretty strong step in a slightly new direction for Telos Studios. It has a Content Management System based on the Symfony framework. The site is also uses some other modern techniques - more on this in a bit.

A few words about a CMS vs. a framework

A Content Management System is a great way of managing relatively generic content that has no strong semantic relationship to other content. A CMS, like WordPress - a specialized blogging CMS, works well for managing general content, but when you want more advanced possibilities designing the content structures requires more flexibility than a CMS can handle.

In contrast, a framework is not really meant for general content, but, because of a framework’s flexibility, a CMS can be designed into the system. In addition, a framework also allows for very specific datasets. I prefer this. It allows me to design a generic content module and makes it easier to design structures for specific data. This is really handy when design content for membership rosters, tagging data, calendar events, and much more. Essentially, there is a lot of power in a framework that most CMSes don’t allow for without some serious manipulation of the core models.

Techniques uses on Eatman

Beyond the framework based site, the Robert Eatman web site uses these techniques:

  • SIFr
  • IE PNG Fix
  • CSS image replacement

All in all, I am pretty happy with the site and the fact that I am settling on some techniques that should make it easy to create custom web sites much easier.

Let’s get pegged (PEGD)

Web 2.0 has been in full swing for a good year or so now. Lots of modern, advanced frameworks and best practices have come to light to fully take advantage of the Web 2.0 trends. Of those best practices, I would like to briefly address the notion of Progressive Enhancements and Graceful Degradation.

Progressive Enhancement and Graceful Degradation are complimentary practices. If a Progressive Enhancement won’t work, it should degrade gracefully. Some have said that
Progressive Enhancement has its limitations. True. When designing an interface, JavaScript can create such a easy and seamless interface that the non-enhanced version will have to be radically different. Also true. This, in my mind, is when Graceful Degradation comes into play. If a system fails, it must do so while being usable as long as possible. In other words, if JavaScript is disabled, a user interface should still work with traditional client-server requests.

Here is a quick view of some sites and modules that rely on PE and sometimes GD.

The Good

These modules degrade gracefully when JavaScript is disabled.

  • Gmail - A standard version is available if JavaScript is disabled.
  • Apple Video - When JavaScript is disabled, a message to enable JavaScript is displayed. Plus the option to download the video is available.

The Bad

These sites do not degrade gracefully when JavaScript is disabled.

  • CNN Video - Sorry CNN. I love the new site, but video and other things fail when JavaScript is disabled.
  • YouTube - Much like Apple, a message is displayed when you don’t have the appropriate technologies, but they do not offer a downloadable version of the video.

All in all this is a tough situation. A lot of time, resources, and money are required to fully implement a well PEGD web site. Trade-offs and priorities will ultimately win the current battle until more frameworks and best practices surface enough to become common place techniques for dealing with complex interaction solutions.

New CNN web site

After a short beta period, CNN has updated their web site. And it is beautiful. I love the new site. They have integrated video throughout it in a simple, seamless manner. The color scheme is simple and unobtrusive, yet not boring like the new LJWorld web site. The navigation is easy to understand, and they have helpful navigation structures like “hot topics” and “We Recommend.” Articles are clean and flow well. The “story highlights” make getting the gist of a story quick. The tabs for getting the article text or video works without a hitch. The text could use a little more line-height (or leading for you in the print world) and there is an occasional bit of graphics bleeding into the text. All in all, this is one very well done redesign. Congratulations CNN.

Development web server, domain setup

I have a development server on my local network that runs Symfony. When starting a new project, I add a new virtual host configuration to Apache and an entry in Windows’ Hosts file. The entries are similar to the following.

On my Ubuntu box, in /etc/apache2/apache2.conf add

<VirtualHost *>
ServerName PROJECTNAME
DocumentRoot "/var/www/PROJECTNAME/web"
DirectoryIndex index.php
Alias /sf /usr/share/php/data/symfony/web/sf

<Directory "/var/www/PROJECTNAME/web">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>

On my Windows machine, in C:\WINDOWS\system32\drivers\etc\hosts add

192.168.SERVERIPADDRESS PROJECTNAME

This will allow me to type the URL PROJECTNAME into my browsers address bar. The biggest benefit of this is the similarity between relative paths for my development sever and my production server.

!important iePNGfix bug

I found my first browser bug. Unfortunately, the bug surfaces in a browser that is fastly becoming obsolete, IE6 - I say that with great pleasure - and it is also a quasi-bug because the bug only surfaces with the famous iepngfix.htc hack to make PNGs work in IE6. I haven’t investigated the bug yet. I will when time permits, but, in a nutshell, if you are used the aforementioned hack on CSS background images and use the keyword !important, then the hack won’t work. You’ll get a ~20% gray background color instead of a nice clean transparent image.

Streaming Flash Video

I don’t do much video stuff, but this post on streaming FLVs via PHP at FlashGuru seems like it could be pretty handy. If you are encoding a video into an FLV, the word on the street is that Sorenson Media’s Squeeze for Flash is the best encoder.

Web page email address obsfucation

In an effort to curtail spam, web developers often employ an email address obfuscater.  Personally, I feel that these devices are a stop gap to a real solution. The best solution is to have a spam filter on the mail server. This will stop more spam from reaching a users inbox than any other methods combined.

Here are a couple email obfuscaters that I have used:

New Design

I am about 80% of the way through developing my first WordPress design. It has been a fun process; WordPress has a solid foundation for developing upon. I hope you like the design. If you see a problem, let me know. I will try to address it immediately.

To Do

  • Finish configuring SIFR for all SIFRed elements
  • A few design details - i.e. the chain link fence.
  • Style images in posts
  • The footer needs some attention.
  • Individual post pages nees a lot of work.
  • Style comments, but no one is commenting so it barely seems worth it.
  • Fix some spacing issues.
  • Make all links underlined on mouse hovers.

That is all I can think of right now. I am sure some other details will shake out as I address the aforementioned list of todos.

Powered by WordPress
Entries (RSS) and Comments (RSS).