Hey everybody,
I am starting to work on setting up the new Herd (the server-side
components for Ubiquity, e.g. command search engine etc.) And I
started thinking: the Herd code already stores copies of the source
code of Ubiquity commands that it indexes. Why not make it into a
simple hosting platform for command source code, with versioning and
(drum roll...) online code-editing provided by Bespin! A few benefits
are:
1. If there's a Ubiquity command that *almost* does what you want, but
not quite, you can hack it right there on the page, and then subscribe
to the resulting version.
2. Or you can subscribe to a "safe" version right from the Herd page;
the safe version would fold in the best community code edits and
additions after code reviewing and testing. It would be considered
trusted, so it wouldn't put up the red warning page when you go to
subscribe.
3. Localization of commands could happen right there, too -- you see a
command you like that's not in your language, you click a link and get
a Bespin editor opened up with a .po file containing all the strings
from the command that need localization, you type in your new
versions, you save it, now everyone can subscribe to your localization
right on the Herd.
4. There'd be a search page on the Herd which searches both commands
for which the code is hosted on the Herd, and also commands which are
hosted on other people's websites.
5. Optionally, we can host the Ubiquity built-in commands on the Herd
too, so that we can make quick improvements there and people can get
those improvements without needing to install a new Ubiquity version.
Bespin guys: Do you think this would be a useful test case for
deployment of Bespin? The nice thing about Ubiquity commands is that
they are small, self-contained chunks of source code, so maybe they
make a good study environment for learning about how collaborative
Bespin editing of a codebase can work, and then what we learn can be
applied later to Bespin deployments on larger-scale open-source code
repositories.
What do you think?
--Jono