Christian Heilmann

You are currently browsing the archives for the General category.

Archive for the ‘General’ Category

RSS2map – a Placemaker/Yahoo Maps mashup generator script

Tuesday, July 14th, 2009

This morning I went to the Telegraph Media Group to talk about GeoMaker and Placemaker. The main thing they wanted to know was how to place an RSS feed that does not have any Geo data on a map and how to style it.

To make this easier I created rss2map, a demo PHP script with all the CSS and JavaScript needed to show a feed on a map:

RSS 2 Map example page by  you.

Did Digg and YouTube just spell the end of Internet Explorer 6?

Tuesday, July 14th, 2009

Back patting machine In the last few days the blogosphere was abuzz and Twiter a-twitter about Digg pondering dropping support for IE6 and now YouTube showing an ‘update your IE as we won’t support you in the future’ message.

While this is great and I am happy about it I really doubt though that this has a massive impact. Sites like YouTube and Digg seeing a negligible number of IE6 users arriving on their site has a reason: companies that lock their people into IE6 are also companies that block social web sites.

For example I cannot send any Flickr, YouTube, Facebook, Vimeo, Myspace or Bebo links to a person I know that works in a large financial corporation. This blog, probably because of its name is also banned, and so is S3 for storage. What happens? People attach 10mb videos to emails which strangely enough don’t get banned as 20mb PPTs are not uncommon in that environment. That this is stupid is not the debate, that it happens is sadly enough a fact. The brave new world of web2.0 awesomeness is far from being the part of IT were most people are and where lots of money is spent.

In the case of YouTube the impact is even less impressive as for years YouTube has rightfully claimed to have 70% of their traffic from embedded media rather than people coming to their site. I upload videos to YouTube but I have given up on comments and tagging on YouTube years ago – the audience is simply not quality but quantity driven. What would be more interesting to see is if the YouTube player could detect a video being embedded in a site that is shown with IE6 and then asking for upgrade.

All this smacks of the well known number that 99% of the web has Flash installed. Well, this number comes from Adobe so yes, when I go to the Adobe site to upgrade my Flash plugin I do have Flash installed the same way that when I go to MSDN or windowsupdate.com I am very likely to have IE and Silverlight. These are self-fulfilling prophecies.

I guess Facebook will be next to say something in the vein of not supporting IE6, which would be as much of a media hoo-hah but actually much more useful if it supported standard development practices or made the site accessible to assistive technology at the same time.

Social web sites not supporting IE6 is a sign, but a sign to an audience that already understands the problem. It is like adding a message for blind users as a JPG without alternative text – nice idea, wrong tool to reach the intended target group.

What would be interesting would be to see just what kind of web sites are banned in the IE6 loving IT environments. That way we could go to clients and say that if thy want to build something in the same vein than they are OK to not give a toss about IE6 as their site will be banned anyway.

So, while I applaud the decision of YouTube and Digg I also see that it is a damn easy one for them to do as there is no danger involved.

Web sites like the BBC, Sky or even more interesting Bloomberg, Financial Times and other resources corporations use and need dropping IE6 support would be a real impact.

The BBC has the problem that they cannot ask people to upgrade anything by law – which is why they had to build their own JS library to support old browsers. You can say that was a step to keep old browsers around and stop innovation but in reality it was a legal necessity and there is no way around. Laws and especially publication laws are the enemy of innovation – and boy do we have a task ahead of us if we want to change that.

In the case of financial companies and large software corporations that build systems for other software corporations and supporting IE6 more or less exclusively (try using an Oracle self-service system with Firefox on a Mac, I dare you!) they are blissfully unaware of the issues they cause and who is to blame? Us, the people who want to change the web and live on the bleeding edge of web design and development. Every single time I ask what can be done about corporate environments, terrible education in universities when it comes to web development and shortsighted and very wrong guidelines and standards in government web sites I hear the same thing – “there is no point in wasting energy on this, we’ll never reach them or change that”.

If that is the case then we also have no right to complain about IE6, cause either we change the cause or moan about symptoms. Right now we do neither as we are too busy celebrating minor victories that make us feel as if we changed the world.

The ball is still in the court of Microsoft. They have the channels to reach the people that need to upgrade their browsers – to keep their systems more secure and to allow us to build web solutions that make the day to day life of cubicle dwellers all over the world much easier and prettier. Right now Microsoft is battling itself over an issue that keeps them from innovating. Google OS is an unashamed attack to the old-school office world, and I for one would love to see it succeed as stagnation and maintaining a status quo that makes people hate computers and programs that they need to use to do their job is not what building software for people is about. The money spent on marketing stunts comparing IE8 to other browsers and women throwing up when not using IE8 could be spent better in a campaign tailored at corporate IT to join us in a past-Y2K world.

Twitter comments hidden by request.

TTMMHTM: Braille body mods, Tesco hack, Placemaker talk video, old superheroes, steampunk, accessible Opera and cat control

Tuesday, July 14th, 2009

Things that made me happy this morning:

Soho is so hot right now – huge fire in Soho, London

Friday, July 10th, 2009

I just thought my laptop was broken as it was smelling of burning plastic in the office, but it turned out to be a massive fire some streets down in Soho, London (that is not Soho,NYC).

I am very impressed with the job the firefighters have done to stop the fire from spreading. It also shows once again that it is great to have a camera and a fast internet connection handy. As the above video and all the other photos of the Soho fire I’ve taken are creative commons, the Metro newspaper used them on their site.

Another interesting YQL feature: XML with callback (JSON-P-X)

Thursday, July 9th, 2009

Yesterday’s announcement of YQL now supporting insert, update and delete somehow overshadowed another interesting new feature: XML with callback!

XML with callback?

On first glance having a callback parameter on an XML output doesn’t make any sense. The normal use case of callbacks is to turn JSON data into JSON-P so that you can use the data immediately in JavaScript. The reason for XML with callback is to make it easier to use the same data when getting data from the web. Say I want to use YQL to get the images and links of the people I follow from twitter. The YQL statement is:

select * from html where url="http://twitter.com/codepo8"
and xpath = "//div[@id='following_list']"

The XML output of this call is a pretty hefty XML document with all the HTML as an XML node structure.

The JSON (and JSON-P output) is even worse as it gives you a structure of all the elements and their attributes as properties of nested objects:

div: {
id: "following_list"
span: [
{
a: {
href: "/jemimakiss"
hreflang: "en"
rel: "contact"
title: "Jemima Kiss"
img: {
alt: "Jemima Kiss"
height: "24"
src: "http://s3.amazonaws.c...glasto_mini.jpg"
width: "24"
}
}
}
//... and so on ...

Converting this back into HTML could be quite an annoying job – not to say slow. This is why YQL now offers the callback parameter for XML. The JSONP-X output as it is called in the YQL changelog makes this task a lot easier by returning a JSON object with the XML as a string:

foo({
"query":{
count",
updated",
"diagnostics":{
publiclyCallable",
"url":{
execution-time",
content"
},
user-time"
}
},
"results":[
"
Jemima Kiss [...]
" ] });

This makes it dead easy to render the results back as HTML:


Nice? I think so!