Letters from Somnolescent May 9, 2019

The Web is a Shitty App Platform

by mariteaux

I’m a big believer in implementing as little as possible to get the task at hand done. I’m as minimalist as it gets. Proprietary, open source—ultimately doesn’t matter to me so long as it gets the job done as simply as it can.

So why in fuck’s name did we give everything away to the web?

Imagine this scenario: you’d like to pass a ZIP of MP3s to a friend. What are your options? Well, not Discord, which has an 8MB upload size limit without paying for Nitro and thus supporting terrorism. You can use Mediafire, MEGA, or similar such sites, which throttle both your upload and download unless you throw more money at them. Or perhaps you can use Drive, OneDrive, or Dropbox—and support giant corporations.

Or maybe—we can use the protocol we had for this back in, oh, 1971 or so. Called FTP.

Or, if you really need to keep it secure, you can use the separate, secure version, called SFTP.

Really think about it for a moment: anyone can host an FTP server, using any sized drive and OS and limited only by your normal internet speeds. There’s no file size limit, and provided you have physical access to the server, it’s dead simple and lightning fast to get files onto it. Again, if security is paramount, SFTP is as secure as SSH and works about the same. Only hangup is it needs a dedicated client (because overstuffing web browsers full of features is a real problem, you see), so most people would look at an FTP link in confusion and helplessness.

So instead, giant messes of files are instead hosted on skeevy and skeevier file hosting sites that throttle users and waste your time and, potentially, deliver on-click ads and viruses. Their UIs are consistently terrible, cluttered, and ugly. They’re slow. They can’t be crawled and archived. They don’t deserve a penny for reinventing what we’d already figured out long before the days of Netscape.

With the eternal wave of normal, everyday people hopping onto the internet since 1995 or so, we’ve successfully managed to train the general population into thinking everything on the internet is either done through a web browser or, maybe, through a video game. Websites and “programs”—usually web browsers in their own right—have one-by-one replaced the older, quicker, simpler-to-maintain programs using their own protocols—see FTP, IRC, NNTP, dedicated email clients, and so on.

In their place, we’ve given everything up to HTTP and the web, a damn strong resource in its own right, but made to fill gaps it was never meant to fill in the first place. The web is good for delivering information, static files, and facilitating interaction based on those things. Blogs are a good example of something the web is good at. Some social media, notably Twitter, make good use of the web’s capabilities.

Instead, we’ve now turned it into a streaming box, a games machine, a file transfer service, and a chat platform, all by stacking on more and more totally unnecessary technologies like WebAssembly, which several indie dev LARPers have assured me will revolutionize gaming as we know it by enabling yet another one-size-fits-all solution for a variety of devices that all work and can be interacted with entirely differently. And I guarantee you that, even if one or two major titles adopt it, no one else will.

The web doesn’t do everything. Instead of building native apps to properly use the power of each separate device and the efficiency of different protocols, we leave it all up to the web. We’ve managed to build an internet where the same shitty service is being delivered through Chrome, not-Chrome, embedded Chrome, and Chrome on Android, and takes advantage of none of their strengths as a result, and in fact, comes with all the ads, shitty, mismatched UIs, and nonsense the web’s enabled in its wake.

So here we fucking are. That’s why I have to struggle to send Radiohead albums to sushi every damn time.

About mariteaux

Somnolescent's webmaster with way too much to write about and a stack of CDs he'll never finish.

7 comments on "The Web is a Shitty App Platform"

  • jaaaaa says:

    you can use a usb drive!!!!!!!

  • not really anon says:

    > anyone can host an FTP server
    Actually not, hosting (and also using) FTP server is not actually zero-cost thing. It's about mangling with ports and modes, setting up user accounts (in case of SFTP, you would like to restrict SSH also etc). It's OK for some kind of organized workflow and simple usage scenarios like one user uploads – many downloads.
    Main power of Web (as platform) that it has done that Java tried to get done – "write once, run anywhere". The second one that you aren't bound to some protocol specs or legacy that may force you to invent workaround and other quirky ways to do straightforward thing just because (at least you can use it adapter).
    Native apps are giving only few important advantages now – performance, integration and extensibility (which I think is a variant of former). But these are often irrelevant for majority of use cases and even tasks, so we have what we have.
    As a dev I don't see any suitable thing that will allow to get things done almost anywhere without consuming huge amounts of MY resources and time. And finally, personal computing has started with that – thin clients, but now we've replaced dumb teletypes with specific virtual machine inside real one.

  • mariteaux says:

    It's not "zero-cost", yes, but it's far more efficient and quicker after it's running–plus the aforementioned lack of throttling and file size limits. Apple already enables file sharing through SFTP, and provided your router allows port forwarding, it's really not that difficult to get someone else into your files. Windows has no built-in server, and neither of them have a built-in client.

    The lack of client especially makes adoption difficult. Web browsers could do that, if we're gonna keep forcing these apps to do everything, but with Chrome looking to shutter the weak read-only FTP support last time I checked, I'm not optimistic.

    I'm sure if they wanted to, they could build an Airdrop-like solution and have it work over the internet. It'll never happen because now it's all about hiding things from the user–fuck, most people I've met who deal with computers barely know what a text file is. We keep using tech to solve the problem of average people being computer illiterate, and it's gumming up the works.

    I take umbrage with the idea that performance is "irrelevant", given the prevalence of Electron, which is just bloated beyond belief. Seriously, the Trello app on OS X is unusable, and this isn't even that low-end of a machine. Not everyone has amazing computers, nor are we at the point where we can say "fuck optimizing, we have more than enough resources to throw at this". Maybe for you, but not for me.

    If we're talking about pure, practical usage, the web enables lazy devs and abysmal UX. It "runs anywhere"–just not well anywhere. And if we're talking aesthetics, Electron apps don't match native apps or each other for that matter. They stick out badly.

    "It's easier for me, the person writing it" isn't exactly convincing when it means the thing you make runs like shit and looks out of place. Computing's fragmented. The web's not gonna fix that.

    • Lennethinian says:

      I’ve been looking up information regarding FTP, and apparently File Explorer as of Windows 10 has native FTP support. So as long as that holds true it’s actually easier to access FTP servers (on Windows, anyway) than HTTP file hosters.

  • not really anon says:

    > far more efficient and quicker after it's running
    > aforementioned lack of throttling and file size limits
    Comparing public service and self-hosted solution, hmm… what could go wrong. Probably, WebDAV, (Next|Own)cloud and even /cgi-bin/myOwnFileDump are throttling speed as well, aren't they?
    > neither of them have a built-in client
    As I remember Windows explorer support browsing FTP server out of box.
    > router allows port forwarding
    Does it make sense if you're behind NAT? You won't even be able to access FTP using active mode then.
    > Electron apps don't match native apps
    Tell me how GTK apps match native "look'n'feel" on Windows, especially their file dialogs. They're native by definition in comparison to Electron ones. I'm not fan of glueing PWA with Chromium and presenting as desktop app, but it makes sense for internet-centric apps and at least defficient solution is better than absent one. Premature optimization is evil as you know.
    > Not everyone has amazing computers
    You can't avoid this trade-off. Developers have finite resources when developing software, you have finite computational and financial resources. So you'll pay for it either by your time (waiting for features or fighting bugs) or money (paying for commercial support) or computer resources. Number of developers which could significantly reduce any of these costs is pretty low.
    I'm not going to say that Web is a silver bullet as software platform and we should throw away everything else. But there's reasons behind it's being used and abused that way and they're not marketing ones only.

  • mariteaux says:

    My "throttling speed" comment specifically refers to file dump sites throttling your download speed without a premium account, which I consider user-hostile. WebDAV and self-hosted solutions don't have a built-in explicit "throttle unless you give us money" function, so no, I wouldn't say they are.

    Whether or not it's practical to expect people to just have a server on hand, likely not, but sending files to people is kind of a shitshow in my experience either way. Posting stuff to my web hosting and then hacking together a URL is annoying, and file dump sites are user-hostile, as I've said. Dropbox and Drive and the rest of the lot are as functional as it gets, but your space is limited and there's some privacy concerns there. Whether or not FTP is necessarily the solution almost doesn't matter, I just hate how clunky most of the current "practical" solutions are.

    I didn't know that Explorer supports FTP, and I'm guessing that not many other people do either. It worked when I tested it, so point conceded. If only that feature were better advertised. (Finder also appears to have FTP, again, largely unadvertised.)

    A bad solution being better than no solution is one way to look at it, but it kinda misses my entire point. Again, I think for cases where delivering hosted content is the important thing, the web makes perfect sense as a platform. But when I see Electron powering fucking text editors, I draw a bit of a line.

  • Lennethinian says:

    Sorry, I didn’t know you were already told this.

Comments are closed.