Blog birminghamuk

Avatar

Gigbeth at 128kbps

At 7pm tonight, Birmingham’s addition to the festival calendar begins in earnest, and with technical and Web support by Bluemilkshake, Rhubarb Radio will be there for the best of it.

In an ambitious project, Rhubarb Radio will be simultaneously broadcasting online from 7 different venues centred around Digbeth’s Custard Factory, a hub not only for the Gigbeth and Drop Beats not Bombs festivals but for the creative community in Birmingham.

Bluemilkshake Limited has had a massive part to play in setting up the physical hardware and developing the Website, which will allow people to listen to any venue’s output throughout the two days of music, or to “listen again” to a particular gig. Listeners will also be able to hear the station’s normal live output, which will combine interviews and reviews from other gigs with live streams from the ones covered online.

In Rhubarb Radio’s press release, Station Manager Paul Hadley said

“This is truly a first for Birmingham. We’ll be taking feeds from all the major events, so listeners can hear their favourite bands for free via their computers and mobile phones, even if they can’t get to the gigs in person.”

The station has high hopes that after Gigbeth, the foundations being laid and relationships forged with the venues will allow them to continue providing its listeners live content from gigs they’re unable to attend, or a chance to relive a memorable night.

I’ll be there today and tomorrow as will a whole host of other volunteers, to ensure the event goes off without a hitch. If you can’t make it, check out the Events page of the station’s Website, pick a venue and have a listen from 7pm.

Hiding your post content makes feed readers pointless

Feed readers take RSS feeds and display them in a meaningful way, but if you provide only summaries of your posts you make your readers’ lives harder and reduce the likelihood of your content being read.

RSS is a technology that is most effective for blogs, giving us an easy way to read authors’ content. Before the advent of Web-based apps like Google Reader, providing summaries of blog posts via the description tag made sense: there were fewer feeds around (worth reading) in those days so you received alerts when new content was made available, much like we still do now with email.

But as the number of blogs increases, and with the advent of blogging platforms like WordPress, Blogger and all the rest of them, “really simple syndication” (which isn’t what RSS stands for*) is widely regarded as the way to read blog posts.

I very rarely visit blogs any more, unless a particular post uses script that Google Reader can’t render or that RSS doesn’t reproduce. However, there is another reason that forces me to jump out of my reading panel and disrupt my flow, and that is incomplete feeds.

As I mentioned before, you used to be able to get away with putting a summary of your content in the description tag of each post’s item tag. (Most developers use the word “node” as it’s an XML term, but it’s a similar makeup to HTML so I’m simplifying). However, bloggers - or more specifically blogging platform developers - can embed the entire content of a post into the item tag by creating a content:encoded tag and importing a namespace (basically adding a line near the top of the RSS document). Feed readers understand this tag, which allows for storing of HTML, which obviously includes images and embedded Flash movies.

This relatively small change has a massive effect on the way a reader consumes an author’s content and it is very simple to implement, however there are still a number of blogs that don’t use this and I find it infuriating.

When I’m skimming through the new articles that have been written in the last 24 hours or so, if I see a headline that catches my eye - or a new article by a writer whose posts I particularly enjoy - I want to read the whole article there and then, in a familiar setting. I don’t want to have to click, scroll, adjust to the layout and continue reading.

Imagine if you were reading a newspaper, but instead of printing the full article the publishers just printed the page number of an accompanying magazine which was full of adverts. If they did that for every section you’d be up to your knees in cheap gloss.

Bloggers: please take a look at the source code for your RSS feeds. (You can do it in your Web browser.) If you don’t see a content:encoded tag for each of your posts, download the right plugin for your blog software or contact your developer because your posts could be going unread. (Failing that you could simply be annoying your readers, and there’s never a reason for that.)

There are people who, infuriatingly enough serve incomplete RSS feeds on purpose, because they want to track the number of subscribers they have. This is fairly pointless however because, if you are writing good content you will insight people either to comment on it, link to it, forward it on or visit the site to find out more, all of which are trackable. RSS readers are lurkers, so you should focus on converting them to real visitors by providing full content rather than arrogantly assuming they will follow your predetermined conversion path.

* it’s RDF Site Summary incidentally

When best practises collide

Best practises are methods and techniques for achieving a certain goal. By their very nature they set the standard for us to follow, and form a mechanism by which developers can be judged.

ASP.NET is my platform of choice when developing applications, but it gets a bum rap from developers on both sides of the open source debate, for its creators’ inherently arrogant approach to Web standards.

While working on a new project I thought I’d have to bite my tongue when I saw some of the .NET markup that was being used, but after a while it dawned on me that what was being written wasn’t incorrect, it was simply following Microsoft’s best practises rather than, for example the W3C.

Under ASP.NET, the tools that allow developers to change the styling for Webpage elements (font faces, sizes, colours, etc) are very close to hand. When adding a text box control to a form, the user can specify its border style, font size and colour aswell as the usual stuff like maximum length and validation functionality. Now as part of the XHTML and CSS methodology, which encourages the separation of content and styling, this type of customisation is abhorrent: it’s simply not the done thing. However, when developing the .NET Framework (and specifically ASP.NET), Microsoft were simply following a pattern.

Some people actually don’t realise, but the .NET Framework in and of itself has nothing to do with Web development: it is simply a software framework. Programmers can build desktop and console applications, libraries and games with it. Now in desktop application development it is very common for developers to be given the option to change how a form looks by hard-coding the window styles directly into the application. There is no CSS technology for desktop applications, and so programmers pick colours from a specific palette (which include system colours) and fonts from a dropdown list, to suit their needs.

Not only can you build both desktop and Web applications with the .NET Framework, you can also use the same software (Visual Studio) to build both types of application, so developers could make the transition from building Windows Forms apps to producing Websites. Microsoft even took care to give the Web versions of their controls (like textboxes and labels) the same or similar name as their Windows Forms counterparts, with the same abilities to change styling that programmers had grown used to.

So I think it’s unfair to rail at Microsoft for not embracing W3C, when this isn’t actually the case. As a standards-conscious developer I’m not forced to use the hard-coded styling method that I would use with Windows apps: I can apply CSS classes to my controls just like I could in HTML.

So hard-coding your “look and feel” doesn’t make you a bad Web developer: just one that’s following one set of practises. Problems only arise when developers pick and choose elements from different methodologies to create their own which makes picking up someone else’s project that bit more difficult.

This realisation has made me a more forgiving programmer: now I just have to learn to resist the urge to force my ideals onto others.

Web development on Google Knol

Yesterday Google opened its Knol project to the public. In Google-speak a knol is “a unit of knowledge”, and it’s aiming to be a successor to the immensly popular and sometimes accurate Wikipedia.

I thought I’d have a play with it, so when searching for web development and finding nothing, I decided I’d write my own knol on the subject. Little to my knowledge, the lack of results is not to suggest a gaping void but rather an indication that the search system isn’t particularly solid yet. Oh the irony.

It’s a fairly easy-to-use system which requires virtually no learning curve. (If you can use a decent blog engine or a word processor you should be comfortable with the Knol interface.)

Unlike the complex code and techniques required to write Wiki articles, knols are written in HTML which is validated by the rich text editor that Google provides. I would have preferred not to see the option to change font faces, colours and sizes, as these are too open to abuse and left to the mercy of people’s differing design principles...or lack thereof.

That aside, there are some useful, user-friendly features which should help to truly democratise the sharing and consumption of knowledge. The site allows readers to suggest revisions which have to be approved by the original article author(s) [there can be many authors for one knol]. The author can see the original article with the suggested additions highlighted in green and omissions in red.

There are a few bugs: obviously the search isn’t fully awake yet - unless there is a delay between the article’s publish time and the time in which it is indexed - and there a few, very minor JavaScript errors, but it’s a clean, uncluttered and readable design. Hopefully that will keep, as I think part of the problem with Wikis is their habit of looking especially “techie”, with their multiple shades of grey and various small tabs.

Time will of course tell as to whether Google’s “me too” project will take off, and how soon it is (if ever) before knols replace Wikipedia articles at the top of search results for phrases starting with “what is”. In the meantime I remain skeptically optimistic!

22,000 of us just don't click

Did you know a Google search for the phrase "click here" returns some 2,210,000,000 results? Probably not, as I imagine searching for such phrases is not the way you like to spend your free time, but it’s true nonetheless!

What this means is that on over 2 billion pages, Web authors are using the words “click here” to link to other pages.

That may sound like useless knowledge, but when you consider the fact that something like 22,000 Brits use screen reading software to browse the Web, that’s quite shocking.

A screen reader is a piece of software that, as the name suggests, reads the contents of a Web page, usually for the blind or partially sighted. Popular commercial products include JAWS, Microsoft Narrator and the proprietary system Browsealoud.

When a fully-sighted person browses the Web, they can read the whole of a paragraph that contains a link, and choose whether or not to click that link based on its context, so if we see a sentence that reads “click here for information on properties in Spain”, we know that clicking that link shown in bold will take us to a page about Spanish properties.

Users of screen readers don’t have that luxury. If they want to “click” a link, they first have to tab through the entire list of links on that page, listen to the text of each link, then either “click” it or move to the next one.

So a blind user’s audio experience of our fictional property page might work something like this: “home”, tab, “about”, tab, “contact us”, tab, “click here”, tab, “privacy statement” etc (where “tab” indicates the user moving to the next link).

The problem is compounded when you have more than one “click here” link on a page: for example a list of news headlines and summaries.

Unfortunately many Web developers have a strange knack of following rules exactly to the letter when it comes to W3C guidelines, so rather than using the phrase “click here” they use the phrase “find out more” or something similar, but that’s just as problematic because it means nothing when out of context.

For more information, see the W3C’s guidelines on link text.

Programmers vs developers

While chatting with Josh Hart - he of Live Brum fame - we both hit upon the idea of programmers being different from developers. This has been discussed elsewhere, but I felt it worthwhile to look at this angle, two years on from the original article that prompted the post in that link.

WARNING: Grotesque instance of management speak following in later paragraphs.

It’s easy to think about the difference between developers and programmers as one that is based on knowledge: a programmer has a deep knowledge of the languages and frameworks he uses, and a developer has a broader but consequently less holistic understanding of them but has the ability to plan, talk to clients and manage a project. There are elements of truth in that statement, but it’s not wholly accurate.

I for example have a foot in both camps. I learned VB by sitting in my room, playing with my custom-built Windows 98 PC and not kissing girls. I got a job fixing computers then went on to develop desktop applications for large companies. I now develop Websites for a living, and I code for the fun of it: the results of which are currently TweetPaste.

But I also blog, work with and build WordPress plugins, collaborate on different projects like The Big Picture and Rhubarb Radio, all of which have come from an active social life. I work on open source and “closed” systems alike because I’ve got the end in mind, not the means. I can do the handshaking, business-card swapping, coffee meeting thing, and I really enjoy it when it’s with people who are there to revel in the exchange of ideas.

Josh told me he doesn’t consider himself a developer, but when presented with the code for Live Brum which he’d written almost entirely single-handed - and was able to thoroughly explain - I balked at that claim. He corrected me however, saying that he was a developer, not a programmer (not to be difficult: simply to draw a distinction).

It may come down to a difference in brain types: some people are logical, others are creative. You can have elements of both of course, but I think one will always outweigh the other.

I’ve had similar conversations with my friends David North who runs Digital Rant and Kevin “DigiKev” Rapley, a programmer and designer respectively; both people with an appreciative eye of the other’s discipline, but a firm understanding of their own strengths. Currently they’re both either engaging in or undertaking projects that will see them finding a middle ground, but having approached it from opposite directions, so perhaps these titles are defined, but not set in stone.

Given the right framework a developer can build very powerful Websites, but can you then take that knowledge and learn a new language from scratch, thus becoming a “real” programmer? Similarly can a “hard-core” programmer take the helicopter view and acquire time management and client-facing skills? Yes, probably, but what’s more important is the question of whether either wants to.

Some are very happy being given a problem and figuring out how to solve it, whilst others like to be given an idea and told to run with it or wait for inspiration to strike. There are opportunities for both, unfortunately there are also frameworks for both. ASP.NET is seen as the programmer’s language whereas Ruby on Rails is for creative types. This is partly because creative people embrace the ideals that open source licensing embodies, but also because of the reputation of the likes of Microsoft, as a stuffy, almost archaic organisation.

Or is it just about mindsets? MySpace is (now) built in ASP.NET, and Facebook which is programmed in PHP is under constant criticism for creating a walled garden (a closed space, far from the ideals of the open source ethos).

So therefore the technology - and even the ideals behind them - are not what makes a programmer or developer what they are: it’s what they do with those technologies that makes a difference.

There’s a whole bunch more I could say on the subject but I think I’ve gone on long enough, so if you fancy telling me which camp you think you belong in - or whether there’s room for a third...or more - please comment away!

Radio 1 and Twitter: a wasted opportunity?

I’ve been listening to BBC Radio 1 today, specifically Jo Whiley’s show (for my sins).

She has a regular slot on her daily show in which she answers questions texted or emailed in by listeners. Questions such as “what was the music on that advert that was on last week?” or “where does the expression ’fishwife’ come from?”

The BBC engage reasonably heavily in Twitter (although as pointed out in a tweet by Paul Henderson this engagement is fairly one-sided) and have accounts for each of their major services, one of them being Radio 1.

Interestingly enough however that account is lying dormant, the last post being 10 months old. Now to me this looks to be something of a missed trick.

I know from past experience that BBC policy prohibits its own online actions, rendering its broadcasters unable (certainly without receiving flack) to read out URLs for other social networks in which they are involved. Chris Moyles has previously complained that he can’t direct listeners to his show’s Facebook page without those responsible for the station’s official Website complaining that he is driving traffic away from the site.

With this in mind I can see why saying twitter.com/bbcradio1 on air would obviously cause civil war to break out within Broadcasting House, but think how much more interesting their shows could be if people could communicate with the station hassle and cost free.

Plus think how many more casual listeners they could gain if they tweeted that Bloc Party or some other “worthy” band were to play an impromptu set at Maida Vale and it was due to start in 15 minutes, or that a guest on Chris’ show has just said something outrageous that must be heard with a link to the iPlayer.

I don’t listen to Radio 1 that often but I think I would if the message I received from Twitter was more interesting than “Radio 1 has received 1905 texts in the last hour”.

In fairness, inhabitants of the Twittersphere are probably more likely to be 6 Music listeners, so what’s stopping that station from engaging in this growing platform? 6 Music doesn’t (don’t?) even have a Twitter account, let alone an out of date onr (or in the case of Radio 4, an account that has yet to be updated).

How to talk to clients

As people who do “technical stuff”, we Web developers sometimes need to remember that the knowledge we take for granted isn’t shared by everyone.

Often those in the proverbial “know” find striking a balance between condescension and confusion a might tricky, and we can often find ourselves driving up what I tend to think of as a conversation cul-de-sac.

This can be characterised by starting a conversation in which neither party is entirely sure what the other one needs. Take designing a Website for example. Sometimes there are limitations that affect the design: screen resolution, installed fonts, browser capabilities and so on, but there are often ways to get round these problems, but it is important for the client to be aware that there are consequences involved.

Communicating this in writing can sometimes be easier because you can say everything you need to say, and the reader is given time to re-read and digest the information to better understand your point.

When this becomes more difficult is in a face-to-face situation, because questions get asked, not at the end when one person has finished making their point, but mid-argument and sometimes mid-sentence. Because of this, neither party has a full picture of the problem or the possible solution, so you can find yourself driving up an avenue that leads to a dead end in which the conversation can go no further because both parties are confused. “I don’t understand what you mean” followed by the response “yes, but I don’t understand what you want” and that sort of thing. Hence the conversation cul-de-sac.

It can be a very frustrating place to be, and if not handled correctly these sorts of situations can get awkward. I’ve been guilty of making the odd dismissive comment to someone or saying “of course you know what I mean!” because I couldn’t or wouldn’t believe that my explanations were left wanting.

So my solution tends to be to go back to the start and try to find an alternative route through the conversation. This often involves a lot of repetition, but eventually either you or the client will explain something in a slightly different way that instantly makes it clearer. When this happens you can find a different road and eventually get to your destination: complete understanding.

I think any business that is based on knowledge can come up against this problem, and it can be frustrating for both parties. Developers often get labelled as techies with little conversation skill, so taking the time to restart a conversation from scratch rather than try to induce comprehension by force can be very valuable. Not doing so can lead to you being seen as someone with few interpersonal skills, meaning your chances to meet clients dwindle.

Above all remember that your client knows their business, not yours and vice-versa, so a little sharing of knowledge, well delivered can be invaluable.

Byron, deadlines and pulling an all-nighter

It’s been a long time coming, but finally Bluemilkshake has a .NET site again, after popping over to WordPress for a wee while.

WordPress is a great system, and one of the things I loved about it was the way you could just “get on” with writing without really having to worry about anything else, and that’s part of what I’ve tried to achieve with Byron, the content management system that this site is built on.

I moved hosting a week or so ago, from a budget PHP host to Fasthosts, and with the move came the necessity to close down the original site, moving as I was from PHP to .NET (in short meaning that the old site wouldn’t work).

So I put up a holding page claiming boldly that the new site would be up by July 1st, a deadline which had already been put back a few days. I had a number of other projects on at the time which needed my attention so inevitably my own site suffered, leading to something of an all-nighter, the evidence of which you can see in the three videos below.

10pm

12am

3am

There’s nothing like sticking to a good deadline is there!?

Anyway...there’s still a lot more to do on the site, and a lot of content to add but I felt it important to at least have a place I could direct people to, plus it’s nice to get my blog back again!

(I’ll be working on getting all the old URLs to redirect but in the meantime the RSS feed URL that readers use to subscribe is being automatically redirected so you should be able to pick this new post up in your RSS reader.)

Personal dictionaries

Many of us - especially those who work in the wishy-washy world of social media - use words which are cobbled together from others and which we have either ourselves made up or are dreamed up by our peers and contemporaries.

I’m often surprised at what words don’t make it in to common spell checkers: words like blogging, podcasting and even the universally accepted online (as apposed to the original hyphenated version). When I use a new piece of software that comes bundled with its own spell checker, I don’t get very far before I’m adding lots of words into the software’s dictionary (even after changing the language from American to English and replacing all the auto-corrected Zs with Ss).

I’m finding recently that I let a lot more words slip through the net when faced with the choice to add or ignore an ostensive misspelling, so words like Stef’s gobbledygeek or Stephen Fry’s blessay are being added and accepted into my own personal lexicon.

You can have a lot of fun reading through the words that you add to your phone’s predictive text dictionary. Most of them are profane but it gives you an interesting insight into the less common words people find useful.

Is the Internet a haven for these new bastardised words, or does the inherent textual nature of the Web and its ever-increasing meme culture make the words more viraflexispreadable?

What words are in your personal dictionary?

(Words that didn’t pass WordPress’ spell checker - which incidentally does not include an expandable dictionary: wishy, podcasting, ostensive [a real word], gobbledygeek, blessay and [unsurprisingly] viraflexispreadable)

Next