Categories
Accessibility

Don’t Design for Full Screen

Stop making your websites go to full screen automatically! I mean it. Stop it.

People do not take into consideration how different website users set up their operating system, software and hardware.

First, making a window auto maximize without giving the user the option to do it or not is irritating.

Second, making a window auto maximize without giving the user notification what will be happening is inconsiderate.

Third, not every user has a single monitor. Many users have set ups with multiple monitors. It allows them to work on more than one application at a time more efficiently. When a window goes to full screen, it spans all monitors—not just one. Since most full screen designs are centred horizontally and vertically, the content ends up being split evenly between both screens, with the left half being on the left monitor and the right half on the right monitor. If the first two issues I listed above were irritating and inconsiderate, this issue is very irritating and very inconsiderate.

Don’t make designs that expand to full screen automatically. Give the user a choice. If you have to make it full screen, at least learn how to constrain it to a single monitor.

Categories
Uncategorized

Creating VCS Files in ColdFusion

One thing I have been trying for months to do on the Faculty of Management website is to create VCS files on the fly. VCS files are what Outlook and other calendaring software use to pass calendar items between each other. When I added an event to our database with ColdFusion, I wanted it to create a VCS file that the user could then download to his/her calendar.

Earlier this week, I came across Chris Wigginton’s vCal UDF. This ColdFusion UDF outputs the necessary information to a string. All that is needed is to write the string to a file. I used the following code to accomplish this:

<cffile action="write" file="/root/folder/folder/file.vcs" nameconflict="overwrite" output="#vCalOutput#" mode="777" />

The cffile tag is used for creating, modifying and deleting files with ColdFusion.

The action attribute is pretty self-explanatory.

The file attribute contains a path to where the file is/will be stored. This is not a URL. It is a direct server path. It should also be noted that some servers will require a drive letter (such as C:).

The nameconflict attribute is used to tell ColdFusion what to do if it encounters a file named the same as that referenced in the file attribute. I used overwrite simply because I was using the cffile tag in an edit page. In this regard I was making changes to the event in the database, so I wanted those changes reflected in the VCS file.

The output attribute is what is sent to the file referenced in the file attribute.

The mode attribute is the permissions given to the file. Our server does some pretty funky things sometimes, so I gave read, write and execute to the owner, group and world. Anything else would probably result in a ColdFusion server error.

One other thing to keep in mind with VCS files is that times are based on GMT. In order for me to create times for the Mountain Time Zone, I had to add 6 hours to the start and end times. For this, I used the following code:

stEvent.endTime = "#DateAdd('H', 6, CreateODBCTime(FORM.TimeEnd))#";

The first parameter of the DateAdd function is which element of the date/time value you want to change. In this case, ‘H’ corresponds to the hour. The second parameter is the number of hours to use. If you live east of the GMT, you would simply use a negative value. The third parameter is another function that converts the time-only value I use in my database to a date and time value needed for the VCS file. If you use a date-time value in your database already, you don’t need to use the CreateODBCTime() function.

There you are. A complete solution to making VCS files in ColdFusion.

Update: For some reason, VCS files do not seem to currently work in Firefox.

Categories
General

New iMac and Windows XP

Last week was like Christmas in my office. I received an iMac and Windows XP.

For those who might be thinking, “How did he get XP on an iMac”, I am talking about two different machines.

The Faculty of Management bought a bunch of IBMs this year and I received one of them. They came with windows XP. I have been waiting for awhile to be able to use this OS and I am very impressed.

For my double pleasure it also came with Office 2003. There are not too many changes in most of the Office suite apps; although I do like the new Reading View in Microsoft Word. The most impressive changes were in Outlook. The Reading Pane and the collapsible menus are a hit with me. I only wish I can make my IMAP folder the default inbox. That would make my job a lot easier.

A member of our faculty, for whatever reason, decided to bring back his iMac. Since it is still fairly new, our department didn’t want to get rid of it. At the same time they didn’t want to have to provide support for a single Mac. It was decided that I would get it and I could take care of myself.

It was set up on Friday, and I am pretty stoked about it. Despite what Jon thinks, it’s not because I have converted to a Mac. It is because I get to test my sites on more platform/browser combinations. As well, it allows me to keep my Mac skills up to date.

A pleasant week as far as technology gifts go.

Categories
Accessibility

Paving Paths and Website Accessibility

I have been working my legs too hard over the last couple of weeks with my non-stop cycling. Last weekend certainly was not enough time to let me legs recuperate. I decided to drive to work this morning in hopes that a third day will be enough to get my legs back to normal.

Anyhow, while walking from my truck to the University of Lethbridge on one of the new paths, I was reflecting on how the path has a lot to do with web design.

Before the fall of 2002, students travelling to the University of Lethbridge from the corner of University Drive and Columbia Boulevard had two choices to get to the University. They could travel down Valley Drive and then turn at the West Lot, travelling across the West Lot until they got to Anderson Hall or the PE Building. This was the longer option. The second option was to cut across the field, over the berm and across the Far west Lot and West Lot. This was the shorter option—albeit muddier in the winter and when it rained.

In 2002, the University of Lethbridge decided to pave the path students had worn down across the field and over the berm. They also added lighting. This made sense. After all, why not create a paved, lighted path right where people will use it?

As I reflected on this, it caused me to wonder why so many people do not do this when setting up information architecture on a website. So many websites make it very hard to find things. I do not know what the developers were thinking when they put it together, but I do know what they were not thinking. They were not thinking about the value in holding focus groups and watching how visitors use the website and what paths they try to access information.

So many developer think, “Oh, this looks cool” or “This looks good to me”, and give no thought that it needs to be cool and work; it needs to look good to you and everyone else.

If there is one thing website developers need to get into their thick, obtuse, close-minded heads, it is this: websites need to work for your users more than they need to work for you.

Categories
Browsers

Internet Explorer 6.5?

Microsoft released Windows XP Service Pack 2 yesterday. Part of the service pack includes updates to Internet Explorer.

On the plus side, IE now comes with a native pop-up blocker. It also requires user authentication for drive-by downloads. Another cool feature is the “Add-On Manger”, which is similar to Firefox’s extensions manager.

On the minus side, these improvements are only for Windows XP users. As well, there appears to be no change in its level of compliance with web standards. Of course, there is still no tabbed browsing.

The changes are welcome, but I do not know why IE is so intent on letting the competition slowly gain market share. Microsoft seems unusually content in its current market share of the web browser market, but its failure at innovation and adoption of web standards and consumer-drive conventions is causing a slow but steady exodus to better products.

I will stick with Firefox at home.

Categories
Browsers

Firefox is the Coolest Browser

I downloaded Firefox two days ago. What a cool browser.

I ditched Internet Explorer at home a few moths ago for Netscape. Every time I opened IE for the first time, it would take nearly a minute to load the first page. That was simply unacceptable and since I could not find the problem, I simply switched to another browser.

While I was using Netscape, I became addicted to tabbed browsing. It has come to the point where I detest using IE at work because I always have to open new windows instead of new tabs. There were some other cool features as well.

I heard a lot about Firefox and decided to try it. It was a nice download; less than a minute on DSL. It automatically imported my Netscape bookmarks, favourites, links and passwords. Very cool.

After I installed it, I checked out all the extensions that were available. Wowee. What a find. Now, not only do I have tabbed browsing, but I have the following:

  • Tabbed browsing manager
  • Drag and drop tabs to the order you want
  • Undo closed tabs
  • Target=”_blank” links open in new tab
  • URLs typed in address bar open in new tab
  • Links clicked on from email or IM open in new tab

Some other cool features include GMail notification, spell check (similar to IESpell), web developer toolbar, auto search by typing words, view source for a selection of text, mailto links open in the e-mail application I indicated as my system’s default application. The list goes on.

I am never going to another browser.

Get Firefox

Categories
Accessibility

Television, Remotes and Accessibility

An experience earlier this week established for me that electronics manufactures need a lesson in usability and accessibility. It also helped solidify my conviction to make my websites more accessible.

We rented a Hello Kitty DVD Monday for our children to watch. As usual, I turned on the TV, popped in the DVD and went to switch to “Game” mode, which allows the output from the DVD player to display on the TV.

Nothing happened.

I started my troubleshooting A/V products process.

  1. Repeatedly press the button
  2. Press random buttons repeatedly
  3. Move closer to TV
  4. Repeat steps 1-3

The process put me no further ahead to determining the problem. This left me to think either the batteries were dead or the TV was malfunctioning. Here is where things became frustrating.

My remote control was not designed to include a battery indicator. My cell phone was designed with one. My PocketPC was designed with one. My digital camera was designed with one. Nearly every electronic device I own that runs on batteries was designed to include a battery indicator to let me know when the batteries are low. The remote control was not. Why is this a problem?

First, I had no forewarning there was a power supply issue with my remote control. Had I known the batteries were getting low, we could have bought some batteries when we were out shopping earlier that day.

Secondly, without any forewarning, I am doomed to experience a barrier at the exact time I do not want it. I want to use the DVD, but because of this unforeseen barrier, I cannot.

It is no different from a wheelchair-bound customer not being able to get past a store’s front step or a blind person not being able to read text on a website that is only available in an image. As I wanted to watch the DVD, both of these individuals also want something. The wheelchair-bound person would like to purchase something from the store and the blind person wants information from the website. Yet because of barriers unforeseen by businesses in the design process, the three of us cannot access the things we want.

This is only one part of the frustrating equation.

If I am using my computer and the mouse stops working, I can usually navigate through many applications with only my keyboard. The software creators designed it in a way that allowed more than one method of input.

Not so with the TV manufacturer. There is no “Game” button on the TV. In fact, all I can do with the TV is turn it on or off, scroll through the channels one at a time linearly, bring up the settings menu and raise or lower the volume. Most of the features of the TV, however, were designed to be accessible with only the remote control. If the remote is not working, then the TV is only partially accessible.

Since I couldn’t check if there was a problem with the TV—although someone could argue given what I’ve mentioned that there was something inherently wrong with the TV—my only other choice was to take the batteries out of our phone (we had no other AA batteries in the house), put them in the remote, go back to the living room and try the remote again.

Luckily it worked. But did I have to experience all this frustration just to find out my batteries were dead? Is it any wonder why I support accessible websites?

Categories
Browsers

Internet Explorer Is Not Broken

As a website developer who specialises in CSS-based designs, I obviously hang around (i.e. read blogs of, participate in mailing lists with) other like developers. One of the legitimate concerns many—if not all—of them have is the relatively less support Internet Explorer has for CSS 2.1. Part of the reason for this is the fact that the current version of IE is nearly three years old, while every other popular, standards-compliant browser has had a major release within the past year.

A common issue such designers have is users having the ability to resize webpage text to meet their level of reading comfort. All modern browsers have resizing capabilities; however, some have more powerful capabilities than others do. For example, IE can only size text to five sizes (smallest, smaller, medium, larger, and largest) while Opera can resize text and images from 20% to 1000% of the original size. As well, IE can only resize relatively sized text (i.e. em, pt, cm, in, %), while other browsers can resize even absolutely sized text (i.e. px, pt, cm, in).

Given the common and predominant disapproval of IE’s relatively low support for CSS 2.1, many people often attribute IE’s inability to resize absolutely sized text as a bug. Some even go as far as saying IE is broken in this regard. I strongly disagree with this notion.

IE is not broken. It does exactly what the designer tells it to do. If a designer specifies s/he wants a font sized based on 12 pixels then it renders the fonts based on 12 pixels. In actuality, it is the other browsers that are “broken” since they incorrectly render the text in an effort to allow users to resize text.

I repeat, IE is not broken.

That being said, pixel-based text is a bad practise for copy. Any user coming to your website should be able to resize at least the copy text. This ability should not be hampered at all, and should be independent of what browser s/he uses. Ideally, all text should be resizable, and images should not be used to solely present text.

In conclusion, the inability to resize text in Internet Explorer is not the fault of Microsoft engineers; it’s the fault of inconsiderate website developers.