For many years of work in the field of web development, I had to deal with a variety of problems at the stage of creating and debugging sites. Many technical and ideological problems were repeatedly mentioned in various articles, but one very common problem seems to me to be undeservedly overlooked. It takes into account the length of the string data that will be present in the elements of the site. Speech about the names of the headings, menu items, data in various lists, descriptions, tooltips and so on. To take into account all these things is difficult. But if you do not take into account, the difficulties may be even greater. The article is intended, rather, for freelancers or small groups of developers, where the development process is less formalized, and each (including the dubious) client is more valuable than for larger web-studios. It will also be useful to those who are engaged in web development, sitting in the IT services of large companies who do not want to sideline the creation of their sites.
Let the designer decide ...
It happens, of course, that the development goes according to an absolutely clear plan, the customer clearly expresses his requirements, and all the performers (designers, layout designers, programmers, analysts) work together, having an accurate idea of ​​each other's work. But this is not always the case, and it is about this “not always” that the discussion goes on.
The situation of incomplete understanding between the project participants often leads to the fact that the customer first works closely with the designer, and then, having a design he likes in his hands, goes to the layout makers and programmers. This usually happens for two main reasons: firstly, it is easier for the customer to express his thoughts, relying on the visual range (design), and secondly, most people imagine the site as “interactive pictures and text”, followed by Code, engine, database, etc. are hidden in the depths. While small groups of developers, fearing to scare away the client, may not be too opposed to such established practice.
It is at this moment that the responsibility for ensuring that all the data fit into their designated places is implicitly assigned to the unfortunate designer.
The customer says: "I need a layout of a beautiful building materials store." The designer asks how many root categories there will be, and having received a number from five to seven, draws a horizontal menu with drop-down sub-items. And then it all overgrown with ornaments, shadows and other things. The customer, after all, already has experience in trading in the nearest building materials market and knows that if you don’t make an application out of the “Glass blocks” self-adhesive orange price tags, nobody will pay attention to his container.
And only then, at the stage of filling the catalog, it turns out that he will have twenty root partitions ...
If not a designer, then who?
In fact, the designer himself can begin to deal with this problem. If it is in his interest not to rework and adjust the layout (if he is a freelancer who is waiting for the next project), he himself should more carefully interview the customer about the future content of the site and draw the appropriate conclusions from this.
If the group is engaged in development, they should determine in advance who of them should undertake this kind of analytical work. Moreover, it may also depend on what the customer has at the moment. If he is already engaged in "offline" trade, then he may already have his own inventory management system (even if it will be a file in Excel) and it will be easier for a person with programming skills to analyze it. If everything starts from scratch, then for the role of analyst it may be critical to be able to devote the maximum time to this or understanding the subject area to which the site will belong.
And what to do?
The main raw material for analytical work in this direction is the text. Accordingly, the main thing that needs to be done first is to get the search text. Whether it is the base of the existing site (if the task is to create a new version), download from the warehouse program, or just typed in electronic form examples of lines from notebooks during a conversation with the customer. If there are other sites of similar orientation - examples of data from there.
All this should be decomposed into separate tables corresponding to different types of data: all the same section names, text descriptions of goods and the like.
The next component of the task is to determine the minimum and maximum possible length within each type. I will not give any advice to programmers - everyone will probably know a dozen ways to do this with their favorite tools. And for those whose area of ​​activity is a graphic editor or an HTML editor, I give a simple recipe:
- the table with rows is loaded into OpenOffice Calc
- select the cell to the right of the first cell with the row
- enter = LEN into the input line ( the cell number on the left, for example, A1 ) and click on the green checkbox, then a number appears in the cell instead of the formula - the length of the line in characters
- "Stretch" this cell down to its lower right corner along the entire length of the table with rows and get the length values ​​for all cells
- select the column with the length values ​​and click “sort”, after which Calc will ask if the range of sorting should be extended, what should be answered positively
As a result, we get a table in which the rows are sorted by length. Anything in the middle is most likely not of interest. The shortest and longest lines are important, so it’s worth them to have the designer, and then the typesetter, at hand, in order to fill them with buttons, menu items, description blocks, and so on.
If the site is a store, you must also pay attention to what is difficult to analyze in the manner described above - the size of the fields to display the quantity of goods and prices.
A compact basket unit may look beautiful in the layout, but if the average check in the store is expected to be seven-digit (the buyer can choose, for example, not an integer number of meters of linoleum, from which the price will end with "50"), and there is only five space numbers, this will be an obvious mistake.
Another important point may be the introduction of restrictions on the length in the annex to the technical specifications and documentation for the site. This can get rid of unreasonable claims, if the customer still manages to then drive something, because of which everything will look in an unworthy way.
')
What does this give?
To imagine the effect of the absence of such an analysis is very simple. Imagine the consequences of the fact that in the layout there are buttons with a graphic background (some complex curlicues), on which it is written: "Blinds", "Wallpaper". And when loading a real database, the inscription gets there: “Drills for drill. SDS-MAX pr-in Bosch ", with such lines will be many.
Or vice versa - the designer scored a couple of pages of the traditional “Lorem ipsum ...” in the text of the description, and the customer had more than one sentence there and was not expected, and therefore there would be a gap in the page of empty space.
It is possible to explain to the customer that all these problems are caused by his data. But he still wants his site to be no less beautiful than the graphical layout shown to him at the beginning, and he will still have to do something about it.
What if it doesn't work out?
The customer, of course, may refuse to meet halfway with the provision of data for preliminary analysis, citing a variety of reasons. And it’s up to the performers to refuse to cooperate (an inadequate customer can create problems for an amount that greatly exceeds the amount in the contract), or try to circumvent the “mines” by laying in the design and layout solutions for the necessary scaling, line breaks, cutting blocks. One has only to keep in mind that if the requirements for the site still do not include a minimalist design, but also include compatibility with any old stuff, such attempts to foresee everything can result in considerable labor costs.