Modern Web Development, Imgur, and Images

2020-09-22 20:10:02 UTC 

Multimedia of different formats are throughout the web, largely because the browsers we use today are so extensive in terms of functionality. However, there's a growing tend of thought that modern "front end" web developers are smarter than the many people who write and work on web browsers.

The Problem

Case and point is made regularly with many sites, but for this article I'm looking at Imgur. Imgur is a image sharing website, for those uninitiated in internet culture.

A central repository or depot of images isn't a bad idea, especially if it is optional, and allows the same image across multiple sites to be cached. When a repository starts to do weird things, people should be looking elsewhere.

The issue with Imgur is the fact that images aren't treated as images. Major and modern browsers can handle many image formats without additional instruction. Even roughly 9 years ago Internet Explorer 9 was able to render Scalable Vector Graphics (SVGs), so there's no excuse for this behavior.

Since I've thought about writing this article and actually started writing, Imgur has gone completely overboard with Javascript requirements. Originally you could load an image and have a fairly well thought out interface greet you. Granted, while the actual image you were linked to and wanted to see didn't load, you at least got something for your time.

Now, as of a few months ago, you are granted the privilege of reading a single english sentence:

Imgur JavaScript has been disabled message

As to why your browser needs to be instructed via Javascript to show an image in the first place was questionable, but to move to "Javascript or nothing" is nothing short of a joke.

In the day and age of "UX Experts", one would should question several things:

  1. Why does Imgur not trust the user's browser to style and display their website?
  2. Is someone that lazy, a page won't load without forcing the browser out of the decision making?
  3. Why wouldn't you attempt to render the page, show that it is broken, and tell users they/someone/something broke the rendering?
  4. Why throw an error on the user's screen with practically no details on how to resolve it?
  5. Why does a page that instructs me to enable client side scripting, also try to load 7 blocks and/or files of client side Javascript?
  6. If a meta tag inside the webpage's head section holds the actual image url ("twitter:image"), why not use a meta refresh for a "compatibility" fallback?
  7. Considering the high probably that Imgur hired some trendy developer with "UX Designer" on their Résumé, why did they fail to catch the above flaws?

I'm not lying...

For those reading and don't believe me, take the example link or "image":

It can magically be rendered as an actual image by:

  1. Appending .jpg or .gif or .png to the end of the url (even though the browser will ultimately receive a JPEG file).
  2. Adding the prefix (or subdomain) i.

The result for the above gives you:

If you try .mp4 or some other odd extension you will receive a "400 bad request error", because it is you the user, who made the bad request?

How do we fix this?

This is the question I've asked myself. The easy way is to rewrite all links for Imgur to direct links. I built a Firefox extension to do this automatically, because I would see or receive links that were not direct for some reason or another.

That being said, the first issue you will run into is that Imgur supports "albums" which I haven't reverse engineered as of yet, so all links can't be rewritten (links that contain /a/ or such). The second and harder part to address is the "we" in the question.

Modern hardware and software has moved to a more "idiot proof" interface choice, and mobile-first design. Long gone are the simple and visually direct menu bars, replaced with hamburger menus designed for small and limited phone screens. The wide user base doesn't have an issue with this, as long as the classic primary criteria of "it just works" is met, there won't be a push to rid the web of plain stupid implementations like the aforementioned.

Currently I've lumped excess Javascript into the "societal problems" bin, where a redo of education or some underpinning of society is required to address this and other problems. It should only take developers a few minutes to design the page image loading without requiring Javascript. Because there isn't any real incentive to them, they won't, and will exacerbate this horrible trend of modern web development.

This work is licensed under CC BY-SA 4.0

Your Comments

 Welcome, please sign in through Steam to post a comment!


There are no comments to be loaded for this article.