aMule Forum
English => Skins & GUI => Topic started by: greek on July 08, 2008, 10:52:12 AM
-
I have tried eMule on a Mac with Crossover and I am shocked. Even though it takes a while to start, it feels really snappy and pleasant to use. For example the Preferences window opens with no delay compared to aMule on a mac. The preferences have similar organization as in aMule but in several cases there are improvements, and also the associated text is more enlightening! The main application window is even better organized and although it has pretty much the same elements, it looks less cluttered and substantially more elegant.
* There are two separate tabs, one for Kad and one for eD2k, instead of a single big Kad/eD2k window!
* In the servers window the "add server" and server list in a in the side along with eD2K info
* same for the Kad window, which also features a small relatively elegant graph.
* The shared files window has an embedded directory browser.
* In the statistics window the statistics tree convers the full height of the window instead of the low right corner and the graphs are smaller.
* The search window has all the filtering text input filles together (in the form of a list) so they don't look messy.
*etc
So I am wondering, those things can be easily incorporated to aMule and they can vastly improve its looks and also bring it in sync with eMule.
Why not do them? In fact I think that I can do them, but then it would be very difficult for someone to check the differences due to the binary format of the wdr files...
How can I (we) contribute to the reorganization of the gui to make it look better by (at least) syncing it with eMule?
-
For example:
-
I agree that's a good solution, because most people have more horizontal space screen than vertical. Also, moving ed2k/kad info from the tab interface to the respective network view would be another thing one should consider.
-
Here is what I have so far. I only edited the muuli.wdr file. Should I attach this too or it does not matter because its binary?
-
OK, please send me the file (or attach it in the forums) and give me a log of the changes.
Please create one file with the kad/ed2k changes and one with all the changes.
I'll review it and commit it if there are no problems. Thanks a lot for your contributions! (I'll answer your PM asap, too, sorry it's taking me so long.)
-
Kad info and ED2K info are now duplicated in those screenshots. Unless anyone has a good idea about what to do with the sole two log tabs left after removing those for duplication, it's a no-no change.
Kad window: all the bootstrap/node options should be together, not have the info between them.
Server window: What the hell is Disconnect doing there? Also, the server list is a list, with plenty of columns people might want to see, and restricting the horizontal space for it is not a good idea (all IMHO) specially if it leaves a giant blank space because we can't even fit enough information in the right side.
Both Kad and server window: The URL fields are now too small to see the whole URL. This is a regression, especially with no scrollbars, because now to see the content of the url I ahve to move along it with the keyboard or slowly select it with the mouse.
Statistics window: I am torn in this one. I like the parts of the information that are more visual (graphs) to be predominant, and now the statistics graphs are too small in my opinion. OTOH, the statistics tree is bigger, and this not only adds readability to it but also will reduce CPU load from redrawing the graphics (as they are smaller now). The tree is a vertical item, so it taking a whole vertical space makes sense.
A different approach to the statistics window is adding a new "custom" graph that contains statistics of items selected from the tree, and that way having not only a whole vertical space for the tree, albeit smaller than yours, but also a new graph that cna show very useful information for the user (or just curiosities). This of course could be a implementation nightmare.
And remember: We're not an eMule clone.
-
Hello,
I agree with Kry that the eD2k and Kad windows are not ready. In fact I did not intend those as final, but merely as an idea. What needs to be done is to create a separate toolbar item for the eD2k and the Kad network. The Kad window will contain everything, that is in the screen shot (probably with minor rearrangements) apart from the bottom panel (aMule Log, Server Info ... etc). The eD2k window will contain everything in the screenshot apart from eD2k Info which is incorporated in the right and Kad Info (obviously). And of course both windows will miss the top tab switcher. This will simplify the interface by a few dialogs.
I don't think that restricting the vertical space is an issue, and I don't think the current implementation is better. Don't forget that the download window has 13 columns that people may want to see, but they never ever fit. I don't understand why there should be a different policy for this window.
For the statistics window, I do think that the statistics tree is too long to fit in its current position. I will go ahead (later) and submit only the changes to the statistics window. I am not sure what kind of change log file is necessary. I really don't want to go and write down details like, copy wxBoxSizer, select top wxBoxSizer, paste wxBoxSizer... And Kry, I don't really think that aMule is some kind of statistics platform!
-
Sorry, but I don't like it very much:
Stats: DL Graph is too small. Why not move UL to the DL graph and keep just two graphs ? DL is just a straight line anyway, and with the red color it sticks out fine.
Kad: I move the sizer up to have a little KAD graph and a BIG log window. That's not possible with the new layout.
The bootstrap new node should be a button and open a dialog (it's rarely used).
The disconnect is weird (at least in KAD only mode). There's a button in the dialog, and one in the tool bar. Disconnecting with the dialog button changes neither button (now - what should I disconnect ?) Then hitting the dialog disconnect again has no effect. Hitting the toolbar "disconnect" however reconnects Kad.
Also, the toolbar disconnect sets the status line to "Kad: Off" (Users/Files stay however...). The dialog disconnect leaves a "Kad: connected". :P
-
Let me throw the following ideas:
1) What if the Kad, eD2k and aMule log are separate windows? I mean one has to click to a tab selector regardless of whether it is in the tool bar or inside some window.
2) Also how about making the "add server" and "add node" a button which opens a pop up (ala sturedman).
3) Why not move the nodes graph under the statistics window?
4) Can we merge the Server Info into aMule log?
-
1) Don't clutter the toolbar, it already doesn't fit some screens as it is.
2) Works for me.
3) Because the Statistics window is overcrowded as it is, ebcause some people don't run kad, and because it's not the place it should be.
4) No.
-
Hmmm ok, then
Kry:
1) What if we introduce a traditional File, Edit, View, Help menu? For example the Import part file naturally fits under the File menu, many little gui tweaks go under the view menu, about goes under the Help menu etc. That would de-clutter both the Preferences and the toolbar.
I will just take your answer for 2,3,4.
TODO: replace add server/node with button.
sturedman:
* Which elements of the graphs are not visible in the suggested layout? Why do you think they are small? Also, do you suggest to merge the UL and DL graphs into one? How about the scale (right now I download at 3kb/s and upload at 50kb/s, which means that the DL curve would look tiny). Do you think that it would be better if the line widths of the plots became bigger?
-
Let me try to brainwash some more about the statistics window.
I think it is better if it is broken down in the following tabs:
* Transfer: It contains the UL/DL information in the form of a table (to avoid repeated strings) and also the UL/DL graphs.
* Connection: It will contain the connection information organized in some reasonable way and also the connection graph.
* Clients: client information. I suggest using the corresponding application icons and under them a percentage
* Servers: some server information
* Shared files: move the statistics part of the "shared files" window here.
I think the above can be implemented relatively easily. I think there is this wxNotebook (or something) widget which can be on top of the statistics window. Then 5 dialogs need to be created which will contain the information. A lot can be done with drag and drop, but some programming is required to populate the textual part of the dialogs, but this should be manageable.
I could suggest some fancier stuff like create a pie chart to represent the clients, but I think this is too much work.
That will decluter the shared files window.
-
And some ideas (for future reference, as always :)) for the shared files window.
It is a very good idea to show not only the shared files but also a list of the directories that are being shared.
As a first temporary step the same directory browser that appears under Preferences->Directories can be moved there. However this browser is ugly, hard to use. and it does not look particularly native to any operating system.
Therefore as a second step a list of directory names can be used. Below the list there will be a small "+" and "-" for "add" and "remove" respectively. The "+" will open a native filebrowser. Each item in the list will have two little check boxes: one for recursive sharing and another for hidden files. For every change in this list the shared files list will be updated.
Finally it would be nice if the shared file list could auto-update. Somehow it needs to be notified when directory contents change. I don't know if there is any multiplatform way to do this...
Comments?
-
I could suggest some fancier stuff like create a pie chart to represent the clients, but I think this is too much work.
"Too much" always depends on how much the programmer wants it....
By the way, it could look nice, but I think it's kinda pointless, since always almost percentage for eMule is over 90%.
Finally it would be nice if the shared file list could auto-update. Somehow it needs to be notified when directory contents change. I don't know if there is any multiplatform way to do this...
No, at least not that I know of. Even in Linux there isn't a way that works in all distros/kernels/libcs, not to speak of MSW and MacOSX.
-
Finally it would be nice if the shared file list could auto-update. Somehow it needs to be notified when directory contents change. I don't know if there is any multiplatform way to do this...
No, at least not that I know of. Even in Linux there isn't a way that works in all distros/kernels/libcs, not to speak of MSW and MacOSX.
Yes there is. In Linux and OSX for sure, and Win32 has "directory change notification" for ages.
-
I don't know if there is any multiplatform way to do this...
Yes there is. In Linux and OSX for sure, and Win32 has "directory change notification" for ages.
Hm? I know that each OS has its own way to do it, but the question is, is there a multiplatform way (like wxDirectoryNotification, for example), or we have to implement it in PlatformSpecific? (in case we want to)
-
There's nothing wrong in doing it per-platform. Just wanted to point out that you claim about "Even in Linux there isn't a way..." is wrong. Notification works starting from (IIRC) 2.6.13 kernel - good enough IMHO. OSX and Windows have it too and rest is irrelevant for this discussion.
-
Notification works starting from 2.6.13 kernel
That's exactly what I meant.
-
I want to suggest the removal of the option that allows vertical toolbar orientation.
The reason is that vertical toolbars don't work on a mac: they overlap with part of the window and also they are drawn differently than the horizontal toolbar. Another reason is that the implementation is really incomplete: one cannot chose for example if the toolbar is to the right or to the left. Finally, given that the download list has 13 columns, cluttering along the horizontal space is out of question.
So this part of the gui is just some kind of wannabe feature which never made it to completion, it is associated with bugs and it complicates further the gui code.
I suggest that, as a part of restructuring the code, this functionality is removed until there is a more general, elegant and correct way to implement it.
-
I don't think so. Vertical toobar looks and works like it should - if it fails on mac (or windows) is a wxWidgets bug, which should be addressed by them. Some people use vertical toolbar, and we shouldn't just remove that option because you feel it's incomplete.
-
I prefer vertical toolbar, also because if I use the orizontal toolbar during connection the window filcks and autoresizes, so why remove this option?
-
That is not a good criterion. If the horizontal toolbar did not flicker, why not use that one? Also imagine that you are allowed to remove the text in the horizontal toolbar so that it is neater. The issue with the bloated gui is that its hard to make fixes (the code is messy). And logically speaking, instead of having 10 incomplete features, why not just offer one that works well?
And giving every possible option to the user is not the ultimate goal: if this were the goal, the toolbar should be able to be positioned at the botton, on the right, diagonally, it should allow you to reposition its tool buttons, to eliminate some etc. Why aren't those options offered? If those options are not offered what is the problem with removing one more similar option? The toolbar orientation is not central to the function of amule, which is to download files, and simplifying the code helps identifying bugs and improving the relevant functinality.
I guess once an irrelevant feature enters the code base it is very difficult to remove it in the feature and I am sure developer's ego plays (an admittedly very understandable) role in that. It's kind of sad to think like this...
-
Actually I want to allow removing the text at some point in the future, I even wrote myself a bug tracker entry about it.
In general I agree with you about features and the function of aMule. I also agree that our current GUI solution is at best suboptimal. And if I remember correctly who implemented this, then you're even right about the ego of said developer.
But I have to disagree about the horizontal/vertical toolbar thing. In fact, I see no reason to do so. Doesn't work well on Mac? Don't enable it. Are there people using it? Obviously yes. Does it do any harm? (I assume you've seen the code to enable this.) I don't think so. - So, why remove it?
Oh - it's more of a limitation of wx and Carbon than a problem with aMule if vertical toolbar display is not so good, btw. There's little we can do about it. It looks OK with GTK2, though.
-
[...] the toolbar should be able to be positioned at the botton, on the right, diagonally, it should allow you to reposition its tool buttons, to eliminate some etc. Why aren't those options offered?
Because non of the developers had time/felt like implementing those? You're very welcome to implement said features.
The toolbar orientation is not central to the function of amule, which is to download files, and simplifying the code helps identifying bugs and improving the relevant functinality.
Let me follow the idea: We should start removing amuled and amulegui code from the code base, that would make code a lot cleaner. Actually I'd drop support for wxMac and wxMSW, I don't use them and they just make the code ugly and introduce bugs. Now, getting rid of 90% of the bugs so simply, we can focus on creating a better client.
Seriously, the feature IS useful for some people, makes no harm and you're not enforced to use it. However, you're free to reorganize code, write correct unittests for code pieces, etc. and we'll be glad to have you around.
I think this topic has been discussed enough and we could move on to do something useful. For example, see the top of my post ;)
-
And if I remember correctly who implemented this, then you're even right about the ego of said developer.
You're fired.
-
The most amazing thing with the open source model, is that it works at all!