Hello all,

So, I didn't have time to do a mockup, due to an other project. But, I put
some thoughts in the user experience, and I think that it's actually a
better way of doing things (instead of doing a mockup without discussing
first the ground concepts).

So, here it is, if someone can put it somewhere on the wiki (message to the
wiki administrators : I lost my password to my account, and don't seem to
have put a valid email (or it isn't my account, but I'm pretty sure I'm the
only one going by the nickname Dieppe :p)).

Anyway, here it is (it's not well-formatted) :

== Freenet UX improvements proposal ==

The goal of this document is to cover the current User eXperience of
Freenet, and list all possible improvements, in a comprehensive manner. I'm
not sure there is anything new, but it settle some ground rules about what
UX we want to provide.

This is, imo, a very important subject, which have been neglected for too
long. If we want to keep users, we have to provide a good experience. It
will take some time before we agree on what to do, on how to do it, and to
actually do it, but it's worth it.

We will soon (?) release freenet 0.8, and this will obviously not be ready
in time. But we should feature it for 0.9, with at least the UI problem
fixed. Darknet usability problem can be fixed in version 0.10 (or 1.0) .

We only discuss what should be done here. We will discuss how once we agree
on this one.

You are welcome to edit it, correct it, ...

=== Introduction : concepts and definitions ===

Freenet means two different things: the network, and the software. What is
of interest here is the software, and how the user interact with the
network.
We won't discuss how the network works.

The software is composed of several components:

- the network management (network logic plus network communication (udp)),
- the different way of communicating with the software (http, telnet, fcp),
- the user interface (FProxy),
- the "plugins", Java applications enhancing Freenet core.

The Freenet network provides two main different features:

- a secure and anonymous way of communication,
- a secure and anonymous storage system,

and is split in two:

- a secure, harvesting-free darknet mode, or F2F,
- a quick-and-easy entrance mode, subject to harvesting, "insecure" by
design, called opennet mode.

=== Current problems ===

I - Nobody uses the Darknet

Most users don't use the darknet mode, because they either have no friend
using Freenet, or because it's too complicated.
Users *should* really use Darknet, as it greatly improves security over
Opennet.

II - The UI is complicated

Most users complain about Freenet being complicated. While it's true to a
certain extent, I'm sure we have room for improvements.
FProxy contains too many things. FProxy contains things not related:
freesite, download, network status, friends management, forum discussion,
WoT management...
There is also a lot of information shown that is often irrelevant to basic
users.

III - The configuration page is crowded

A project like Freenet should be "easy" to configure, and come with
reasonable defaults.
Currently, the configuration page is confusing, since you can configure the
webUI, the plugins,
but also the network, and your security options.

=== Proposed improvements ===

We'll call "plugins" application, since that is what they are. They are
application, using the Freenet library to communicate (I think we should
split the current freenet.jar in libfreenet.jar, and freenet.jar, or
FProxy.jar, but users tend to be confused by FProxy).

(Note that plugins like UPnP, JStun, should be integrated as options, not as
plugins)

I -

Proposing applications that really use the friends could be an incentive for
user to switch to darknet.
For instance, we could imagine a facebook (or more diaspora) like
application that is based on Freenet friends (in fact, I think we should
provide an official
social networking application based on Freenet).

We already have friend to friend messages. They're not used, or marginally,
because they're not easy to use, and are a bit hidden.

So, we should provide an application to manage friends:
- add/delete friends,
- send/receive messages (with optional freemail notification).

It's the basics. If we can, we should provide a full-blown social networking
application based on Freenet (would require some times, but would be
beneficial, see the diaspora buzz (we should have done that before)).

Also, we should integrate the addition of new Friends in application like
Freetalk, where people all use Freenet and are at least acquaintance (I
don't know if it is feasible in a secure enough manner though). This way,
users can slowly migrate from Opennet to Darknet.

II and III -

Each feature should be treated as a different application, like google,
gmail, google maps, etc...

The network configuration should be decoupled from the software
configuration. Since we already have a tray icon for windows and mac(?), we
should provide one for unix/linux, and put the network configuration there.
Note that it can also be relevant to change the network configuration in
other application, like tweaking the bandwidth in the dl/ul application.

Google presents its most used apps in a small menu bar, we should do the
same, like we do with the minimalistic theme (it would be nice if we could
rearrange the menu given the usage statistic of the user). The other
applications are grouped on a page, with logo and description. We should do
the same.

Each application should have its own configuration page, its own interface
(it is however important that we have at least one default theme common to
all official Freenet apps, but we should make the theming individual,
because it reinforce the idea that it's just web app based on Freenet, and
not really a part of Freenet). FProxy should be an entrance point, nothing
more, like the google homepage is. Users generally are accustomed to web app
now, and freenet based applications are web app, they're just running
locally.

Plus, it should provide an easy way of installing a new application. We
should however make a clear distinction between official and non-official
apps.

We shouldn't let the user install an application from the web: if they don't
have a working freenet node, they won't be able to use the application. It's
another reason why we should have plugins like UPnP built in.

=== END ===

If you have any comments, suggestion, please don't hesitate. It's not the
first time we speak about this, but I hope it's a bit more detailed than
usually. Also, this time I'll try to keep my promises, and actually do
something. There is nothing that should prevent me from doing so this time.
_______________________________________________
Devl mailing list
[email protected]
http://freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to