[Next.js 블로그 만들기] - (11)

모바일 사용자 경험 개선하기

모바일에서 생기던 문제를 해결하며 사용자 경험을 개선합니다.

YEAHx4

YEAHx4

2025-05-12
4 mins

모바일 사용자 경험

모바일은 PC와 다르게 화면 크기가 작습니다. 그래서 같은 콘텐츠라도 모바일에서는 레이아웃이 깨져 보일 수 있습니다. 항상 제 블로그는 모바일에서도 불편없이 모든 기능을 사용할 수 있도록 신경을 써왔습니다. 최근, PS-Guide를 외부 사이트에서 제 블로그로 이전해오면서 모바일에서 불편한 점이 몇 가지 생겼습니다. 이것을 개선한 경험을 공유하고자 합니다.

문제 1

PS-Guide로 이동하는 네비게이션이 PC에서는 헤더 한가운데 있습니다. 하지만 모바일에서는 폭을 맞추기 위해 헤더 가운데 메뉴를 숨겨놨었습니다. 그래서 모바일에서는 ps-guide로 이동할 수 있는 방법이 없었습니다. 모바일에서만 헤더에 ps-guide로 이동할 수 있는 메뉴를 추가해서 해결했습니다.

ps-guide-mobile-nav

문제 2

ps-guide의 글 목록을 보여주는 페이지는 제목-날짜 형식으로 되어 있습니다.

ps-guide-list

하지만, 모바일에서는 제목이 조금만 길어져도 줄바꿈이 생기고 읽기가 굉장히 불편해집니다. 날짜 정보는 상대적으로 중요하지 않기 때문에 모바일에서는 날짜를 숨기고 제목만 보여주도록 수정해 해결했습니다.

문제 3

ps-guide의 마지막은 연습 문제로 구성되어 있습니다. 백준 링크를 걸다 보니 링크가 길어졌고 한두글자가 다음 줄로 넘어가면서 가독성이 떨어졌습니다. 그래서 링크가 특정 조건을 만족할 때 BOJ - 문제번호 형식으로 간략하게 보여주도록 커스텀 컴포넌트를 만들어 해결했습니다. 마크다운 파서를 직접 작성해서 가능한 일입니다.

import Link from "next/link";

export default function PostLink({
  href,
  text,
}: {
  href: string;
  text: string;
}) {
  const bojBase = "https://www.acmicpc.net/problem/";

  if (href.startsWith(bojBase) && href === text) {
    const problem = href.slice(bojBase.length);
    text = `BOJ - ${problem}`;
  }

  return <Link href={href}>{text}</Link>;
}

마치며

개발자는 사용자가 원하는 서비스를 만들어야 합니다. 엄청나게 멋지고 화려한 UI, 효율적인 알고리즘이 있더라도 사용자가 사용하기 불편하다면 그건 좋은 서비스가 아닙니다. 본인이 만든 서비스를 직접 사용자의 관점에서 써 보고 어떻게 하면 더 편리하게 사용할 수 있을지 고민하는 시간이 되었습니다. 내 개발 환경에서 잘 작동한다고 넘어가지 말고 다양한 환경, 다양한 관점, 다양한 배경에서 고민해봐야 함을 다시금 느꼈습니다.