:IF: Autonomi Browser Suite - Unleash Autonomi

You probably need antsnest as the host? :sweat_smile:

4 Likes

index works but individual files fail

I can open the links on the left but not any of the files they reference

3 Likes

I’ll try again with

when its ready.

5 Likes

Thanks for laying all this out, I will look into this when I get to this stage :saluting_face:

2 Likes

Today was fully spent trying to solve some weird tab re-rendering issues when drag/dropping the tabs. I’ve also gotten pulled down a rabbit hole and have decided to forgo the iframe route and instead use a webview per tab as Tauri does not support tabs as of yet. This means I need to build a webview manager of sorts and a lot of manual organizing. :sweat_smile:

Btw having just one webview and changing its content as we change tabs isn’t really feasible as it would mean reloading all that content when navigating back to the tab.

3 Likes

This to me is extremely important.

5 Likes

I should add that there’s still a limitation with support for “deep” custom URL schemes (ie in the OS) cross platform. Linux is ok, but Windows and Android don’t support them in a standard way.

3 Likes

So trying to get multi views with tabs that aren’t just iframes has been tricky.

I managed to have a single webview per tab, and manually managed their resizing, position and z index with the window itself. However it was very manual and clunky.

Here were some of the issues I was dealing with:

I then thought I should maybe just use electron and follow along with this guide here:

But that would make using anttp tricky as I might have to use it as a binary instead of a library, which brings back the annoying OS security prompts again. I think there are some other ways to convert the rust library into a format that node understands, but meh I’d prefer to stay with tauri if I can.

So I’ve decided to go back to the original plan, which was deal with individual images, videos, audio and documents in custom viewers, and have normal html pages be rendered in an iframe.

Slightly annoying but was good to try anyway.

5 Likes

I went around those houses with awe before sticking with an iframe.

But that was a dead end too. Ok for a demo but not for a browser. For example, how do you do a back button? Or caching with eTags?

You probably have to do it all manually and keep reloading from a URL which isn’t good. Everything from scratch that your normally get free in a browser.

Did you try Servo/Verso?

2 Likes

Fwiw, I’d be tempted to slap the AntTP lib on the side of an existing browser, then wire it’s proxy settings to use it.

We already know that works well. You can integrate DNS via the proxy, too.

Obviously, you may need a different treatment for dweb.

I did think about trying that with Servo way back, but not sure how current it is. Being built with Rust, it could be straightforward though.

4 Likes

FWIW I have a PoC working that puts the dweb server in a library and can start it inside a Tauri app.

For now though it locks the app up, so I need to figure out how to allow both app and server to run in the same exe!

I think a browser based on Servo/Verso would be the best, so great if someone can look into this.

3 Likes

Nope haven’t heard of it, but will do some research now.

Yeah I might just go down the route of an open-sourced browser fork where I strip out nearly everything that’s not needed.

2 Likes

Just a perhaps silly thought; could a massively cut-down browser (no tabs, no address bar etc) with a hard-coded single Autonomi site be used as a template anyone could use to publish an Autonomi site as an Android app?

E.g. browser with Atlas hard-coded in packaged simply as an Atlas android app?

Of course a full browser to open and explore everything on Autonomi is needed, but it’d also be cool to have an Android app wrapper for any specific site.

Ignore this if it’s nonsense, and keep up the great work!

2 Likes

I think the bigger question is having ant, or anttp run in a mobile environment. I have not tested this, but others have said the performance wasn’t great.

4 Likes

I am mid-way through some work that could improve the mobile experience.

Now that the Autonomi Client is optional within AntTP, it should be possible to disconnect/remove the client during idle time. It will only reconnect if there is something not within the cache. This should save a heap of battery, as it isn’t maintaining connectivity in the background (indeed, AntTP should be pretty much idle).

In terms of latency/bandwidth, I suspect the updates will have improved this. I can’t say it was awful the last time I had a working build though (zstd isn’t compatible with the musl target atm, which I discovered is scuppering my builds).

9 Likes

@happybeing servo seems to be too early to work with for a full browser unfortunately. I’m now thinking down the path of a librefox fork and embedding as a proxy instead.

4 Likes

sneak wee preview

yer man @safemedia is getting there :clap:

Not quite ready for primetime yet but its on the way.

8 Likes

I had a quick play with servo on android last night and it struggled with some CSS, tbh.

It’s a shame, but like you say, may be better on more stable alternative.

5 Likes

@aatonnomicc Answer your DMs please

Did that logo GIF ever actually exist?
Are we stressing over a GIF that never got uploaded?

3 Likes

works fine its a you problem :slight_smile:

http://localhost:18888/2c2a8a13ddfe88ad5166d3d3035fe423f30c8f14c29a01db64c5a6797e2a2b15/index.html

3 Likes