Are you making a Chrome application? Or a web application?

If a web application doesn't work in all mainstream browsers it doesn't work

I've been observing this for a few years, but lately it has gotten annoying, so I wanted to write something about it. Below is a QA style walkthrough of what Chrome applications are, why they are a problem and how and why we can and should upgrade them to web applications.

I see something is bothering you, what is it?

Many developers write Chrome applications instead of Web applications.

What do you mean by “Chrome application”, some kind of extension or something?

No, a Chrome-application is similar to a web application except it is written by a lazy, green or careless developer, or by an otherwise professional, caring and competent developer in a job they'd wish they could get away from.

This sounds stupid but anyways, how can we figure this out without studying the developer?

Glad you asked. Try using the web application in any major browser that isn't Chrome or Chromium and isn't just a shim over Chromium parts. You could for example try in Firefox, Safari or even bad, old IE.

Seriously: Who uses IE and why would we care?

Lots of people. And their lives are probably miserable enough without you making it worse ;–)

OK, but I don't have those other browsers installed, can you describe to me what I would see?

It depends: Sometimes it just plain doesn't work at all, sometimes parts of it doesn't work and sometimes it just doesn't look good at all.

That's interesting... So you're saying there are lots of bugs in other browsers that Chrome application-developers aren't aware of?

No, I'm saying that developers who don't test in other browsers than Chrome tends to write code that doesn't follow the standards. Then they iterate over it just enough to make it work in Chrome.

So what you are proposing is that after a developer has finished coding and debugging their app they should run it through a number of other browsers to test it?

Yep, it is part of being a professional. Of course, what one does on ones own personal home page is a different story, but let me also guess that people who cares enough to create their own home pages are the same people who actually cares to make them work in most browsers.

Or actually, I have a better solution ...

Are you aware of how much extra time this will take?!!

Yes, I've been working with the web for a while so I kind of know.

That said, I have a better solution.

Let's get back to that later, maybe. A more interesting question might instead be: why would I care to pander to people who are too lazy or dumb to install Chrome? If anything we should introduce known problems so those stupid users would finally get around to installing Chrome?

Because many of us have good reasons to use other browsers.

Like accessibility you mean?

Well there might be people who uses other browsers for traditional accessibility reasons but I'm more talking about people who use other browsers because they enjoy the performance boost, for UX reasons or because especially Firefox has a much better plugin ecosystem. Others are stuck with another browser because the browse from a machine at work or on a library, or maybe they use a device with a locked down app store.

But the question still stands: Why would I care and even if I cared how would I defend to my boss all the extra time it would take to do this?

Well, maybe because your boss wouldn't like it if they figured out you scared away potential customers just because you are lazy and stubborn and don't care to be professional enough to do basic testing or even listen when someone tries to tell you a better way that might save you both time and hassle?

Or maybe because I and others try to take care to point out in reviews and when we discuss if a site doesn't work?

There's a funny story about the worlds most expensive Javascript somewhere on the Internet, if you want to read it I might find the link for you 0.

OK, well argued, not sure if I agree, but you might have a point. Now you keep mentioning this better way. What is it you want to sell? Some outsourcing service or SAAS or new frontend library that makes everything magically work across everything from Mosaic to Chrome 100?

No, far from it, I generally think we should have less dependencies to frontend libraries rather than more, what I'm suggesting is you could try to use Firefox when you develop so that ...

So I were right, you were trying to sell something! Don't you realize how ridiculous this idea is?!! It is not like Firefox will extend our deadlines or make our days longer, and in addtion to changing to a less modern browser, -if we did this we'd actually be in the same position, only worse since it is now only tested in a browser with far less marketshare and not in the browser that most people use? Seriously what a waste of time!

No. Sorry. Let me finish that: What I mean is if you use Firefox when you develop and it works there it probably works in Chrome and Edge as well. In all the years I've been developing I can only remember a single time when something I made in Firefox broke when I tested it in Chrome. There might be a small speed bump as you start but generally I think the improved tooling should make up for that.

Also a nifty side effect is it would probably make you a better web developer or to be blunt: make you an actual web application developer instead of a Chrome app developer.

Hopefully it would also give you that warm fuzzy feeling of being a professional developer who works to improve the web instead of tearing down what we fought so hard for back before 2010.

Hey, it might even be a competitive advantage if one day you'd want to ...

Well, a lot of what you say makes sense but I'm kind of busy now, I'm stuck on some CSS grid issues because I actually make actual cutting edge web sites for actual users. And as a recommendation, next time I guess you should stick to the facts: everybody who's worth their salt knows Chrome is faster, has better dev tools and besides that plugin system you mentioned were neutered a few releases back when Firefox decided to reuse Chromes plugin model.

I guess I'm not getting anyway with you. But let me at least point out that Firefox is the only browser with built in tools for building and designing CSS Grids. And if I remember correctly it also supports React and Redux out of the box without having to install any extra plugins.

Also even after Firefox extension API was culled it still allows extensions that are impossible on Chrome, all that while Chrome is trying to reduce the usefullness of their extension API by trying to get rid of features that are useful for ad blocking, -all for the benefit of their users of course :–]

That said I guess I shouldn't bother you, sounds like your boss is a pain in the neck, you shouldn't be late with that Chrome app.

Filed under: #web, #webdevelopment, #webapps, #firefox and #chrome