Yesterday me and Ola had a small hackaton for SharpWired which I’ve started developing for! We mainly worked on the bookmarks manager GUI, and I must say it got a quite good facelift! Here’s the window before we started working:

Old SharpWired bookmarks dialog
Quite basic and functional. However, the usability was not that great. For example, it’s not exactly clear in which context you are when your either editing an existing bookmark or adding a new one. What we did was to have a “separate” list of bookmarks to the left which have its own add and delete buttons. These always add and delete items (i.e. bookmarks) in the bookmark list. To the right there is a panel showing the currently selected bookmark which can only be edited and saved, not deleted (that is done in the list to the left).
We also added a name property for a bookmark so that it looks a little bit nicer in the GUI (both the menu in the main window and in the bookmarks manager). The password input was a bit tricky, since we never save any passwords in SharpWired. We just save the hash of the password. Thus, when editing the password box there was no default length of the password we could put in there. It also looked pretty weird if there was no password since then users might think the password was not saved. We solved it by putting an “Edit Password” button above the text field, meaning that we both “hide” the password from prying eyes when it’s not being edited and solved the problem of users not understanding that it had been saved! Here’s the resulting bookmarks manager after our hacking session:

New SharpWired bookmarks dialog
I was really happy with the work we did, and I even think there’s less code now that before, which is mostly a good thing (at least if it is as understandable as before).