Adventures in responsive design

This site is but a few days old, and I am already trying to improve the design. Oh well. The first thing on my site improvement agenda is to try to make the design “responsive”. Basically, a responsive web design is one that is able to adapt, or respond, to different browsing environments, namely, different screen resolutions (and to an extent, different pixel densities, but more on that later). This is of course, great, since then even people with really small screens can still view the site, and perhaps most importantly it negates the need for a dedicated mobile version.

The basic way to make a web design responsive is to use CSS to specify certain styles that only apply at different screen resolutions, through the use of the @media directive:

@media screen and (max-width: 980px) { }

Using these “conditional” selectors, if you like, it is possible to make elements change width or font-size, or hide themselves altogether, without the need for JavaScript. Using these selectors is quite easy: I found the hard part was designing the markup of the pages so that they could be modified easily using CSS. For example, I wanted the sidebar to become a footer at low widths (as the links on the sidebar are secondary, the breadcrumbs providing the primary navigation). However, this meant I had to ensure that the sidebar HTML was entirely after the markup of the main content.

Read more…

Thoughts on the Semantic Web

Recently, as part of my work, I have been working on an installation of the VIVO Semantic Web application. As such, I have been investigating and trying to understand what exactly the Semantic Web is. And, for some reason, I find it very exciting.

The Semantic Web has been hailed as the successor to the current world wide web (“web”) as we know it. Currently, what exists is a “document web”, where information on pages is described through prose and images, and concepts are informally linked together through hyperlinks. This web has served us well for many years, and has enabled the sharing of information on an unprecedented scale. As it stands, however, the web is very hard for computers to understand (as computers can’t read very well). Thus, it is left up to humans to try to link all the disparate bits of knowledge available on the web together into whatever they are trying to find out. Wouldn’t it be great, though, if this could all be done in an automatic fashion?

Read more…