Hypertext Markup Love 5

I think it was at least 10 years ago that I bought a book concerning HTML. The thing I remember most of this little book was that is contained a warning concerning the use frames in websites. Not a warning that you are probably completely clueless and you should not have a keyboard when you are planning implement frames in a site, but a warning for the fact that not all the browsers were supporting frames at that very moment of writing.

It was indeed a rather old book, however I fell in love with markup. Markup is the solid base of websites, all the other things (CSS, Flash, Silverlight, other plug ins etc) are just some fancy paint on the solid building. Off course the paint is important, however without a building there is not much to paint. Building buildings is more interesting to me than doing some paint jobs with fancy shiny paint.

Currently my markup loves is reviving since HTML5 is being specified. HTML5 does contain so much good elements, functionalities and other technologies that were missing since the introduction of HTML4 (almost 10 years ago in December 1999).  I will give you five good reasons why you too should be in love with HTML5 and why you should use it:

  1. Clearer structure

    HTML5 will offer you a clearer structure to create a page with. Instead of ending op in a severe case diveritus (use the div element for nearly everything with caring about semantics) you could use elements like Section, Article, Aside, Nav, Figure, Header and Footer. Your page will become far more semantic using the elements.

  2. Video, Audio

    Video is on great demand (every hour 13 hours of video is uploaded on Youtube).  HTML didn’t had native support for playing video and audio in sites. There was the object tag, however it still required a plug in to get things to work. Another great thing is that you can easily offer alternative formats for e.g. video’s and that can you style the video tag as you can with any other element.

  3. Offline web applications

    With a native implementation you are no longer dependent on one vendor based plug ins (Google Gears), which is great, since more vendors result quite often in more innovation. And innovation is good for HTML as long as it is using open standards and is not proprietary. It really opens a new way of working (Gears is currently paving the path), you can now work when you want, where you want independent of connection.

  4. User interaction

    Isn’t it a great idea that you can edit browser pages without the need of rich text editors like tinyMCE of FCK editor? Isn’t it even greater that you have some elements that will enable a track changes functionality in webpages? Off course it is nice that you can drag and drop items in web pages, however the nicest option is the native Undo functionality (for someone with my typing skills it is really great). Again a standarized functionality that currently implemented via many plug ins (that have a hard time to manage cross browser functioning).

  5. Communication

    One of the limitation of e.g. AJAX is that it is by default single domain (with some tweaks in a browser you could make it multiple domain). However HTML5 offers by default cross-document messaging, which is great and offers again a great set of opportunities. Besides that also server-sent events, Web sockets, and channel messaging are great new features.

I bet you are also in love now with HTML5, it is only a pity we have to wait another 14 years before it is a real recommendation. However in the meanwhile we can flirt with it in several browsers.

Categorized as The Web

World domination is near

Everyone has a rather strong opinion on the monopoly Microsoft has/ had on the desktop. Microsoft is seen by some users as a bad company because of its monopoly, leaving the desktop user no other chance than using functionalities than windows Mediaplayer and Internet Explorer (due to the deep integration in the Operating System). Same goes for Microsoft’s Office suite, which doesn’t support ODF natively (it does since July 2007 via an add-in) and saves documents default in the proprietary .doc format.

Who is the good guy?

Well that said, Microsoft may not be on the good guys side, however is there a good guys side at all? Fan boys now would jump on their chairs and would chant “Google, Google, Google!” however Google also has certain drawbacks, as it stores a lot of information on its users. However if you take a look at the developments of Google in the last view months in a certain perspective you could start to think Google will be monitoring you rather closely.

Fact is that Google already hosts your email, calendar, RSS reader, web history, documents, photos, blogs and much more free functionality. It is quite clear Google knows what you are doing since you do it with their applications. It is always questionable if you should want to outsource that many of your applications to one provider. However Google stated that it is not evil and therefore you should not mind it.

Knowing everything

Some months ago Google launched the “AJAX Libraries API“, which is, on first sight a very nice thing of Google to do. However on second sight Google gets also to know what you do on other websites, which websites you visit, and which websites are rather new and needs to be indexed. This is possible by the simple fact that one or more javascript files are included in a webpage. Therefore Google get to know more about the web and more about you (and other visitors off course). Just a few hours ago there is the buzz around Chrome, which is a browser. Google’s open source browser to be more specific.

All of us at Google spend much of our time working inside a browser. We search, chat, email and collaborate in a browser. And in our spare time, we shop, bank, read news and keep in touch with friends — all using a browser. Because we spend so much time online, we began seriously thinking about what kind of browser could exist if we started from scratch and built on the best elements out there. We realized that the web had evolved from mainly simple text pages to rich, interactive applications and that we needed to completely rethink the browser. What we really needed was not just a browser, but also a modern platform for web pages and applications, and that’s what we set out to build.


So if you take a look at this development: not only are you outsourcing all your useful applications to Google. You are also storing your data at Google, your personal history (pictures and video’s), and your video history and indirectly via de AJAX libraries API you history of pages you visit outside the Google domain. And now you are also browsing with Google. Since Android is on its way it is not unthinkable Google will offer a complete set from operating system to (web) application to your desktop/ laptop and mobile phone.

Best intentions

Off course that does not have to be evil, Microsoft had good intentions too when they started integrating Internet Explorer in Windows.

Categorized as Opinion

Goodbye Flash, Silverlight, AIR and other plug-ins

Techniques that require a plug-in in the browser are dying. However Silverlight is not the one dying, since it was already dead just before it started (why even try to penetrate a market with a product that is not finished and with a competitor that is 4 blocks ahead). Therefore we can conclude that Flash will disappear, AIR will disappear and finally those ugly Java applets (who ever thought those would be useful on the web, waiting 5 minutes to have an applet loaded) are gone too.

Native wins

For me it is clear that all plug-in based techniques will be replaced by more native techniques like JavaScript. JavaScript was forgotten due to some browser wars which ended up in the result with two rather incompatible implementations of JavaScript. However with the several incompatible implementations becoming less dominant (there now is only one implementation that is questionable at some points) and the rise of the libraries like JQuery, Prototype, SproutCore, YUI, MooTools, ExtJS it is clear that JavaScript is back on its feet again and it is running to overtake all these plug-in based techniques. JavaScript is platform independent, as most plug-in based techniques are not.

The limitation in JavaScript used to be the ‘flashy’ things: drop and drag, animations, interoperability and other nice and fancy stuff that was either limited by the technique or by the processing power of the client. Nowadays this isn’t a limitation anymore, do you want nice animations, you could use script.aculo.us, JQuery UI, or Processing.js. Interoperability is arranged in almost all libraries. Do you want applications that feel like desktop application, think of your design and build it, just like 280 Slides, Google Docs, Zoho and SproutCore gallery. You are no longer limited, you can make these things happen with techniques that are native for all browsers: HTML, CSS and JavaScript!

No vendor lock-in

It will be hot JavaScript winter, especially since everything is possible again. Flash, AIR and Silverlight aren’t the only techniques that can make flasy desktop like nice solutions. JavaScript can do that too and JavaScript does not create a vendor lock-in requiring a specific closed source plug-in.

Categorized as The Web

The hyper corrective browser

I just had a discussion via Twitter about the desired behavior of browsers during an endless javascript loop (e.g. while(true){alert(“test”);}). One of my friends suggested that browsers should correct this kind of code. Browsers should do this in order to prevent endless loops that crash you browser or your operating system.

Horror scenario

This really sounds horrible to me. Whenever I write code I would like to see it executed the way I wrote it, not the way I could have probably thought about it that it should work. If I write lousy code, let the browser crash, let my operating system crash and probably I will learn something of it. In the worst case even valid code could be corrected by the browser since it could match a pattern that is used to filter invalided code blocks. That would be a real developers nightmare: hyper correcting browsers that are adjusting valid code blocks combined with all current known specific browser quirks.

However this hyper correcting behavior could make the web even more insecure. Microsoft will probably implement some protection in Internet Explorer 8, at first sight this is pretty nice, however there are quite some (amateur) developers that ‘test’ their websites in only one browser. After testing it in e.g. Internet Explorer 8 it assumed save and published on the Internet. However when using a different browser XSS is still possible and the visitor can still be harmed by these kind of attacks.

The responsibility of a developer

With all these hyper corrections you will be in the end only safe on the Internet depending on what browser you use. This is incorrect you should always be safe on the Internet no matter what browser you use. The developer is responsible for the security /usability of his web page/ application, not the browser! The browser should only be supportive to visit and use this page / application.

Categorized as Opinion

Acid3 and 4, why even bother?

If you are in some way involved in web development you might know the Acid tests. These tests check if and how well a web browser completes a certain set of test cases. Based on this it can be concluded if a browser is compliance to certain web standards.

Well that sounds great, but what is in it for the users of the browsers and what is in it for the developers testing their web pages for standard compliance? In my opinion: nothing. Do you as a user really care that you use a browser that passed the Acid3 test? Probably not, otherwise the browser statistics would be quite different. Currently only the webkit (Safari) and the presto (Opera) engine pass the Acid3 test with a 100/100 score. These two browsers have only a market share of almost 5%. The trident engine (Internet Explorer) scores only a questionable 18 points and the new Gecko engine (Firefox) scores 80 out of 100. However these two browsers are used by approximately 90% of the internet population.

Users do not care

Users do not care about something nerdy like an Acid3 or 4 test. Simply because it has not any added value for them to have an Acid3 compatible browser. Most of the sites will be perfectly rendered in their browser; only a few specific advanced things that are tested in Acid3 will not be shown correctly. These specific techniques aren’t used that common that it should have impact on ones browsing experience.

When buying a car, the results of the NCAP test can influence the decision to buy a car, simply because these results do add value (when you crash, will you and you passengers still live, or not). On internet there is another mindset. Bert Bos once said the following:

“I’d like browsers to fix bugs as soon as possible, but it is true that they (and not me) will get the complaints from users when pages that used to work suddenly look differently in a new browser version. Too many people see the Web a bit like television: who ever heard of incompatible content? If there is an error, it’s because the TV set is broken, or maybe the antenna. On the Web, it is much more likely that the content is invalid, but try to explain that to users who just want to buy their holiday or see their bank account…”

This still is the mindset of most browser users. If you cannot visit your favorite website with your browser and you can with another browser, than the browser is broken and not the website. This mindset is also adopted by lot developers. Which is quite reasonable because would you make a website that can only be viewed successfully by 5% of your visitors?

It is for geeks

Users and developers should become more standards aware, without proper use of standards the web is doomed to become something useless. The user’s mindset should be changed that the Acid test is his NCAP test for the browser, however currently this is not the mindset. Therefore Acid3 is and Acid4 probably will be great for browser vendors and geeks like me to compare how well their render engines function, however the normal user and less geeky developer will not care. I hope they will care in a few years…

Categorized as The Web

The HTML5 WG is dead, long live the vendor!

This was mentioned in the HTML5 working group (WG):

I can only spec that if browsers are willing to do it. So far, my understanding is that they are not. (There’s no point writing a spec that isn’t followed, the whole point of the spec is to define what should happen to get interoperability.)

Whether the vendors are right or not (perhaps it is really a nonsense idea), if you make this quote less specific it equals:

Making specs for HTML5 is useless in this WG, vendors will do what they want, not what we specify they should do.

Pretty ugly isn’t is. Why is there a WG (with vendors like Microsoft, Mozilla, Opera etc) as the vendors decides what is best for us (from their perspective) instead of what is best for us from an independent (WG) perspective. This mindset is not what you need for a proper specification. A proper specification should be made without any restrictions or wishes a developer has and should be fully focused on what the customer (you! the user of your browser) wants. The customer is represented by the WG, the developer by the vendor.

Conversations vs demands

Off course you will get a better result when specifier and developer will have dialogue about the specs. Both have specific insights and specific knowledge. Combining these two will increase the quality of the specifications and more important: will increase the quality of the product that should be build. The current situation with HTML5 is that some developers won’t develop certain functionalities. Since this is known by specifiers this is accepted and specs are adjusted to what the developer wants to make.

Why is there a working group? Vendors decide what they will implement and what they will not, the WG has not any influence on that decision and is currently even writing specs that taken this stubbornness in account. The HTML5 WG is therefore useless and is only useful to write down what the developer wants, not what is good for the web or its future. Why should the WG even bother to discuss certain items, ask what the vendor wants to implement and make this the specification. It is a good thing that vendors participate in discussion, however when it comes to implementing they should follow the specification and recommendations. They can give advice why things should or should not be implemented from a technical perspective, however they should not ignore specifications beforehand.

Thin ice

Both WG as vendors are walking on thin ice as we speak, the WG is specifying what the vendors want and not necessarily what is best for the future. The vendor does not want to implement functionalities that seems to be preferred by the WG and is not showing any vision on what is best for the of the web (assuming the original ideas of the WG are best).

Both parties are responsible for creating a product (HTML5) that could had been rather revolutionary and could have been a major improvement for the web, instead they will create just an upgrade of HTML4 with minor impact. Just because vendors are to stubborn to listen and the WG is too passive to make the specs that matter and instead it is making specs a vendor prefers to have.

Vendors should take sponsorship as soon as a WG starts. With this sponsorship they commit themselves to the outcome of the WG discussions (of which they could be part of). That is a whole other ballgame, however I think it can increase the innovation for the web.

Categorized as Opinion

Paper train tickets are for dinosaurs

No not really, paper comes in handy where alternatives cannot escape the shadow of paper, see also my blog about Hamlets Blackberry. Why I came up with this item, is because Jack came up with some excellent mash-ups with train tickets. However I do think there will be more future in electronic ticketing than in glossy and shiny custom made train tickets.

Context awareness

The reason why I think there is more future in e-ticketing is because these type of tickets can be used rather easy on context aware devices. Combining your ticket and your device (your ticket on the device) can make the live of a traveler a lot easier. For example a hypothetical person called John wants to travel from location A to B and he wants to arrive around 10 o’clock at location B, his device knows that he prefers train above car transport and that it is no issue to use mixed transport means.

Based on these parameters the device calculates what is the optimal journey for John, taking all parameters into account. After this calculation finished the device will show a few alternatives for John to make his journey. John can agree on one of these alternatives or adjust them a little a more to his own needs (the device will learn from the adjustments he made). Lets say John agrees, the device will make all necessary bookings and set its alarm clock. After that John will go bed since his journey starts early that next morning. While John is sleeping his device is monitoring the different transport means which will be used in Johns travel. The device notices that the train John should take has an delay of 10 minutes, therefore the device will wake up John 10 minutes later.

As soon John is awake, his device will guide him during his start of his journey. Again he is alerted by the device when it is five minutes before the cab will arrive. John will have enough time to fetch his coat and to go outside to get into the cab. Meanwhile in the cab his device suggests John what he could take for breakfast. Not only Johns preferences are taken into account, also the preferences of friends of John which he marked as trusted parties are used. Based on Johns preferences and the preferences of his friends the device suggest him to have a croissant and some nice tea. John gets again the possibility to agree to this proposal or either decide to have other things for breakfast his device will learn from his decision.

Increasing customer experience

As soon as he arrives at the station the device guides him to his train and to his seat in the train. At his seat is a little box containing his breakfast (nice hot tea included). Not only is he having a nice breakfast, he is also accompanied by people who share the same interests as he has. This is important to John since he is the talkative type and therefore he entered in his device the preference that he prefers a bit of conversation while traveling. Since the other people in his train share the same preferences and interest the devices of these people arranged them close to each other (It is not unthinkable John will meet his wife one day thanks to his context aware device).

During his train journey John can be informed about the fact that he can be better take another train, since his train will stop two stations early than planned. While being transferred to the other train his device guides him to a free seat while matching most of his other preferences. As soon as he arrives at the train destination his device guides him towards location B. John decides the weather is that good, he can take another route to location B and catch some sun too. Again his device learns from the decisions John make and will store these in it preferences.

You e-ticket could be to start or real excitement

All this above cannot be achieved with a paper ticket (well matchmaking could be done with paper tickets ;)). I do think that context aware devices can make life (or at least travelling) at lot easier. Why should you bother to adjust your alarm clock since your train is leaving some minutes earlier than it normal does, why should you bother to keep refreshing web pages to be sure your journey is still on schedule, why should be queueing to get your tea and why should you wonder why your are drinking cold tea in the train since you had a ten minute walk to your train since it is departing from another gate. Why bother anyways, why not help yourself with a guiding tool that not only can guide you during your journey, but can also get you in touch with people of the same interest to have a short conversation and that will learn from the habits and decisions of his owner .

Let your e-ticket and your context aware device help you from the moment it is booked. Your e-ticket is the input for your device and your journey. You will probably have more time to sleep and you will gain some new friends. All though if you would like to have some more new friends going to a pub without your context aware device will be probably more efficient.

Should Knowledge Managers look for a new job?

According to wikipedia (the body of all knowledge ;))

Knowledge Management (KM) comprises a range of practices used in an organisation to identify, create, represent, distribute and enable adoption of insights and experiences. Such insights and experiences comprise knowledge, either embodied in individuals or embedded in organisational processes or practice.

I assume that a Knowledge Managers are the once that execute knowledge management. And if so, I think most knowledge managers should keep on an eye on the jobs section in the paper. As a knowledge manager living in a Web2.0 world (or Web squared if you’d prefer) it is clear that the identification, creation, representation, distribution and the adoption of insight and experiences is something that is done by the group. You as knowledge manager cannot decide what information is important and what data can be knowledge. With the tools that are currently available (wikis, social software), the people can create, represent and distribute all information easily. And what is information for one person, is knowledge for the other and data for yet again another person.

The knowledge manager is becoming obsolete, since the group is regulating itself via the use of new tools. There isn’t one person or a small group of persons that can decide whether something is information, data or knowledge. That decision is personal and a group can decide better by using the tools available nowadays. If a certain document is downloaden 2000 times and has an average rating of 4 out of 5, than you may assume that document represents a certain quality, no need for knowledge manager to confirm or reject that. If there is an article and it is tagged 40 times with the tag ‘community’ and 2 times with the tag ‘vegetable”  it is likely that the main subject of that article is community, no need for a knowledge manager to claim that it is about vegetables, since the group already decided that it is mainly about community.

So what can a knowledge manager do? He can help people in how they should work with the new tools, what the common guidelines for tagging should be, how people should rate information, how people can share information. Not by providing them a strict set of rules, but by providing them guidelines on how they could work. The group decides what best for them, if chaos is best for them, than it is chaos. However after a knowledge has handed over the knowledge on how to use the system, he is really obsolete, the knowledge how to use the tools is recorded somewhere (probably in the tool itself) and can be shared freely throughout the enterprise and with new employees. If it requires an update: the group decides and will update it themselves. No need for a knowledge manager.

What can a knowledge manager do? How can a knowledge manager still adds value while his core competences are something that isn’t unique anymore and which is moved from a individual competence to something that groups of people can do better (as clay Shirky once said: the only group that can categorize everything is everybody). Where will knowledge manager adds value in the future, or won’t they, and will they end up in new jobs?

Categorized as Opinion