UX Manifesto
Inspired by the classic Agile Manifesto, which deals with the process of developing software. UX Manifesto is result of my frustration with the state of User X Software interface of applications that should serve users as the productivity tools. Therefore I would like to write down couple of simple points that migth help as lead for better User Experience.
Building something that the final user actually doesn't need or doesn't want is one of the main issues that plague not only SW developement but basicaly any field. There can be more issues behind this. It can be way too long chain of people forwarding customer requirements or missing/misbehaving product owner https://news.ycombinator.com/item?id=30631571
Software has it's beauty but also danger, that it's almost absolutly flexible regarding the user interface. You have unlimited number of options
• User interface o DB should be preferably accessible via web interface that should be compatible also with mobile devices. o It preferably may also have phone application but only in cases when it makes sense and adds benefits over web interface for ex. scanning QR codes etc. o Access to the DB should be authenticated by centralized Active Directory. Therefore, each entry has creator, editor based on logged person. o If user creates some entries with UID, interface should allow him to create the UID only in harmony with approved document specifying the UID template. o DB should contain and display as few parameters as needed in order not to create too much confusion. • Interlinking o In case the DB works with some device/object that is already included in different DB. Like for example if we have DB containing extra information about people this DB should be linked with core Human Resources DB. Next example: camera should be linked into main inventory DB. o In case the same object is shared between DBs, these DB should be interlinked in order to provide important information. Such as different identification etc. • Responsibilities o DB should have these main groups/roles: Administrator, Maintainer and User. - Administrator is responsible for responding to users requests, as adding new templates etc. - Maintainer is an IT person who is responsible for make the DB technically working and accessible. Also might code new features and fix bugs, if has enough skill. - User of DB who is authorized to use DB based on AD group. There might be different user groups that might have different permissions. • Security o Passwords shall not be stored in DB at all, since for access is used AD (LDAP) auth. There should not be reason for password storing in first place. o User roles for DB should be dedicated by specified AD groups. • Documentation o All conventions shall be properly documented and stored in interface. And easily accessible for user from the user interface. • API o Every DB should have REST API for interfacing with other applications. API has to be documented. o Every API should have HELP command that would explain API functionality in plain text. o Every GUI state should be URL encoded so that it can be shared by users with copying the URL. • Technology o DB should use if possible the most common and if possible open source solution. This will help with updating and maintaining the DB