-- Leo's gemini proxy

-- Connecting to auragem.letz.dev:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini; lang=en

2024-04-09 Introducing Profectus: A New Graphical Browser for the Smallnet


Near the end of March, I started a new series of posts talking about the design choices of Gemini (and Gopher), which you can find here:

Scroll Protocol Devlog


However, I stopped just before the start of April because I was working on an entirely new project - a new graphical browser for gemini, nex, spartan, and scroll. This is a project I've been wanting to take up for the past two years. About two years ago I wrote a custom GUI library in the Odin programming language. However, I was unable to use it for browsers and networking because Odin lacked a TLS/SSL library.

Scroll Protocol


When I stopped the posts in late March is when I started work on porting this GUI library over to Golang. I then started developing this new browser, which was at the time called "scroll-gui-golang". This process of porting the GUI library over and making sure I had the GUI elements required to start work on the browser took a lot of time, but I got it done.


So with this, I officially introduce the alpha of Profectus. You can view more information about Profectus and download it via Gemini here:

Profectus Homepage


And here is the source-code, licensed MIT:

https://gitlab.com/clseibold/profectus


Here are some images of the browser running:

Profectus Homepage

Profectus Help

Profectus Image Viewing


Current Features


Multiple protocols: Scroll, Gemini, Nex (Spartan coming soon); Filetype detection when using the Nex protocol

Multiple document formats: Markup - gemtext, scrolltext, nex; Images - png, jpeg, webp, bmp, ico, cur, tiff, xcf, svg, and partial gif support (no animation)

Basic navigation: Back, forward, refresh, homepage

Streaming audio: Ogg Vorbis, Flac, Mp3, and Wav; Streams in background; continue browsing while it plays.

Streaming video: Pipes data into mpv, ffplay, or vlc; Streams in background (continue browsing while it plays).

Download YouTube videos from YT links: Pipes into mpv, ffplay, or vlc; Selects best quality with audio

Decodes various IANA charsets for textfiles: Uses charset mimetype parameter if available; Otherwise, tries to auto-detect the charset if no charset parameter specified (or via Nex protocol)


Future Updates


The current alpha state of profectus was built to be the most basic functional browser, which means there are a lot of missing features and probably bugs too. I have many features and bug fixes planned, which you can see below. The most foundational features will go in the beta, the commonly expected browser features will be released with 1.0, and 1.1 and 1.2 will include mostly quality of life updates and features.


Beta

Scroll Protocol: abstracts, metadata

Music Player: volume, mute, pause, play, metadata

Spartan Protocol support

Basic Markdown support

Up and root navigation buttons

UI scaling


1.0 Release

TOFU verification

Tabs

Bookmarks and History

Sibling links

Cert management

AsciiDoc support

UI Animations

Improved textbox input


1.1 Release

Gemsub feeds and Atom feeds

Theming

Search via addressbar

File upload via Titan and Spartan


1.2 Release

Fonts settings

Emojis, Harfbuzz, and Bidi improvements


-- Response ended

-- Page fetched on Mon May 6 10:43:44 2024