boogdesign blog

Web design, web development, standards compliance, Linux, events I went to related to that, and random things I found on the internet.

Rob Crowther, London, UK based Blogger, Web Developer, Web Designer and System Administrator - read my Curriculum Vitae

Buy my book!

Book CoverHello! HTML5 and CSS3 available now

Buy my other book!

Book CoverEarly access to HTML5 in Action available now


11:32:48 pm Permalink Top 7 Blog Mistakes to Avoid

Categories: Tech & Web, Blogging

An interesting article from David Airey, and I'm always a sucker for this sort of thing :roll: I'm sure I've made far more than just seven mistakes, but I'll stick to his ones:

  • Mistake #1 - not using a self-hosted blog - never been a problem for me, since half the point of it has always been to mess around with the blogging software.
  • Mistake #2 - expecting people to visit - well I've never really expected people to visit this little blog, but the wider point here is that you've got to drive traffic to your blog by interacting with other bloggers as well as the readers of your blog - good advice.
  • Mistake #3 - not writing as if I?m talking - I think what he meant to say here was 'not writing as if I'm conversing', the point being that your blog posts should invite people to respond rather than attempt to intimidate them with your superior knowledge. At this juncture I think I ought to point out, if ever you read anything on this blog where it sounds like I'm trying to initimidate you with my knowledge, rest assured I'm almost certainly bluffing :)
  • Mistake #4 - changing the location of my blog - I think this isn't an issue so long as you've avoided mistake #1 and are able to deal with sitemaps and either mod_alias (redirect specific URLs with RedirectPermanent directives in your .htaccess, eg. from /blog/ to /) or mod_rewrite (use a regular expression to redirect with a bit more intelligence).
  • Mistake #5 - neglecting my article headlines - David's been reading the same blog writing blogs I have. This is still a trap I fall into - I have to fight my tendencies towards whimsical and abstract headlines. Witness the difference in views of Rob discovers his Javascript inadequacies, chapter 442 (88 views at time of writing) and Unobtrusive Javascript, Opera, <body onload= and window.onload (608 views) - both are short posts describing a javascript 'gotcha', but one has an abstract title while the other describes a specific problem.
  • Mistake # 6 - not linking to others as I?d like them to link to me - I would like to think I've always been a good netizen in this respect, but probably I'm guilty of the odd slip up. 'Do unto others' is always a good bit of advice in my opinion.
  • Mistake #7 - underestimating the time commitment - this is a funny one for me, because I think I'm fully aware of the time commitment required, which is one of the reasons why this blog went three weeks without an update this month - other things to do! (And more on those other things in later posts, I hope!)

Tweet this!
Send feedback »PermalinkPermalink

10:31:51 pm Permalink What is a 'Front End Web Developer'?

Categories: Web Develop, Front End Web Development

Inspired by ppk's Dutch 'Front End Web Developers Guild', there was quite a lot of discussion a few weeks ago about what a Front End Web Developer actually is. This post is mostly an email I sent to the WSG mailing list with links to other useful messages on the thread, because I feel that this issue deserves a wider readership.

Karl Lurman voiced the opinion that, at some point in the future, 'front end web developers' won't need to understand Javascript and other web technologies, they will be able to depend on frameworks and libraries - the platform or IDE will take care of producing valid, accessible markup.

In response I pointed out that, apart from it all being magically accessible and standards compliant, this more or less described how ASP.Net works now. It's great because it lets desktop developers with no front end web skills produce apps quickly, but it's horrible because it lets desktop developers with no front end web skills produce apps quickly. I saw an advert in a developer magazine this week about a custom control for .Net in which there was a (perhaps fictional) quote from a developer - "Control X is great because it means I can stop worrying about the UI and concentrate on the business logic." The fact that ASP.Net developers apparently find this sentiment of abdicating responsibility for the UI beguiling is what worries me about the whole 'user interfaces designed by IDEs' concept.

Of course, the hypothetical 'front end web developer' needs to be distinguished from web and/or graphic designers. Paul Novitski criticised designers who think one Photoshop mockup is the full extent of their job (and in fact think that, after they've done that, all the hard work is done...):

Just as a good print designer needs to understand papers, inks, and printing technologies, a web graphic designer needs to know the stuff that the page is made of in order to make competent decisions.

Finally Richard Williams discussed how many companies view front end web development as a place for young developers to learn the ropes before being allowed to do 'proper' development. I've often seen the attitude among people that consider themselves 'real' developers (ie. back end types) that front end stuff is easy and a task for junior developers, and those same people are happy to have their framework spit out crappy markup because it's 'only the UI'. But crappy code at the front end is IMO just as bad as crappy code at the back end, and perhaps more focus on 'front end web development' as a speciality in it's own right, in the form of ppk's guild or similar certifications, would help correct some of these issues.

Tweet this!
2 feedbacks »PermalinkPermalink


01:58:03 am Permalink GPX2 Linux handheld gaming device

Categories: Gadgets, Linux

I used to use a second hand Zaurus for listening to MP3s and a second hand PocketPC for reading eBooks while commuting to and from work each day. Sadly they both deteriorated to the point where battery life was barely enough to cover the journey one way, let alone there and back. I switched back to dead tree book consumption and have learned to live with the general background noise of tube travel.

Recently I started thinking it was about time I got myself a new digital audio player and started looking into options. I was thinking I'd make do with one of the cheap solid state ones in the 2-4Gb range, but I wanted the player to support OGG encoded files to save me having to re-encode half my collection. These simple requirements limited my options on eBuyer somewhat, and I started investigating more expensive devices. That's when I came across the GP2X - a linux based, hand held game console with built in media player and eBook reader.

Now, if you were going to design a gadget specifically to push all my buttons then you'd probably end up with a GP2X - it plays MP3s and OGGs, has dual processors, runs Linux, plays games and reads eBooks, and ships with the SDK for free. You can even plug it directly into a TV and watch movies. And all for only 124.99 - though probably closer to two hundred quid once a few optional extras have been added in. I want one!

Tweet this!
Send feedback »PermalinkPermalink


11:34:23 pm Permalink Write 'uʍop ǝpısdn'

Categories: Amusements

Neat trick (so long as whatever you're using to view this supports Unicode, and your font has full support for all the possible characters) - a little utility which translates each character of the input text, using a symbol lookup table, to a character somewhere in the Unicode character set which looks like that letter upside down.

Tweet this!
Send feedback »PermalinkPermalink


09:18:21 pm Permalink GDD07UK: Building a Mobile Website

Categories: Web Design

Review: Building an Interoperable Mobile Website at GDD07UK, The Brewery in London, 52 Chiswell Street, London 16:45 to 17:30

My final talk of the day was title on the signup page 'Developing for the mobile', which led me to believe it would be a discussion of web applications for mobile devices, but the title of the talk on the day was as above, and focussed mostly on web content rather than application type interactivity. Despite not fully meeting my expectations, this was perhaps the talk where I learned the most new stuff.

Gummi started with a discussion of why mobile website development has been so much more difficult than standard web development. Mainly this comes down to standards - although 'desktop' web developers complain about inconsistencies between popular browsers, this is nothing compared to the great variety of mobile browsers and devices and also the different standards that have been implemented. He recommended that these days it was best to concentrate on for the Japanese market and for the rest of the world.

Mr Hafsteinsson's golden rule for mobile websites - KISS. Generally that cunning feature you've thought of which would be 'neat' rather than useful to users is a feature you don't need on your mobile site. There were then a sequence of slides with more specific tips:

  • Use well formed markup - use the correct XML preamble and DOCTYPE declaration, validate your markup and specify character encoding. While it is feasible for a desktop browser to do a lot of processing to correct your markup mishaps, most mobile devices don't have enough spare processing power to deal effectively with invalid input
  • Send Google a Mobile Sitemap - on the mobile web people don't (generally) type in URLs, because typing options are usually fairly restricted and/or awkward on mobile devices, there is a much greater reliance on search engines so you need to do everything in your power to help the search engines out
  • Understand best practice - two sites specifically mentioned were the W3C's Mobile Best Practices and the dotMobi portal
  • Test in emulators - it's not feasible for you to obtain every mobile device on the planet, so testing in emulators is a good shortcut. Some of the specific emulators mentioned were the NTT DoCoMo i-mode HTML Simulator, the wmlbrowser extension for Firefox, the OpenWave emulator and the NetFront emulator (which has a Linux version) and, of course, Opera which can emulate the phone browser in the desktop version.
  • But don't just test in emulators - sites should be usable on entry level phones and provide an effective experience on mid-range devices. Be aware that these devices have far more limited physical features than your desktop development machine, things that work fine in the emulator on your desktop with 2Gb of RAM and a broadband connection might not work well, or at all, on a GSM phone with 64K of RAM. Again, don't overload your websites with features that overload more basic phones.

That was the bulk of the talk (actually relatively short), but there was a long question and answer session which covered the use of XHTML Mobile profile (and not Basic, as shown on the slide at the beginning) on .mobi websites and quite a lot of discussion on the merits and pitfalls of user agent sniffing (using, for instance, the WURFL device database). Gummi's advice was not to blindly adopt a sniffing approach, use standards for the most part and use sniffing to get round incompatibilities where appropriate for your users - generally think about your users rather than about the devices. Hopefully increasing use of standards in mobile websites will lead to better support of standards in mobile devices. The questions went on with some discussion of the Google mobile search and content transcoding (where Google automatically converts a website to mobile compatible format when you click on the link rather than sending the page directly), how this would become less necessary as more sites provided mobile versions of their content, and also a meta tag you could put in your head element to direct Google to the mobile version of a particular page (though I can find no mention of this elsewhere on the web, so if anyone locates it please leave a comment).

Overall an excellent talk despite being short, a bit high level and lacking code examples (which I know I've criticised other talks for, but in this case the high level information was very useful to me). Also the question and answer session covered a lot of extra ground, so 5 out of 5. If you are planning to get involved in the development of mobile websites I would recommend spending 45 minutes viewing this talk.

Technorati tags for this review:      

Tweet this!
1 feedback »PermalinkPermalink


11:45:28 am Permalink Security Update for Windows Safari Beta

Categories: Technology News, Web

Apple have released an updated version of the Safari for Windows beta, fixing three security holes announced within hours of the launch earlier this week.

Apparently the Apple Software Update service will do everything automatically, but I downloaded the update manually and installed it over the top of my existing install, which also seems to have worked. Unfortunately it overwrote my Fonts.plist file so I was back to the font problem from before, but at least I knew what to do this time...

Tweet this!
Send feedback »PermalinkPermalink


12:29:54 am Permalink GDD07UK: Building better AJAX apps

Categories: Web Develop, Front End Web Development

Review: Building better AJAX apps at GDD07UK, The Brewery in London, 52 Chiswell Street, London 15:45 to 16:30

Since I'm now a few weeks behind on my reviews (the date of this post is when I started writing it...), probably everyone who cares about Google Gears has heard about it by now, so I'll keep this short. Chris talked about the design goals for Gears, for both end users and developers. For end users it boiled down to providing a seamless experience between periods of online and offline activity. For developers the goal was to build incrementally on existing skills and techniques - leveraging all those newly learned Ajax skills rather than replacing them, "preserve existing knowledge and momentum" was the exact phrase. Google themselves plan to support all the major desktop browsers with extensions and plugins, but the implementation is an open standard (an open source) so if you feel the need to have it implemented on your platform of choice you can go ahead and do it yourself.

On to the technical details, Gears has three major components:

  • Local Server - basically a local proxy, your application files go into a ManagedResourceStore, which has a manifest, so all your app files can be versioned together, and ResourceStore for any other random web resources your user may access
  • Database - an SQLite database with a javascript API
  • WorkerPool - a method for supporting javascript concurrency through Erlang-style lightweight processes, no shared memory and communication through message passing

If it was just the LocalServer by itself, this would still have been a useful extension - that's all that's really needed to make your web app work offline, but the Database and WorkerPool components enable a whole different approach to web application development. WorkerPool makes it much easier to write applications which do client side data intensive processing, and Database allows you to build applications which sync back to a central server periodically (similar to how .Net CF + SQL Server Compact applications are intended to work now). Expect to see some startups with innovative products based on Gears in the next few months.

Several code examples and clear explanations, an excellent talk as befits what is obviously a key technology for Google - 5 out of 5.

Technorati tags for this review:    

Tweet this!
Send feedback »PermalinkPermalink