2019-09-01に投稿

Hacker Sheet 開発の記録 - 仕様の整理

この記事について

私が運営中のチートシート共有サービス「Hacker Sheet」に関する記事です。

どういう意図でこの機能を実装したか、みたいなことの記録です。

「なんでこんな機能にしたんだ?」と忘れがちなので。


はじまり

もともとは、ターミナルでコマンド打つとき、ど忘れするとググってQiitaの記事などを読む、みたいなことが多いので、これを解決するようなものを作ろうと思ったのがきっかけ。

rails newのオプションとか、npmの操作とか。

  • チートシートの項目が1行(最近複数行の
  • 項目をタップするとクリップボードにコピー

のような部分は、こういうはじまりの影響。

コマンドを投稿して共有できるようなもの=チートシートということで、チートシート共有サービスという形にした。

差別化

チートシートとして色々まとめてるウェブサイトも多いし、cheat.shのようなのもあるので、スマホ最適化で差別化することに。

Universal Clipboardでクリップボードを共有できるので、Macbookで作業してるときにiPhoneで調べてコマンドをコピー、ターミナルにペーストみたいなことができると便利かなと思った。

けど、PCで作業中にスマホを持って操作するのは、わりとめんどうということを最近感じている。

スマホを持たなくても良いような連携ができないか考え中。

スマホで見やすくするために、情報を少なめにしたいので、網羅的なチートシートよりも、必要なものだけをカスタマイズしたコンパクトなものを作れるような感じにしたい。

主な機能「シート」と「ピース」と「ボード」

主な機能の説明。この辺の関係性をうまく伝えたい。

シート

シートの画像

画像のように、いくつかの項目で構成された「シート」を作成できる。Hacker Sheetでは、この「シート」を作成・検索するのが主要な機能となる。

「これはメモしておこう」というときに簡単に作成できるのが理想。

シートに追加できる項目は10個までにしている。1つのシートが長くなると検索結果が長くなって探すのが大変になるという考え。

しかし、折りたたんで表示みたいなことをすれば長さの問題は解決するので、その点では、もう少し制限を緩くしても良いかもしれない。

ピース

シートに追加していく項目のこと。

  • シート内で並べ換えることができる
  • プログラムのコードなどをハイライト表示できる
  • タップすると内容をクリップボードにコピーできる

のような機能がある。

ボード

テーマごとにシートをまとめて整理するための機能。

Ruby on Rails チートシート

このような「〇〇チートシート」みたいなものはボードにシートを追加して作ることができる。他の人が作ったシートでも、自分のボードに追加できるので組み合わせてカスタマイズできる。

他の人の作ったシートを少し変えたい、というときのために「フォーク」という機能を作った。

整理するための機能としてシートに「タグ(ラベル)」をつける機能は不採用にした。タグ付けはめんどくさいという理由。

かわりに、シートの内容を形態素解析してキーワードとして保存している。

非公開のボードも作成できる。公開ボードは個別ページが作成されて、Googleの検索にでてくるので、そうならないようにするための機能。


こんな感じで開発の記録を残していこうと思います。

開発日記ほど頻繁ではないにしても。

ツイッターでシェア
みんなに共有、忘れないようにメモ

naopoyo

チートシート共有サービスを最近公開しました。

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント