Use real(istic) data from early on

When developing software in general and also specifically user interfaces (UIs) one important aspect is often neglected: The form, shape and especially the amount of data.

One very common practice is to fill unknown texts with fragments of the famous Lorem ipsum placeholder text. This may be a good idea if you are designing a software for displaying a certain kind of articles similar in size and structure to your placeholder text. In all other cases I would regard using lorem ipsum as a smell.

My recommendation is to collect as many samples of real or at least realistic data as feasible. Use them to build and test your application. Why do I think it matters? Let me elaborate a bit in the following sections.

Data affects the layout

You can only choose a fitting layout if you have knowledge about the length of certain texts, size of image etc. The width of columns can be chosen more appropriately, you can descide if you need scrollbars, if you want them permantently visible for a more stable and calm layout, how large panels or text areas have to be for optimum readability and so on.

Data affects the choice of UI controls

The data your application has to handle should reflect not only in the layout but also in the type of controls to be used.

For example, the amount of options for the user to make a choice from drastically affects the selection of an adequate UI control. If you have only 2 or 3 options toggle buttons, checkboxes or radio buttons next to each other or layed out in one column may be a good fit. If the count of options is greater, dropdowns may be better. At some point maybe a full-blown list with filters, sorting and search may be necessary.

To make a good decision, you have to know the expected amount and shape of your data.

Data affects algorithms and technical decisions regarding performance

The data your system has to work with and to present to the user also has technical impact. If the datasets are moderate in size, you may be able to transfer them all to the frontend and do presentation, filtering etc. there. That has the advantage of reducing backend stress and putting computational effort in the hands of the clients.

Often this becomes unfeasible when the system and its data pool grows. Then you have to think about backend search and filtering, datacompression and the like.

Also algorithmns and datastructure may change from simple lists and linear search to search trees, indexes and lookup tables.

The better you know the scope of your system and the data therein the better your technical decisions can be. You will also be able to judge if the YAGNI principle applies or not.

Conclusion

To quickly sum-up the essence of the advice above: Get to know the expected amount and shape of data your application has to deal with to be able to design your system and the UI/UX accordingly.

3 thoughts on “Use real(istic) data from early on”

  1. Also REDUCE the checking and required fields. If I do NOT want a reply by phone you do NOT need my phone number. If I choose to give you my phone number then let me give you +49 or 0044 or 00 44 or 01…. or 5 digits or 20 or 40… at some point cut me off but do so ONLY after the maximum possible number of phone digits and in line with your database fields. Hell my grandparents would have told you Didcot….. so why the hell not let them put that in? In the absolute worst case you wont be able to call back, it might – just might – mean a tad of extra work for you but there is NO reason today why you shouldnt let people give their phone number how they want, without formatting it and with out checking!

    1. Actually that’s a good point. Password fields with stupid limitations are another great example where you reduce security and put burden on your users at the same time. There are also people and places with long or otherwise deviating names from anglo-saxon norm. Developers and product owners should take such things into account. And the data could tell them.

      1. Agreed, one of the most annoying things is the websites that let you type stuff in like passwords without telling you the stupid restrictions they have decided to place on it and then complain you didnt read the mind of the muppet that wrote the checking. I dont WANT 2000 passwords meeting 2000 different ideas of what a ‘password’ is – most places frankly dont need a password anyway, most of the time I dont need or want an ‘account’ – for example to post responses here – I certainly dont care whether someone imitates me, if they put something very objectionable and illegal I would assume the website would eventually notice or get complaints and remove it. What I usually want is to use a low security password for the places I dont care about and a high security password for places I do care about, then something like 2 factor on the high security things like banks.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.