…is that they’re over too soon.
Archive for March, 2006
Making CSS layouts work in Internet Explorer for Windows has for me, until recently, been something of a struggle. I know CSS virtually inside out, and still the dreaded IE factor would always get in the way. Some fairly recent developments have changed all that for me though.
- First up is the discovery and subsequent documentation of Internet Explorer’s mystical “
hasLayout” property. Basically, if your CSS can trigger
hasLayouton an HTML element, it magically solves lots of problems with IE’s page rendering.
- Second is an obscure piece of the CSS specification, which basically says any element with
overflowset to something other than
visibleshould expand to contain any floated elements within it. This only works for Internet Explorer if you can trigger the mystical
haslayouton the element in question (AVK has more).
Blah blah blah, obscure something-or-other, whatever…
You’re right, it’s pretty dull stuff, but put the two things together and they add up to something big. This very simple approach has solved two of the biggest fundamental problems with using CSS for page layout: Floated content escaping from it’s parent element, and compatibility with Internet Explorer.
- To stop floated content from escaping from it’s parent element, set that parent element’s overflow to hidden (or something else other than “visible”).
- To make the layout work correctly in Internet Explorer for Windows, give that same element a width or height (or use another way of triggering hasLayout).
But what about the real world?
OK, let’s take the current incarnation of this very website. On each of the major structural elements on the page, I’ve set (for example)
width: 25em; and
overflow: hidden;. The former triggers hasLayout, and the latter encloses any floated content. Ah bisto! The site works in Internet Explorer with virtually no fiddling. Superb.
So take two things away from this: Non-visible overflow and dimensions. They are your saviours.
Yes Weon, I saw you smugly waving from the warmth of your car. I bet you didn’t have as much fun as I did though, did you?
You see, for the second day in succession, I waited until the rain stopped before setting off on the ‘dale. For the second day in succession it starting tipping down within five minutes of me leaving the house, but I was going by then and there was no way I was turning back.
By the time I got to Daisy Bank car park I was absolutely drenched. I arrived just in time to find Nick unloading his 222 from the hire-car (
Oh, sorry, we’ve got no Corsas left -how about we rent you this nice Mondeo for the same money?). We whinged about the weather for a bit before setting off up the hill for a blast down the DH tracks.
The first run down was just plain horrible. It was pouring with rain, the trails were slippy as hell and not a great deal of fun. We contemplated not going up for another one, but seeing as we were already covered in mud…
The second run was absolutely mint. It was pouring with rain, the trails were slippy as hell and we were getting used to the conditions by now. Drift-o-rama. I was riding like a wet flannel (no change there then), so Nick left me for dead on every run – but that didn’t stop me having bucketloads of fun.
We got back to the car park to find Neil Cousins (of TFTuned fame) unloading his spanking new Santa Cruz V10, so we showed him all of the new trails. We went slip-sliding down each of the trails in turn. First up was “Love Child” – wherein I left the bike attached to a tree and slid down the trail on my arse. Secondly we took on “Second Coming” which I got down in one piece, somehow. Finally we rode “La Raclette”. I dropped my chain, which was the perfect excuse for wussing out of doing the stupid log-drop halfway around a 180° corner.
By that point we were all starving and the wind had started howling, so we called it a day. Neil kindly gave me a lift back across town in exchange for the use of our hose-pipe and a cup of tea. Bizarrely, I think we did more riding today in the pouring rain than we would’ve done on a typical summer sunday afternoon.
Oh, one thing. Next time I take the ‘dale out downhilling in conditions like that, can someone remind me to fit some flat pedals (or maybe take the 222 out instead)? The SPDs clogged up almost instantly, which is always rubbbish.
So then, the Sony Walkman NW-A3000. It’s a lovely machine in many ways. It’s beautifully made as you would expect from Sony. The sound quality is fantastic too, once you’ve purchased some decent earphones. The supplied ones really aren’t too hot.
Unfortunately, a few things let it down, so I’ve put together a wishlist of things I’d like to see improved:
- The Connect Player is unusably slow and it’s TinyHTTP.exe process is very resource hungry and unstable. Sort it out, please.
- The alternative, SonicStage, is better, but only in so far as it’s usable. It’s not altogether stable itself, and when compared with it’s biggest competition (iTunes), it’s not a very good music player / manager at all.
- Support for compilation / various-artists albums definitely needs improvement. Specifically, when viewing my music, it should give me the option to separate compilation albums out from the rest of the music. The option to separate artists that only appear on compilations from the rest of the artist listing would be great, too. The same complaints apply to the player itself.
- It would be nice if it could do the same with Podcasts. Some sort of poscast aggregation built into the software would be very nice, too.
- Make the whole playlists experience nicer to use. If they were sorted out on this side, i’d use them a lot more on the player itself.
- The ability to import playlists from other software – iTunes and WinAMP in particular – would be a very nice feature.
- Support for the Mac and other alternative platforms would be lovely, thanks. In fact, just documenting the disc format you use and releasing it into the public domain would be a huge help. You wouldn’t have to do the work then, would you? The folks over at Songbird would quite likely do it for you.
To be honest, there isn’t a great deal wrong with the Walkman itself. The majority of the problems lie in the software that sits on your PC. I do have a few bugbears though:
- It can be so very very slow at times. It’s usually when navigating through the music library while music is playing, but quite often it grinds to a halt and shows the “accessing” screen for ages while nothing else is happening. This is very frustrating. More speed please Sony.
- Support for compilation albums isn’t brilliant on the player either. Separating them out from the rest of the library would be nice. The same would be nice for Podcasts.
- Um… it’d be nice if you could squeeze in a bigger hard disc. 20gb simply isn’t enough for me anymore.
- You know deep down, what I really want, is to be able to just drag and drop folders of music straight on there as if it was an external hard drive. Not going to happen, is it? No, I didn’t think so.
It’s only 10:50 am and I’ve already consumed two cakes (a chocolate doughnut and a chocolate eclair – both provided by work) and I’ve just been given a big bag of Haribo Starmix.
I truly have the healthiest diet of all time.
I went over to Weon & Anne’s this morning, where Ben joined us to watch the first F1 Grand Prix of the season. It took me a while to get over the shock of Jim “Count Von Count” Rosenthal being replaced by Steve “My hair is rock solid and shall never ever move” Ryder.
After yesterday’s bonkers but actually quite exciting qualifying sessions, I had high hopes for Jenson Button and Felipe Massa (who seemingly came out of nowhere to take second on the grid). Alas neither did quite as well as I’d hoped, though they did bring some extra excitement to the race, with Massa spinning out and nearly taking eventual winner Fernando Alonso with him, while Button pulled off a few fantastic overtaking manouvers. Nico Rosberg put in a fantastic debut, once he’d recovered from taking out his team-mate on the first corner, while Kimi Raikkonen stormed through from the back of the grid to finish third!
After the race we switched over to watch Manchester United vs Newcastle United and Anne served up a rather fantastic lunch, closely followed by the ever dependable crumble ‘n custard. Yummytastic.
The afternoon progressed, Man U cruised into a 2-nil lead and I could feel myself sinking deeper and deeper into the armchair. Despite the fact it was blatantly bloody cold outside I got it into my head that going out mountain biking would be a great idea. I got up, announced my intention and then out of nowhere Owen decided he wanted to come too. Rocking! I blasted home, changed into my bike kit, swapped the Cove for the ‘dale and shot back to pick up Owen.
We rode up Leckhampton Hill via a new bridleway we’d somehow never discovered before (it’s the next turning up from Daisy Bank Road). It’s an evil climb, but gets you to the ruins a fair bit quicker. DPA got us a fair bit further up the hill – and I cleared the ludicrously steep climb at the end! Rock on!
It was absolutely baltic up there, so we elected to keep moving up and over the top. After a quick blast across “Any Given Sunday” (which I’d not ridden for months), I took Owen down the ridiculously named “Second Coming” and “La Raclette”. Veryveryveryvery slippery and damn good fun. Finally we descended into the new section where we ran into Alex, Garry and Stubacca who were modifying the trail once more.
After chatting about Stu’s boarding holiday for a while we set off again. I suggested riding back to the top once more, but Owen really wasn’t up for that (and secretly I wasn’t either), so we set off down “The Old Tramway”. I ruled it for the second day in sucession, absolutely flying off the little rooty drops in the top section. We only did about ten miles, but it was fantastic fun – and that’s the important thing.
No doubt Owen will put some photos up at some point .
I’m slowly but surely pimping up the ‘dale. First to go was the stem: The orginal was long enough to resemble a fishing-rod. A nice little RaceFace Prodigy went on in it’s place as soon as I got the bike home. Then there was the seatpost. The original came loose a few times, so I replaced it with a nice twin-bolt FSA FR-200 from Garry.
The biggest difference though? That’ll be the bars then. The original’s didn’t have enough rise or width for my liking, so I whipped them off and stuck my EA70’s on in their place. It felt a bit odd to begin with – they make for a very sit-up-and-beg riding position, but point it downhill and it’s transformed. It felt uber-confident down through the fast open section by the Devil’s Chimney and I was rolling straight into some steep sections that would have fazed me previously (not all of them though, as you’ll see).
I did about 15 miles or so today – most of which was getting to the trails. It was all good once I got off-road though. Up-and-around Lecky, caught and then comprehensively burnt off the dude on the uber-expensive Ti hardtail who didn’t hold the gate open for me, then stopped, waited and held the next gate for him. I absolutely ruled the fast open rocky section down past the devils chimney (BWAAARRPPP!), then rode like a girl down the steep bit to the ruins that follows it. Rubbish. Porbably a good thing I didn’t rule that bit though, or I would’ve run over the people walking up. Oops.
I ran into Alex and Garry and chatted to them for a while, before riding a new section of trail (round there, then back, then wheeeeeee!!!) and linking it into the bit we built last week. It’s quite nice, but there’s no way in hell I’m attempting that jump – it’s monster!
I finished off with a blast down the old tramway. I always forget just how much speed you can carry down that trail when you get it right – a proper fantastic way to end a ride.
A failed redesign is a Web page created from scratch, or substantially updated, during the era of Web standards that nonetheless ignores or misuses those standards. A failed redesign pretends that valid code and accessibility guidelines do not exist; it pretends that the 21st century is frozen in the amber of the year 1999. It indicates not merely unprofessional Web-development practices but outright incompetence. For if you are producing tag-soup code and using tables for layout in the 21st century, that’s what you are: Incompetent.
Yesterday Hope Technology relaunched. I don’t like to do this, because I really like Hope as a company. They make some fine products and they employ some cool people. At one of the RedBull / Saab races back in the day they sorted out my brakes a treat – for free.
Let’s start with the home page: One look at the code reveals that it was sliced and diced in Photoshop and ImageReady, saved as HTML and then left at that. Amateur at best: the code is absolutely foul. There is no alt text on any of the images, rendering the buttons completely useless to screen readers. OK, so there may not be that many blind mountain bikers, but that also renders the page completely useless to search engines. Nice work.
So, being from England, I click the button with the union jack on it. I’m transported to hopegb.com. It hurts my eyes, but that’s entirely subjective and not what I’m here to discuss. I take a quick peek at the source code and… EEEK!
I know I can be a bit of an HTML purist sometimes but that code just makes me want to cry. How, in the year 2006, can someone still be producing that and charging for it? Reams and reams of layout tables, spacer gifs, alt-less images,
<p><b><font> in place of proper heading elements, inline styles… I could go on. This is a shameless example of tag-soup straight out of the dark ages. It’s like the semantic web never happened.
Eh? What does it matter what the code looks like?
- Semantically correct code will be far more accessible to screen-readers. Like I say, there aren’t many blind mountain bikers, but what if a blind mother wants to buy her mountain-biking son a new bit for his bike?
- Imagine i’ve got bad eyesight, so I need to scale the text-size up. Oooh, look, the whole site breaks! Brilliant!
- You don’t care about accessibility? Try this one: Semantically correct code has the added bonus of performing dramatically better in search engines. Why? Because a search engine sees your site in exactly the same way as a screen-reader.
- Remember: Bandwidth costs money. That code is enourmously bloated. Streamlined, semantic code costs me less to download (remember: not everybody has access to broadband) and it costs you less to host.
- It can also degrade nicely onto devices other than my high-resolution desktop PC: Think smartphones, PDAs, Nintendo DS, Sony PSP and that sort of thing.
Accessibility and search-engine performance clearly weren’t even considered when it came to building this website.
OK, enough about the code.
I want to buy a disc brake for my bike. I know Hope make them, but I don’t really know what sort I want. There’s a list of products over there, but what the hell is the difference between the Mini, M4, Mono6 and Trial? Apparently I need to know what I want before I click on it. Someone hasn’t thought about this from the user’s point of view, have they?
So, I think I want a Mono M4 disc brake. I click the link and again i’m presented with a confusing list of links. If I didn’t know exactly what I was after I would long since have given up and gone home. It’s verging on unusable.