Hi, I am new and I have created Gemini library

Sergei Gnezdov sergei.gnezdov at gmail.com
Mon Aug 30 06:42:57 BST 2021


Hi everyone,

I am new to Gemini space and I have created gemini library in GO:

     https://github.com/kulak/gemini

Its main advantage is that it follows patterns established in [net/http] 
package, which makes it easy for people to start writing Gemini servers.

I also adapted my favorite httprouter package to this library:

     https://github.com/kulak/geminirouter

The code seems to work well and I have a small test site: 
gemini://www.argfac.com  The website is not of much value as it simply 
shows Gemini and Titan based chat setup that I have tested only on Lagrange.

I used the following resources:

- 
https://gitlab.com/gemini-specification/protocol/-/blob/master/specification.gmi
- https://communitywiki.org/wiki/Titan

I think I saw somewhere a reference to another "update" resource 
protocol, but I just could not find it.  Titan documentation was a bit 
on a hard to consume side and I actually had to dig Lagrange network 
level code to figure out what Titan is supposed to do.

I think the following are core promises of Gemini that make it great:

1. no user tracking
2. demonetization as partial result of #1
3. no adds, because it requires user to click on image.
4. true focus on content delivery and not the presentation. The 
improvement in usability due to ability to apply "stylesheets" at 
browser level and not at creator level.  This itself has huge positive 
impact on ability to consume information.

However, I have some criticism that comes with positives.

Gemini as of today will not scale in interactive usability, because user 
interaction is severely limited.  There is a statement that Gemini is 
only for consumption.  However, we have to be realistic that for 
usability of consumption to stay high, user cannot be asked to live 
Gemini browser for HTTPS powered web browser to submit a post.  That 
breaks user flow and makes Gemini not worth it.  Why to come back to 
Gemini if I just used standard browser to do something and in the 
process I compromised all the advantages listed above?

Titan protocol is a good step in the process and perhaps is the only 
required step.  I am not sure.  We have to remember about need to 
support multiple screen types from desktop to mobile and it is tough to 
create something acceptable and generic for user input under the 
restrictions Gemini protocol put in place.  I am hoping people here come 
up with something :)

I also would like to raise people's awareness, that if the network to 
grow and get any close to big, people shall expect that network would 
promote payments models, because it kills advertisements so 
efficiently.  I think it is a good thing.  I want to consume a product 
and not to be a product.  If I am a product, then UI tends to focus on 
makings adds prominent and waiting my time. That goes back to value of 
Gemini and consequence of its proposition is non-add based models.  I hope.



More information about the Gemini mailing list