MyPaint/GUI Brainstorm

Also check the GIMP UI brainstorm for inspiration from the GIMP world. There are also some interesting Krita design documents.

When you edit this page, please focus on visual mockups and their discussion. This should stay a place to look for inspiration.
 * unpolished images are also welcome
 * no roadmap/priority discussion please, except if you are implementing it
 * if you don't get any feedback, you can try the IRC channel
 * sign your posts, on the image or with ~

Thanks for your input!

Main Window Navigation
Image Created by SeanJM

Popups can turn into Panels
A popup can turn into a panel simply by clicking on the Anchor. Image posted by SeanJM

Markup Pie Menus
posted by SeanJM If the right click menu brought up the markup menu, a lot of tablet users wouldn't need the keyboard. Comment posted by SeanJM

Brushes popup
Posted by SeanJM Posted by SeanJM popolon reflected that he wanted the brushes to have customizable thumbnails; where you could load your own custom thumbnail. However there are problems that arise with static images in a dynamic program. The brush window would draw strokes that are updated in real time if any settings are changed. And since there are so many variable settings that would change the appearance of a brush, thumbnails are not an option--as they can quickly mis-represent the brush. Posted by SeanJM

Color Wheel Popup
Art and Concept by SeanJM When the color wheel is re-opened it opens in it's last state, the position of the wheel, saturation, lightness is all kept until changed again. Comment posted by SeanJM

Palette / Color Mixer Popup
Posted by SeanJM Comment posted by SeanJM

Layers Toggle
So you toggle layer selection and the layers get listed right on the canvas for selection, layers can be locked for editing, deleted or hidden. Comment posted by SeanJM

Color Popups
see MyPaint/ColorSelectorUsability





Brush setting dialogue
Suggested updated brush setting dialogue:

Separate the normal brush list window completely from the process of creating new brushes -- instead keep that as only a "dumb" selector (which can thus have a pop-up nature, see Color Selector Usability brainstorm). ). Use the brush settings window as a stand-alone "brush editor". Therefore it should also have the "new",button now located at the bottom of the brush selector (not seen in mockup).

At the top of this window is a list of current brushes (further decoupling it from the brush list window) so that it is possible to see which brush is currently being worked on.

The graphic brush stroke updates dynamically to show the effect of the changed setting. Maybe this area can also double as an draw area for creating a graphic for a new brush?

The idea is to bring forth only the settings which are most often used, such as radius, opacity, smudge and eraser (for example) and give the opportunity to hide away settings which are less used and/or more complex to understand what they do. Such complex settings are hidden in tree structures which can be retrieved by clicking the small arrows.

Each slider setting has a [...] button that links to the detailed tablet-sensitive settings. The green/grey (R)eset-button is green if a setting has changed from the default, either in the slider or under the [...]-button, grey otherwise. Pressing a green button will turn it grey and reset everything related to that slider to default.

The buttons (Basic), (Extended) and (Full) dictate the complexity of the dialogue. The modes dictate how much of the tree structure is visible by default. One can always show things manually, but pressing the mode button again will return to the default visibility.


 * In the (Basic) mode, only top-level settings are shown, all other sliders are in the tree are closed, regardless of their status.
 * In (Extended) mode, top-level sliders + all tree structures which were changed from the default will automatically be visible (the image mockup is not really correct, in extended mode the "radius" sub-tree would not be visible since neither of the items there have been changed).
 * In (Full) mode, finally, all sliders will be shown, regardless of if they where changed or not (this is like the current dialogue).

''A problem might be that the full view of this dialog will not fit on any screen vertically. --Matumio 08:39, 25 December 2008 (UTC)''

Context Pie
Horizontal movements change the brush size, vertical movements the opacity. The inner button of each piece opens some dialog, the two outer buttons immediately select something, eg. the most recent two brushes or colors. Open Problem: visualize the opacity/size that is really chosen. Size could be solved by changing the cursor shape.

Also, it might be better to have multiple small submenus instead of a big one that contains everything.

Misc
A "cropping frame" would be useful when saving/loading images. With the infinite canvas, this would crop the area outside the frame when you save to "flat" fileformats (PNG, JPEG, etc). Saving to PSD should keep all image data outside the frame, but set the canvas-size apropriately. When loading these fileformats, the frame would be set to the visible area of the file. (PSD:s would have layers sticking outside of the frame, while "flat" fileformats would only have image data inside the frame.) The frame could be visualized as a "walking ants" line or a semi-transparent black mask outside of the frame. It should be possible to toggle the viewing of it, and to resize/ move the frame freely.


 * This is a known missing feature, see also this bugreport

---  A layers window for viewing and managing your layers. (By Clement Skau) Changing the windows from regular windows into pop-up windows when in full screen. (This will prevent the taskbar from forcing itself on top of the canvas. (By Clement Skau)) View the size of the brush when the size is changed (Key d an f). Use Space for translate picture.  Already done in SVN, not yet in a release though. Save the workspace (place of windows, size, organisation...).  Actually, it does this already...

Ok, place of windows is ok, but not the size (on windows XP)

(Comment by Matumio) A Full Screen feature under View menu. And hiding the menubar also. Just infinite canvas on desktop!</li> <div style="border-color:blue; border-width:1px; border-style: solid; background:#eee; width:200px;margin:20px; padding:5px;"> Version 0.5.1 already has that. (Comment by Matumio) A MacOSX version </li> <div style="border-color:blue; border-width:1px; border-style: solid; background:#eee; width:200px;margin:20px; padding:5px;"> you could compile it (Comment by SeanJM) Interactive drag-based zoom and rotate. Right now zooming and rotating the image view is done via hotkeys. It would be awesome to do it with modifier+middle-button click-and-drag. It would make rotating the image much more like rotating paper to get a better angle to stroke from. (By Nathan Vegdahl)</li>
 * That's what I have implemented in the beginning, but even on fast computers the current rotation code is too slow for interactive mouse-dragging rotation, sadly. You wouldn't want to use it like that. I'm sure it is possible to make this fast enough (even without using OpenGL) but it's probably lot of work. Matumio 05:57, 21 May 2009 (UTC)
 * Ah, yes. That makes sense.  Well, perhaps some time in the future. :-) (Nathan Vegdahl)

Add an optional cross-hair to improve visibility of the cursor position when the brush size is very small. I sometimes have issues seeing where the cursor is when using the pencil brush on already complex images, for example. (By Nathan Vegdahl)</li>
 * Sounds like a good idea. Matumio 05:57, 21 May 2009 (UTC)

Add a "show current layer only" option. I frequently want to work with a layer on its own, with all other layers hidden. (By Nathan Vegdahl)</li>
 * Appears to be in svn now. Thanks a bunch!  (Nathan Vegdahl)

</ul>

TabletPC Support
As TabletPC are getting more and more common MyPaint should support them better. TabletPCs have some differences to normal Desktop PPCs or Notebooks: - You can paint directly on the screen - You can easily rote the screen - You don't have any keyboard (Only a limited number of special keys) - Not easy to use right or middle mouse button - Relative small displays (<= 14")

The goal for my mockup as to create an interface were: - every thing is reachable with the left mouse button - no overlapping, separate windows - easy adjustable - not wasting to much screen space - easy to discover for new users



Brush Tagging
Here is an idea how brush tagging could work. Matumio 10:53, 21 May 2009 (UTC)