Inkdrop 4をリリースしました

Inkdrop 4をリリースしました

Inkdrop 4をリリースしました

端末間暗号化(End-to-end Encryption)、Side-by-sideビューの正確なスクロール同期、新しいロゴなど

こんにちは、TAKUYAです。大変おまたせしていたInkdrop v4が本日リリースされ、全てのユーザの皆さんにお使い頂けるようになりました。ベータ版のテストに参加していただいた皆さんのお陰でリリースにこぎ着ける事が出来ました。(特にバグ報告や意見を下さった次の皆さんに感謝します: Erdem, Otawaraさん, Asish, derkork, FORTRAN, Kazutakaさん, Horiiさん, leptospira489, John, Gustavo, Nicolo, Andreas) v4では更なる生産性向上を目指して、多くの機能が根底から改善されました。また、ロゴも新しくなりました。本稿では今回Inkdropの新しくなった点についてご紹介します。

Inkdropを初めて知った方はこちらのウェブサイトをご覧ください。

Inkdropは開発者用のMarkdownノートアプリです。僕自身が欲しかったので作りました。アプリの機能の詳細についてはこちらのウェブサイトをご覧ください。

僕は日本を拠点に活動するフリーランスデベロッパーです。このプロジェクトはかれこれ3年続けています (記事: どうやって個人開発を3年間続けたか)。Inkdropのマネタイズ戦略はどうやら上手く行き、ここ1年間は受託のお仕事をやらずに生活を送れています。このプロジェクトに取り組みながら、自分の戦略やそこから得た知見をブログにシェアしています:

英語で先に書いてから日本語に訳しています。

つまりこのプロジェクトは単なる有料アプリではなく、個人開発で好きな事をしながら生きようとするストーリーでもあります。

9ヶ月前にロードマップ(vol.3)で述べたとおり、アプリをイチから組み直すことを決めました。この取り組みは結局7ヶ月もかかりました。とても長い旅でしたが、長い時間がかかった理由を説明させて下さい。最初のバージョンは3年前に開発しました。その当時、僕はElectronやReactを使ったアプリの開発が初めてで経験がありませんでした。Inkdropが成長すると共に、自分もそこから多くの知見を得ました。そして実装の観点でアプリをもっと良く出来ることに気づきました。開発の過程で、いくつかの依存モジュールは廃止されてしまいました。近い将来、それが大きな問題になることを危惧していました。僕はアプリを再構築しなければこの先も開発を続けるのは難しいだろうと感じていました。しかし、多くの会社がサービスを再構築しようとして頓挫しているのを見てきたので、それが危険な道であり、めちゃくちゃ大変なことは承知していました。そんな巨大タスクをやっとやり終える事ができて嬉しいです。

この再構築がユーザにとってどんな意味があるのかというと、僕がより素早く動けるという点にあります。つまり、プロジェクトが始まった当初のように、バグをすぐに直したり、安定性を保持しつつコア機能の改善が出来ます。一緒に発展させていきましょう :)

もしアプリが良いと思ったら、下記Product HuntにてUpvoteお願いします🙏

Inkdropはデバイス間・プラットフォーム間のシームレスな同期を提供しています。開発者はセンシティブな情報を取り扱うことが多いので、開発者向けノートアプリとしてユーザのデータを守ることはとても重要です。そこで、v4では端末間暗号化(end-to-end encryption)に対応しました。あなたのデータはクライアント上(iOSとAndroidを含む)で暗号化/復号化されます。つまりInkdropのサーバはあなたのデータの中身に触れることはありません。詳しくはこちらのドキュメントをご覧ください。

画像を挟んでもスクロール位置がズレません

Side-by-sideモード(エディタとプレビューの2カラム表示)はMarkdownのHTMLレンダリング結果を確認しながらノートが書ける便利な機能です。今回のアップデートで、エディタとプレビューのスクロール位置がより正確になりました。これでどこを編集していたか見失ってしまう心配はなくなります。

Desktop
Mobile

ノートの数が増えると共に、検索する回数も増えてきます。より使いやすい検索機能の提供に向けた簡潔なUIとパフォーマンスは、アプリの中心機能と言えるでしょう。ノートのインデクシングは完全にローカルで行われ、ネットワーク遅延はありません。

どんな作業をしている時でも、とにかく素早くノートにアクセスしたいと思う人に嬉しい機能です。keymap.csonを編集してグローバルショートカットを以下のように設定すれば、Inkdropのウインドウを最前列に表示してフォーカスします:

<span id="6ce0" class="ss pz io sn b gz st su m sv sw">'global':<br></br> 'cmd-shift-x': 'application:show-and-focus-main-window'</span>

v4はノートの整理をより一層支援します。

ノートにタグを追加するにつれて、タグリストはすぐに長くなって探すのが大変になります。同様に、ノートにステータスを設定すると、どれがアクティブなノートなのか探すのが難しくなります。新バージョンではノートブック・サブメニューに対応しました。この機能は、ノートブック内でのみ使用されているタグとステータスを表示します。このメニューからすばやく目的のノートを見つけられます。

そして、サイドバーの各項目の右側にカウントバッジを表示するようにしました。このバッジは、その項目に相当するノートの数を示しています。この数字を見れば、あなたのノートの統計がすぐに確認できます。

モバイルネットワークは不安定でいつも速いとは限りません。なので画像をすばやく表示出来ない時がありました。これは少し面倒だったので、画像をローカルにキャッシュするようにしました。一度画像を読み込んだら、次回からはキャッシュから表示します。これでパリの地下鉄で移動していても画像が確認できますね!

Inkdropのウェブサイトのデザインも作り直しました。GatsbyというReactベースの静的サイトビルダーを使って組みました。このサイトを作るにあたってアプリの推薦文を書いてくださった皆さんに、この場を借りて謝意を述べたいと思います🙏🙌 Thank you guys!!! あとキャッチフレーズの英語のアドバイスをくれたToddもありがとう!

ドキュメントのウェブサイトもGatsbyを使って同様に組み直しました。これでMarkdownで簡単にページを追加できるようになりました。アプリの便利な使い方やハック方法などをこれからモリモリ書いていきます!

v4以降、端末間暗号化はデフォルトで有効化されます。一度有効化すると、全ての端末にてv4を使用しなければなりません。v3以前のバージョンは利用できなくなります。また、v3用のサーバは近日パージされますので、移行はお早めにお願いいたします。

プラグインを入れている方はアップデート直後、沢山の警告が表示されます。プラグインは以下のコマンドで更新できます:

<span id="2904" class="ss pz io sn b gz st su m sv sw">ipm update</span>

もしあなたがプラグインの作者なら、こちらのマイグレーションガイドを参考にマイグレーションしてください。少しの変更だけでv4でも動くようになります。もしまだプラグインがv4に対応していなければ、プラグインの一覧ページで非表示になります。もし使用しているプラグインがまだv4に対応していない様子であれば、その作者にマイグレーションガイドを教えてあげてください。ご理解・ご協力感謝します!

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