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.

Published
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…

Published
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.

Published
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?

Published
Categorized as Opinion