Alo Sarv
lead developer

Donate via
MoneyBookers

Latest Builds

version 0.3
tar.gz tar.bz2
Boost 1.33.1 Headers
MLDonkey Downloads Import Module Development
Payment completed
Development in progress.
Developer's Diary
irc.hydranode.com/#hydranode

Sunday, September 25, 2005

The never-ending GUI-topic

I happened to read a few nice GUI design-related research / blog posts few days ago, so I took some time to look over our past and present GUI concepts, and came up with some new ones as well. One of the fundemental ideas is understanding what a user does with a P2P client. What is the most fequent activity user does when he interacts with the interface. For example, in case of a web browser, the main activity and focus is the content (hence the content page in a web browser is the largest area of the UI). In case of a P2P client, 95% of the time user interacts with the UI is searching. All else is secondary - watching your downloads progress, releasing files, or looking at statistics - those are all mainly passive activities, but searching is the main active activity user does with the UI. Thus, the UI should focus on making searching very easy and accessible. All kinds of searches should be possible - p2p networks, ftp sites, local media library, web-searches, rss feeds etc.

Another thing I realized is that the GUI standards on windows have raised considerably over the past few years. Few years ago, an UI made out of native controls was completely acceptable, while today, it's completely out of the question. It's not about skinning support directly (altough I assume it's a bonus), but rather creating all kinds of new controls, based on old ones. Heh, even in firefox you see few custom controls (the google search box for example). Icons also have a big role in modern UI designs. I'v tried to create some test UI's w/o icons, and they look really ugly, until you throw in some custom colors or icons.

All in all, it seems Photoshop skills are essencial to modern programmer, at least at minimum level to be able to visualize concepts (perhaps to give to designers for improvement). In case of a self-contained programmer, who has no designers around for whatever reason, master-level Photoshop skills seem to be needed to create modern applications. Let's hope it won't be the case with this project, otherwise we'd just lose 3-4 weeks while I'm learning Photoshop...

Anyway, I'm near to completing the Client / Upload / Source-management API design, there are few quirks still not figured out, but I hope I can get to implementing it on Monday at latest. Ideally, I'd like to ship 0.2 version around October 15th, with BT support, and then move the focus completely to GUI things.

Madcat, ZzZz



Comments:
will have been ftp finished before 0.2 release?
 
As from my experiences, I can say, the most of the time using a filesharing-client, I'm watching my transfers. Maybe that's because I mostly use eMule/BT.
But on the other side, you are right. When I'm using Bearshare/Shareaza, most of the time, I'm searching for files (and I hate Shareaza's search, but I love eMule's search ;)).
 
On a good p2p software you shouldn't look too much at your downloads. You should just search and add them and then wait until they are complete. On the other hand I agree that it must have a very usefull/efficient search view.

For the icons, I think there is no real need to make new ones, at least for now. There are so many free/GPL icon-sets available that we should use them. Just check kde-look.org etc.

At last, it would be a nice option to be able to use the local OS widgets if we want. I like skins on windows but I love my kde desktop's consistency.
 
I think downloads is very important too, and must be even better than eMule and giving something new, and thinked for all the different networks available out there...
 
i use the search function in sancho maybe twice a week but i'm watching downloads and previewing them several times a day, so i hope you wont create a gui for just a special target audience which i'm not part of :(

i'm not sure how common the searching is among the rest of us, but since you usually get fake or incomplete files that way, 98% of my downloads are based on verified links found in specialized forums.

oh, and concerning the preview options: please try to include that handy feature e.g. sancho offers.

the idea is simple: you specifiy a path to the temp/incoming-folder and can launch your favourite player to preview an incoming file.

this works great with remote boxes (and hydranode has the gui/core separation just for this scenario), you just have to mount your incoming directory via ftp/nfs/samba.
 
About searching: please include support about searching on some webpages (like searching .torrent or elinks, magnet links...) like MLDonkey does...
 
What about supporting systems like rapidshare.de?

About the GUI... why not a minimalist style with search and dw/up in same window? Maybe could be nice a "GUI contest", giving some stuff for the selected GUI design, there must be very explained things about how it must be made the design (the GUI must include all this..., it must be very detailled including...)? I think some people can donate some money, including me :)
 
Ummm, not really related, but i just wanted to make sure you know that btget dies parsing torrents with multiple trackers (like the ones on isohunt.com)
 
Having a portable, online GUI OS makes sense in just about all arenas.

For example, when it comes to searching, using a GUI like Portable Interface (PI) technology would allow users to search in one "window" while playing a game in another, or watching a video in a third, or having the results for previous searches (like the history pane at piev.com) in yet another window - all in a single browser, all being controlled by the user just like they do in MS Windows.

Imagine creating folders for your emails using your "right mouse button", and then using "drag and drop" to move emails and folders as you organize your web based emails. This too is possible today!
 
Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?