Le vendredi 22 mai 2009 23:38:35, Matthew Toseland a ?crit :
> On Friday 22 May 2009 17:31:46 Cl?ment wrote:
> > Hi all,
> >
> > First, let's see the current situation :
> >
> >
> > #Navigation :
> >
> > 9 items is really the max we can afford. Currently there are 9 items, but
> > they aren't all necessary, and can confuse the newbies.
>
> Agreed, we need sub-menus.
>
> > #Browse Freenet page :
> >
> > The ?Search Freenet? field and bookmarks are definitly a good thing.
> > However, why do we have :
> > ?Fetch a key? : we don't want to fetch a key, we want to browse Freenet.
>
> Some users DO want to fetch a key. But maybe it should be on the queue
> page.
>

Yep, here I just list the points that I don't find logical. If we want to fetch 
a key, we go in the downloads page. If we want to visit a site, we need a box 
to do so (see below, I forgot to put that on the browse page proposition)

> > ?Version Information & Node Control? : we don't care, we just want to
> > browse Freenet.
>
> When they come to us, we usually need to know the version number.

Sure, but I don't think it's the right place to put this information. It 
should be under the status/statistics page, or maybe we can add a submenu 
status/node info.

>
> > ?Current Activity? : idem
>
> Fair point.
>
> > #Messages :
> >
> > I agree we need to inform user when something is wrong. However, for the
> > bookmarks, it's not the good place.
> > I don't think either that there should be one page just for the messages
> > : sometimes there is no message, it just wastes space.
>
> In which case we don't show the menu item.
>

Ah, my bad then. But it's not really better, since menu item shouldn't 
disappear : we need consistency over the time. One thing has exactly one 
place, and always the same.

> If we put all the messages on the main page in full, they take up so much
> space that newbies don't see the rest of the page.
>

Yep, that's not a solution.

> There are a number of messages that take up multiple slots on the message
> list when they should really just post a summary and point to another page
> where they are in full (e.g. n2ntms should be on the friends page, bookmark
> updates on the browse freenet page).
>
> We should probably either
> 1) not link the messages page from the main menu, but keep it, or
> 2) make messages expand themselves when you click on them
>
> > #Download and Upload :
> >
> > No clear separation between dowloads and uploads.
>
> Agreed. WHEN we have sub-menus, we should separate the two.
>

Sub-menu should be easy to implement. 

> > #Plugins :
> >
> > This is a mess : here we access the plugins, we can add an official
> > plugin, we can add a plugin from an url, we can add a plugin from
> > freenet.
>
> It is not very user-friendly, because the box doesn't tell a newbie very
> much, and the dropdown for official plugins doesn't give any indication
> what they do. However, the functionality is important. We may want to split
> this into multiple pages under a sub-menu, but we certainly want to
> document the official plugins.
>

Yep, see the Configuration/Plugin page.

> > #Connections to friends + connections to strangers :
> >
> > Why 2 separate pages ?
>
> Because they are different! Friends and Strangers are completely different
> IMHO. Friends have names, you can send them text messages, etc. Strangers
> are just numbers - normal users don't care about their IP address, etc.
>

Hmm, ok.

> > Why showing informations about the current activity of
> > the node ?
>
> Good question. Some of it is per-node so clearly has to be here (but only
> in advanced mode), but the status at the top is debatable.
>

It's redondant information yes (I mean the status).

> > All is mixed : managing nodes (adding/deleting) and showing their status.
> > Why are the ports showed ?
>
> Where do you propose we put them? On the Internet Connection page, I guess?
> Some users will need to know them for port forwarding reasons.
>

Maybe on the Status/node info page then. (I forgot that point in my proposal)

> > #Statistics :
> >
> > Nothing to say. It's just statistics. Maybe divide in several category.
>
> It's huge yeah, it should probably be split eventually.
>
> > #Internet Connection :
> >
> > ??? It doesn't even work here... And when it works, it shows debug
> > informations or really advanced ones. Why a level 1 page for that ? (why
> > a page for that in fact..)
>
> In "Simple interface", my node shows:
>
> Connectivity
> UDP Darknet port 24374        Port forwarded
> UDP Opennet port 37024        Maybe port forwarded
>
> This is not immediately comprehensible by a new user. We will tell the user
> that they need to forward specific ports with a useralert if we need to.
> However, this information may be of use somewhere, it should probably be
> hidden away though.
>

I'm not saying that these informations aren't usefull. They're just not in the 
right place (imo).

> > #Configuration :
> >
> > A big big mess. Really. When in simple mode, it's almost ok, but in
> > advanced mode....
>
> Please could you elaborate on that a bit?
>

Well, one unique page for all the configuration item is not really usable. I 
often take 10-30 seconds to find something on the configuration page (advanced 
mode)

> > Why a link to the security levels just on side of mode switching buttons
> > ? It's not even related.
>
> Security levels are part of configuration!
>

Yes, they are part of configuration. They're simply not like simple mode or 
advanced mode. (sorry if I wasn't clear enough :s)

> > #Mode switching :
> >
> > It's a pita : I have to go in the advanced configuration page to change
> > this, or to click on the button on each page
>
> I don't see any alternative given that most users will only want to see the
> simple stuff, but devs and some power users will definitely want to see
> more.
>

What I propose is to make the switch global and always displayed (in top right 
corner or something like that).

> > Now, what do I propose :
> >
> > #Navigation :
> >
> > ##Menu :
> >
> > (level 1, category : noun; level 2, action : verb)
>
> Okay, first point is you use sub-menus. I strongly approve of sub-menus.
> Caco_Patane was working on them, but if he doesn't get back to us somebody
> else will have to do it. Really it's not a huge change, it just needs
> rewriting the CSSes and some tiny changes in the java code after that.
>

We can expect that to be done relatively soon I think. Without sub-menu, we 
can't make a decent ui.

> > Freesites :
> > => Browse Freenet
> > => Insert your own site (when available)
>
> Agreed.
>
> > Filesharing :
> > => Download files
> > => Upload files
>
> Agreed.
>
> > Discussion :
> > => Talk with FreeTalk (when Freetalk available)
>
> We were thinking of calling it "Message boards" or "Forums" or something,
> but yes it needs to be a top-level item, because it has its own menu.

I let you choose the wording, english is not my natural language ;)

> > Status :
> > => Show the {number of messages} messages (if there are some)
>
> Putting the messages *only* here is a bad idea. Some of these messages are
> IMPORTANT. What we need to do is: - show the summary on the Browse Freenet
> page and maybe others
> - reduce the number of messages by coalescing them and shifting them to the
> relevant pages: "You have 6 messages" with a link to the Friends page
> rather than one for each n2ntm, similar with bookmark updates.
>
> I agree that having the Messages page under Status makes sense however.
>

Ok, then maybe we should consider having a status bar (like in my first 
mockup). I don't really have idea for that though, so if anyone has one...

> > => Show connections
>
> No, not as a single item. Connections to Friends are something that should
> be treated separately from connections to Strangers. You can chat with
> Friends, send them files, view their bookmarks, you know their names, you
> care about them to some degree and trust them to some degree (which may be
> explicitly configurable for each). Connections to strangers are different -
> unless you are a geek or your node is behaving very oddly you probably
> don't care about them.
>
> IMHO Friends should be a top level item, or at least a separate item under
> Status.
>

Ok for separating them under the status menu. Once we got more features for 
the friends page, we can move it on top (right now I don't find it very usefull 
to have it on top, and it may be confusing to have the two connection page so 
separated).

> > => Show statistics
>
> I agree the stats page should be on a sub-menu somewhere. Maybe we should
> have a Geeky Stuff menu, but putting it under status probably makes sense.
>
> > Configuration
>
> You are not subdividing this? Security levels have a page of their own
> already essentially... OTOH we could keep the current
> seclevels/simple/advanced layout that you objected to...
>
> > Plugins (if required)
> > => Plugin 1
> > => Plugin 2
> > => Plugin 3
>
> We need a way to load official plugins, with a list which explains what
> they do, as well as being able to use current plugins, update plugins etc.
> Some plugins integrate on the web interface, some are so geeky that we
> don't normally want to visit them (e.g. UPnP and JSTUN should be under
> Status) ...
>

Agreed on last point. The loading of plugins has been explained below.
I'm not sure that we understand "integrate on the web interface" the same way, 
so I'll explain how I see this :
XMLLibrarian for instance doesn't need anything more than the search field on 
the browse freenet page. It shouldn't have an interface at all. The 
configuration is made through the Configuration/plugin page.
A plugin like XMLSpider however, doesn't integrate on the web interface : so 
there should be a specific menu item for it (under the Plugins/XMLSpider menu).
The configuration though should still be made through the Configuration/plugin 
page (for consistency).

> > ?.
> >
> > Managing the node :
> >
> > A always seeable (sorry for new words...) button 'Shutdown the node'  and
> > 'Restart the node'
>
> You want to encourage people to shut down? IMHO the best way to do that is
> with a system tray icon.
>

Hum, in all application you can always exit the application in one click. I 
know freenet needs people to run it as long as they can, but hidding the 
shutdown button is not a solution (we don't want to force them to run freenet, 
do we ? ;) )

> > Mode switching :
> >
> > Idem with : 'Switch to {mode=simple?advanced:simple} mode'
>
> Don't we have that now? You just want it to persist between pages?
>

Yes, the switch should be global, and outside the content section of the page. 
I also propose to have only one button/link : if we are currently in simple 
mode, just show switch to advanced mode, and vice versa. Like a real switch.

> > #Details :
> >
> > ##Freesites :
> >
> > ###Browse Freenet :
> >
> > if XMLLibrarian plugin is loaded, show the search freenet field, else,
> > show a message like : 'if you want to search freesites, you have to load
> > the XMLLibrarian plugin' followed by a button 'Load the plugin'
>
> Agreed, the warning that XMLLibrarian isn't loaded is not very helpful.
>
> > Then show bookmarks. If a bookmark is updated, highlight it.
>
> Agreed, we need to indicate that a bookmark is updated within the Browse
> Freenet page, without relying on alerts.
>
> > That's all.
> >

Ok, here I should have read my post again before sending it :
We should also have a field 'Visit a freesite' in which we can put a freesite 
URI. (well, like fetch a key, instead that I thought that fetch a key was 
automaticaly adding the key to the global queue)

> > ###Insert your freesite :
> >
> > two solutions :
> >
> > not displaying it until we have a plugin for that
> >
> > or display a message like 'This feature is not yet available. Please use
> > ?jSite / Thingamablog /
> > the-other-freesite-manager-I-don't-remember-the-name? instead.'
> > Possibility to add some instructions, like how to make a freesite
> > available for all.
>
> Hmmm, not a bad idea.
>
> > ##Filesharing :
> >
> > On both pages, at the exact same place :
> >
> > Show the number of current downloads and uploads.
>
> And the total size, surely?
>

Ah, yes. The aim here is to have a ui that looks a bit like a very simple 
filesharing client, so we should always see a very short summary. 

We could add global dl/ul related bitrate (i.e. the sum of all per dl/ul 
bitrate, not the global bitrate for all requests), but I don't know if it's 
easily feasable. In the same way, we could show the current bitrate per dl/ul 
in the appropriate page (instead of just the progression)

> > ###Downloads :
> >
> > Field bulk download;
>
> What does that mean?

On the current downloads & upload page, there is a field 'bulk download'. Just 
reuse it here.

>
> > Show the progress of downloads.
> > Propose to clear all the finished downloads.
>
> Possibly. One problem is it is possible to have downloads to temporary
> space, clearing them will actually *delete the data* so that it is no
> longer accessible. Whereas downloads to disk don't have this problem.
> However, you can only add downloads to disk through fproxy. IMHO we will
> still need to show the two kinds of downloads separately, and we will
> probably want to show finished downloads separately to in-progress
> downloads.
>

Ok, I didn't thought about that. Separate the two kinds of downloads is not a 
bad idea.

> > Propose to clear or stop the downloads one-by-one (as now).
>
> Yes.
>
> > Add a checkbox to all downloads, and propose and action for the selected
> > dl (like in the connection to friends page).
>
> For selective deletion? Wouldn't it be better to have a "Delete some
> downloads" button or something that puts in the checkboxes? I mean in terms
> of UI obviousness?
>

Hum, I don't know. For me it seems obvious that when you have checkbox before 
an item it's for selection, but it might be confusing for people who aren't 
familiar with webui. So, I don't know. We should experiment on this point, and 
ask users.

> > ###Uploads :
> >
> > File :
> > Field 'Path' + Button browse.
> > Checkbox : upload through the browser
>
> This is possible with javascript. Without javascript we should show both
> versions, with an explanation.
>

Ok, I thought it would be without javascript. Too bad, it would have made 
things clearer.

> > Insert as :
> > * CHK : explain what it is
> > * SSK/USK : idem
> > * KSK : idem + ask for the name
>
> Agreed, some self-documentation here is helpful, although it would make the
> form take up more space.

I don't think space is a scarce ressource here. So it shouldn't be much of a 
problem (besides, the explaination should fit in one or two lines)
Oh, and I almost forget :
we should have a distinct 'insert' button (in the current page, the button is 
on the same line than the browse button iirc)

>
> > Insertion progress
> >
> > ##Talking :
> >
> > see ?insert your freesite?
> >
> > ##Status :
> >
> > ###Messages :
> > as it is;
> >
> > ###Connections :
> >
> > Number of connections : X
> > Friends : Y
> > Strangers : Z
> >
> > Details :
> >
> > Friends details : as it is
> > Strangers details : idem
> >
> > Add a friend : (I'm not sure wether we should have a page for that or do
> > that here)
>
> We should probably have a page under the Friends top-level menu for adding
> a friend, yes. It could explain noderefs and have various options for easy
> introduction that we haven't written yet.
>
> > Your darknet ref :
> >
> > Don't show the opennet ref : we don't need it, do we ?
>
> We don't show it on simple mode. We do need it for some advanced purposes,
> notably becoming a seednode.
>

Ok.

> > ###Statistics :
> >
> > sub-menu :
> >
> > node related things : (JVM + node version + datastore)
> > bandwith : bandwith usage + number of bits dl/ul
> > misc : cpu, threads, generate thread dump, etc.
>
> Agreed, we should split this up. But it's not important IMHO. Also, it's
> not a top level menu item, and we probably *don't* want the complications
> of three level menus.
>

We can do this very simply. We just need to put the links to all statistics 
category page on top of each statistics page. I don't know if I'm clear, so a 
bit of html :

Category1.html :

[...]

<a href="category1.html">Category 1</html> - <a href="category2.html">Category 
2</html> - ...

<h1>Category 1</h1>

<p>...</p>


Category2.html :

[...]

<a href="category1.html">Category 1</html> - <a href="category2.html">Category 
2</html> - ...

<h1>Category 2</h1>

<p>...</p>

With this solution, there is no third level menu. The links are *in* the 
contents section of the page.

> > ##Configuration :
> >
> > sub-menus :
> >
> > one per category (+ security level);
>
> This may make sense, although some categories are only of interest to
> geeks. In which case I guess they should only show up in advanced mode...
>

Agreed.

> > javascript could help here : we can keep in memory the changes in the
> > configuration and have a global 'apply' button.
>
> Possibly. And ask the user when they go to a different page.
>
> > + plugins :
> >
> > this interface is just to add plugins and configure them. Plugins should
> > integrate in the ui. If not, they're put in the plugins menu.
> >
> > So :
> >
> > a list of all official plugin with checkbox (already added plugins have a
> > checked checkbox) + button configure (greyed if the plugin is not added).
> >
> > 'apply' button : all unchecked plugin are removed if they were previously
> > activated, all checked plugins are added.
> >
> > Field add a plugin from a uri (local, web, or freenet) : parse the uri to
> > see which case it is, don't let the user do that for you. + button 'add'
> > (add the plugin to the list, checked)
>
> Something like that yeah.
>
> > I think that's all.
> >
> > Comments are *very* welcome of course :)
>
> On Friday 22 May 2009 18:58:02 Ian Clarke wrote:
> > This is exactly the kind of UI review we need.
> >
> > If nobody disagrees, I suggest that you start filing bug reports in
> > mantis with specific suggestions about how to rectify each of these UI
> > bugs.
> >
> > Ian.
>
> Agreed, most of this should be filed as bugs. But the one thing on which
> everything depends is sub-menus, we need to solve that soon.

Reply via email to