Front end and user interface design appear to be the easiest part of the programming problems, but they tend to become very complex if not executed properly.
This activity requires discipline, visualization and memory. While the tips below may help they are in no way a replacement for experience, imagination, aesthetic vision and psychological insight which mark a good UI designer. These properties come from years of research and training.
The first issue to consider are the basic screens. Like rooms in mental palace they tend to bind the basic user activities. The controls are very similar to objects in mental palaces. Unless you are designing a 3D experience, there is no reason to remember each screen as an actual room. Screens and controls should be already designed in a sufficiently memorable form. However, unlike rooms in mental palace the screens and controls tend to change a lot. Therefore it may be good to place some sort of unique icon as visual marker for each screen.
The user activities are similar to various routes people take in mental palaces. Try to consider as many possibilities as you can: what would the user want to do at each point? Think from perspective of someone experienced and focused on productivity, someone who sees the screen for the first time, people with various agendas. Try to follow all scenarios. At the beginning you will not have time to implement everything, but at least write down what needs implementation. Occasionally I use color coding for these task: red for something to do, yellow for something partially implemented, green for something fully implemented and blue for something optional.
If there is a decision tree involved, mindmapping may be better than mental palaces. Mindmapping is also very good to keep track of hierarchy of objects and events, since they are usually built as a tree.
It is important to visualize everything, since we process scenarios we visualize significantly faster than scenarios we write down. It is also important to write down everything we can: wireframes, guidelines, design documents, presentations. Implementation is much slower than visualization. We transfer information from short-term memory to long-term memory as we sleep, and we tend to sleep less as we get more challanging tasks.
Whatever you do, try to invest as much as you can in the original design. Then you will need to keep positive and organized and minimize changes – otherwise the project may diverge very fast.
Thanks for the post prof. Lev!
Professor, I read in your posts that you use superlearning skills for speedreading code and visualize problems, do you have a visualization for computer science (CS) theoric concepts also? Like design patterns, pipeline processor workflow and etc?
I am studying CS but trying to increase my retention through visualization/mind palaces and not speedreading new concepts. There are some tips that you can gave for applying superlearning techiniques on CS concepts?
Yes, thank you. Typically my visualization are quite similar to UML. It is also easy to imagine factory (a factory), singleton (“immortal”), etc. For processor pipelines I use mental palaces, like imaginary plants.