禅的思考: なぜInkdropはMarkdown独自拡張をしないのか

禅的思考: なぜInkdropはMarkdown独自拡張をしないのか
Markdownを独自拡張して満足そうなイヌさん

InkdropはMarkdownのノートアプリですが、Markdownの独自拡張は「絶対にやらない」と決めていて、それがアプリの哲学になっています。
Markdown(厳密にはGitHub-flavored Markdown)の強みは、ソフトウェア業界標準で広く使われてい緩い文書フォーマットという所です。
アプリの独自記法を加えてしまったら、あなたの書いたノートはたちまちそれらと互換性がなくなります。

「独自記法を加えた方が便利な機能が付けられるだろう」と思うかもしれません。もちろん実際Markdownは完璧な書式ではないため、必要な場面はいくつかあります。例えば画像のサイズ指定方法が定まっていない、など。それでも自分は、ノートの可搬性を第一にしてきました。その裏には禅にまつわる哲学があります。

借景

日本の文化は周りの環境と対立するのではなく、溶け込もう、馴染ませよう、共生しようとする傾向があります。窓の借景、枯山水、建築の非対称性、茶室のシンプルさ、侘び寂びなどあらゆるところで見られます。

絵画における「減筆」の手法を例にとって説明します。
これは、描線を最小限に抑えながら絹や紙の上に対象の形状を映し出す手法です。禅の絵師たちはその手法を使い、心理的な面での情景を表現しようとしてきました。

伝 牧谿「蓮に鶺鴒図」

蓮に鶺鴒・葦に翡翠図 – MOA美術館 | MOA MUSEUM OF ART
枯れ枝の上に一羽の孤独な鳥が止まっている。無駄な線や影は一つも描かれておらず、秋の 寂寥 感を表すのには、それだけで十分

このように、キャンバスの余白を目一杯活用し、そこに手を加える要素は必要最小限にとどめられている。東洋は生を自らの外側ではなく内側から捉える。
これは、西洋の厳しい自然への超越性を豪華絢爛さによって表現してきた芸術とは対照的といえます。

争い潰し合うのではなく、周囲に溶け込み共存する

Inkdropはこの禅の精神をもって、Markdownとそれを取り巻く環境、すなわちツールやプラットフォーム群との調和、協働を望みます。
Inkdropで書いたものが外へ出て行き、また戻ってきて、あなたのアイデアや感性が広がり、また研ぎ澄まされていく。このライフサイクルを支援したいのです。

ビジネス的に見れば、独自記法を導入すればユーザを囲い込み(ベンダーロックイン)出来て有利かもしれません。
しかし、独自記法を導入している他のアプリを見れば分かる通り、それは結局複雑であったり、覚えにくかったり、記法の変換に苦労する結果になるのが分かります。僕のような一介の開発者が中途半端に拡張するぐらいなら、互換性を貫き、Markdownエコシステムとの調和を図った方が結果的にアプリのためになるのです。つまり、アプリ作者も、ユーザも、エコシステムも嬉しい。これを日本の近江商人の言葉で「三方良し」と言います。

そのような訳で、Inkdeopはこれまでも今後も、Markdownの拡張はしません。誓います。安心して技術ノートを取ってくださいね!

Inkdrop - Note-taking App with Robust Markdown Editor
The Note-Taking App with Robust Markdown Editor

Inkdrop v6 Canaryテストに参加する🙌

Inkdrop Desktop v6.0.0-canary.3
Thank you guys for reporting issues!! I’ve fixed a lot of weird behaviors and improved the new features. New feature: Highlighting support with the <mark> tag Highlighting text is one of the most popular use cases when you have reading notes. As you may know, Inkdrop Web Clipper supports importing Kindle highlights. With this update, Inkdrop works perfectly to emphasize what particularly resonates! To highlight with the <mark> tag, select text: Click the highlight toolbar button:…

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