Updates to ImageShare, and a New Home

ImageShare is a lightweight web application for sharing images as scannable QR codes. It was originally made as a replacement for the Nintendo 3DS Image Share Service, but also works great with other limited and outdated web browsers. Due to circumstances out of my control, I’ve had to make a few changes.

ImageShare is my only web project to not use GitHub Pages as a host, since it’s written as PHP (for best possible performance on low-end browsers), so I’ve been using Heroku’s free hosting. However, Heroku recently announced that it’s shutting down all free plans, starting November 28. The cheapest option for continuing to host ImageShare would have been $7 per month. That might not sound like a lot of money, but that still leaves Heroku in full control (it was hosted at a Heroku subdomain), and I don’t make any money from ImageShare.

Photo of a Nintendo 3DS with ImageShare open
ImageShare on the New Nintendo 3DS XL

I have now moved ImageShare to the DigitalOcean App Platform, which is slightly cheaper ($5 per month). There’s no delay in the initial load anymore, because the server doesn’t shut down after 15 minutes of inactivity, like Heroku did on its free plans. DigitalOcean supports Heroku buildpacks, so I didn’t have to rewrite any code, and it auto-deploys from the GitHub repository so I can roll out changes quickly.

I can’t keep the existing ImageShare URL after Heroku shuts down free accounts, so I have set up a new home for the app: theimageshare.com. Anyone who visits the old Heroku site (until the shutdown) will see an alert asking them to update their bookmarks, and then will be redirected to the new site. Now that ImageShare has its own domain that I own, I can switch hosts in the future without causing a headache for anyone using the app.

There is one catch. DigitalOcean uses Cloudflare CDN for SSL and DDoS protection, and there’s no way to turn it off without switching to more complex hosting. Besides the whole thing about Cloudflare’s abhorrent business practices, the CDN forces an HTTPS connection for all browsers. That’s normally a good thing for websites, but ImageShare is targeted at old web browsers that don’t have up-to-date certificate chains.

ImageShare screenshot in Netscape
The Heroku version of ImageShare running on Netscape 6.2.3, a web browser from 2002.

Heroku allowed ImageShare to work on HTTP, while also supporting HTTPS for modern browsers. I can use the Heroku version in very old versions of Netscape and Internet Explorer, but Cloudflare limits the new site to Windows Vista or Mac OS X 10.6 or later. Thankfully, the certificate is still valid on the New Nintendo 3DS, at least for now.

I’ll keep looking into alternative hosting options that have more flexibility — if you have a suggestion, email me. I want to keep ImageShare functional as Nintendo starts shutting down the last online services for its older consoles, and if ImageShare can be a helpful tool for other devices, that’s pretty cool too.

%d bloggers like this: