Finally: The Great Migration Part III

Now, in some trilogies it is worth to wait for the final part. Let’s face it, The Lord of the Rings – The Return Of The King was worth waiting for. And from what I’ve heard, The Dark Knight Rises being the third installment of Nolan’s Batman trilogy will be quite worth the price of the ticket. Return of the Jedi might now have been on the level of Empire, but still very good. So, let’s add one more to that tradition; the overdue third installment of the Great Migration… here it is 😉

For people who have been falling in after the second part of this blog posting, I have to disappoint you right away, there will be no academy award material here, nor a Pulitzer. The Great Migration simply is a three part description of the migration from the Flash-based websites that my company hosts to HTML and JavaScript. And the final part is about the delivery and the actual switch.

Not only did we have to migrate the sites, actually, it accompanies the migration of the company itself to a new location, which made it actually even a more painstaking moment, simply because no matter how you cut it, your accessibility is always less during a move than it normally is. But, the migration itself went pretty flawless.

We have taken the time not to rush into it, and to make sure that the move happened without many disturbances for the clients. The switching of the domains was a pain, but for almost all clients, even this went pretty fine. And the only problems were small nuisances; but those are the ones that I know will be the big ones that will keep bothering me.

And that is the simple fact it is HTML and JavaScript we are dealing with. I dare to say I know my way pretty well around it, but I just cannot like it. For me, personally, it is driving a car of your least favorite brand. It might be a good car on paper, it just might not be what you like to drive. It will not impact the quality of your driving skills, you just have to do it with the car you don’t appreciate. That is how I think about HTML and the combination with JavaScript.

I will tell you why, which is immediately hooked up to what clients told me. Both the HTML and JavaScript render engines are browser based. This means, the manufacturer of the browser writes the way how HTML and JavaScript are actually shown on screen. This also means that Microsoft, Google, Mozilla, Apple and Opera all have their own ways of handling this. And this is all again done by the guidelines that have been set up by W3c (HTML) and EXMA International (ECMAscript – the base of JavaScript, ActionScript and other ECMA-standards).

And, don’t forget all the OS-related interfaces that show up in the browsers. It simply will make every site, on every browser, on every platform act a slight bit differently.

The most responses were why people see a different scroll-bar on their Apple at home, and their PC at work. Or why the scroll-bar doesn’t show on their tables. These are things easily explained, and not a big problem. But it actually is. Because although the explanations are very rational, it is weird that we have to deal with it.

By now, after dealing with almost 20 years of public accessibility of the internet, you would’ve thought that we would be somewhere uniform. And it is not only about scroll-bars; pfffff, we can manage those with Style-Sheets (on most browsers – there ya go again!), but about anything.

Populating a selection box in Chrome, FireFox and Opera is simple by generating the html that goes in it, but to make it compatible with IE, you need to treat the selection box as an Array. Why? I mean, I understand how it works, but why are these browsers fundamentally different in this? It is both JavaScript? And I know the answers ‘why’, but I don’t know why!

And this is also what bothers me about it; HTML and JavaScript both are rendered by your browsers. That means, the code is all downloaded to your computer, and the browser is more or less compiling it, so that it can shows you what the code creates. This has two major drawbacks;

1. All the code is insecure. Click on the ‘view source’ in your browser, and there it all is, all the code. And if you want to see how JavaScript manipulates it, just click the ‘inspect element’ in Chrome.

2. There are too many cooks in the kitchen. As I described above, every browser manufacturer can have their own interpretations of how a site should work with the code you send it.

Now, I know how to create a well-balanced website, keeping things that are security issues on the server, and deliver prepared coding to the browser. It is all fine, and my comments might be petty, but I still cannot figure out how everything hardly moves forward with internet technology.

In the meantime, the clients are very happy. I am actually happy to see the sites come to live on mobile platforms. But it just leaves a bad aftertaste.

Don’t get me wrong, I don’t think that HTML and JavaScript are bad, not at all. JavaScript is actually a very pleasant language to write in. But, it feels like I am running a photo studio with 36mm film. You can do magic with it, but, it is a little bit old fashioned.

This is one of the other things I liked Flash. Forget about the whole design element of it. But just take a look at ActionScript, which is also an ECMAScript language and extremely close to JavaScript; it was always rendered by one manufacturer, and you could keep the code more or less hidden (sure, there are tools for dissecting most Flash files). The compiling was both a blessing and a curse, but to me, it still held more blessings.

I am confident we will get to a general JavaScript engine, that actually handles compiled JavaScript at one moment, even if it is just the security issues that will drive us there. We will see…



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s