A Proliferation of Feed Standards

Google just announced GData, which is apparently a:

...simple standard protocol for reading and writing data on the web.

It is basically an amalgamation of Atom, RSS and bits and pieces of Goodle juice. It piqued my interest for a couple of reasons:

  • What was termed Optimistic Concurrency
  • A promise of Authentication
  • REST based

The former relates to a simple solution to the problem of concurrent updates. Say I grab a file and make a change, but in between another individual grabs the same file, and after I submit my changes, they also try top submit changes all my changes could be lost. GData specifies a solution to this by introducing version numbers, only if the version you are modifying has the latest version number will it be accepted. The version number is simply provided in the edit URI in the feed. Nice.

I wont ramble too much about REST, safe to say if you like URLs then it makes perfect sense and you can just get on with it. Lots of other posts about why if you missed the (ongoing) debate. It’s a bit like Microformats and the Semantic Web. The bariers to entry for microformats are the the same as those for building web pages.

I say the promise of Authentication above because it turns out that part of the system is not in place yet. The other part of that I’m sceptical about is, from my reading, a complete reliance on Google to provide the authentication. For some applications that’s fine, for others you probably dont want Google in charge of the keys.

It also has simple proscribed methods of dealing with categories and search queries, including Opensearch integration.

I was thinking about playing with a PHP based client/server for GData, or at least having a look, but I think I’ll wait until I know more about the authentication side.

I have a feeling Microsoft will do something like this as well, take existing open standards and republish them with a few bells and whistles. And again the developers, ie. us, are left supporting multiple slight variations on a theme. Maybe I’m just suspicious. Time will tell.

@media and Google Calendar

I’ve become something of a Gmail convert over the last good few months. Moving everything online has made my life oh so much easier. I’d done the same with my feed collection a good while back with Newsgator. Storing all my calendar related info was something that was on my perenial todo list. Well, Google finally got round to releasing their own calendar after months of “will they get on with it already”. First impressions are pretty good. It’s simple. It’s obvious (at least for a geek like me) and using Gmail already I quite like the styling.

One of the features I really like, but which will only mature with age, is the shared calendars. It makes publishing your itinerary to the entire world very easy. The more people use it the more useful it gets.

As a case in point I decided to enter the shedule for the upcoming @media conference and share the calendar – to be honest to see how it all worked. Of course, about 24 hours after I did this the lovely folks at Vivabit completely revised the initial schedule. Ok, so I was only momentarily annoyed considering the conference just got a whole lot better – though they did drop the CSS3 discussion panel which I though would have been interesting.

A little rejigging and the shared calendar is up to date again:

Feel free to subscibe, either via your own Google calendar or any iCal compatible application.

Along comes a reboot

Well, it’s nearly 6 months since I launched the new design on here and entered into the 2005 Fall reboot with minimal acclaim but lots of nice comments and some traffic. That means it’s nearly time for the Spring event! I still like this design, which is something of a first for a pet project, so made a descision early to do something different.

I like the reboot. It’s a deadline for a start, with all the good and bad things that that entails. And as I’ve mentioned to a few people recently the 6 month release schedule seems just about right.

My new pet project aims to fill a gap that I’ve noticed when scouring the web for knowledge. I’ve mentioned before on here about being a fan of books, and have something of a stash of web, design and software related titles that I plough through pretty much constantly. But knowing what to buy, and what to read next, is never easy – even when I consider myself in the know. I’ve still got a fair few titles from when I started out which, in hindsight, were not the best starting point for a budding web designer.

So along comes Webdesignbookshelf.com

Webdesignbookshelf.com

The domain is sorted. The design is nearly sorted (but subject to change a bit). The backend I did a while back (more on some of that later). I’ve no idea what happens to it in IE yet, but you cant have everything. One think I do need to sort however is content.

What I’m aiming for is good quality reviews. For the start I’m not looking to have a percentage score, or a star rating system, or similar. In my experience these tend to cheapen the end result, and become the be all and end all of the review. Books deserve more. Alot of it depends on context as well. The recent Javascript Anthology is a good book and worth the admission price, but I skipped most of it as it covered things from quite a basic point of view to begin with, something I wasn’t expecting. It really kicked into action later on, especially the accessibility chapter and the section on obect orientation. I would have liked to know all that before I bought it.

With so much information available online, and new sites popping up all the time, I still think books have a place. Especially with lots of talk of self publishing at the moment maybe we’ll see more books bypassing the old publishing processes. This could include books bypassing any kind of editorial process as well, good quality reviews can help act as a filter, a helping hand if you will.

Anyway, if anyone reading this far fancies contributing a review or two please let me know. I cant promise wealth, or fame and fortune just yet. But you should get a warm feeling that your helping a community, and you name up in lights if you like that sort of thing. And watch out for the May 1st launch over at the reboot, should be another good one.

Where to put all that data? S3 resources

Lets face it, web apps are getting bigger. At least in terms of the amount of data they store. Take two big poster siblings, Flickr and del.icio.us. All those user accounts, all that interlinking between then, all that meta data. Technorati is another example – trying to keep up with all blogs everywhere in as near to real time as possible has got to be seriously data intensive. And at times this has shown through, all have had problems at some point in their short histories.

If you are looking to get into the world of big, community focused, web apps then you need space. And I know I cant afford a huge outlay on storage and bandwidth, even most small web shops would probably have something of a problem with the large outlay, limited short term money making problem.

An interesting solution to this would appear to exist in the shape of S3 from Amazon. It has been around a little time, and others have been intrigued enough to mention it, but I decided not to ramble on until I’d had a brief play. Well, it’s quite cool.

Amazon themselves provide a number of useful code examples in different languages, including Perl, Python, C\#, Java, Ruby and PHP. They also provide examples of the raw HTTP requests for thos that way inclined.

This openness (OK, so they dont really have a choicee, the whole product consists of an open API, it being closed would seem to limit it’s usage!), as always, has allowed the community to run with the idea, building up sample apps and some easy to use wrappers:

Nothing here feels complete as yet. Most are early hacks by people getting on board early and giving the rest of us a starting point.

Overall I like things like S3. If it works reliably and scales well then it could become something that just sits behind all sorts of realy cool ideas, preventing data loss and removing another potential headache for the small developer.

Any other resources, or ideas, more than welcome.

Speak and a Drink

I’ve been going along to the local industry do Think and a Drink for a good long while now and they have talked me into speaking at the next do. So I wont be thinking for the first hour, rather rambling on about the chosen topic of Web 2.0. My loose plan is to mock the term and big up the technology involved. Someone else has the job of looking at the business implications, which should also be pretty interesting.

Apparently this is me:

Gareth works at TH\_NK – a newcastle based brand technology company. He is involved in a number of areas of the web design and development process, from the design of modern web applications to building effective online interfaces. In his spare time, he blogs on web design, development and accessibility at morethanseven.net and organises events for the local developer community on newcastlenewmedia.org. Keeping up-to-speed with web trends and new technology is something Gareth is passionate about – and it shows.

If anyone who has never been before, or isn’t a codeworks member, wants to go along then let me know. I’m sure Heather would love more people along, and be good to see some familiar faces (or at least familiar domain names) in the audience.

I’ll publish my brief presentation if it’s any good after the event. See you there?

Beware. Nudity Warning

Rejoice. It’s CSS Naked Day!

Come on everybody, get your markup out for the ladies.

PAS 78

I dont often ramble about accessibility issues on here, something I’ve only just noticed. Quite suprising as it’s one of those things that I’m pretty interested in – and have been for a good long time.

Anyway, I’ve just finished reading through PAS 78 or Publicly Available Specification 78, Guide to Good Practice in Commissioning Accessible Websites. It’s a document aimed at those buying websites, especially in the public sector, who probably know accessibility is a good think but could get easily hoodwinked by anyone with even a modicum of knowledge and evil intentions.

Rather than just provide information about the what and why, considering the doc was launched a month ago, I’ll just point you to a good synopsis from Isolani. A few other notables have posted good reads. Joe Clark, as always, has an opinion which is both anally detailed and all true. Bruce also has a run down from a (some what) insiders point of view.

My feeling was, overall, pretty positive. I’d love to see all the clients I deal with having read this. It’s a pretty good intro to the issues at hand, though it is maybe a little long and technical for some of its audience. One area in particular that got quite a bit of coverage, rightly so in my mind, was testing. Their still isn’t enough testing of any sorts for websites, even with all these beta tags going around. The testing area covers all sorts of bits and pieces, again not in enough detail for the implementor but certainly enough for any good procurement office to be able to separate the wheat from the chaff.

A good series of mentions goes to ISO 13407 which covers Human centred design processes for interactive systems and as luck would have it the subject of a workshop I’m attending with Gilbert in Sunderland on monday. More on that after the fact.

Anyhow. I’d recommend getting your bosses to pay the £30 (or for bosses, stump up your selves) for the PAS 78 PDF. It’s a pretty good read anyhow, and hopefully more and more proper clients will be reading it soon. Forewarned is forearmed as they say.

Playing with Python - first impressions

Ok, well not quite first impressions. I’ve dabbled before but not for a particular reason and never actually built anything – but I’ve spent most of today getting stuck into Python.

I have a couple of reasons for wanting to learn another language properly, and I’m more interested in Python as a general scripting language than as a replacement for PHP as my web language of choice (Rails hasn’t really caught me yet, sorry). I could do some of this with PHP I know but that brings me to my second reason. I’ve been reading the Pragmatic Programmer recently and one of the things it has to say is:

“Learn at least one new \[programming\] language every year. Different languages solve the same problems in different ways. By learning several different approaches, you can help broaden your thinking and avoid getting stuck in a rut.” The Pragmatic Programmer

I like the idea of that. The rest of the book has a number of interesting things to say about programming in general, much of which is easily actionable.

A few of my regular reads sing occasionally about the joys of Python, which was probably another reason I’ve gone that way as well.

Anyway, first impressions is that Python is pretty easy to pick up. I keep wanting to put in braces and semi-colons but looking at the code it looks clean, simple and readable. Arrays, string functions and flow control appear to be present and correct. They work how you would expect which is what you want really for core functionality. Objects are next on my list of things to look at.

I’m building a simple log file analysis tool as I go. I’m fine with it being a command line app to be honest, but I might end up tinkering with some of the GUI features at a later date. One of the reasons for going for Python was it’s flexibility in this regard. Hopefully building something as I go will make it more likely that I’ll keep playing. I have a couple of other sample apps I’d like to make as well which is probably a good thing again to maintain interest.

Anyway, depending on how things go some more comments or code may emerge. Anyone else taking similar advice to learn new languages? If so which ones?

The Wisdom of Clouds

I’m playing with a few thinks at the moment and one of those had me thinking of tag clouds. For those who dont spend time on flickr or similar you may not have seen then, or at least heard of the terminology. All we are really taking about here is a visually weighted list.

I dont agree with Jeffrey here unfortunately, who has issues. I can see the point, that sometimes information is better organised by one person than many (think your weekly food shopping list) but in some cases it can be nice – especially where it provides an alternative navigation method. Maybe I just missed the part where everyone had a tag cloud? I’d love to see, for instance, a tag cloud on last.fm of bands that I might like based on my listening habits, and those of a similar musical persuasion.

An interesting article on where next for tags clouds throws up a few interesting points but one thing I have not seen discussed at all is the accessibility angle. Visual prominence is one thing, but without some sort of semantic prominence those not viewing the content visually lose out. A very unscientific survery involving the del.icio.us tag cloud confirmed what I though would probably be the case – the visual effects (ie. bigger or highlighted text) are implemented purely via classes on the links.

What would be the effect of using plain links, moving to emphasis for the next level, up to strong for the really important tags? We can style the content exactly the same as before, but we have added some sematic prominence to the content.

Anyone had any experience implementing tag clouds in live projects? Even better, anyone had experience of user testing such interface devices? Real bonus points for accessibility related testing.

Reading up on a speedy industry

I had cause today to stop and think about books relevant to learning the bigger picture side of building web sites and applications. Code, graphic design, whatever your bag in between, you are either aiming to become, will become or at least affected by people in management positions. Even small companies are not immune, though they can avoid some of the problems (but often by causing some other ones as well.)

I’m a big fan of books, I read lots online but when it comes to regular, night after night reading I much prefer to be in bed with a book than a laptop. I have no problem at all falling asleep and the book falling lightly on the floor for the morning.

Books do however date, or rather some do, or maybe if you take them as gospel they do. Anyhow, I see them as useful – perhaps even more so in distilling knowledge for consumption by other, less obsessive, members of out industry?

Without further ado I present a short(ish) list of books I think everyone involved in web software should read:

Some are most definately on the software side, others very web centric while more still are a little older and just plain odd. However all of them serve a purpose, they let people see into a way of thinking. The idea that programmers are wizards annoys me. It’s not magic, it’s creativity, just with tools most people are not familiar with.

If you are someone involved with the building of appications give some of the above a try if you ever feel like reading up on something different, apart from the latest CSS or Javascript tricks.

If your involved in the management of projects but come from a non software (dont kid yourself because it’s the web it’s not software) background then dive in. You’ll start to understand some of the little bits that puzzle you so.

Anyone else got any books in a similar vein? I’m always on the look out for an interesting read. Or do you complely disagree – do you even still read books?