
These are the results of a Konsole Usage Survey conducted in March 2007 to ask
about how users work with the command line, how they use Konsole as it exists
in KDE 3.x and to ask for opinions on ideas for future features and improvements.

The survey received ~8000 replies, these are not full results, but a summary
of the results for each question, including the "additional comments" text boxes.

Authors: Robert Knight < robertknight@gmail.com >
Updated: 29-03-2007

PLEASE NOTE:  The counts given for responses to the text-box questions
              (ie. the 'any additional comments' questions) are rough
              and should not be treated as absolutely accurate.
Raw data:

1.  Operating System

    The vast majority ( 97% ) use Linux, followed by BSD ( 2% ) and Solaris ( 0.3% )

2.  Frequency of Command-line Usage ( compared with equivalent graphical tools )

    The average respondant classified himself as a frequent 
    user of the terminal ( average rating of 4.2 out of 5 for frequency of usage )

3.  Additional comments about Q.2
    Most replies were details of what the respondants used Konsole for and how the command-line

    Reasons for using the command-line include:

        - Automation (scripting,batch processing) XXXXXXXXXXXXX

        The 'building block' operation of the command-line using pipes was
        mentioned by a number of respondants.

        - Package Management XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                             XX

        A number of users ( presumably Kubuntu users ) cited the poor
        quality of the Adept package manager as a reason for using the apt-get
        package management tool instead.

        - Working with remote computers (general) XXXXXXXXXXXXXXXXXXXXX
          (includes a number of web developers)
        - Working with remote computers (sysadmin) XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                                   X
        - Efficiency XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                     XXXXX

        A number of users cited using Konsole ( or ALT+F2 ) to launch
        GUI programs because it is quicker than using the mouse to
        navigate the K-Menu to find the application icon and activate it.

        A number of users also cited the relative inefficiency of the mouse 
        compared with the keyboard for experienced power-users.

        As well as input efficiency, some respondants mentioned that
        startup time of GUI applications under Linux/KDE meant that using the 
        command-line was much more efficient.

        - Monitoring system XX
        - Reading mail XXX
        - Performing tasks as an administrator (eg. using su/sudo) XXXXXXXXXXXXX
        - Local system admin XXXXXXXXXXXXXXXXXXX
        - File operations XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                          XX

        basic commands - cp,mv,cd,ls,rm etc. but also mc in many cases

        - Using version control tools (svn,git etc.) XXXXXX
        - Command-line multimedia XXXXXXXXXXXXX

        mplayer in most cases.  ffmpeg automation often cited as well.

        - Text editing XXXXXXXXXXXXXXXXXXXXXXXXX

        vi in most cases.  some mentioned emacs

        - Writing code XXXXXXXXXXXXXXXXXXXXXXXXXXX
        - Building software XXXXXXXXXXXXXXXXXXXXXXXX
        - Injury from mouse usage X
        - Enjoy S&M/Use Gentoo XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
        - Enjoy hardcore S&M/Develop Gentoo X
        - Missing GUI tools XXXXXXXXXXXXXXX

        A relatively small number of respondants noted that usage of the command-line
        has decreased in recent years due to improvements in GUI tools.  
        A number of respondants also described themselves as long-time Linux or UNIX
        users who preferred command-line tools because it is what they grew up with,
        and new-fangled GUI applications weren't available back in the day.

        A number of users also mentioned that while GUI applications were available,
        they trusted the equivalent command-line tools more.

        A small number of users cited the lower system requirements of command-line
        tools compared with the graphical alternatives.

        BSD users in particular cited the lack of satisfactory GUI tools for 
        various system administration functions.

        - Verbose output from commands XXXXXXXXXX

        Includes debugging problems with GUI applications, particularly those 
        testing or developing bleeding edge software.

        - Database admin XXX
        - Running legacy (ie. terminal-based) application X

    A significant number of respondants also indicated that 
    they use Yakuake (a program
    which provides a drop-down terminal display at the press of a key
    in the style of the ID software game Quake), the most common
    reason given by far was the instant availability of a terminal at 
    the press of a single keystroke ( F12 by default ).

    Reasons for not using the command-line
        - Lack of discoverability of functions vs. GUI applications
        - Learning curve is initially steep

4.  The most popular tasks in descending order:

        - Administration of local machines
        - Administration of remote machines
        - Building Software
        - Viewing manuals
        - Text editing
        - Debugging software
        - Writing code
        - IRC
        - Email

5.  The vast majority ( 90% ) of respondants used Bash as their
    primary shell.  Zsh was used by 4% of respondants.
    Alternatives mentioned in the "other" section included ksh,
    Midnight Commander and Python.

6.  In decending order, the most popular interactive terminal programs
    were:

        - SSH
        - man / info
        - vi / vim
        - GNU Screen
        - Midnight Commander
        - gdb

7.  Asked for their preferred colour scheme for Konsole sessions,
    users primarily chose between one of 4 colour choices supplied
    with Konsole.
     
        - Black on White ( 25% )
        - White on Black ( 28% )
        - Linux console ( Silver on Black ) ( 22% )
        - Light on transparent ( 18% )

8.  Additional comments for Question 7.  A large number of respondants
    answered this question.

    Popular alternative colour choices mentioned included:

    - Green on Black ( Matrix-like ) 
      (Probably the most popular colour not mentioned on the original list)
    - Dark background, transparent  
    - Dark text, transparent background ( Relatively popular ) 
    - Black text on a light, but non-white background
      (To reduce glare from monitor)
      This light colour was most often Yellow.
      (Probably the second most popular choice)

      Grey background was sometimes used.

    - Light text on a dark background
    - Yellow text on a dark blue background

    - Several respondants mentioned the use of a random background colour
    - Many respondants indicated that true transparency would be highly
      desireable.
    - Many respondants also said that true transparency was not useful
      for them.
    - With transparency, the most appropriate colour scheme depeonds on
      the desktop background.
    - Several respondants said that a white background was too glaring.
    - Several respondants requested a custom background colour (often 
      one with a redish hue) for root sessions.

    Problems mentioned:

    - Standard Konsole colours not working well with 'emerge' coloured
      output.
    - Default BLUE colour ( I think this refers to the Linux console colour
      scheme ) does not work well in Vim or other applications.
    - Existing colour scheme editor is hard to use.
    - Existing 'fake transparency' has performance issues.

9.  The majority of respondants do not change their colour scheme
    depending on the computer they are logged into, but a significant
    minority ( 22% ) did.

10. The majority of respondants do not change their colour scheme
    depending on the program running in the terminal, with 12% 
    claiming that they did.

11. The majority ( 77.5% ) of respondants used a colour scheme which
    came with Konsole.  22% used a custom colour scheme.

12. The most favoured graphical enhancements to Konsole were, in
    descending order:

        - Real transparency
        - Konsole as part of the deskop background

        With the other choices several points behind on average:

        - 24bit colour
        - Background images
        - Shadowed text
        - Fake transparency

13. The default session type which simply runs the system shell
    ( typically bash ) was the most frequently used session by far.

    The "Root Shell" and "Linux Console" sessions were the next
    most frequently used types, followed distantly by Screen.

14. The majority of respondants (84%) had not created their own custom
    session types, although 16% ( 283 ) had.

15. Popular uses for custom session types:
        
        - SSH: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
               XXXXXXXXXXXXXXXXXXXXXXXX

        ( Often used custom colours to distinguish between machines )
        ( Some of these turned on 'send to all sessions' - very useful
          for performing the same command across many machines )
        ( Users with many SSH session types complained of the menu
          growing too large.
          They would also appreciate the ability to bookmark all open
          SSH sessions )

        - Other remote connection: XXXXXXXXXXXXXXXXXXXXXX

        ( Including databases, telnet )

        - Interactive Interpreter (Python,Ruby etc.): XXXXXXXXXXXXXXXX
                                                      XXXXXXXXXXXXX

        ipython was a popular choice, also irb ( ruby ).
                        
        - Custom shell: XXXXX        
        - Custom Screen-based: XXX
        - Tabs opened in specific directories: XXXXXX
        - Custom environment (eg. a 'KDE 4 development environment'):
            X
        - Customise the default: XXXXXXXXXXXXXXXXXXX

          - Often to change colours or font size
          - Or to make the default a login shell ( eg. bash --login )

        - Disable various UI features (scrollbars,menu bar etc.): XXXXX
                                                                  XXXXX
                                                                  X
        - Custom root shell: XXXXXXXXXX

        A number of respondants did not understand the concept of a 
        'Session' in Konsole.
        Others found it easier to use scripts to set up different
        environments.
        Some respondants actually discovered this feature as a result
        of answering the survey question.

        Invoking a session without a keyboard shortcut requires use of 
        the mouse.  This is inefficient.  A number of respondants suggested
        that sessions should be activated automatically when certain programs
        are started etc.

        Some people need to interface with machines or applications which
        work better with different terminal, keyboard or encoding settings.

        A notable number of respondants complained that the user interface
        for creating new sessions or modifying the default session type
        was hard to understand.

16. Around half of respondants ( 42% ) did use GNU Screen, a slightly larger
    proportion ( 57% ) did not.

17. The most favoured candidate for better integration with Konsole was
    the SSH program ( 43% ), followed by Vim ( 16% ) and GNU Screen ( 11% ).
    Others mentioned include Konqueror,mc,nano and emacs

18. The rankings did not give clear answers about the ease of performing
    various tasks in Konsole, but the additional comments ( Q #19 ) gave
    many useful responses.

19. [ TODO ]

20. Typical number of Konsole windows open:
    
        1    ( 40% )
        2    ( 29% )
        3-4  ( 19% )
        More ( 11% )

21. Around half of the respondants used small Konsole windows occupying 
    a quarter of the screen or less.  A significant number ( one third )
    typically used maximized Konsole windows.  A further 10% used
    vertically maximized Konsoles occupying half of the screen, and a further
    7% used horizontally maximised Konsoles.

22. 40% of the respondants typically had 2-3 tabs open at once,
    26% typically had 4-5 tabs open, 10% typically had 6-7 tabs open.
    Only 7% had more.  15% claimed to only have one tab opened typically.

23. The preferred default naming for tabs were, in descending order:

    - Foreground program ( 24% )
    - Computer logged into ( 20% )
    - Current directory ( 17% )
    - Session number ( 12% )
    - Window title set by session program ( 12% )

    Most user suggestions were a mix of the above, depending on context.
    Popular user suggestions:

    - computer:dir ( Might be hard to implement )
    - mix of dir and program
    - according to bookmark name
    - computer:program ( Again, might be hard to implement )
    - customiseable per session type
    - session type name
    - user@computer

24. The majority of respondants ( 68% ) did not typically rename the tabs
    manually after they were created, although a significant minority ( 25% ) did.

    6% did not know how to rename tabs.

25. The majority of respondants ( 63% ) did not change the tab font
    colour manually.  A significant minority ( 12% ) did occassionally.  
    A significant percentage
    ( 22% ) did not know how to change the tab colour.

    This could be attributed to poor wording of the question, which asked about
    "tab colour", when it meant "tab font colour".

26. The most popular methods for choosing tab icons were:

    - According to foreground program ( 48% )
    - According to session type ( 35% )
    - Random coloured icon for each new tab ( 7% )

    Popular user suggestions:

    - According to machine logged into
    - Disable tab icons
      (Probably the most popular actually)
    - Don't care


27. [ TODO ]

28. [ TODO ]
