The Ideal Puppy User Interface?
Posted: Fri 16 Aug 2013, 09:13
I would like to see a thread where users and developers could discuss the ideal Puppy user interface. I thought that perhaps these initial thoughts by a user may be of use in giving people something to gnaw on and stimulate discussion.
My own experience in programming user GUI applications is only barely above zero, so I have no idea about how hard these ideas would be to implement, I do know that they will be hard. However, I hope that at least some will be worth considering by our many "Gun" designers, or if not they may stimulate the generation of some that are.
One bias that I do have is that, as I am a slow learner, I would like to see entry into any new Puppy to be as straightforward as possible. I believe that this should not be any reason to discount these ideas, as they mean that my experience will act as a good proxy for that of many genuine newcomers. Puppy should be easy for newcomers and oldies as well as efficient for elite initiates.
1. Firstly, absolutely everything should be easily customisable, the desktop, the taskbar, the menu and even the systray. I am not just talking themes and colour schemes, which are mostly well catered for already. I mean adding, deleting, moving, hiding and unhiding. The lack of a noob friendly GUI to do many of these things is a weakness in Puppy. Also, it should be easy to reset things back to original, which is not only of use for fiddlers with regrets but also for making it easier to remaster to standard format. One other bit of customisation of appearance that is in dire need of improvement is Pcur. Why on earth should you have to download a huge 40MB theme library, or indeed any theme, via the PPM when all the average user wants is to be able to select between half a dozen tiny icon files? When it is a choice between giving the user an easy way to do 99% of everything he could likely want and a hard, messy way to do absolutely everything go the easy way.
2. Tooltip everything. Recent Puppies are getting a lot better in this regard. Great!
3. An additional thing which would be very nice would be if any such customisations were held in a single file that is standard between all puppy versions. It is impractical for it to be possible to upgrade complete savefiles or to convert them for different Puppies in many cases but this customisation file could be a way of allowing the user to easily carry his or her quirks across in many cases.
4. The following are my ideas for a standard getting-started interface for Puppy. Obviously it's up to developers what is done and others may disagree anyway. And it obviously won't happen instantly.. One of the reasons I loved puppy 4.2 when I left PCLinuxOS was that everything was so easy to find, partitions, files, utilities and apps. Most Puppies are still pretty good. I mention a lot of things below that are already in some, if not most, Puppies, simply so that people can think about them and realise that they should be preserved in subsequent developments. I find it difficult to understand the criticisms that Puppy looks like Win95. Win95 was a decent attempt at implementing the original human interface design research of Xerox. Changes made since to this paradigm are mostly superficial glitz or, when they are not, productivity-limiting disasters. Anyway, customisability means that this argument, is irrelevant. Once the user has found his way around a standard interface, he can make it look exactly the way he wants. I guess that a simple hide/unhide all desktop icons button on the standard taskbar and the ability to have the taskbar slide out of sight could be the easiest way to satisfy those that prefer a "clean" desktop. The most important objective in the following is that things, even rarely used and unfamiliar things must be as easy to find as possible and commonly used things should be rapidly accessible.
5. The most frequently used applications should be on the taskbar or systray, where they are always readily accessible. That as standard should include the file manager, browser, writer and calendar. The Barry standard of invoking Osmo as left click on the clock is a good, efficient use of space, as is having clockset on the right click. The network connection icon should also be there.
6. The partition icons were always a great thing about Puppy. Their current incarnation is about perfect.
7. The next most frequently used items should appear on the desktop, where they are next most easily seen and accessed.
8. The menu should contain absolutely everything in Puppy that makes any sense. That may even include some apps and utilities that require to be run in a terminal. This is a major criticism I have of some recent Puppies, many developers are fiddling around, reducing the number of menu items in a category and even trimming the number of categories. How is the newb to know something is there if it isn't in the menu? I know that clutter can also make it hard to find things but it is the lesser of two evils, compared to having a few things easier to find and others impossible.
9. It should be a one or two click process to copy apps out of the menu and into the taskbar or desktop. Once found, the user can make it trivial to find again.
10. The user should be able to hide categories and menu items as readily as possible. An unhide button on each category panel will restore them. The user should also be able to reorder the categories and items by drag and drop.
11. Standard Linux xdg categories should be used.
12. My own feeling about the menus is that the real reason that people are so concerned about clutter is that they make inefficient use of the screen. There is absolutely no reason to see the desktop when using the menus, so the main menu and every sub menu should use as much of it as necessary, even if this means overlaying the panel of the higher level menu. This would allow decent sized icons and text, including tooltip text. The menus can also use multiple columns, with decent separator lines. There also doesn't seem any good reason not to allow scrolling with really big sub-menus, such as the utilities one. A development along these lines would seem to me to preserve the best aspects of menus, together with the nicer aspects of a launcher such as the Linux Asus EEE had. A fancy enhancement would be to let the user alter the icon size displayed but that may be a bit heavy for Puppy.
13. If the menu has the capabilities I have outlined, we could do away with the need for such experiments as the control panel, extra docks and the like. These are attempts to side-step perceived problems with the menu and desktop but are not all that successful. They need far more clicks and also complicate matters for no great benefit. You could think of my menu suggestions as being a "super control panel" if you like, the point is that the user should only have to look in one place and use one method of navigation.
14. Can I make a plea to Barry to follow Playdayz's excellent example and make Rox-right clicks an integral part of Woof please? Don's work makes a huge improvement in usability of Rox, making Rox a real delight to use. The Open with/Send to approach is an apparent attempt to follow Windows but it seriously fails to achieve even the Windows level of functionality, whereas RightClicks easily surpasses Windows.
My own experience in programming user GUI applications is only barely above zero, so I have no idea about how hard these ideas would be to implement, I do know that they will be hard. However, I hope that at least some will be worth considering by our many "Gun" designers, or if not they may stimulate the generation of some that are.
One bias that I do have is that, as I am a slow learner, I would like to see entry into any new Puppy to be as straightforward as possible. I believe that this should not be any reason to discount these ideas, as they mean that my experience will act as a good proxy for that of many genuine newcomers. Puppy should be easy for newcomers and oldies as well as efficient for elite initiates.
1. Firstly, absolutely everything should be easily customisable, the desktop, the taskbar, the menu and even the systray. I am not just talking themes and colour schemes, which are mostly well catered for already. I mean adding, deleting, moving, hiding and unhiding. The lack of a noob friendly GUI to do many of these things is a weakness in Puppy. Also, it should be easy to reset things back to original, which is not only of use for fiddlers with regrets but also for making it easier to remaster to standard format. One other bit of customisation of appearance that is in dire need of improvement is Pcur. Why on earth should you have to download a huge 40MB theme library, or indeed any theme, via the PPM when all the average user wants is to be able to select between half a dozen tiny icon files? When it is a choice between giving the user an easy way to do 99% of everything he could likely want and a hard, messy way to do absolutely everything go the easy way.
2. Tooltip everything. Recent Puppies are getting a lot better in this regard. Great!
3. An additional thing which would be very nice would be if any such customisations were held in a single file that is standard between all puppy versions. It is impractical for it to be possible to upgrade complete savefiles or to convert them for different Puppies in many cases but this customisation file could be a way of allowing the user to easily carry his or her quirks across in many cases.
4. The following are my ideas for a standard getting-started interface for Puppy. Obviously it's up to developers what is done and others may disagree anyway. And it obviously won't happen instantly.. One of the reasons I loved puppy 4.2 when I left PCLinuxOS was that everything was so easy to find, partitions, files, utilities and apps. Most Puppies are still pretty good. I mention a lot of things below that are already in some, if not most, Puppies, simply so that people can think about them and realise that they should be preserved in subsequent developments. I find it difficult to understand the criticisms that Puppy looks like Win95. Win95 was a decent attempt at implementing the original human interface design research of Xerox. Changes made since to this paradigm are mostly superficial glitz or, when they are not, productivity-limiting disasters. Anyway, customisability means that this argument, is irrelevant. Once the user has found his way around a standard interface, he can make it look exactly the way he wants. I guess that a simple hide/unhide all desktop icons button on the standard taskbar and the ability to have the taskbar slide out of sight could be the easiest way to satisfy those that prefer a "clean" desktop. The most important objective in the following is that things, even rarely used and unfamiliar things must be as easy to find as possible and commonly used things should be rapidly accessible.
5. The most frequently used applications should be on the taskbar or systray, where they are always readily accessible. That as standard should include the file manager, browser, writer and calendar. The Barry standard of invoking Osmo as left click on the clock is a good, efficient use of space, as is having clockset on the right click. The network connection icon should also be there.
6. The partition icons were always a great thing about Puppy. Their current incarnation is about perfect.
7. The next most frequently used items should appear on the desktop, where they are next most easily seen and accessed.
8. The menu should contain absolutely everything in Puppy that makes any sense. That may even include some apps and utilities that require to be run in a terminal. This is a major criticism I have of some recent Puppies, many developers are fiddling around, reducing the number of menu items in a category and even trimming the number of categories. How is the newb to know something is there if it isn't in the menu? I know that clutter can also make it hard to find things but it is the lesser of two evils, compared to having a few things easier to find and others impossible.
9. It should be a one or two click process to copy apps out of the menu and into the taskbar or desktop. Once found, the user can make it trivial to find again.
10. The user should be able to hide categories and menu items as readily as possible. An unhide button on each category panel will restore them. The user should also be able to reorder the categories and items by drag and drop.
11. Standard Linux xdg categories should be used.
12. My own feeling about the menus is that the real reason that people are so concerned about clutter is that they make inefficient use of the screen. There is absolutely no reason to see the desktop when using the menus, so the main menu and every sub menu should use as much of it as necessary, even if this means overlaying the panel of the higher level menu. This would allow decent sized icons and text, including tooltip text. The menus can also use multiple columns, with decent separator lines. There also doesn't seem any good reason not to allow scrolling with really big sub-menus, such as the utilities one. A development along these lines would seem to me to preserve the best aspects of menus, together with the nicer aspects of a launcher such as the Linux Asus EEE had. A fancy enhancement would be to let the user alter the icon size displayed but that may be a bit heavy for Puppy.
13. If the menu has the capabilities I have outlined, we could do away with the need for such experiments as the control panel, extra docks and the like. These are attempts to side-step perceived problems with the menu and desktop but are not all that successful. They need far more clicks and also complicate matters for no great benefit. You could think of my menu suggestions as being a "super control panel" if you like, the point is that the user should only have to look in one place and use one method of navigation.
14. Can I make a plea to Barry to follow Playdayz's excellent example and make Rox-right clicks an integral part of Woof please? Don's work makes a huge improvement in usability of Rox, making Rox a real delight to use. The Open with/Send to approach is an apparent attempt to follow Windows but it seriously fails to achieve even the Windows level of functionality, whereas RightClicks easily surpasses Windows.