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

ユーザサポートの問い合わせを装った攻撃が怖すぎた

ユーザサポートの問い合わせを装った攻撃が怖すぎた

どうもTAKUYAです。個人開発をしていてアプリの知名度が上がってくると、作者個人(あるいはサイト管理人)を狙った攻撃というのをたまに受けます。つい先日も、怖すぎるメールを受け取ったのでシェアします。 件名: Cookie consent prevents platform access Hello, I cannot access use the store. The cookie consent notice keeps appearing and nothing happens once I approve or try to close it, so I’m unable to interact with the website. Please provide guidance on

By Takuya Matsuyama
万年ペーパーの自分が車の運転を楽しめるようになった理由

万年ペーパーの自分が車の運転を楽しめるようになった理由

どうもTAKUYAです。大学の入学前に免許を取って以来ずっとペーパードライバーで、都市生活では出来る限り運転は避ける生活を送っていた。事故を起こせば人を◯してしまう可能性もある代物を日常的に運転するなんて考えられなかった。 そんな自分に転機が訪れたのは、結婚して大阪に戻った事と、子供ができた事、そしてアウトドアに興味を持った事だ。大阪近辺だと箕面とか野勢、神戸、丹波篠山などが日帰りでドライブしやすい距離だ。それで、恐る恐るタイムズのカーシェアで時々ではあるが運転するようになった。 他の車も生きた人間が運転しているという驚き まず運転していて気づいたのは、他の車にも生きた人間が運転していると言う点だ。そんなのは当たり前だろと思うかもしれないが、結構新鮮な発見だった。Grand Theft Autoなどの現代をモチーフにしたゲームをプレイすれば分かるが、NPCの車の動きは鈍臭いのでガンガンぶつかる。プレイヤーの進行を予測した動きなどしないからだ。 しかし現実では相手も事故りたくないので、お互いに動きを読み合い、譲り合って運転する。ルードな運転手もたまにいるものの、どちらかがよっぽ

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

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

InkdropはMarkdownのノートアプリですが、Markdownの独自拡張は「絶対にやらない」と決めていて、それがアプリの哲学になっています。 Markdown(厳密にはGitHub-flavored Markdown)の強みは、ソフトウェア業界標準で広く使われてい緩い文書フォーマットという所です。 アプリの独自記法を加えてしまったら、あなたの書いたノートはたちまちそれらと互換性がなくなります。 「独自記法を加えた方が便利な機能が付けられるだろう」と思うかもしれません。もちろん実際Markdownは完璧な書式ではないため、必要な場面はいくつかあります。例えば画像のサイズ指定方法が定まっていない、など。それでも自分は、ノートの可搬性を第一にしてきました。その裏には禅にまつわる哲学があります。 日本の文化は周りの環境と対立するのではなく、溶け込もう、馴染ませよう、共生しようとする傾向があります。窓の借景、枯山水、建築の非対称性、茶室のシンプルさ、侘び寂びなどあらゆるところで見られます。 絵画における「減筆」の手法を例にとって説明します。 これは、描線を最小限に抑えながら絹や紙の

By Takuya Matsuyama
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