Home | Reviews | GUIpedia | Forum | Fun500


BrandonTime Machine: What a GUI should have
Jacob had a section for tutorials/articles on his site, this one managed to get picked up by the wayback machine. What a good GUI should have What a good GUI should have Written by Jacob Palm (The Walrus)   The article below is copied directly from an article I wrote for QB Express issue #10. What your GUI should contain of accessories is fully up to you. But there is some accessories the user would expect to find in a GUI. Below I've made a list of some accessories every GUI should have. Nice controls with reasonable colors The most important thing in a GUI is (in my opinion) the design of the interface. Let's say for example that somebody wrote a simpleamazing GUI, which could do just about anything, but used bright green text on yellow windows, and had buttons with random shapes. Nobody would want to use a GUI like that (Okay, maybe that was a somewhat extreme example, but I think you got the point). A program launcher A desktop, program manager, filemanager or something like that, which launches programs (both internal and external). I know you may think this sounds stupid. I mean, all GUI's have a program launcher, right? Well, no. I've actually seen a lot of GUI's which didn't have the ability to run standard DOS programs. Users don't like when they have to quit the GUI to run a program, and then start the GUI again. Many users would ditch a GUI without a glimpse if it couldn't run standard DOS programs. A filemanager If the GUI doesn't use a filemanager as the program launcher, then a filemanager should be included. Users like it when they don't have to quit the GUI to perform file operations. Many people also find it easier to perform file operations using the mouse. Mouse support Mouse support is not really necessary, but it's a big plus if a GUI has it. It should however be able to function without mouse (if the user's mouse is broken or not connected correctly or something like that) A file viewer/editor Let's just face it. MS-DOS Edit is a good text editor, but it doesn't belong in a GUI, since it runs in pure text mode. It's okay if your GUI uses MS-DOS Edit to edit files, but it'll look better if you make a graphical text editor. This has proven to be a hard task, though, and therefore many GUI's just use MS-DOS Edit (including mine, for now) Entertainment The user has been working in your GUI for hours, and needs a brake. What would be better than some kind of entertainment included with the GUI? It doesn't have to be a big 3D shooter, just a small game like Tic Tac Toe or reversi. The game should have some AI, so that the user can play against the computer if he/she doesn't have anybody to play with. Settings and customization Users like it when they can change the colors of the GUI, add a background image, modify icons and change settings. Some just use the standard settings, but most users like to personalize the GUI. Customizable icons is definitely a plus, users don't like having to type the path and filename of a program each time they want to run it. Documentation and a proper error handler Many GUI's just exit without a warning if an error occurs, while others give an error code. Unless the user is a QBasic programmer, he/she won't know what the error code means. Therefore, I recommend that you make a proper error handler, which will tell the user what went wrong, and how the problem can be solved. It's always a good idea to include some documentation with your GUI for the user to look in if he/she can't figure out how to do something. Of course there's more than what I've listed here. This is just a list of some of the most common things users expect to find in a GUI. You could of course release a SDK (Software Development Kit) for your GUI, allowing users to write their own accessories which fit in to the GUI nicely. Some users actually send their creations to the author of the GUI, which in some cases include it in the GUI, making it even better.   Jacob Palm The Walrus hvalrossen@jacobpalm.dk Creation date : 09/06/2005 @ 9:37 PM Last update : 01/11/2006 @ 8:31 PM
2013-03-014:43 PM

atrocityRe: Time Machine: What a GUI should have
I agree with these! Sadly, error checking is the hardest thing to implement because you never know WHAT will happen. I'm adding support for compilable scripts atm, and even now, I'm not sure how to display messages for if the file format itself is messed up.
2013-03-015:24 PM

BrandonRe: Time Machine: What a GUI should have
I hadn't actually read through this (in years) when I posted it, but after reading your comment I look the time to look through the bullet points, and I find it hard to argue with this list.
2013-03-017:35 PM

TheWalrusRe: Time Machine: What a GUI should have
You're right, error checking can be very hard to implement - especially if you try to add it on top of existing code. For Costa I tried my best to implement error checking right from the start, and tried to make it able to catch any error I could imagine - and added "generic" error handlers to handle the rest. It's funny to read that list again after all those years. It's also a little embarrasing, considering my own GUI never fully lived up to the things on it - I never got around to making a file manager or an editor:)
2013-03-189:59 AM

Blog


2021 Brandon Cornell