Hi,
I have been accumulating a set of things I'd like to see in Futon and
I realized,
it's never gonna happen if I do it myself or start telling you about
it :)
Futon is awesome. It is often the first thing our users see of CouchDB
and the
feedback is unanimously positive. Futon is slick, it is simple, it is
to the
point and it does all (well most) you need. I can't thank Christopher
and all
the contributers enough for giving CouchDB a public face that
everybody loves.
I'd like to make Futon even better. I know that my ideas are not all
golden;
that's why I'm opening them for discussion. But secretly, I hope to find
contributers who help turning the ideas into code when we all agreed
on the
details.
Two reasons for that: At the moment, Christopher is doing the bulk of
the work
on Futon and if we get more people to work on it, all the better. As a
project
we remove the dependency on Christopher (much as we are working on
removing
dependency on Damien for the core code). And more people working on
Futon
means better results sooner. Yay.
If you are interested in helping out with CouchDB but your Erlang-Fu
is weak,
but you know your way around jQuery, this is your chance for
contribution.
Enough with the preambling.
--
index.html: A portal page. At the moment, the first thing you see in
Futon is
the list of databases. I'd like to see (as an replacement or an
addition needs
to be discussed), a "welcome" page, a portal if you will, that will
show the
first time user a little more information about where he is and what
he can do.
Something like?
1.) Validate Your Installation [link to the test suite]
(if it fails, look at [link to troubleshooting wiki page]).
2.) Learn CouchDB [link to the docs].
3.) Use CouchDB [link to list of DBs].
Just as a general idea, details can vary. The idea is to show the
first most
likely actions a user wants to take and permanent links to the
documentation,
user mailing list, issue tracker (with BOLD LETTERS that for general
questions,
user@ should be used).
Thinking of it, the 'validate your installation' step should not show
up after
it has been run E.g. runtime config could set a new flag:
[futon]
tests_passed = true
You see, a lot of the details need refinement, I hope to kick this off
here.
--
News Feed. The Futon home page should display an RSS/Atom feed
containing
latest news items for CouchDB, like announcements of new versions, or
security
issues and the like. Whether this should be an opt-in or opt-out
thing, needs to be
decided, I can see reasons for both, but I think users should be able
to disable
it, again runtime config to the rescue.
--
List of installed apps. With CouchApps shaping up, Futon could show a
list of
installed applications alongside created databases. The way to detect
CouchApps
is not yet defined, though there are sensible proposals.
--
More pluggable architecture. Hey, it might even be easy to add new
pages to
Futon already, but I'm sure we can im prove that. The idea is that
users can
write add-ons to Futon that are not of interest for all users but only
those who
use CouchDB for a specific purpose (see next item). Futon then
wouldn't have to
include all features for everybody but we'd have a repository of Futon
plugins
that people can install. The repository of plugins should be a CouchDB
database
that users can just replicate the plugins they like from.
--
Cluster management plugin. CouchDB will be deployed in clusters of
CouchDB
nodes. It'd be really cool if we had a Futon plugin that allows you to
do all
sorts of neat things with that cluster. Like monitoring how it is
behaving or
restructuring the cluster at runtime.
--
Insert your plugin idea here.
--
Again, I don't see how feasible all this is, but I've been carrying
these ideas
in my head for about a year now and I really like to see something to
get done
about it, even if it just getting shot down for being silly :)
Cheers
Jan
--