Slowing down
------------

When I started Project Gemini I thought of it as a fairly slow,
ponderous, thoughtful exercise which would eventually result in a
complete specification, which I'd then implement for the first time
once it was finished.  Very much a slow project.

Then a public Gemini server turned up!  This was a big surprise (but
not, I want to emphasise, a bad one), and I got excited and created
AV-98 (which was actually not a lot of work at all because very little
ot VF-1 is specific to the gopher protocol and the code is mostly
about presenting a nice interface).  Then I tooted about it, because I
still have a ridicuously naive mental model of the Fediverse where I'm
basically just chatting only to the small set of people I actively
pay attention to myself.  Now multiple people are working on, or
planning to work on, Gemini-based code, and other people are promoting
Gemini in toots.  It's created a fairly intense sense of time pressure
for me, to try to clarify things in a bit of a rush, so that all this
code might actually work together.  Because I take this kind of stuff
way too seriously, I'm spending nearly all my free time and energy
thinking about, writing about or coding stuff to do with Gemini.

I am hugely gratified that so many people are interested in, excited
about and supportive of this project.  Nobody's said a bad word to me
yet, which is incredible.  Even though it's become a bit stressful,
I'm thrilled that there are actual Gemini transactions happening over
the internet every day now.  I actually believe that something might
come of this project, which I certainly didn't when I started.  It's
wonderful.  I really don't want to rain on the parade.

But I think it would probably be a good thing if we slowed down a bit.
And I, personally, will *need* to slow down quite soon because I'm
going to be travelling for most of July, mostly for work, and so my
spare time for Gemini is going to drop off.  Not to zero, but to much
less than it has been.  I don't think this is necessarily a bad thing.
Protocol details are very hard to change once there's more than just a
few implementations out there, so it's important to get as many as
possible of them right from the start.  That means going slow and
thinking carefully.

I don't want to discourage experimenting.  I actually think it's also
important that things get implemented and tinkered with along the way,
to help spot problems and to maintain a sense of how much work is
involved in actually implementing the stuff we're proposing.  To that
extent, I'm happy for people who want to do it to code stuff up to the
current spec.  But please think of it very much as being a "proof of
concept" protocol at this stage.  If you aren't willing to make
ongoing changes to your code as things gradually crystalise, you might
want to wait a month or two before you sink much effort into things.
I don't want to rush any more decisions just to facilitate this thing
moving ahead full speed.

Things will still move ahead!  I'm more invested in this idea than
ever.  I just wanted to make it clear to everybody - myself included -
that it's still early days.