dolphin/HACKING.md
Elvis Angelaccio 11955532d4 Add HACKING file with 'Philosophy' paragraph from the Userbase page
https://userbase.kde.org/Dolphin has a 'Philosophy' paragraph (which
used to be a page on dolphin.kde.org) explaining when a new feature
should be added to dolphin. Userbase is a wiki aimed to actual user of
our applications, while this information is aimed to dolphin developers
who want to add a new feature to dolphin. Thus it is more appropriate to
have this paragraph in the git repo.
2019-04-07 17:29:51 +02:00

3 KiB

Philosophy

Dolphin is a file manager focusing on usability. When reading the term Usability people often assume that the focus is on newbies and only basic features are offered. This assumption is wrong.

Target User Group

Focusing on usability means that features are discoverable and efficient to use. The feature set is defined indirectly by the target user group of Dolphin:

  • Lisa: Lisa is familiar with computers since 10 years. Due to her job she has experience with Word, Excel and Outlook. At home she mainly uses the computer for browsing the web and writing e-mails. She requires a file manager for managing photos from the camera, documents she gets per e-mail or PDF-documents she downloads with a browser. Lisa knows concepts like folders and a file hierarchy, but she is not familiar with the file hierarchy of Linux.

  • Simon: Simon has been a developer at a software company for 8 years. At home he uses a file manager to maintain his large collection of photos and music. Additionally he owns a small homepage and needs to transfer updated files on the FTP server. Moving and copying files are regular tasks in Simon's workflow.

Not part of the target user group of Dolphin are Fred and Jeff:

  • Fred: Fred is 75 years old and is able to write e-mails and browsing the web. He is not familiar with file hierarchies and stores all his documents on the desktop.

  • Jeff: Jeff is Linux-freak since the age of 16 a few years ago. He is developer and in his spare time he acts as administrator for a small company. Jeff has two monitors to keep the overview about his huge number of opened applications.

This does not mean that Fred or Jeff cannot work with Dolphin. But there might be features and concepts of Dolphin that overburden Fred. Also Jeff might miss some features which are a must-have for his daily work.

Non-Intrusive Features

Before a feature is added in Dolphin, it is checked whether the feature is mandatory for the target user group. If this is not the case, then this does not mean that the feature cannot be added; first it must be clarified whether the feature might be non-intrusive, so that it adds value for users outside the primary target user group of Dolphin. Non-intrusive is mainly related to the user interface. A feature that adds a lot of clutter to the main menu, context menus or toolbar might harm the target user group. In this case the feature will not be added.

A good example of a feature that is non-intrusive is the embedded terminal in Dolphin. It only requires one entry inside a sub menu, but adds great value for Jeff, who is not part of the target user group.

Options

Options are mandatory as the user "average Joe" does not exist. Still it is not the goal of Dolphin offering options for all kind of things. Again the focus is on the possible needs of the target user group. Each additional option makes it harder finding other options, so the same rules for features are applied to options too.