These days the digital design space doesn't just involve individual apps interacting with the user. A number of different technologies and trends has led to the prevalence of frameworks such as IFTTT and Zapier helping to create automation (i.e. rules for interaction) between apps.

Just as there are design elements, components and patterns for how things are designed and rules for how they interact within an individual app, I am wondering if there is a higher order language for designing how apps interact with each other within a digital 'ecosystem'.

I think something similar would be to build on the Atomic Design concept that Brad Frost talks about, and keep increasing the order and complexity of the design elements.

  • I have to echo Peter's answer. It sounds like you are referring to an API--which obviously doesn't dictate UI, but certainly helps influence the UX. Brad Frost's article is nice, but is really just applying some terms to categorize a pattern library. You could argue that published and shared pattern libraries could help with this, but ultimately we're talking about multiple apps...and with multiple apps, there's usually no shared UI language that is dictated by anyone in particular. This is the benefit...people can choose the apps they want to use. – DA01 Sep 21 '15 at 6:54
  • So, that said...I don't think this question is answerable. It's an interesting topic to discuss...but it's really more of a discussion...not an Q/A. – DA01 Sep 21 '15 at 6:55

I think what you're talking about is basically API design. The design of the interfaces not between user and software, but between different modules of software. This is a very challenging area of design, and I think the focus on it almost pre-dates the focus on interaction design.

Something like object oriented design patterns (the origin of the phrase "pattern" in the world of software*) and the principle of REST are all formalizations of the way pieces of software talk to each other.

In the case of REST, you could say that the language emerged from something that started as a pure user interface, a website, and evolved when a need emerged for software (search engines etc) needed to read the content as well.

  • Sure, I understand the concept of API but that's just from the point of different modules of software talking to each other. But how about the actual experience of the user across all the different pieces of software and how they should interact, not just in terms of consistency like a development framework, but in terms of the goals and tasks of the user like design patterns, but at a higher level. – Michael Lai Sep 20 '15 at 7:06
  • @MichaelLai who is in charge of that 'higher level'? The point of APIs is it's a set of options for a 3rd party to use. But the key is 3rd Party. – DA01 Sep 21 '15 at 6:52

The closest to a UX design language I've come across is the Generic Modeling Environment research from ISIS research center at Vanderbilt University. They explore how custom, domain specific languages can be constructed that then allow for systems to be modeled from multiple perspectives. Over the past year or so they've begun porting GME to the web and it's at webgme.org. It is possible to build multiple levels of design language and the models, if designed properly, can be compiled to generate desired output through model transformations. Google and DARPA are recent investors and customers of these tools.

A domain specific language is a defined set of symbols for describing a system using terms and concepts familiar to people who will work with that system. So, in a way, DSLs are inherently UX focused.

Not the answer you're looking for? Browse other questions tagged or ask your own question.