自分のアプリが作られた背景を語る

投稿: 2022年11月6日 (最終更新: 2023年5月21日) • 読了目安: 5 分
自分のアプリが作られた背景を語る

そういえば、自分が運営しているウェブアプリが作られた背景の話をしたことがなかった気がするので今日はその話をします。

以下のアプリの制作背景を今回は紹介します。

  • やまだのタイマー
  • やまだBINGO
  • ストップウォッチ
  • 文字起こしツール
  • 簡易テキスト読み上げくん
  • Snapdrop JP

やまだのタイマー

やまだのタイマー

やまだのタイマー

一昨年、「1人1枚ずつ学年末までのカウントダウンカレンダーを作ろう」という恒例企画が開かれたのですが、どうせやるならリアルタイムなカウントダウンも欲しいと思いこのアプリを作りました。

その時、残り時間の形式を〇日〇時間〇分〇秒とするのもいいですが、あえて〇時間〇分〇秒という形式にしました。

「残り4日」と言われるのと「残り96時間」と言われるのでは印象がかなり違うように、あえて「日」の単位をなくすことで新たな気付きを得てほしいという思いです。

ただ、この仕様に関してはたびたび指摘を受けます。「なぜ残り日数が表示されないんだ、不便だ!」というものです。しかし、前述したようにここだけは絶対に譲れないポイントなのであえてそのままにしています。

(手抜きしていることの言い訳に聞こえるかもしれませんが、残り日数を表示させること自体は簡単なのでやろうと思えばすぐにできます。「こだわり」を譲れないという話です。)

やまだBINGO

やまだBINGO

やまだBINGO

数学の先生が指名するときにフリーソフトのビンゴマシーンを使っていました。

ビンゴマシーンなら一度当たった人は他の人が全員当たるまでは当たらないので公平性の観点からすごくいい案だと思ったのですが、そのアプリにはアプリを一度終了すると全履歴が消えてしまうという欠点がありました。さらに、出る数字にある程度の規則性があるという欠点もありました。

これでは毎回同じ人が指されてしまいます。(実際、毎回決まった人が指されていました。)

しかしある日。その先生が「こういうアプリ作りたかったら作っていいよ」と仰いました。

その後主に部活の時間に制作をし、1週間ほどでできたのがこのアプリです。

当時使っていたビンゴアプリの欠点を解消するべく、

  • 出た数字を自動的に保存し、ブラウザを閉じても続きから再開できるようにする
  • 数字がなるべく均等に出るようにする

ことに気を付けました。

さらに、公平性を確認できるようソースコードは GitHub にてだれでも見ることができる状態にしたのですが、そもそも Web 系のプログラミングがわかる人がほとんどいなかったので公開する意味があったのかは不明です。

ちなみに初期のやまだ BINGO は Bootstrap で作っていましたが、その後 Next.js + Chakra UI に書き換えました。

ストップウォッチ

ストップウォッチのスクリーンショット

ストップウォッチ

誰かに「今度プレゼンがあるのでそこで使えるストップウォッチを作ってほしい」という要望を受けて土日の2日間で作った気がします。

その後別の人から「ほかのサイトを開いていても経過時間がわかるようにしてほしい」という要望を受け、タブに現在の経過時間をリアルタイムで表示するようにしました。

文字起こしツール

文字起こしツール

文字起こしツール

React のチュートリアルで三目並べを作った後に最初に React で作ったアプリです。

「音声認識」って謎のロマンがあるのでやってみたくなって作りました。

簡易テキスト読み上げくん

簡易テキスト読み上げくん

簡易テキスト読み上げくん

Discord のボイスチャットで声が出せない、かつ音声読み上げ Bot がダウンしているという際に使えるように作ったアプリです。

とにかく「手軽さ」を意識し、サイトを開いて文字を入れ、Enter キーを押下するだけで喋るようにしました。

UI が検索エンジンに似ているため間違えられそうですが…

Snapdrop JP

Snapdrop JP

Snapdrop JP

従来から Snapdrop という、ブラウザだけで簡単にデータ転送ができるアプリを使っていたのですが、最近 Snapdrop のサーバーダウンが目立ってきたので自分でインスタンスを立てることにしました。

ただクローンしてサーバーに上げるだけではつまらないので、このアプリの素晴らしさを日本のユーザーにも感じてもらいたいという思いから日本語化をすることにしました。

よくある機械翻訳ではなく、日本語ネイティブである自分が自然な日本語になることを第一に和訳して作ったアプリです。

最初はソフトウェアの日本語化なんて簡単だとなめていましたが、日本語と英語は文法やテンションの高さが全く違うのでけっこう大変でした。

今はわりかし自然な日本語になっていますが、初期リリースの頃は不自然な日本語があちらこちらにありました。

あとがき:ユーザーの声か制作者のこだわりか

やまだのタイマーでも少し触れましたが、制作者のこだわりであえて普通とは違う仕様にしているところがユーザーから批判されることが多々あります。

ユーザーの声を取り入れることでより多くの人にとって使いやすいアプリにできますが、ユーザーの声ばかり取り入れていると普遍的な何の個性もないアプリになってしまいます。

個人的にはユーザーの声 : 制作者のこだわりを 6:4 くらいにするのがちょうどいいと感じています。

(プロジェクトの目的や方針によってこの割合は変わります。例えば受注開発であれば発注者の意思を最大限尊重すべきです。)

とは言え、意見をもらえることは非常にためになるので、何かあったらぜひ Issue に書き込むなり、僕に直接連絡するなりしてくれるとありがたいです。