안녕하세요, 이은재입니다. 지난 에피소드를 통해 제가 SaaS 해커톤 강좌를 진행하다는 소식을 전해드렸는데요. 감사하게도 많은 분들이 좋은 의견 주시고 강좌 사이트에 들어갈 문구 리뷰까지 해주셨어요. 응원해주시는 많은 분들께 감사드립니다. (참고로 강좌 사이트는 아직 준비가 덜 되었어요)
Pico
세상에는 아름다운 디자인을 스스로 만들어내는 소수의 대단한 개발자가 있는가 하면, UI 라이브러리에 있는 컴포넌트를 조합했는데도 희한하게 못생긴 페이지를 만드는 개발자가 있죠. 제가 그 후자인데요. 디자이너가 없으면 결과물이 참담한 편이에요. 그래서 개인적으로 Tailwind UI 라는 유료 템플릿을 사서 쓰고 있어요.
하지만, 왜 우리는 이런 고민을 할까요? 우리가 Semantic 한 HTML 을 잘 작성만 하면, 브라우저들이 알아서 괜찮게 보여줘야 하지 않을까요? 브라우저들의 디폴트 스타일이 조금은 예뻐야 하지 않았을까요? 안타깝게도, 그러지 못한 여러 가지 이유가 있겠죠. 그래서 나온 게 Pico 입니다. Pico 는 HTML 에 class 를 덕지덕지 붙이지 않아도 Semantic HTML 을 작성하는 것만으로도 깔끔하고 아름다운 웹사이트를 만들게 도와주는 스타일 시트에요.
공식 웹사이트에 있는 데모를 한번 보시면 이해가 쉬울 거예요.
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.
이 인터뷰에서 마이클이 재밌는 얘기를 했어요. 그들은 이미 그 유틸리티 앱을 통해 괜찮은 수익을 만들었고 많은 유저를 확보한 상태였어요. 그래서 이들이 제대로 된 달력 앱을 만들기로 결심했을 때, 그걸 기다려 줄 유저들이 있었어요. Audience building 이 이미 된 상태였던 거죠. 만약 그들이 처음부터 유틸리티 앱이 아닌 달력 앱을 만들기로 결심했다면? 반년 혹은 일 년간의 시간을 투자해서 자연어 입력 처리가 되는 대단한 달력 앱을 만들며 보냈겠지만, 아마 두려움 속에 보냈을 거예요. 이렇게 다 만들었는데 정작 아무도 안 쓰면 어떡하지? 이 앱이 유저들이 원하는 게 맞나? 어떤 기능이 가장 중요하지? 하지만 그들은 처음부터 꽤 빠르게 무언가를 내놓음으로써 유저들을 많이 확보했고, 그걸 빠르게 업데이트해나가면서 유저들의 니즈를 차근차근 배워갈 수 있었죠. 그리고 재정적인 측면, 그리고 잠재적인 고객을 확보하는 측면에서 안정적인 상태가 되었을 때, 진짜 프로덕트를 만들 수 있었다는 그 스토리가 참 인상적이었어요.
41: Fantastical - Michael Simmons — Launched — Overcast
퇴근 후에,
소프트웨어 개발자라는 직업이 어쩌면 평생 공부해야만 지속할 수 있는 직업 같은데요. 늘 새로운 것들을 배우는 즐거움이 있지만, 늘 새로운 것들을 배워야 하는 부담이 더 크기도 해요. 업무 시간을 조금 떼서 공부를 하는 게 쉽지만은 않고요. 퇴근하고 집에 돌아가면 저녁 챙겨 먹고 씻고 쉬는 것만으로도 피로가 다 안 풀려요. 뭔가 새로운 건 계속 나오는 것 같은데, 그 키워드를 들어본 지 이미 꽤 됐는데, 남들은 그 주제로 얘기하던데, 난 아직 북마크 해둔 글을 읽지 못했고… 공감이 되시려나요? 여러분은 어떻게 극복하시나요? 혹은 극복하지 않기로 결심하시나요? 여러분의 이야기를 답변으로 들려주세요. 사이드 프로젝트 뉴스레터를 발행하는 입장이라 저에게 이런 질문들이 종종 들어오는데, 저 혼자만의 생각보다는 다양한 분들의 생각을 한번 모아보고 싶달까요. 정답은 없는 거 아시죠. 기다리겠습니다 :)