A New Appreciation for How Much Javascript Sucks

Developing a web site to report information in graphical, map form has given me a new appreciation for how much client-side Javascript (a technology I have never much liked to start with) sucks.

In fact, Javascript was never really the first choice for this site. If there was a simpler, purely declarative way to draw a map that used tool tips to display the details of each observation, I’d have used it in a heartbeat. But there doesn’t seem to be, and moreover, the best package I could find for presenting maps used Javascript. So Javascript it was.

The problem is the execution environment for mobile devices. It simply varies too much. For desktop browsers it was fairly easy to come up with a page that worked well with every browser I thought to try. Mobile sites have so far frustrated that desire. What I have works on my iPad, but no friend’s smart phone has made it work likewise. Some don’t let one zoom in at all. Some zoom in but always draw the dots ridiculously small (despite their being specified as 4 pixels in diameter). Some don’t register touches that call the touch callback. And so on.

It shouldn’t have been a surprise, really. It’s not as if most web developers are totally incompetent, yet attempting to use Javascript-heavy web sites on a mobile device is always asking for trouble. Those developers weren’t lazy or incompetent, they were just fighting against a platform that does its best to frustrate portable coding.

The rub is, tool tips are really needed to present as much information as I want to in a single graphic. As such, it’s probably time to realibrate my wants and make Javascript avoidance first and paramount. If presenting that much information requires Javascript, then presenting that much information in one graphic is the wrong goal. Time to come up with a version of the site that is basic, static HTML and point mobile users there.

Back to Safari… for Now

Circa 2011 I dumped Safari for Firefox. Safari had come out with what I term a “turkey upgrade” that made it painfully slow. Plus, Safari’s Javascript engine has always tended to suck. Add to that the recent slowness factor and it was worth putting up with how Firefox’s UI sometimes annoying departs from normal Macintosh standards.

Now Firefox has come out with a turkey upgrade of its own: Firefox Quantum. It’s almost hideously ugly and un-Mac-like. There’s so much clutter up top that the box that you enter the URL to browse to in can almost never display the whole URL at once any more.

Worse, the designers made the atrocious decision to devote the entire top part of the window to the browser tabs; there’s not much place to click on if you just want to move the browser window. You must fight your way to one of the far top corners in order to do that (and “fight” is the correct word, given that it makes it needlessly difficult to move the browser window).

What happens, of course, is that I’m used to Firefox acting how it used to (and, for that matter, how every other Mac program works), where the entire top most part of the window can be used to grab and move it. So I end up grabbing a tab and moving it. Which of course causes the tab to become a window of its own. This is something I almost never want to do. Congratulations, Firefox, you’ve made it easy for me to do something I almost never want and needlessly difficult to do something I often want.

Back to Safari for now.

New Cell Phone

No, it’s not a smartphone. To that, I strongly suspect the answer is “only when there’s no alternative”, as I have written many times before.

It’s a Nokia 3310 3G. I’ve been hoping HMD (the firm Nokia sold their cell phone business, together with branding rights, to) would come out with a version of the same that works with US cellular networks ever since reading that they were attempting a reboot of a classic dumb phone.

We shall see how well it works. One annoyance is that it is incompatible with the Apple headset I use (although I say “phooey” to their smart phones, Apple’s headset is very well-designed, and I strongly prefer to use a headset so as to distance my cranium from the radio transmitter in the phone). That is mostly counteracted by Nokia’s headset having a design that is distinctly better-than-average, and being included with the phone.

One plus is that it has an FM broadcast band receiver in it. That’s something I know I will be using from time to time. The ability to listen to news and music programming without encountering network congestion issues or paying any data charges: what’s not to like about that?

Actually, most cell phones have FM receivers in them; the makers of the chips for such things put them in because a) it doesn’t cost that much, overall; and b) the broadcast radio industry pressured them to do it. It’s just that the broadcast radio industry hasn’t been quite so successful at pressuring the phone manufacturers in enabling these receivers.

Apple is a particularly egregious example; in their iPhones, they deliberately omit making any connection between the lead going to the headset jack and the antenna on the chip, thus permanently crippling their phones by design. Even if you jailbreak your iPhone and install your own software to enable the FM receiver, you’ll still get a whole lot of nothing to show for your efforts.

Chalk it up to pure greed: most phone makers are in cahoots with cell providers, most phones being sold by the providers themselves and being locked to that provider’s network. They want their customers to stream audio and rack up network charges; it means more money for them.

The broadcast industry is naturally upset about that. Greed is in play there, too, of course. They want to have cell phone users deciding to listen to their stations and the commercials they broadcast. More listeners means higher ad rates and more money for them.

I end up squarely on the side of enabling the receivers. First, it’s a matter of choice. Nobody can force anyone to put their phone into radio mode. If one thinks broadcast radio is a vast wasteland*, one is free to not listen to it and to instead choose to stream audio. Second, is a matter of efficiency: broadcast radio has no problems scaling; it’s intrinsically one-to-many. Using it eliminates the problem of servers going down on big news days.

But the biggest argument is emergency preparedness. Broadcast radio is an older, low-tech technology. As such, it tends to be more robust than cell service. At least some stations stay on the air after a disaster takes the cell network down due to a combination of damage and subsequent overuse. Cell phones are battery-powered devices, enabling radio receivers in them to be operated without commercial power. It’s simply in the interest of public safety to have as many cell phones as possible be able to act like broadcast radio receivers.


* When one is talking about commercial radio, I tend to agree. But that’s not the only option; virtually everywhere I’ve visited there’s been non-commercial stations on FM. In my own area, there’s three very good ones.