普段使いで開発のモチベを取り戻した話

596 Views

October 12, 26

スライド概要

https://findy.connpass.com/event/406556/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

普段使いで 開発のモチベを取り戻した話 影広 智彦 - ペンギン内閣

2.

影広 智彦 - ペンギン内閣 • 学部2年です • 小学4年生ごろに スクラッチを始め る • 中学生でC言語や Python、Goなど を始める。またD 言語にハマる。 • 趣味では、Web サービスなどを少 し作っています。

3.

SNSには凄いエンジニアがあふれている • 「このアルゴリズムの高速化で論文を書き ました」 • 「このAI用ツールを作りました。1Kのス ターを集めています」 • 「個人開発のサービスの売上が月10万円に なりました」

4.

こういう世界で 私がプログラミングする 意義とは?

5.

なぜ、私は開発のモチベーションを失っ ていたのか • じっくりと難しい技術・理論を理解するの は辛い • 正直に白状すると、私はすぐに簡単に変化 するのが好きです • 世の中、優秀な人が便利なものを作ってい る • 残念ながら、私は全く新しい独創的なもの も作れず

6.

ここで考えたい 個人開発のマトリックス 私の手前味噌ですが…

7.

他人 優秀だと バズ 思われた りたい い 便利 技術 普段 技術的 使い 好奇心 自分

8.

他人 優秀だと バズ 思われた りたい い 便利 今日話すのはこれ→ 技術 普段 技術的 使い 好奇心 自分

9.

なぜ、私は普段使いで開発のモチベを取 り戻したのか • 技術的にすごい必要はない • 自分以外のユーザー獲得を考えなくてい い。競合サービスとの差を悩まない • 自分が作ったものを自分で使うことに価値 がある。競合サービスではなく自分で作る 大義名分 • 当事者性。自分が使いそのツールの快・不 快を体験すること。これが開発の燃料にな る

10.

ここからは実際の事例を 紹介します

11.

私が開発している日記Webアプリ • 2年ほど日記執筆を継 続できている • テキストベースなので 自由度が高い。私は TODOには「・」で書 き、終了後「 」に 変えて使っている • リアルタイム編集、毎 日のテンプレート機 能、習慣化計測機能な どを完備

12.

リアルタイム同期されない問題 • 編集するたびにサーバーに送 信される仕様だった • しかし、リロード時にサー バーからクライアントに送信 する仕様 • その結果、せっかくスマホで 追記したのに、パソコンでリ ロードせず編集してしまい、 上書き削除される悲劇が3回ほ ど…。

13.

こんなユーザ体験 やってられない!!

14.

CRDTを実装する • CRDTを使い、リアルタイム同期を実装する • ライブラリはYjsを使用する • 自前で同期のアルゴリズムを考えるのは難し いしバグが怖いのでやめる • 無事、日記のリアルタイム同期に成功! • これで日記が上書きされて消えることがない

15.

習慣機能でホームページと連携したい • せっかく習慣を毎日記録 しているのだから、継続 した累計日時をホーム ページに載せたい!

16.

習慣機能の公開APIを実装 APIとして公開。 ホームページでそ のAPIをfetchして 組み込み。

17.

普段使いが自己表現に つながった

18.

前の日からコピペしないといけない問題 • 繰り返し日課のタスクを、昨日の日記から 今日の日記にコピペする必要があった • 毎朝、それをする必要があり、面倒でなか なか一日を始められない • テンプレート機能がほしい

19.

こんなユーザ体験 やってられない!!

20.

テンプレート機能を実装する • テンプレートタブの 「 」と書かれた行 が、その日の日記 に、自動挿入される • その日の0時に実行さ れるバッチ処理

21.

これで一日を簡単に 始められる体験を得られた

22.

なぜ、私は普段使いで開発のモチベを取 り戻したのか • 技術的にすごい必要はない • 自分以外のユーザー獲得を考えなくていい。 競合サービスとの差を悩まない • 自分が作ったものを自分で使うことに価値 がある。競合サービスではなく自分で作る 大義名分 • 当事者性。自分が使いそのツールの快・不 快を体験すること。これが開発の燃料にな る

23.

おわり