📜 ⬆️ ⬇️

How we chose the prototyping tool. Part I


There are quite often misunderstandings between software developers and users. The user wants to get an effective tool for solving various tasks, and is also easy to learn and easy to use, but has a very rough idea of ​​the specifics of the programmer’s work. The programmer often has a very, very rough idea of ​​the range of tasks that the user deals with. The fact that the developer seems brilliantly implemented, the end user may seem inconvenient. On things that seem quite obvious to the user, the programmer may not pay attention at all. (For a detailed analysis of these problems, see, for example, in David Platt’s book with the provocative, but expressive name “Software - sucks! And what to do about it?”). How to avoid situations of misunderstanding and help the programmer and user to find a common language? (This topic has repeatedly become the subject of research by representatives of various fields of knowledge - programmers, psychologists, and specialists in the field of ergonomics. A detailed and interesting review of the literature on the subject is here )

Creating applications and websites is a complex process involving people of different professions and different thinking: programmers, designers, managers. Each of these people has a strictly defined task: a programmer writes code, a designer takes care of visual appeal, the manager makes contact with the client. How to bring their work, what is called, to a common denominator? How to ensure mutual understanding of all participants in the development process?

One way to solve the problems listed above is to use prototyping technologies. By prototyping is meant the creation of an interactive visual sample to demonstrate the behavior of the program interface to future users. An important advantage of using prototyping is the possibility of feedback: the developer is familiar with the comments, suggestions and wishes of users in the early stages of working on the product, when changes can be made without significant losses. Thanks to prototyping, the dialogue of all participants in the program development process becomes more specific, which makes it possible to coordinate their work. Prototyping technologies change the status of the user: he becomes an accomplice in the development process, rather than a passive consumer.
')
There are such aspects in the activity of our company, when working on which it is impossible to manage without prototyping We are engaged in the development of electronic document management systems, customer interaction management systems and web content management systems. All these are industrial-scale systems built on client-server technologies; they include both desktop and web interfaces. When such systems are introduced in a particular organization, the problem of interface customization inevitably arises. We believe that the work on customization should be given special attention: often the end users of software products are people completely far from computer technologies.

The software interface should be as user-friendly as possible, adapted to the specific tasks of a particular organization and modified in accordance with existing corporate information systems. Otherwise, the user will spend significantly more time on learning how to work with the new program, on performing the simplest typical operations and will not use its functionality to the full. In order to create a simple and truly user-friendly interface, you should turn to prototyping. We faced an acute problem of choosing a tool for creating visually accurate and interactive prototypes describing complex operations and transitions.

On the software market tools for prototyping presented quite a lot. They are designed to solve a variety of tasks: from creating “pencil” sketches to building interactive prototypes of high visual accuracy (see a sufficiently detailed review ; see also materials on the topic here and here ). It would seem that with such a wide choice you can easily choose suitable prototyping tool. But a more detailed acquaintance with the existing programs showed that in fact everything is much more complicated. When working with software for prototyping, we have to deal with a number of problems, which will be described below.

Problem 1. Web and desktop


Even a superficial examination shows that the lion’s share of existing software is “honed” specifically for web applications and sites. It is difficult and sometimes impossible to prototype applications for the desktop using such programs. Therefore, the idea to take advantage of many programs on the market after the initial introduction had to be abandoned: for our company engaged in the development of both desktop and web applications, we need a universal tool.

Problem 2. Visualization


An important factor when choosing a prototyping tool is the visual accuracy of the prototypes being created. There are quite a few programs that create simple pencil sketches. In some cases they are really useful, but the specificity of our work is such that the prototypes created should be characterized not only by visual accuracy, but also by purely aesthetic appeal.
Acquainted with the existing prototyping tools, we saw that not all of them have a set of so-called native (i.e., made in the style of the operating system under which the application runs) components. The number of programs with which you can create really beautiful, pleasant to the eye (first of all, of course, to the eye of the customer) is very, very small.

Problem 3. Movement


It seems that the main characteristics of the prototype are interactivity and dynamism. You can also present the appearance of the future application on paper. The prototype also demonstrates not only and not so much external characteristics, as the functionality of the system being created.

The creation of truly “living”, interactive prototypes often turns out to be associated with a number of problems: some tools cannot connect interfaces at all, which, of course, significantly narrows the range of tasks.

There are tools that create interactive prototypes, but the only possible format for saving these prototypes is .pdf. This is an obvious disadvantage: this format does not provide a high degree of interactivity. The prototype in .pdf format is suitable for demonstrating the appearance, but not the capabilities of the system. The “live” (launched and clickable) prototype shows the future application in work and allows you to see many nuances that you simply cannot pay attention to in a static pdf prototype.

When choosing a prototyping tool, the degree of interactivity of the prototypes being created also plays an important role: I would like the program used to be capable of something more than just changing the interface when a button is pressed. There are not so many programs capable of creating a large and diverse set of events, as practice shows.

Problem 4. Simplicity and availability


The purchase of a software product is often associated with costs that far exceed the purchase price. The cost of staff training and technical support can significantly exceed the down payment. In the case of the acquisition of foreign software products for personnel training, it is necessary to attract foreign specialists, to look for translators, etc., which significantly increases the time and financial costs. Not all employees of Russian companies speak foreign languages ​​so much to independently understand the specifics of the work of a program. Localization of applications, writing Russian-language documentation, creating Russian-speaking professional online communities is required ... Let us point out separately the need to provide ongoing technical support in Russian.

Unfortunately, among the products prototyping products on the market, there are no Russian developments, and this is a significant disadvantage for users from Russia and the countries of the former USSR.

We believe that a good prototyping tool should be publicly available. Under general accessibility, we mean, firstly, cross-platform, which makes the product attractive to the widest range of users and completely eliminates situations where, for example, you have to implement a new operating system for the sake of any one required application.

Secondly, the program must be designed in such a way that people who do not have the knowledge and programming skills can create prototypes with its help. Accessibility and versatility imply that creating and modifying prototypes can be available not only to programmers, but also to, say, managers who have direct contact with the client.

And what is the result?


We tried many prototyping tools in practice, but we could not find one that would fully meet all of our wishes. In the end, however, we managed to find our own solution to all the problems described above. We will tell about it in the subsequent materials , and now we would like to appeal to the community of our readers with the following questions:


UPD: Part II. History of the prototyping tool

Source: https://habr.com/ru/post/116440/


All Articles