Systems Interaction is Design
Any System or sub system cannot exist on its own. The very nature of a system or module or instrument is to interface with other similar or complementary blocks, which eventually on horizontal and vertical scale leads to systems interaction and integration. In the case of digital systems where the physical world and information world interact heavily and produce useful functionality with experience is what we call as finished product. It represents the physical and intellectual labour that has been imbibed behind every micro-moving part of the interactive functionality.
When it comes to Computing based solutions - which most of the world depends on in one form or another : web services, data services, storage services, communication services, computation services, along with means to generate data as a never ending task from the consumers through smart phones, smart watches, e-book readers, social networking languages, digitized emotions, real world physical measurement using internet enabled instruments focusing on several non-human but huge part has anthropogenic part such as environment, ecology, biodiversity, marine life, etc….
Underlying such data generators and user engaging services, and resulting economy are two main systematic approach that support building such systems :
- User Interfaces
- Programming Interfaces
User Interaction (Human Machine Interaction) is the splending result of balance of both of the above supporting each other both horizontally cutting across several user personas, and vertically by packing the technological stack which is reliable and scalable. Further underlying the interactive system is the engineering layer, that standardizes the network and information flow architecture between several modules that produce and consume information/data.
Designing an API is interface design. Understanding how APIs work help us understand what our medium’s capability. Having the knowledge to contribute to an API’s design can increase the capability of our UX.
- Jared Spool
The following will be excertps and references from the collaborative handoff article. Using proper framework/tool to convey solutions is as crucial as the designing the solution itself. As a result it is important that designers select their arsenal of tools judiciously. Cal Newport in his book Deep work mentions about craftsman approach to tool selection.
Identify the core factors that determine success and happiness in your professional and personal life. Adopt a tool only if its positive impacts on these factors substantially outweigh its negative impacts.
- Cal Newport, The Craftsman Approach to Tool Selection
How Engineers Think ?
Stanford University lecturer Dave Evans talks about 4 ways of thinking.
- Engineering thinking
- Business thinking
- Research thinking
- Design thinking
The 2 advantages of using API schema as user requirements are:
- ability to brainstorm various states and edge cases
- ability to flush out features of every components and work backwards to MVP.
API (REST API), can act as a common ground where both parties understand each other. API designing is not a programming language. It is an architectural style. It is a set of principles and rules that define how a system should function. So Designers who like to stay away from programming language should really give API design a chance and open up to new way they can communicate their ideas and solutions.
Do read How to design a RESTful API architecture from a human-language spec to learn about API and participate in its design process effectively. 4 concepts are crucial to understand API and how designers can relate it to a familiar concept i.e user stories.
- Resources: APIs are designed around resources, which are any kind of object, data, or service that can be accessed by the client. We can think of them as “nouns” of the system.
- Collections: They are set of resources, e.g Companies is the collection of Company resource.
- Representations: Representations are the way API clients see the resources. Many APIs use JSON as the exchange format.
- Actions: APIs use a various operations to perform certain actions. The most common operations are GET, POST, PUT, PATCH, and DELETE.
- Responses: API responses provide feedback on the actions we took. An API response can indicate success, failure or other type of responses to an action. They are classified into different types of status codes.
Interface & Interaction
Designing Interfaces is a vital part of any system that involves interaction in any form between the human and machine realm. The material or immaterial medium through which the interaction is happening dictates how the interaction is going to happen and what shall a normal/average user shall expect through imagination - which turns out to be intuition.
While designing interfaces for portable/mobility friendly devices such as phones, tablets, pda's, etc… that basically introduce new way of interaction contemporarily undergo a lot of changes and thus we tend to learn from the user interaction through the devices itself. From such measurement, research studies produce statistical reason to produce further reasonable and refined user interfacing and gaming/deep interaction patterns. Please refer to the Readability factor that influences user interaction heavily.
With technology of User Interaction being constantly evolving with availability of novel materials, better sensors & actuators, efficient but laborious and resource intensive production methods, tuned mathematical models … the way human interacts with a machine changes very often. Thus challenge of maintaining a balanced mental model through intuition in a constantly changing landscape is an important but fun task for programmers, developers, architects, researchers, activists, etc…
For instance, the interaction between human and a machine, starts from measurement, instrumentation & control, to data collection, storage, processing, streaming, analyzing, sharing & report generation and keeps going further into information realm. Thus a complete design knowledge requires not only the technological stack one is building (a more open one), but also the management, organization, architecture side of it.
The following must be taken into consideration from a clear User Interface perspective alone :