UX Meets Engineering

Making app is hard enough. But the process is even harder. We need a UX revamp for software engineering.

Making an app is hard

I wish I can say “I want an app that does XXX, YYY, ZZZ”.

And boom, the app is there.

Oh, with decent UI and Android version as well.

Image
Dear machine, please make an app!

The hardest thing

Computers speak some magical languages.

Each language serves one facet and are inter-dependent.

But that isn’t the hardest part.

The hardest thing is to make sure they are kept consistent.

One change means at least tens of changes at other places.

Image
Changing this button should be easy, right? -- Some client

Not fewer, but easier

There are many good programming languages and framework.

How about a framework for development project?

We can start with some easier ways to work.

  • Between client and agency
  • Between designer and programmer
  • Between front-end and back-end

Our approach

Easier means less friction in-between. Here is how we reduce the friction.

Codify conventions

Conventions are powerful. It helps remove unnecessary decisions and maintain consistency. That’s why programmers have “framework”, and designers have “design systems”.

We see opportunities for fully utilising the power of convention. Not only for our internal practice, but also establishing conventions for our clients to use our services.

Image
Less confusion & more clarity for our clients

Build a through-train

A software project is often thought as a number of discrete stages.

In reality, discrete means that much time is needed for translating work between stages. (Remember the hardest thing mentioned above?)

We want to integrate them together. Requirements can generate a skeleton for designer to start with. Design can generate a skeleton for programmers. So on and so forth.

More importantly, a skeleton means a way to ensure consistency. One thing changes and the other follows automatically.

Image
Fuel conventions into default starting points

Service-as-a-product

We think of our service as a product. We ask ourselves questions like programmers ask for an app:

  • Is the user journey clear to end users?
  • Do users experience bugs in the process?
  • Are there unexpected behaviours?
  • What’s broken that we can fix quickly and what’s going to take a long time?

We ensure clients get the best UX from our product. It’s our never-ending quest of progress.