“If you’re not prepared to be wrong, you’ll never come up with anything original.”
–Sir Ken Robinson
Abstraction in design is the process of extracting the underlying essence of a concept, removing any dependence on real world objects with which it might originally have been connected, and generalizing it so that it has wider applications or matching among other abstract descriptions of equivalent phenomena. Abstraction uses a strategy of simplification, wherein formerly concrete details are left ambiguous, vague, or undefined.
In computer science, an abstraction layer is a generalization of a conceptual model or algorithm, away from any specific implementation. These generalizations arise from broad similarities that are best encapsulated by models that express similarities present in various specific implementations. The simplification provided by a good abstraction layer allows for easy reuse by distilling a useful concept or design pattern so that situations where it may be accurately applied can be quickly recognized.
Less is More
“The ability to simplify means to eliminate the unnecessary so that the necessary may speak.”
Minimalism is a design style that emphasizes simplicity and the removal of superfluous elements in a design, stripping it down to its fundamental elements. Recognize the problem to set a clear need. Simplify the issue to a managable set of requirements. Seek clarity and eliminate distractions. Reduce and refine. Rinse and repeat.
Conceptualization is an abstract simplified view of some selected part of the world, containing the objects, concepts, and other entities that are presumed of interest for some particular purpose and the relationships between them.
The More I Learn
The Less I Know
“It’s through mistakes that you actually can grow. You have to get bad in order to get good.”
Fail fast, fail often. With early and frequent failures all that is needed is to maximize the learning opportunities. Stop wasting time working on incorrect avenues. Agile project development is an approach to development under which requirements and solutions evolve through the collaborative effort of self-organizing and cross-functional teams and their customers and users. It advocates adaptive planning, evolutionary development, early delivery, and continual improvement, and it encourages rapid and flexible response to change.
“Get rid of everything that is not essential to making a point.”
Design patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system. Object-oriented design patterns typically show relationships and interactions between classes or objects, without specifying the final application classes or objects that are involved. Patterns that imply mutable state may be unsuited for functional programming languages, some patterns can be rendered unnecessary in languages that have built-in support for solving the problem they are trying to solve, and object-oriented patterns are not necessarily suitable for non-object-oriented languages.
“Get in over your head as often and as joyfully as possible.”
Motion as a language. As cinema, interactive design, and digital effects become more and more intertwined, motion graphics are arguably becoming the 21st century’s dominant visual art form. Mograph is an extension of design - all the same principals apply, just with a stronger connection to time. Motion design is a fundamental consideration when building exceptional UIs. To learn more about creating usability with motion, check out The UX in Motion Manifesto
“Make it simple, but significant.”
Take the time to build relationships between items, places, and tasks. All things can be linked through purpose, requirment, and time. Time is spatial: it requires understanding ordered sequences such as instancy. A person with spatial difficulties may have problems understanding “yesterday,” “last week,” and “next month”. By building spatial relations we connect items to a practical base-reference.
“Look at usual things with unusual eyes.” –Vico Magistretti
Good design is universal. Harmony is the quality of forming a pleasing and consisent whole. All the pieces must work together to achieve a common goal. The whole is greater than the sum of its parts. The afford harmony is to create a bond between items or groups. Agreement and consistency are key to obtain concordance.
“Recognizing the need is the primary condition for design.”
Material Design is a visual language that synthesizes the classic principles of good design with the innovation of technology and science. Google says, “Focus on the user and all else will follow.” With this in mind, we seek to design experiences that inspire and enlighten our users. Learn more at Material.io
“Good design is obvious.
Great design is transparent.”
Combining form and function to create ideal solutions. Systems design is the process of defining the architecture, modules, interfaces, and data for a system to satisfy specified requirements. Systems design could be seen as the application of systems theory to product development. Establish production pipelines early to maximize workflow efficiencies.