Suggestions for features


Quim's post make me thinking about user experience of upcoming which I am making as my SoC project. In short, lib.g.o
should provide web interface for all docs you see (for unstable, current
and previous versions) in Yelp, distributed in two channels - for users
and for developers. Localized documents are included and transparently
loaded according to user's browser preference if suitable localization
exists. (This can be manually overridden if setup is broken or

What I am asking is: Do you have any new features to suggest, that will
create better user experience?

I think that user annotations are a must, and based on first comments,
users will like the idea. Annotations can be anchored to paragraph,
image, list item or a table, function or constant definition in API
references and can contain text, lists, links and remotely-hosted
images. (I am taking care of XSS). They are loaded in "AJAX" manner,
stored on server side. (At first, I planned to store them in cookies on
client side, but it will disable some other features) Also, they can be
rendered anchored (displayed on mouse hover) or as a comments, at the
end of a page or in a side pane.

There will be annotation manager, from which users can "subscribe" to
annotations. Some scenarios I am thinking about:

        1) Michele wants to write something down, like "Never try to do
        this again" or "This is changed in Ubuntu" or "Here is more info
        on this"
        2) John wants to improve docs, so he write what he will
        add/replace in new annotation anchored to selected paragraph.
        3) Sarah, Peter and Paul, 3rd grade hi-schoolers wants to
        subscribe to theirs school teacher's annotations adding
        additional help to User Guide for a project they need to do.
So, all annotations will be public and shared in read-only way. Docs
editors will be able to review (by subscribing, and special made
interface I am planning to do after project is done) and remove all
offending or inaccurate annotations. Remember, annotations will not be
displayed on default, and user must subscribe to some other user's
annotations to view them so there should not be many deletions to do.

What I am unsure is if there is a need for grouping subscriptions, with
group editing support. This will be out of plan for first release, but
there would be nice if I can include initial support in underlying code
as soon as possible. Then, users will be able to create an
InsertYourDistroHere group, or group for specific locales and join their
annotations together, making easy for other users to see relevant

The other solution for this problem is to implement annotations tagging,
with "tag masters", coordinators that can approve/deny inclusion of
specific tag to annotation. It is better as one annotation can have both
language and category(ies) tag(s), and other users can subscribe only to
specific tags on specific language(s). Languages list also can be loaded
from browser preferences, as a default value, but as annotation manager
is server side script, it can have additional customization for
overriding browser settings.

Besides annotations, I do not know what other valuable features can be
implemented in order to enhance usability (probably not for first
release but sometime later but it is good to know ToDo features in early
stages of development).

        1) Bookmarks already exists in browsers and bookmarks sharing
        must be implemented on browser level. 
        2) Subscriptions can be useful, but I am already planing to
        provide RSS feeds for alerted documentations for every of both
        channels per every supported languages (language on which at
        least one part of a single document is translated) so user can
        choose what feed to subscribe.
        3) As is, I don't see any need for other personalization ("About
        me" page is not valuable) and docs can be static pages. (more
        secure and faster) regenerated on every new docs release.

I am eager to hear comments on this, how do you want to use lib.g.o and
how do you think others will? What do you want to see there, what do you
think about annotations sharing I am suggesting?

What do you think about live translating and editing solutions?

What do you think about task oriented help, and how users can
participate in creating open library? After all, users are doing tasks
and reading help.

Goran Rakic

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]