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

Share
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

個人開発で日本から海外へ、10年間の歴史 — ひろしさんとの対談(前編)

個人開発で日本から海外へ、10年間の歴史 — ひろしさんとの対談(前編)

数週間前、ひろしさんのポッドキャストにゲストで出演しました。お互いの長い個人開発の経験について語り合いました。英語版を作成する過程で、日本語でも綺麗に整形した書き起こしが出来たので、こちらに掲載します。お楽しみください。 ※ギアアイコンをクリックして、音声と字幕を日本語に変更できます。 00:00 イントロ:TAKUYAさんようこそ 01:32 TAKUYAさんの自己紹介:WalknoteからInkdropまで 04:54 独立への踏み切り方:慎重派と勢い派 06:51 個人開発がフリーランス案件につながった 09:17 Inkdropで食えるようになるまで 12:15 なぜ最初から海外市場を狙ったのか 14:54 AI登場前、英語コピーに苦戦した話 16:18 AIバイブコーディング時代をどう見ているか 17:24 全てのコードを一行ずつレビューする使い方 21:06 AIは新幹線:速さの先にあるもの 25:53 AI時代に「感性」が大事になる 27:

By Takuya Matsuyama
「一汁一菜」にAI時代の生き方が詰まっている

「一汁一菜」にAI時代の生き方が詰まっている

どうも個人アプリ作家のTAKUYAです。 今回は、AI時代を開発者・クリエイター・表現者としてどう健やかに生きるか、について考えていることをシェアしたいと思います。ここでの「健やかに生きる」とは、心身の健康を保ちながら、ものづくりを楽しみ続けるという意味です。 読者の中にも、最近のAIの急速な進化の中でどう生き残り、さらに活躍していくかを悩んでいる方は多いのではないでしょうか。正直、すべてに対する正解はわかりません。未来を正確に予測できる人はいないからです。 でも自分は、ソフトウェア寄りのアーティストとして生きる上で大事なのは、「戦略」や「堀(moat)」を築くことよりも、「生きる方向性」 だと思っています。 人生とは速度ではなく方向である – ゲーテ 自分はどこに行きたいのか?何を見たいのか?それが大事です。戦略は状況に合わせて柔軟に変えればいいからです。 今回は、日本の文化からいくつかの生き方の原則を探ってみたいと思います。 最近、料理研究家の 土井善晴 さんの 「一汁一菜でよいという提案」 を読んで、日々のリズムを健やかに保つためのヒントがたくさん詰まっていると感じまし

By Takuya Matsuyama
Claude Codeをtmuxのポップアップウィンドウで継続的に走らせる方法

Claude Codeをtmuxのポップアップウィンドウで継続的に走らせる方法

💡本記事は英語ブログの日本語訳です。 どうも、TAKUYAです。 AIコーディングでは専らClaude Codeを使っています。最初はtmuxでターミナルの右側にペインを分割して使っていたのですが、幅が狭すぎてメッセージやdiffがまともに表示できず、使いづらかったです。 <Prefix>+zでペインを最大化すればいいのですが、毎回やるのは面倒でした。 そこで、ポップアップウィンドウでClaude Codeを起動するようにしました。キーバインドを押せばセッションが開き、閉じてもバックグラウンドで動き続けるので、すぐに再開できます。 この記事では、それを実現するためのtmuxの設定方法を紹介します。 動画で見る(英語): ポップアップウィンドウはサブプロセスを維持できない tmuxのdisplay-popupコマンドを使うとポップアップウィンドウを表示でき、ちょっとしたツールにすぐアクセスするのに便利です。 僕はlazygitでgitの状態をサッと確認するのに使っています: bind -r g display-popup -d '#{pane_current_path}'

By Takuya Matsuyama
Keychron K2 HEを無刻印化する手順

Keychron K2 HEを無刻印化する手順

どうもTAKUYAです。KeychronさんにK2 HEをお願いしたら音速で送ってくれたので、無刻印化してみました。どうやったのか過程をシェアします。 Unboxing 上はKeychron Q1です。これは3年間ぐらい使ってきました。キーキャップが若干くたびれていますね。でも問題なく今まで使えていました。そろそろ飽きてきたので新しいキーボードを試したいと思い、前から気になっていたK2 HEを試すことにしました(写真下)。 Amazon | 【国内正規品】Keychron K2 HE ラピッドトリガー ワイヤレス カスタムキーボード、ホールエフェクトGateronダブルレール・マグネットスイッチ、2.4GHz・Bluetooth無線対応、QMKプログラム可能、アルミ+ウッドフレーム、USレイアウト、RGBライト、Mac Windows Linux対応 (ブラック) | Keychron | パソコン用キーボード 通販【国内正規品】Keychron K2 HE ラピッドトリガー ワイヤレス カスタムキーボード、ホールエフェクトGateronダブルレール・マグネットスイッチ、

By Takuya Matsuyama