The thoughts of a Code Gorilla

August 26, 2008

The joys of web design.

Filed under: Coding, web — codegorilla @ 8:44 am
Tags: , , ,

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:

Linux
Firefox 2 & 3; Konqueror; Opera; Lynx
Windows Vista
Firefox 2 & 3; IE 7; Opera
Windows XP
Firefox 2 & 3; IE 6 & 7; Opera
Mac OSX
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 :)

August 13, 2008

Repositories are dead, long live repositories – redux

Filed under: Conferences, repositories — codegorilla @ 8:02 am

There has been talk around the place that the term Repositories (as in Institutional Repositories) is detrimental (it appears in several guises on the IdeaScale page Repositories – communicating the idea and by a number of people in conversation and talks.

There is an interest in Repository Fringe ‘09…. but if the term “Repository” is to be replaced, what should we do about the not-a-conference title?

…. and what should the term “Repository” be replaced with?

August 11, 2008

Repository Rap?

Filed under: repositories — codegorilla @ 10:21 am

If the Large Hadron particle accelerator at CERN can raise it’s profile through song perhaps OA and/or Repositories should do the same…. but who is this?

There are videos talking about it, but nothing catchy…

August 5, 2008

Will we ever get it right?

Filed under: humour, repositories — codegorilla @ 5:03 pm
Tags: ,

Of course we will!

The infinite monkey theorem states that a monkey hitting keys at random on a typewriter keyboard for an infinite amount of time will almost surely type a given text, such as the complete works of William Shakespeare.

Or, to put it another way, if we have enough Code Monkeys hacking away, we will (eventually) get the perfect system that will give us Green Open Access with Green Publishers.

In fact, the protocol for doing this is defined in RFC 2795

We just need to “Keep the faith”

“I have a dream”

Filed under: repositories — codegorilla @ 9:18 am
Tags: , ,

I’ve talked about this many times before, but this is probably the first time that I’ve committed pen to paper (or, keypress to web-page, in this Web 2.0 world) and described it publicly.

I believe that the current Repository concept is flawed… actually, lots of people now realise that the current concept is flawed, and people are trying to decide what the correct model should be.

We know that the binary-object-centric view does not work, and we know that we need to involve the user much much earlier in the aquisition process

Here is my model:

Researchers have Interests: a general topic/area/subject that interests them; that they want to investigate; to understand.

Researchers apply for funds to Research aspects of that Interest: to look at particular facets; to search for significance; to find reasons or rules of behaviour.

Researchers produce things: they write articles; they produce data; they have significant emails; they go to conferences…. and all of these relate to specific pieces of Research, or to general Interests.

Articles go through iterations: a lengthy final draft; a pre-submission version tailored to a specific journal; a post-review version; a publishers final-copy version… and each of these link to the previous version, or directly to a specific Research thing or Interest thing

The idea is that when someone puts a thing into their workspace, they describe it:

  • An Interest will have a Description, and inherit the primary “author” from the user profile.
  • A piece of Research will have a Title, a Description, a Funder (and “grant number” or other code), will default the Principle Investigator to be Interest.Author[1].
  • The various Article/Conference/Email/Data things will have their appropriate meta-data, and inherit from the item above them..

The idea, therefore, is that the researcher deposits often, and rarely has to provide much supportive metadata… which could easily fit into their normal working flow… and if we could promise to back up their data, they will probably be happy.

Look at http://www.myexperiment.org/ as an example of something heading in this direction.

[1] If we are clever, then we can link into the organisations MIS databases, and pull the “principle investigator” from there, and get a list of assocciated researchers (those paid from the grant), who are likely to be co-authors.

August 4, 2008

Repository Junction, a new world

Filed under: Coding, repositories — codegorilla @ 3:31 pm
Tags: , ,

I have, as many people know, written a small piece of code called Repository Junction.

The function was needed because we are running an ePrint repository called the Depot. The purpose of the Depot is to accept deposits on behalf of Institutions that don’t yet have repositories, with the intent to pass them on once said Institution sets up a repository. We do NOT want to take deposits that should be lodged somewhere else, we don’t want to be seen hogging the landscape.

With this in mind, I wanted to direct people to The Right Place[tm], hence the need for Repository Junction.

Currently, RJ is integrated piece of code, with the lookup functions built into the code-base directly. I want to extract them, and re-write the whole thing so that the core Junction functionality becomes a simple API (maybe multiple APIs, with common/consistent parameters) which anyone can call, anyone can use.

(But after the current three jobs on my list)

Repository Fringe 2008

“The Repository is dead, Long live the repository!” Dorothea Salo’s (University of Wisconsin) Keynote speech kick-started the inaugral Repository Fringe by lambasting Evangelists, policy makers and developers in a cutting diatribe that exposed the very foundations of the Open Access movement. Speaking from bitter experience, she highlighted issues with fundamental concepts; institutional procedures; deposit processes; and even the software developers… usually from first-hand experience.

Back in April, I was attending Open Repositories 2008 down in Southampton, and fell into discusson with Les Carr (General Chair of OR08, and one of the leading lights of the Repositories movement) about this & that and how there is lots of “little stuff” being done by “little groups” with no co-ordination…. and from this grew the insane idea of having a meeting to gather these people together, these people who are working on the fringes of the repository world, and try to foster co-operation and cross-pollination.
“Where should we have this group?”
“Well, it’s a Fringe thing, isn’t it? I’m from Edinburgh, Lets tap into the Fringe thing in Edinburgh, and give people an excuse to have a bit of a holiday at the same time?”

And this was born the idea of the Repository Fringe event.

When I got back to Edinburgh, wiser heads interceeded, and the event as it played out was planned by Theo Andrew, Philip Hunter, Clair Knowles, Stuart Macdonald, Robin Rice, Robin Taylor and Clare Whittaker (with me sticking my oar in occasionally).

The event was centered in the magnificance of Edinburgh Universitys PlayFair Library and was styled in homage to the Edinburgh Fringe, With “Soapbox” sessions (multiple, parallel, 20-minute pitches, incongruously terminated by a clamoring bell), “Group Improv” sessions (hour-long meeting aimed at audience participation), and “An Audience with…” talks (half-hour talks where someone presents an idea or piece of research.)

There was a lot of very interesting information that came out of the conferance, more that I can include here, partly because I was running around swapping laptops for speakers; toting microphones for audience participation; and just possibly hogging a microphone myself, and partly because I actually didn’t see all of the event, as most of the time we had two rooms going!

The highlights for me were:
- Andrew Girdwood echoing the “Build and they shall come” failure of the dot-com era from Dorothea’s “Build and they shall come” failure of the Open Access movement.
- Steven Hichcock’s analogy to banks and libraries
-Neamh Brennan’s hilarious soliloquy to a laptop in a shroud, echoing the death of the repository, followed by a superb example of how a well thought out, well designed, and well executed Current Research Information System can be a positive enhancement to researchers, and just incidentally, by happenstance, provide an Institutional Repository.

The closing Plenary by David De Roure (Southampton) was a look at the GRID system, and highlighting how the successes and failures of the grid system can be mapped to the Open Access/Repositories systems… and how the new world of the Web 2.0 can, and should, influence our descisions.

The event seemed to take on, in some places, more import than could be expected from an event thrown together in such a short time – and maybe some of this reflects on the import that Edinburgh, and EDINA, play in this field.

Everyone I spoke too seemed energised and enthused that, dispite the recognised failings in our systems, we were looking forward to a better and brighter world…. different, but from evolution, not revolution.

An on a final note: I think we have a right to be proud that we put on an event in less than two months; an event that attracted over 80 participants; and an event that was interesting enough to keep the Director of EDINA present for two days when he was less than 20 minutes from his office!

(See pictures at http://www.flickr.com/search/?q=repofringe08)

Blog at WordPress.com.