사이드 프로젝트 뉴스레터

#6 디자인이 너무 어려운데 어떡하죠

안녕하세요, 이은재입니다. 지난 에피소드를 통해 제가 SaaS 해커톤 강좌를 진행하다는 소식을 전해드렸는데요. 감사하게도 많은 분들이 좋은 의견 주시고 강좌 사이트에 들어갈 문구 리뷰까지 해주셨어요. 응원해주시는 많은 분들께 감사드립니다. (참고로 강좌 사이트는 아직 준비가 덜 되었어요)

Pico

세상에는 아름다운 디자인을 스스로 만들어내는 소수의 대단한 개발자가 있는가 하면, UI 라이브러리에 있는 컴포넌트를 조합했는데도 희한하게 못생긴 페이지를 만드는 개발자가 있죠. 제가 그 후자인데요. 디자이너가 없으면 결과물이 참담한 편이에요. 그래서 개인적으로 Tailwind UI 라는 유료 템플릿을 사서 쓰고 있어요.

하지만, 왜 우리는 이런 고민을 할까요? 우리가 Semantic 한 HTML 을 잘 작성만 하면, 브라우저들이 알아서 괜찮게 보여줘야 하지 않을까요? 브라우저들의 디폴트 스타일이 조금은 예뻐야 하지 않았을까요? 안타깝게도, 그러지 못한 여러 가지 이유가 있겠죠. 그래서 나온 게 Pico 입니다. Pico 는 HTML 에 class 를 덕지덕지 붙이지 않아도 Semantic HTML 을 작성하는 것만으로도 깔끔하고 아름다운 웹사이트를 만들게 도와주는 스타일 시트에요.

공식 웹사이트에 있는 데모를 한번 보시면 이해가 쉬울 거예요.

Pico Demo

Pico 에서 제공하는 CSS 를 웹사이트에 넣어놓기만 하면, 저런 HTML 을 작성하는 것만으로 충분히 아름답고 사용성 좋은 웹사이트를 만드실 수 있어요. 게다가 다양한 테마도 제공하기 때문에 CSS 파일만 교체하면 HTML 은 전혀 상관없이 웹사이트 디자인이 바뀌게 되죠. 사실 당연한 얘기잖아요? HTML 은 컨텐츠를, CSS 는 디자인을 담당하는 게. 그리고 CSS 파일을 교체하면 디자인도 바뀌어야죠. 하지만 실생활에서 우리가 개발하는 웹사이트들은 그렇지 못한 경우가 대부분인데, Pico 를 써서 개발하시면 그런 태초(?)의 개념을 잘 계승하면서도 모던한 디자인의 웹사이트를 개발하실 수 있어요.

저같이 프론트엔드를 개발하지만 디자인에 대한 부담이 있는 분들께 분명 도움이 되고요, 백엔드 개발자 거나 웹 개발자가 아니신데 사이드 프로젝트를 하시려는 분들께는 이만큼 좋은 시작점이 없을 것 같아요. 프로덕트와 비즈니스 로직에 집중하실 수 있도록 디자인은 Pico 가 상당 부분 책임져 줄 겁니다.

Pico.css • Minimal CSS Framework for semantic HTML

Fantastical

Flexibits 라는 회사에서 개발한 Fantastical 이라는 iOS & Mac 용 달력 앱을 아시나요? 꽤 장수 앱이면서 좋은 기능과 상당한 퀄리티로 유명한데요. 팟캐스트 LaunchedFM 에서 이 앱의 개발자 Michael Simmons 를 인터뷰 했는데, 재밌는 내용이 있어서 일부 소개드리려고요.

마이클이 Flexibits 를 Kent Sutherland 와 공동 창업하던 당시에, 자연어 입력을 처리하는 코드 베이스가 이미 있었다고 해요. 쉽게 말해 “다음 주 수요일 오후 2시부터 3시까지” 와 같은 사람이 입력한 문자열을 파싱(parse)해 내는 기술이죠. 이 기술로 뭘 할 수 있을까? 하는 고민이 있었는데, 그들이 집중한 건 달력이었어요. 달력에 이벤트를 추가할 때 저 기능을 제공하면 너무 손쉽게 입력할 수 있잖아요. 지금도 아무리 잘 만든 달력 앱이어도 이벤트 하나 추가하려면 정말 수많은 클릭을 거쳐야만 하는데, 자연어 입력을 처리해주는 달력이라는 건, 특히 그 당시에는 훨씬 더 획기적으로 느껴졌을 거예요.

하지만, 그들은 달력 앱을 만들지 않았어요. 그냥 맥의 기본 달력 앱에 이벤트를 추가해주는 유틸리티 앱으로 시작을 했어요. 달력 관련된 작업을 조금이라도 해보신 분들은 그게 얼마나 복잡하고, 처리해야 할 이상한 케이스가 많은 지 아실 텐데요. 이들은 이렇게 유틸리티 앱으로 포지셔닝하면서 빠르게 앱을 내놓을 수 있게 됐어요. 물론 유료였죠. 그리고 다행히도 이 앱은 큰 성공을 거두게 되었어요.

유저들이 생기면서 기능 요청도 많았고, 그 유틸리티 앱이 점점 커지게 됐어요. 하지만 달력 앱이 아닌 이벤트 추가를 도와주는 유틸리티 앱으로써 명백한 한계가 있었죠. 그리고 그들은 어느 시점이 되자, 제대로 된 달력 앱을 만들기로 결심합니다. 그리고 그렇게 작업해서 나온 게 지금의 Fantastical.

Fantastical

이 인터뷰에서 마이클이 재밌는 얘기를 했어요. 그들은 이미 그 유틸리티 앱을 통해 괜찮은 수익을 만들었고 많은 유저를 확보한 상태였어요. 그래서 이들이 제대로 된 달력 앱을 만들기로 결심했을 때, 그걸 기다려 줄 유저들이 있었어요. Audience building 이 이미 된 상태였던 거죠. 만약 그들이 처음부터 유틸리티 앱이 아닌 달력 앱을 만들기로 결심했다면? 반년 혹은 일 년간의 시간을 투자해서 자연어 입력 처리가 되는 대단한 달력 앱을 만들며 보냈겠지만, 아마 두려움 속에 보냈을 거예요. 이렇게 다 만들었는데 정작 아무도 안 쓰면 어떡하지? 이 앱이 유저들이 원하는 게 맞나? 어떤 기능이 가장 중요하지? 하지만 그들은 처음부터 꽤 빠르게 무언가를 내놓음으로써 유저들을 많이 확보했고, 그걸 빠르게 업데이트해나가면서 유저들의 니즈를 차근차근 배워갈 수 있었죠. 그리고 재정적인 측면, 그리고 잠재적인 고객을 확보하는 측면에서 안정적인 상태가 되었을 때, 진짜 프로덕트를 만들 수 있었다는 그 스토리가 참 인상적이었어요.

41: Fantastical - Michael Simmons — Launched — Overcast

퇴근 후에,

소프트웨어 개발자라는 직업이 어쩌면 평생 공부해야만 지속할 수 있는 직업 같은데요. 늘 새로운 것들을 배우는 즐거움이 있지만, 늘 새로운 것들을 배워야 하는 부담이 더 크기도 해요. 업무 시간을 조금 떼서 공부를 하는 게 쉽지만은 않고요. 퇴근하고 집에 돌아가면 저녁 챙겨 먹고 씻고 쉬는 것만으로도 피로가 다 안 풀려요. 뭔가 새로운 건 계속 나오는 것 같은데, 그 키워드를 들어본 지 이미 꽤 됐는데, 남들은 그 주제로 얘기하던데, 난 아직 북마크 해둔 글을 읽지 못했고… 공감이 되시려나요? 여러분은 어떻게 극복하시나요? 혹은 극복하지 않기로 결심하시나요? 여러분의 이야기를 답변으로 들려주세요. 사이드 프로젝트 뉴스레터를 발행하는 입장이라 저에게 이런 질문들이 종종 들어오는데, 저 혼자만의 생각보다는 다양한 분들의 생각을 한번 모아보고 싶달까요. 정답은 없는 거 아시죠. 기다리겠습니다 :)