So I just saw a video where somebody made a bulletin board system over the mesh like it’s fucking 1999 or something and it got me thinking Would it be possible to send web pages over the mesh as long as they were small?

I went to the DuckDuckGo homepage and copied its HTML source code into a text editor and found out it was something like 46,000 characters and with a 288 character limit it would take 145 messages to send that across. Each message would be something like 0.69% of that page.

It doesn’t seem impossible, but you would have to make your pages very lightweight like they were in the 1990s in order to do it efficiently.

  • SalamanderM
    link
    fedilink
    1
    edit-2
    9 minutes ago

    In the radio settings page of the Meshtastic docs they describe the maximum speed of transfer for different setting combinations that have been tested. The fastest setting is the Short Range / Turbo, which can achieve up to 21.88 kbps: https://meshtastic.org/docs/overview/radio-settings/

    The more common “LongFast” setting achieves 1.07 kbps. I just saved a few simple text-only HTML sites and they weight about ~2 - 5 kb, so it would certainly be possible to transmit them in a few seconds. There is some additional overhead with every packet, and in the EU at least we have a 10% duty cycle rule a 868 MHz, so only 6 seconds of every minute should be used for transmitting. Navigating through the page would be a bit cumbersome.

    Since the html page will exceed the character limit from the Meshtastic app chat, it would probably make sense to make use of a dedicated app to send these kind of packets using LoRa instead of Meshtastic itself.

    There are other methods of sending IP/TCP packets over packet radio. I am just now learning about this, and found this video yesterday: https://youtu.be/V0FAzMIsxMg?t=1413

    With this technique you can use a radio to transmit packets to a Linux PC that behave just like an ‘Ethernet’ TCP packet. The video covers a related open source implementation called ‘New Packet Radio’ with which you can transfer 50 kbps - 500 kbps using radio packets in the 430 MHz band. These protocols work with frequencies and powers generally reserved for those with a HAM radio license: https://hackaday.io/project/164092-npr-new-packet-radio

  • @[email protected]
    link
    fedilink
    English
    11 hour ago

    When I first got online in the late 80s, it was at 300bps and, simplex i think.

    There will always be something magical about watching text appear more or less letter by letter, and stream on to the screen. It also served as a constant ‘progress bar’ in so much as you knew your connection was live as long as text kept appearing.

    Anyway, the reason I mention it that is that HTML pages in browsers, might need to be fully received before they will render ? Meaning there’d potentially be a lot of nothing until it’s ready to display.

  • @aubeynarf
    link
    310 hours ago

    And how much JS does that HTML load in?

    Radio spectrum, especially license-free or amateur licensed, is really very limited compared to any kind of wired broadband or the 10s-100s of MHZ of dedicated spectrum controlled by cellular carriers. When you add low-power half-duplex nodes and multihop routing, yeah you are going to be limited to single digit Kbps.

  • mesamune
    link
    fedilink
    English
    210 hours ago

    You would probably get better performance with gopher.

    • @aubeynarf
      link
      39 hours ago

      protocols from the 80s definitely have a place here, NNTP is a great fit for peer-to-peer flood-fill forum traffic - they had that figured out over low bandwidth links 40 years ago

    • @[email protected]OP
      link
      fedilink
      19 hours ago

      I wonder if some optimizations could be made. For example, I saw a video about something called mesh core that somebody was working on that holds routes in memory so that instead of flooding the mesh, it would directly send the data to the node that it’s meant for, which might increase the speed.

  • @[email protected]
    link
    fedilink
    18 hours ago

    Probably better would be to semi-reinvent the WWW, using markdown and some kind of special link syntax, and then have that run over the mesh with some kind of shared cache of already-transferred objects.

    I think HTML is going to invite some unavoidable bloat at this stage in its evolution and the traditions that have grown around it, but you can do “the web”, conceptually, without HTML, and it sounds like a really good idea to me.

      • @[email protected]
        link
        fedilink
        18 hours ago

        I’m not terribly up to speed on the protocol, I just glanced over it. But I know there are pretty good protocols for storing and finding and communicating information within a mesh without necessarily needing it to be well-organized from the top.

        For a random first thought at it, you could use a BGP-like structure, where every node has a cache of how many hops away it is from every other node it knows about. Then, if you want to find a page from Bob’s site, you ask all your neighbors how close they are to Bob. If someone knows, pick the closest neighbor to Bob and ask them to find him, and relay the request and get the markdown back. If no one knows, send a flood message which is looking for Bob, and if you get a flood message back from Bob, have everyone store the TTL and timestamp when they heard the answer, and now you can use the BGP-lite protocol to talk to Bob, because everyone knows how close they are.

        That’s not rigorous, it’s just a sketch, and there would be multiple issues making it harder in reality. But the point is it’s been done before and this stuff has been worked out pretty well I think, I would just try to copy someone who’s solved it pretty well.

  • jawa21
    link
    fedilink
    110 hours ago

    A pure HTML page tends to be quite small, I would think that is possible.

    • @[email protected]OP
      link
      fedilink
      19 hours ago

      I had a pure HTML chapter of a book and it was 16 kilobytes and it looks like it would take two minutes and 16 seconds to get across on long fast and about 13 seconds to get across on short fast or short turbo.

      • Norah (pup/it/she)
        link
        fedilink
        English
        13 hours ago

        13 seconds on shortfast seems pretty acceptable in my opinion. That sounds pretty typical for the era of BBS, and I feel like meshtastic as a whole is about sacrificing the latest and fastest tech, for something more rudimentary and a bit retro.