Home > javascript, tech > Should my JavaScript-heavy enterprise application support IE?

Should my JavaScript-heavy enterprise application support IE?

At work we are developing an application that makes heavy use of JavaScript (yeah, like everyone else these days!:). The application is still under development, but we have made some alpha releases for our sales folks to demonstrate it to potential customers. The application, right now, is sluggish and has memory leaks in IE – in FF it works beautifully well!

Sales, QA and business analysts use IE, but developers use Firefox. Firefox respects CSS, it has a fast JavaScript runtime and supports better development tools (Firebug, in particular, is god send!). IE6 is sluggish and has quirky CSS support.

Within the development team we often joke that we might have to show a splash screen with “Detected IE; launching in slow-mode” when a user launches the application on IE. But Giles Bowkett’s post “The Business Case For Firefox” had me thinking seriously – should we really support IE?

Our application is targeted at businesses; a fixed number of users (employees of our customers and their customers) would be using it daily to get their job done. Productivity is very important under this circumstance, so any sluggishness in the user interface is not acceptable. Speed of the application, as perceived by the user, is much dependent on the speed of execution of JavaScript. I admit that we can definitely tune our JavaScript code to run faster – but shouldn’t we also be looking at getting a faster runtime too?

Since the users of our application are a captive audience, we might also be able to convince them to use a particular browser – you can take the stance that “this website, viewed with this browser is the application“! Will this work in practice? Would we be able to convince our customers to switch (if they are not already using it) to Firefox?

The development effort has budget considerations too. The project stakeholders need to be aware that supporting IE properly is an activity that is going to take some cost – do they really care to have it, or will they like some other feature in the application instead. Giles make some excellent arguments on this, and I think I should be making them to my bosses too; let them be aware at the least.

PS: I don’t have any experimental data to prove that the IE JScript runtime is sluggish. I have that empirical impression from my experience using IE. Please drop me a comment if you have data for or against my conjecture.

Advertisements
Categories: javascript, tech
  1. Masklinn
    March 17, 2007 at 10:07 am

    If your code is for “enterprise applications”, I don’t think you really need to support Internet Explorer (support for Opera 9 and the upcoming Safari 3 currently known as Webkit, on the other hand, shouldn’t be too hard to achieve).

    And on the slowness of Internet Explorer, MSIE does indeed become slower as the size of the application (the number of objects in the system) gets bigger, because MSIE’s GC is a piece of shit. Daniel Pupius recently wrote a very nice post on the subject: http://pupius.co.uk/log/2007-03-07/

  2. Phineus McGee
    March 18, 2007 at 9:17 pm

    This sounds like a technical question, but the answer lies in a very non-technical question “What are your business requirements?” You say “Sales, QA and business analysts use IE, but developers use Firefox.” Forget about the development process…Developer-driven desires rarely pass muster when put in front of users in the real world.

    Who is the end user and what is the business case for forcing them to switch, particularly those that are not within your company? If it’s Sales folks, im my experience they generally hate technical change unless they see a compelling, obvious benefit.

    In other words, one call from the VP of Sales to the CIO, (which will only require one call from a trading partner to anyone in Sales), and you will be supporting IE as your primary browser. Deal with it.

    That said, you have an opportunity to scale down the scope of cross-brower compatibility if speed and long-term stability are your only issues (i.e., it’s slower in IE but still works correctly for a number of hours of normal use). “Works in IE for 2 hours, works faster and all day in Firefox” might be good enough to keep the VPs off your back.

  3. Changsu Chiang
    March 18, 2007 at 10:58 pm

    If the situation is as you presented that everyone else who uses this application except those developers works with IE, this application could be considered as a failure. And frankly your development team manager/architects should be held responsible for this failure. The application that didn’t take users’ experience/requirements into consideration is always a failure, no matter how beautiful your code is, and how faster it runs on another environment. Developers (I am one of them), please don’t tease people who work mainly with IE. Please take time to think why we always made mistakes like this.

  4. March 19, 2007 at 8:18 am

    Hey,

    [In case you like c#]

    what server side technology are you using?
    what rpc model if any?
    what do you think of cross compilation, eg gwt and friends?

    I am developing a project that can translate compiled c# to javascript.

    If you like the idea I would be happy if you’d evaluate it:)

    better yet, drop me an email: zproxy ‘at’ hot ‘dot’ ee

    cheers

  5. raveman
    March 19, 2007 at 9:32 am

    I saw many pages that can only be viewed with IE on the net(they even block other browsers). If you can make client agree to firefox than its ok and thats the main question. On the other hand he might agree, but then change his mind. Talk to your boss and maybe he can convince client. Good argument would be also that people use IE not only for work and viruses are aimed at IE 🙂 lets us know how it goes.

  6. Richard Marr
    March 19, 2007 at 1:44 pm

    I’ve been working on an enterprise app (with the UI written in Javascript) for the past 18 months or so. It’s just under 300k after compression/obfuscation, so not inconsiderable in size. I’ve also encountered performance problems with IE, but there are ways around them that do not sacrifice too much in the way of code cleanliness or performance in other browsers. If you’re interested in talking specifics feel free to contact me. Maybe I’ll have some pointers for you, maybe the other way around.

    To answer your question though, if you don’t have IE support you will lose business.

  7. Richard Marr
    March 19, 2007 at 1:47 pm

    Just as an addendum to my previous post, I have noticed some areas where the IE runtime is much slower than FF (e.g. string concatenation), but also some the other way around (e.g. date handling).

  8. March 19, 2007 at 6:50 pm

    @Masklinn
    Thanks for the link!

    @Phineus
    My role in the project is as a programmer. I am not in a position to make a decision whether we should support IE or not. But I don’t have to silently go with the assumption that getting it to work on IE is painless.
    This is the first project, for me personally and for the organization where I work, that relies heavily on JavaScript. If you were working with me last year, and had come around and told me that you find getting a web application to work on IE painful I would have suspected that u were whining – thats due to plain ignorance on my side. Now, I have come to realize that getting it to work well on both IE and FF can be painful.
    At the end of the day we might end up supporting or not supporting IE. And the decision needn’t be black and white either, we might decide to partially support IE (as you had suggested too). But only after recognizing the development cost of doing so.

    @Changsu
    No, I don’t think the project is a failure – at least not at this point of time. 🙂 Its not as if the application has completely diverged from the users expectation – even now all features work well on IE, albeit a bit slow. And we have only made an alpha release – and my post itself suggests that we are considering these issues at this point.
    Why didn’t we consider these earlier? Well, we would prefer trying to get some features out of the door, see how our users like them, get feedback etc first.
    And why aren’t the developers using IE? Well, the tool support on IE is real bad. We found the free FF tools useful to build our first set of features – we are now evaluating tools that can help development on IE.

    @raveman
    Yes, thats a stance one can take – but only if it does not cost business. All those web applications that works only in IE might have had some irate Linux and Mac users. But the number of irate IE customers, should one drop support for IE, might not be in the same numbers. 🙂

    @Richard
    Thanks for writing in. I think that I can do lot better in tuning my JS code. We have just finished the first cut of the app, and are coming around to performance issues and such.

    If you’re interested in talking specifics feel free to contact me.

    How? 🙂

  9. Richard Marr
    March 26, 2007 at 11:54 am

    richard.marr (Gmail)

  1. No trackbacks yet.

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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 )

Google+ photo

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

Connecting to %s

%d bloggers like this: