Posted on: 03/19/18 12:50PM
Base64 would cause an increase in data being sent, which is something we are against doing if possible. There are also ad filters that block Base64 encoded images from being displayed on our site. I believe the numbers were 23% increase in data being sent the last I looked at it.
Let's imagine for instance, a user has 3000 favorites, we load them on one page. We include user, score, rating, and tags for filtering. We would serve an additional 23% of bandwidth to them for each image, not including the text information. or about 2.3KB. Multiply that by 3k. That's 6.7MB EVERY visit to their favorites page. And that's just the increase in bandwidth. This is assuming the base64 can not be cached on their browser, which I believe is still the case. If we include the text, it would be an additional 200B-1KB of text, per image on average. So let's just go with 200B. An additional 585KB of text data. The original file size of the data would be ~29MB of data. So, it would be highly unreasonable to implement that option.
If this were accessed on a mobile device, or a computer with low memory, RIP browser. RIP mobile bandwidth limitations, which we attempted to mitigate in the first place. RIP user experience. Javascript is fast, but I'm not certain it would be fast enough to process quickly on mobile, or even on a desktop to filter images in real-time in such a large quantity with a real world set of unique tags.