Time to resurrect this…

My work has erected The Great Wall, and has blocked pretty much everything trying to get in.

In some ways, I can understand this:

  • we are a research/education environment, and the information we have on our systems can be (commercially) valuable
  • we are a big organisation, with a lot of computers, making it statistically easier to find a machine to subvert into a ‘bot

Of course, there are also downsides:

  • The belief that security can be dealt with elsewhere: “It’s a secure car-park, my car will be here when I get back.”
  • The belief that security can be dealt with by someone else: “There’s a security guard, so I don’t need to lock my car.”

The truth lies somewhere between these two: I have a responsibility for my own shit, but a totalitarian regime makes the academic ideal of Open Access harder.

So what’s happened if the web site what was on my workstation, the web site that has existed for over 20 years…. is shutting down.

I shall move all the stuff that was there to other sites: some to LinkedIn; some here; some to various Motorsports web sites I run… and maybe I’ll start up another host, under another domain name, and post there.

‘Tis an end of an era – but that University Life for you…


The joys of designing web sites

Creating a new service, or indeed even just changing the visuals for an old service, is never a simple task.

Firstly you have to come up with a coherent design: one that compliments the contents of the site; one that works across all pages within the site; one that is visually appealing; and one that all the parties involved are happy with… Not my forte: I get a designer to do that.

Next you need to modify this design so that it can be created as a validating, accessible, cross-platform base.

What I like to do is then mock-up a few pages, maybe half a dozen, as proper xhtml pages – so that people can poke and prod them, be happy that they render across all browers and platforms, that they scale with font sizes, and that they look fine on different monitor/window sizes.

I’ve done all that, I’ve created the 100+ web pages… and now I’m going through the laborious task of verifying each one actually validates, and actually renders correctly under a range of browsers.

… and who said writing web pages was easy? <chuckle />

Web Accessibility in the public sector

Now, as you may have gathered, I work in academia…. which means the public sector.
When I build a web service, I have two sets of customers:

  1. I have the people who are funding the service, my organisation, and the people who define the service guidelines: they expect a certain level of functionality; a certain level of reliability; and that the service enhances their reputation(s) with it’s good looks and slick behaviour
  2. I also have the people who will be using the service, mainly staff & students of HE and FE organisations. JISCs new policies are also rolling out services to the schools sector, and some services (depending on the funding streams) are even open to the general public to use

This presents an interesting challenge:
If my customer base is “anybody”, I cannot discriminate against anybody – which means that the basic functionality of the service needs to be universally available (given the restrictions of the web protocols)

  • Nothing core must be reliant on JavaScript, graphics, or colour
  • The core interface must work irrespective of platform, browser, or ability of the user (within reason)

I have no problems with additional features being available to visual browsers, in a point-and-click interface… heck, if you want to have a Virtual Reality interface, with 3D rendering and swooping’n’flying – go right ahead SO LONG AS THE BASIC FUNCTIONALITY IS AVAILABLE WITHOUT IT

If you want to write, and maintain, two interfaces – go right ahead SO LONG AS THE BASIC FUNCTIONALITY IS AVAILABLE IN ONE

I’m sorry – but unless I have a service that works for “anybody”, I’m discriminating.

Accessibility is not about getting what you want looking good for you. Accessibility is about making it available for “anybody”.

(rant over)

The joys of web design.

I’ve a full and rich job: I write code; I deal with databases; I ponder the improbable; and I stick my oar (no, not my ORE!) in at various levels of discussion; and I create web pages…. which is todays wee rant.

Web page design is hard…. damn hard.

If you are designing a poster, or a building, or a car, or a box for biscuits, then the medium you are designing for is immutable: It has known dimensions; everything can be precisely placed relative to everything else; and there is a quantifiable margin of error in your measurements.

When designing for the web, NOTHING is fixed: You do not know the size of the canvas your design is rendered on; you don’t know the colour-range available; you don’t know the fonts available; and you don’t know what platform your customer is going to use to render your design

You need to balance the visual asthetics, structural integrity, cross-platform-compatibilty, and graceful degradation. Working in the public sector I cannot, ethically as well as quasi-legally, discriminate against people through bad design.

Cross-platform compatibility

This is what I (at the time of writing) test under:

Firefox 2 & 3; Konqueror; Opera; Lynx
Windows Vista
Firefox 2 & 3; IE 7; Opera
Windows XP
Firefox 2 & 3; IE 6 & 7; Opera
Firefox 2 & 3; Safari; Opera

Graceful Degradation

  • What does the site look like with images turned off?
  • What does the site look like with css turned off?
  • What does the site look like if the user chooses to use a different font?
  • What does the site look like if the user chooses to use a larger font size?
  • Does the site work if the user chooses not to have their browser full-screen?
  • FF3 & some other browsers now scale up images as well as text sizes: does the layout still work?
  • Are you using colour to convey specific information?

Structural Integrity

This is things like:

  • Does each form input have a matching label?
  • Does each “set” of form inputs have a fieldset around them, and a legend for that set?
  • Do you have an h1 before an h2, and an h2 before an h3?
  • Are your menus lists, ‘cos that’s what they are, structurally speaking
  • Is all your text text, not graphics?
  • Does your (x)html pass validation?
  • Does your css pass validation?

I LIKE validation: If I write a page with is technically correct (the (x)html and css both validate cleanly) and renders as the designer desires across all the major browsers, then when a user comes in with a “it’s broken for me” problem, the web design is not going to be the problem.

Some other tricks I use for accessibility:

  • I have a hidden h1, at the top of the page, which states where the page is from and provides a general context.
  • I have a hidden link, to jump straight to the main content of the page.
  • I have hidden h2s at the top of the page header, the various menus, and the footer – which help define the context for the following text.
  • I have all my menus as list items, styled as tabs or bars or blocks, or whatever the designer wants.

Almost perfect?

A mock-up page

Well, maybe not.

I’m sure that, given another few days to work on it I could improve some aspects of this page: The curved edge of the menu would be better aligned with the logo (but this has implications when font-sizes are changed); the text in the three large images across the bottom is graphic, and I believe text should be text; and the rounded corners on the submit button are too big.

But I’m pretty proud if it, anyway.

It may not be an exampler page, but it’s damn close 🙂