1. 6
  1.  

  2. 16

    Oh yeah, totally, the problem with the internet is not enough “autonomy”. As opposed to having our personas traded by data brokers, brains melted by social media, behaviors modified by targeted advertising and influencer culture.

    These techno-libertarian 80s MIT hacker derivative “autonomy” and “freedom” arguments have been such a massive distraction from a material analysis of how power actually uses technology to exploit people for profit. The spectacle of the individual atomizes people and alienates them from common cause.

    But if only we were to perfect our APIs and network protocols. Then we would not be exploited by internet companies. We would have autonomy 🙄

    1. 3

      I would like to subscribe to your newsletter

      1. 1

        I mean, we already have “autonomy” just layer your protocol on IP and away with you beasties!

      2. 8

        We want to take back autonomy. Join us on….Discord and Twitter?

        1. 6

          Who wrote this? By “…when I wrote SSB” I’m guessing it’s Dominic Tarr?

          Mobile platforms are also autonomy robbing simply because they are not cross platform. You have to develop software twice simply because people need to use them on different brands of phone. And again if someone wants to use it on a regular computer. That’s just a silly waste of time.

          Hey, at least there are only two major mobile OSs, as opposed to at least three on “regular” computers. (And all mobile OSs are POSIX compliant.) And it is not a “silly waste of time” to tailor an app to a platform so it supports platform features and integrates coherently with the platform UX.

          I’m not clear what the point of this article is. The web takes away autonomy but so do native apps, somehow WASM will fix it, stay tuned for more. … ?

          1. 8

            There’s a bit of irony here coming from the SSB project which spends an inordinate amount of time dealing with how its state serialization format is tied to the Node runtime.

            1. 3

              Like the way their signatures rely on the exact behavior of JS’s JSON.stringify function, which makes it inordinately difficult to write a compatible implementation of SSB in any other language.

            2. 2

              Also, there are a bunch of cross-platform toolkits. Yes, the UX isn’t as good, but it can be done where it is considered economical or otherwise desirable.

              1. 1

                Written by Dominic Tarr

                1. 2

                  😣 I swear that line musta been added after I first read the article…

                  1. 1

                    It may well have been :) Perhaps Dominic lurks around here…

              2. 5

                Yet Another Anti-Web Manifesto (and the question of solving social problems with technical solutions) aside, I’m not sure how this is separate from just writing native apps or web apps. WebAssembly is still required to hook into JS for many bits of page rendering. I guess you could try to use JS/DOM to create a canvas and then have WebAssembly write to the canvas, but then you lose all the work that went into adding native-ish widgets in browsers (moreover you can do something similar by writing raw OpenGL/SDL in one of the many libraries that spawns a native window for you.)

                Writing new net protocols can be fun. With Websockets or HTTP2 you can probably tunnel them into the Web as needed.

                1. 2

                  My opinion is:

                  • Write the core in cross-platform code. Use a language that lets you build something fast and compact, e.g. C++, Rust, Nim or even Go … but not JS.
                  • Use a web-view for rendering stuff the web is good at, like flows of text and media.
                  • Use platform-native toolkits for the “chrome” / surrounding UI, and for good platform integration. That does involve sucking it up and writing a few versions of this layer, one per platform you want to support. Cross-platform UI toolkits are crap for people with no taste.