GSoC 2012 Improve Usability Chelen

From Scribus Wiki
Revision as of 17:00, 28 March 2012 by Chelen (talk | contribs)
Jump to navigation Jump to search

Improve usability and get rid of little bugs

Scribus is a really powerful and allow us to do very professional stuffs. But, sometime, it doesn't behave as expect by the user and it looks unfriendly as you have to redo some part of your work. As this subject suggest, it will not be just one big task but different little ones to improve user-friendliness of Scribus. During the GSoC, I will focus on two goal describe below : undo-redo and make easier user handling.

Project description

Undo-redo

When we speak about user-friendliness, it also means that Scribus has to do what the user expect it does. We can notice that it remains some bug in undo/redo functionalities.

Currently, undo/redo is absent in for some functionality (changing style character for example) or have an abnormal behaviour (with pattern/graphic or about save functionality ). As we can see with those examples, there are some improvement to do in these case and especially with undo/redo when we resize/rotate a frame or a graphic. We can also notice that story editor lack undo/redo functionalities but cezary have already programmed that and will export his word from 1.4 to 1.5.

make easier user handling

To improve usability of scribus, we have to avoid repetitive actions and quicken access to different linked actions. Even if regular users used to do with these actions, new ones can be disturb by this kind of behaviour and think it is a real waste of time.

In this case, we can think there are a lot of different thinks to do but in reality, it is pretty much the same in all different case. Indeed, whether adding some space after a paragraph or enable/disable pre press or remembering rename or replace and many others, what the user want is just that scribus remember a default behaviour.

The second case is when the user have to click 10 time to do what he wants or when he has to go in another panel like with contour definition. In all these case, we have to the number of manipulation that the user need to do an action.

Implementation

We can separate this in three parts:

-Studying how is manage undo and the user interface now

   -Reading some part of the code where undo is correctly manage
   -Collecting information about Undo/Redo framework in Qt
   -Discuss with scribus team what part of the code have to be improve first ether user interface and undo/redo management

-Coding new features

   -Fixing well known bug related to user handling 
   -Fixing undo/redo management bug
   -Improve undo/redo functionalities where it is possible
   -Add a new control panel for undo/redo to enable user to see and control easily his actions.

-Finalisation

   -Execution of a bench of test to be sure that this code can be include in the main distribution
   -Documentation of the code the enable the team to maintain this part of the code
   -Merging the code in the main branch


fix incorrect behaviour

The last but not the least is to correct these strange behaviour. Of course, there will always have this kind of issue in a program but some of them can be more unpleasant than others and this is a necessary to improvement the usability of Scribus. Furthermore, we can see some of them in an everyday use of scribus.

As many bug report refer, Shape are the part where most of problem are. Shape are important in Scribus because we use these tools for text frame shape. An other example is about font selection. In some case, we can select a missing font so there are some issue. In all case, it is not issues about configurations but about final render of scribus which is its main functionality.

This page will be completed and corrected soon!