UI improvements

From Inkscape Wiki
Jump to navigation Jump to search

UI Improvement Effort

Abstract

Inkscape provides the user with a graphically and feature rich environment for creating visual artwork. Why should we care about investing effort to UI improvement?

First of all, of course, because we like Inkscape and are passionate about the project, hence it deserves our attention and energy by definition.

But there are also a few more rational points to make about how the user could benefit from UI improvements.

In general, a user interface is crudely seperable into its visual and its interactive features.

Most modern user interfaces are comprised of several (mostly) rectangular logical elements (Widgets, Windows, Textboxes, ScrollBars, etc ...). Those elements provide basic interactivity, while being styleable in size, color, texture and sometimes shape.

This separation of concerns at the level of development is coherent with the idea of arguing about interactivity and visual style separately. As such, both groups deserve special attention and we will categorize our specific improvement propositions accordingly.

Note: Every improvement proposition on this page is required to be acompanied with a more or less elaborate, rational explanation.

Improvements

Visual Improvements

Simplify Icons + Theme
Proposal:

Simlify both shape and color of current default icon set. Also, make Inkscape load a custom, default gtk theme. Make icons and theme s/w (grayscale) and low in contrast with a neutral base ( meaning the base color is 50% gray ).

Explanation:

Since Inkscape is a tool for creating rich visual content, its own visual appearance should not compete with that content. The users attention should be focused on his/her own artwork, but the human eye is known to focus on high contrasts, both color and value contrasts. Therefore, after eliminating saturation and contrast from the UI, it is reasonable to assume that a user can devote his attention more easily to the task at hand. It is worth noting that it is technically possible for each user to implement both of these improvements on his own by modifing certain files in his specific Inkscape installation. However, most users will probably not even be aware of such subtle and unconscious effects and, more importantly, it is unreasonable to expect the user know about such technicalities. The user's problem domain is visual content. Every problem he or she has to solve that is not directly part of that domain is to be considered a waste of time. Therefore Inkscape's default state should be one that intuitively aids in that problem domain.

A screenshot of how this might look.

Maximize Working Area
Proposal:

Hide/group most unessential tools, buttons and panels in default state. Automatically minimize or show panels based on mouse position or context. User-configurable panels (drag'n'drop).

Explanation:

Inkscape provides many beautifully specialized features and tools for creating vector art. But in the domain of vector drawing applications its real strength lies rather in the generality of its tools, allowing the artist to explore and create what could not be anticipated by the creators of Inkscape. This approach towards general features instead of highly specific ones has its roots in the SVG specification itself and the developers of Inkscape agree with it. The benefits of this approach is nicely illustrated by Inkscape's rich filter system.

In the same spirit, a user should be able to configure his interface by means of creating custom panels, naming them and dragging and dropping tools, menu items and other buttons into and out of them. While this approach would allow the user to create highly customized and arbitrarily complex user interfaces, Inkscapes default UI state should nonetheless adhere to the concept of most simplicity and generality. Here is a screenshot of how the UI could be reduced.

Also, Inkscape's working area is the most important area of the UI (compared, for example, to panels, buttons and the status bar) because the user's problem domain (his/her content) is represented mostly in that area. As a result it deserves special attention and a higher priority.

This could be achieved by automatically hiding bars and panels, thereby maximizing the working area, and only blend them in in special circumstances, such as mouse movement towards the screen edge or some other context.

This would contribute to the concept of simplicity and generality, because all of Inkscape's UI would be accessible and explorable to the user, while being as clean and simple as possible during his or her tasks.

Interactivity Improvements

Self-documenting UI
Proposal:

Every tool, button, panel and menu item should have an extensive tooltip popup showing the associated shortkey, links to the documentation and an optional short description. Note: This assumes/implicates, that every item has its own shortkey assigned.

Explanation:

Exploration and experimentation are a big part of the Inkscape user experience. It's not only fun, but tremendously important to become able to use Inkscape as a creative tool.

Therefore, every feature that eases and encourages the user to gain experience can be considered very valuable.

The notion of a 'tooltip' has become very intuitive for the average PC user and it also lends itself well to the idea of simplicity and generality explained above, because it's only visible if the user wishes for it and otherwise does not complicate the UI.