피드 구독

For the past few months, I’ve contributed to ChRIS (Childrens’ Research Integration Service) as a user experience (UX) designer.ChRIS is a cloud-based, open source framework for processing medical imaging data; it was originally conceived by a team at Boston Children’s Hospital and successfully executed with help from the Mass Open Cloud (MOC) and Red Hat.

Working on the ChRIS project is fulfilling in a direct way; it applies open source technology and principles to improve patient care. Doctors shouldn’t have to be computer scientists to be able to use the best innovations in medical image processing technology to improve their patients’ outcomes.

Enabling doctors to make use of leading-edge, yet frustratingly esoteric, software to improve patient care is an example of the larger challenge of UX in open source. Open source software is ubiquitous: it’s running and improving systems and services around the world, and sadly has a well-earned reputation for terrible UX. Technology’s core functionality is not enough: a great UX is necessary to unlock its full potential!

Let’s talk about some of the reasons open source UX came to be this way, and actionable things we can do to make it better.

Inconsistency and lack of integration

Software workflows often involve different tools working together.

Consistency across tools at a surface level involves properties such as tools that use the same icon set, have a compatible look and feel, consistently name functions, and consistently position and label buttons and menu items.

The integration of tools involves individual tools interacting with each other that make cross-application workflows more seamless; for example, sharing accounts, data, assets, and settings.

Open source projects tend to form around individual tools rather than higher level workflows. The latter requires cross-project coordination and agreements to provide consistency and integration.

UX debt

Choice can be freeing, but it can also be a tough burden. The more choices we as the creators of software “push onto” the users, the more UX debt our software accumulates over time. If a piece of software requires configuring 20 separate options in order to be usable, it’s accumulated far too much UX debt to be usable by most people, as it requires specialized knowledge that only a limited number of people have.

I think open source projects tend to have a lot of UX debt because we sometimes conflate software freedom with choice at a low level. It’s actually more oppressive to overwhelm users with esoteric choices than to provide a streamlined set of options.

Itches, not requirements

The origin story for a lot of open source projects is that the initial creator of the software had an itch to scratch. In making a custom thing for themselves, they didn’t focus on selling it to a lot of people and meeting the needs of a broader population, and have a hard time clearly seeing its quirks from using it for so long.

It’s not all gloom and doom though. We can fix this with UX design; let’s talk about how.

Ways to address UX and open source challenges:

Avoid echo chambers

The current user base of a lot of open source projects consists of highly technical users that often are contributors to open source projects as well. To avoid the whole thing continuing to be an exclusive echo chamber, we have to work to be more inclusive.

The users of open source right now aren’t necessarily the users open source needs to expand software freedom to all. When seeking feedback or usability testers for your open source application, be sure to include some folks who are not current users hooked into the community.

Establish boundaries

In open source projects, there isn’t always an explicit structure for decision-making or clear accountability for decisions. Open source communities tend to be more fluid. Design decisions can span across a lot of parts of the software (and across different applications) and can require buy-in from a broad base of the community. It can be challenging to get consensus in this kind of situation—freeform design discussions can lead to chaos, flame wars, and indecision—so establishing boundaries up front and setting up a framework for decision-making can be particularly helpful for practicing UX design in open source.

For example, when sharing design artifacts for feedback, make clear what kinds of feedback you’re looking for on which parts, and also make clear what you’re not looking for feedback on. Also make clear who is accountable, and who is making the final decision.

Avoid conflict with transparency

Be transparent from the start with any open source design process. Start with the problem you’d like to tackle, and as you research, learn, and prototype along the way, make sure you work on communications within that community so any final designs don’t catch anyone by surprise.

Red Hat’s open source Open Decision Framework is a great place to learn more about how to do this.

Add functionality with caution

While this is true for all software, it’s especially true in open source because there is a lot of pressure from users—who interact directly with the software’s contributors—to add functionality. Sometimes that pressure may be a pretty tempting, fully-coded patch contribution that implements the requested functionality. Adding functionality can become a form of UX debt. When you have more functionality than a project can commit to, or when you allow users to come to rely on something you can’t fully commit to, it can negatively impact the user experience.

Fortunately, ChRIS is an open source project that focuses on higher level workflows and actively prioritizes user experience. I hope the project inspires other open source advocates to realize the importance of UX in their projects and take action.

Get involved in ChRIS

Experience the "Creating ChRIS" series


저자 소개

UI_Icon-Red_Hat-Close-A-Black-RGB

채널별 검색

automation icon

오토메이션

기술, 팀, 인프라를 위한 IT 자동화 최신 동향

AI icon

인공지능

고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트

open hybrid cloud icon

오픈 하이브리드 클라우드

하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요

security icon

보안

환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보

edge icon

엣지 컴퓨팅

엣지에서의 운영을 단순화하는 플랫폼 업데이트

Infrastructure icon

인프라

세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보

application development icon

애플리케이션

복잡한 애플리케이션에 대한 솔루션 더 보기

Original series icon

오리지널 쇼

엔터프라이즈 기술 분야의 제작자와 리더가 전하는 흥미로운 스토리