2021年の活動成果まとめ・来年の挑戦

2021年の活動成果まとめ・来年の挑戦

2021年の活動成果まとめ・来年の挑戦

娘の誕生、ネイティブMarkdownエディタの実装、YouTubeチャンネルの人気獲得

こんにちは、TAKUYAです。本記事は “What I accomplished in 2021 & my challenge for 2022” の日本語訳です。2021年は、去年の自分が見たら結構驚くぐらいなかなかの飛躍の年でした。あなたはいかがでしたか?本稿では今年の活動成果を総括したいと思います。僕はInkdropというMarkdownノートアプリの作者です。企画・デザイン・ユーザサポート・集客・開発をすべて独りでやっています。現在は主に英語で活動しているため、今年は日本語では低浮上でした。最初は辛くて仕方がなかった英語での活動がすっかりコンフォートゾーンになり、楽しく情報発信しています。フリーランスの仕事はしませんでした。Inkdropの売上で充分家族の生活費も賄えています。来年もこの調子で健康的なペースでやっていきます。

TL;DR

  • 娘が産まれて、現在7ヶ月になった
  • ロードマップが40%完了した — モバイル向けMarkdownエディタの実装の進捗がいい感じ
  • YouTubeチャンネルの購読者数が5.6万人に達した
  • 年末休みを12月22日から1月6日までいただきます

娘が生まれた

今年の最も大きなライフイベントは娘の誕生です。彼女もすくすく育って7ヶ月になりました。産まれた時に3週間の育休を取りました。それは正しい選択でした。産後の妻はやはり何をするのもしんどい状態だったので、いろいろと助けてあげられました。また、本などを読みながら赤ちゃんの世話の仕方を学べました。

子育てしながらも以前と同じように作業できるかとても不安だったんですが、妻の理解と協力のお陰で大きな支障もなく仕事できています(感謝)。娘と早くいろんな所に出かけたい。

ロードマップ(vol.5) 40%完了

Inkdropのロードマップ vol.5
個人開発者として成功し続けるための戦略

Inkdropに光り輝く新機能を追加しまくるより、それが「ただ問題なく動く(just work)」という状態を保ちたいと思っています。そのために沢山の改善を施しました。主な変更点は:

  • ネイティブ化による大幅な読み込み速度の改善 (Mobile v4.1.0)
  • ノートのコンフリクトを簡単に解決するためのUI (Desktop v5.3.0, Mobile v4.2.0)
  • Apple Silicon対応 (v5.3.1)
  • デフォルトの白いタイトルバーの除去 on Windows and Linux (v5.4.0)
  • Vibrant dark UI 対応 on Windows (v5.4.0)
The vibrant dark UI theme on Windows

iOSとAndroid向けのネイティブMarkdownエディタの実装がいい感じ

上記の改善点と平行して、モバイル向けのMarkdownエディタの改善に取り組んでいました。現在はウェブベースでの実装になっているのですが、それだと解決できない多くの問題点があります。その奇妙な挙動の上にエディタを組むのは諦めて、CodeMirror v6をバックエンドとしてReact Native内で動かし、そしてネイティブのUIコンポーネントをiOSとAndroidのそれぞれで実装する事にしました。つまりアイデアはシンプルです:

State and updates of the editor

WebView内でDOMでビューをレンダするのではなく、直接UITextView(iOS)とEditText(Android)を拡張してエディタを実現するという事です。これは自分にとって大きなチャレンジで、なぜならCodeMirrorの内部仕様を深く理解しながら、かつiOSとAndroidのAPIも使いこなしてネイティブコードを書かなければならないからです。何度も挫折しそうになりましたが、とても良い進捗を得たことを報告します:

物理キーボードでもこのように快適に入力できます:

次のステップは、アプリ独自の機能に対応させるためにCodeMirrorを拡張する事です。詳しい進捗やタスクは以下のフォーラムをご参照ください(課金ユーザのみ):

来年にはリリースできるように頑張ります。

YouTubeチャンネルの購読者数が5万人を超えた

My channel growth

Inkdropの集客の一環として2019年頃からYouTubeで動画投稿をはじめました。しかしそのグロースはゆっくりしたもので、なかなか費用対効果は得られずにいました。しかし今年に入って、視聴者を惹きつけるような動画スタイルを編み出す事に成功しました。それは「何も喋らない&何も説明しない」という定説とは真逆を行く引き算の形式で、「侘び寂びスタイル」と呼んでいます。それを見つけるまでの紆余曲折は英語で書きました:

How I’ve hit 10k subs on my tech YouTube channel
From zero video skill / Endure the 2-year dark period / Make entertainment factors / The journey to find the Wabi-sabi…

今年最も反響が大きかったのは次の動画で、現時点で40万回再生されています。

訳注:すみません、動画へのリンクは切っています。内容が英語のためです。YouTubeのアルゴリズムは厳しく、動画を開いてすぐに閉じられてしまうと、チャンネルの評価が下がってしまいます。もし興味のある方は、 “Dev as Life” でご検索ください。

このように、解説は一切なく、映像美にひたすら重点を置き、それでいて有益な情報が得られる構成にしています。自分が学んだことをシェアするという趣旨上、初心者には難しい内容になってしまいます。しかし、見せ方を工夫することで「何をやってるか分からないけど観てるだけで楽しい」というエンタメ性を実現しました。そのお陰でYouTubeのおすすめに上がるようになり、多くの購読者が得られました。このクオリティで作り続けるのは正直めっちゃ大変です。準備に一週間、撮影と編集で更に一週間かけています。もはやプロダクトをローンチしている感覚です。しかしこの動画スタイルは多くの可能性を秘めています — — 動画は英語です。日本に憧れを抱く外国人に対して、日本の風景を見せながらプログラミングのチュートリアルを提供できるのです。そんな事をしている人は誰もいません。

京都の鴨川の河川敷で作業している様子

これは旅行とプログラミングのマリアージュと言えるでしょう。自分はもともとアートが好きで、学生の頃は音楽を奏でたりイラストを描くのに熱中していました。その経験がこんな所で活かされるなんて、本当に人生は分からないものです。その上、動画を通してOSSコミュニティーに「お返し」出来るのも楽しい点です:

NativeBaseの開発者さんが喜ぶ様子

ライブラリの作者さんが自分の動画内で使われているのを知って喜び、それを見てさらに僕も嬉しくなる。素敵なwin-win-win(僕、視聴者、OSS開発者)です。次は購読者10万人を目指して、銀の再生ボタンをゲットしたいです。

正月休みを頂きます(12/22 ~ 1/6)

以上が2021年の成果のまとめです。いつも応援ありがとうございます!正月休みを22日から取りたいと思います。家族とゆっくり過ごし、新しいことを学び、来年の計画を練ります。あなたにも素敵な2022年が訪れることを祈っています。Cheers!

Follow me online

Read more

Inkdrop v6 Canary版リリースしました — 新Markdownエディタやその他新機能盛り沢山

Inkdrop v6 Canary版リリースしました — 新Markdownエディタやその他新機能盛り沢山

Inkdrop v6.0.0 Canary版リリースしました — 新Markdownエディタやその他新機能盛り沢山 こんにちはTAKUYAです。 v6.0.0 の最初の Canary バージョンをリリースしました 😆✨ v6では、アプリのコア機能の改善がたくさん盛り込まれています! * リリースノート(英語): https://forum.inkdrop.app/t/inkdrop-desktop-v6-0-0-canary-1/5339 CodeMirror 6 ベースの新しいエディタ フローティングツールバー v5ではツールバーがエディタの上部に固定されており、使っていないときもスペースを占有していました。 v6では、テキストを選択したときだけ表示されるフローティングツールバーに変わりました。 GitHub Alerts 構文のサポート Alerts の構文が正しい色と左ボーダーでハイライトされるようになりました。 ネストされたアラートや引用にも対応しています。 また、アラートタイプの入力を支援する補完機能も追加されました。 スラッシュコマンド 空行で /

By Takuya Matsuyama
AIのお陰で最近辛かった個人開発がまた楽しくなった

AIのお陰で最近辛かった個人開発がまた楽しくなった

AIのお陰で最近辛かった個人開発がまた楽しくなった こんにちは、TAKUYAです。日本語ではお久しぶりです。僕はInkdropというプレーンテキストのMarkdownノートアプリを、デスクトップとモバイル向けにマルチプラットフォームで提供するSaaSとして、かれこれ9年にわたり開発運営しています。 最近、その開発にClaude Codeを導入しました。エージェンティックコーディングを可能にするCLIのAIツールです。 最初の試行は失敗に終わったものの、徐々に自分のワークフローに馴染ませることができました。そして先日、アプリ開発がまた「楽しい」と感じられるようになったのです。これは予想外でした。 本稿では、自分がエージェンティック・コーディングをワークフローに取り入れた方法と、それが個人開発への視点をどう変えたかを共有します。 * 翻訳元記事(英語): Agentic coding made programming fun again 自分のアプリに技術的負債が山ほどあった ご想像のとおり、9年も続くサービスをメンテするのは本当に大変です。 初期の頃は新機能の追加も簡単で

By Takuya Matsuyama
個人開発を7年以上続けて分かった技術選択のコツ

個人開発を7年以上続けて分かった技術選択のコツ

個人開発を7年以上続けて分かった技術選択のコツ InkdropというMarkdownノートアプリを作り続けて7年になる。 お陰さまでその売上でずっと生活できている。 これまで個人開発でどう継続していくかについて「ユーザの退会理由をあれこれ考えない」とか「アプリの売上目標を立てるのをやめました」とか、ビジネス面あるいはメンタル面からいろいろ書いてきた。 今回は、技術面にフォーカスして、どう継続して開発していくかについてシェアしたい。 TL;DR * 最初はとにかく最速でリリースする事を最優先する * 迷ったら「ときめく方」を選べ * 程よいところで切り上げて開発を進める * 使っているモジュールがdeprecatedされるなんてザラだと覚悟する * 古いから悪いとは限らない * シンプルにしていく * 老舗から継続の秘訣を学ぶ * 運ゲー要素は排除しきれない 最初はとにかく最速でリリースする事を目標に技術選定する 開発計画とビジネス計画は切っても切り離せない。 コーディングに傾倒するあまり完璧主義に陥って結局リリース出来ないまま頓挫してしまう個人開発者は多い

By Takuya Matsuyama
子育て中の個人開発者の一日

子育て中の個人開発者の一日

子育て中の個人開発者の一日 どうもTAKUYAです。 久しぶりに生活まわりの事を書きたい。自分はInkdropというMarkdownノートアプリを売って生きている。 子供も無事順調に成長しており、あと数ヶ月で3歳になるというところで、イヤイヤ期もやっと終わりが見えてきた。 生活パターンもなんとなく定着しつつあるので、ここで一旦どんなルーティンなのか書き出してみる。ちなみに当方今年で40歳。 平日の1日の流れ * 06:30 妻と子供起床、朝食 * 07:10–30 俺起床、朝食 * 07:40 布団を畳んで子供を着替えさせる。妻はその間に化粧や通勤の準備 * 08:00 ストレッチと軽い筋トレ(腕立て50回、スクワット100回) * 08:10 妻と子供を見送る。15分前後瞑想 * 08:30 散歩 * 09:00 作業開始(カフェまたは家) * 11:00 昼飯 * 12:00 ダラダラする * 12:30 作業再開(だいたい家)

By Takuya Matsuyama