I was browsing around in the old sources of WRP, how it was in older Releases, and I found an interesting point, in the beginning they tried the same as me. To gather all the links on the page with their position and sent it back as map to the client. So they gave me a handy example source how to achieve that with the headless chrome. so I build a routine which takes coordinates and sends back the URL if the coordinates are on a link. And I put that into AmiFox. But for that of course I need a Version detection because older versions or the official WRP can’t do that.
Now this works rather nicely, still thinking if I should do that always and out in the original answer html, but then it will be huge for most webpages. Atm I like this more dynamic way more, I also cache them in AmiFox so if it knows already once the position it will not ask again for these positions.
To use that besides the little text in the status bar I added a Context menu with „Download Link“ and that it no looks that empty also a „save image“ function, which just copies the temp image to an other location. Little demonstration, as usual.
I made a little instructional video about the Size and color settings in AmiFox. The size settings is exactly like that in AmiFox 0.2 already. The IFF-ILBM Setting is new for AmiTube 0.3 (join the discord to try a beta version of it) but some of the color settings already exist when you choose GIF, but of course IFF-ILBM will be much better because it is basically the native format for Amiga (images saved as bitplanes)
I worked a bit on AmiTube, I guess soon we can make a new release. For the next release I improved the handling of shorts and lists. Added a special window where one can paste a youtube URL into and it extracts the IDs from it.
A big problem with shorts is that they are saved in portrait mode means the height is much bigger than the width. until now I always only scaled by the width. I worked nicely for the small sizes, OCS and AGA but failed spectacular for AGA+. So now I read out the sizes from the move and scale differently when there is a portrait video. On that I notice that the agablaster has a curious restriction, the CDXL movie must be at least 128 pixels wide. is that a general restriction in CDXL or just for agablaster? I’m not sure.
Also the VCD-MPEG1 showed some strange effects because it tried to scale it, resulting in fat faces, no I added a padding.
Before the release is after the release. Of course, now that the first version of AmiFox is released I think about how to improve it for the next release. One wish I heard some time was to copy text from webpages. Which got me thinking, you can select texts with the click and drag feature I introduced, so it should be possible to copy these texts as well.
Finally after 4 alpha version and 6 beta versions we (McDope, Amix and me) think AmiFox, a new browser for classic Amiga, is ready for it’s first release. This is Version 0.2 so one can see it’s still in development and many things to improve but I guess many people want to try how it works. And we can test how the server behave under heavier load than in the beta tests.
There is a special page for AmiFox where you can download the program.
On thing I found really annoying with AmitFox was the scrollbars, (in the picture) because even you know you want to the end of the page (or to start) you have to click multiple times for every page and wait to let the page load. It would be much easier just to click and drag directly to the position you want it. In principle it is not difficult just remember the down position and record the position where the mouse button was released and sent both position to server instead of just this one position.
Then on server emulate a down at the starting position a move to the destination and a mouse button release. Sounds easy and it is actually. But of course the WRP is written in go and I’m not fluent in that language, therefore it took a while to understand how this stuff works. Luckily the normal mouse click routine works exactly the same way, just without the move in between, so there is a good example.
Finally it works. And good news it works awesomely one scrollbars also in Openstreetmap (even I would still prefer to use MUIMapparium 😀 ). Strangely it does not work in Google maps or Google Streetview, really weird especially because it is Chrome in WRP. Maybe I have to emulate touch movement for that needs more testing.
I was looking more into the WRP code, to check if there is any way to make file downloads work, and yes, it is possible, not a very elegant way for now but it somehow works… now I really think If I should add that before we release the first version.
Again got some ideas from Michal Bergseth (Amix , Amitopia) what to implement for Amiga. Basically it is the same idea as for AmiTube. Do something, the Amiga is too slow for, on the server and only sent the result to Amiga. This time it’s webpages… the usual webrowsers are either rather old and do not support CSS (like AWeb, Voyager), newer but still do not support CSS (iBrowse) or newer support CSS but are very slow (Netsurf).
I started with „CutyCapt“ to make a simple docker container which can load a webpage and make a screenshot. But with that you only get a screen shot nothing more. No idea how to navigate. My second try was to also load the actual HTML and parse for links. This is rather easy using the THTMLDocument class for Free Pascal but this gives you just the links and nothing more, so I put just a list under the image. This was not really a good solution.
Then I noticed when you let CutyCapt print the webpage as PDF, then the PDF contains all the links with position information. Therefore I wrote a PDF parser to get the links and position from the PDF and create a map for the image. Which worked reasonable good, but not very fast (printing is rather slow, also the transfer from PDF to PNGs is slow). But it was good enough for a first test version:
This was the first time it came a bit to public and wide audience attention. So I got some more hints that such systems already exists, some very good and some rather poor, I tried a lot of them and none really satisfied my needs. Some like wkhtml are very fast and do not need an X-Server in the docker, which is nice, but has a lot of problems with some webpages (cnn.com, image are VERY low resolution, theguardian.com all images are missing and so on).
The best I found is definitely WRP – Web Rendering Proxy which is very fast already has a lot of settings build in, it is already nicely usable in your IBrowse if you like. But there is a big BUT it is single user only, so not suitable for a public service like AmiTube is, and which is the ultimate goal.
So an other Member of the AmiTube Discord Channel (going by the name McDope) will try to create a server with this WRP which can be used by some more users. I meanwhile make a little app, which feels like a real Webbrowser but is in fact just an interface to the WRP. It solves also the problem that you cannot type in anything into any forms like search engines or so. Kinda. A little video to demonstrate.