Inkdrop

Inkdrop Mobile v2 プライベートβ 公開のお知らせ

Imported-from-Medium

Inkdrop Mobile v2 プライベートβ 公開のお知らせ

Inkdrop Mobile v2 プライベートβ 公開のお知らせ こちらは本家記事の日本語訳です。 こんにちは、InkdropソロデベロッパーのTAKUYAです。 長らくお待たせしていた新モバイル版Inkdropがようやくプライベートβでの公開に漕ぎ着けました。最後にロードマップを公表してから早6ヶ月です。あっという間でした。ずっと水面下で開発していたので一部の方にはこのプロジェクトの勢いが以前よりも衰えたと感じていたかもしれません。ご安心ください、そんなことは全くありません。英語アカウントの方のTwitterで頻繁に開発の進捗を報告していたので、ご存知の方もいるかと思います。長い間お待ちいただき本当にありがとうございます。 本稿ではこの6ヶ月間の取り組みや、新しいインターフェイスと多くの改善が加えられたアプリについて少しご紹介します。 6ヶ月も要した主な理由はこれです。以前、こちらの記事にも書きましたが、Inkdropには根本的な再デザインが必要でした。今後も安全性や安定性、シンプルさ、簡潔さを保ちつつ開発を長期的に継続していくためです。そのために新しいコアモジュール群は

By Takuya Matsuyama
SNSでアクティブサポートはしない

Imported-from-Medium

SNSでアクティブサポートはしない

SNSでアクティブサポートはしない Text by TAKUYA InkdropというMarkdownノートアプリを一人で開発しています。今のところアクティブユーザは800人ぐらいで増加傾向です。課金ユーザ数は先月300人を超えました。おかげさまで今年はまだフリーランスとして受託開発を一度もせずに開発に集中できています。月間売上が20万を超えてくると安心感が半端ないですね。 ユーザサポートについては過去にも書きました。 このように個人開発でもサポートは大事にしているのですが、一切やらないと決めていることがあります。それはSNSでのアクティブサポートです。どういうことか詳しく書きたいと思います。 * アクティブサポートとはSNS上でのCRM活動のこと * アクティブサポートは親切の押し売り * アクティブサポートは非効率的 * ユーザの居る場所を集中させる * Twitter好きは日本人固有の傾向かも * 自分がされたら嬉しいこと「だけ」する アクティブサポートとは、Twitterなどで自分のサービスについて書いている人を見つけたら、こちらからアプローチしてサポー

By Takuya Matsuyama
React Native用の軽量な日本語分かち書きモジュールを作りました

Imported-from-Medium

React Native用の軽量な日本語分かち書きモジュールを作りました

React Native用の軽量な日本語分かち書きモジュールを作りました 自分はInkdropというMarkdownノートアプリを作っていて、今新しいモバイル版をReact Nativeで開発しています。そのアプリ用に作成した日本語用分かち書きモジュールを公開したのでご紹介します。 特徴は、ネイティブ実装でかつUIとは別スレッドで処理を行うため、高速でUIがカクつきません。 アプリを作る過程で、日本語のノートの全文検索機能を実現するためにテキストのトークナイズ処理をJavaScriptで実装していました。しかしながら大量のテキストを一度にインデックスしようとすると時間がかかる上に、その間UIが固まってしまう問題がありました。なぜならReact Native製アプリはJavaScriptで組まれていて、シングルスレッドだからです。 そこで、バックグラウンドスレッドで分かち書き処理が行えるネイティブモジュールを作りました。バックグラウンドなのでUIをブロックすることはありませんし、ネイティブ実装なのでパフォーマンスも期待できます。 CFStringTokenizerというクラスが

By Takuya Matsuyama
スピードを捨てる: 成長期の個人開発アプリを頓挫させないための戦略

Imported-from-Medium

スピードを捨てる: 成長期の個人開発アプリを頓挫させないための戦略

スピードを捨てる: 成長期の個人開発アプリを頓挫させないための戦略 MarkdownノートアプリのInkdropを一人で作っています。去年の頑張りのお陰で幸いにも月間20万を超える収益化に成功しました。アイデア出しから収益化までの道のりはこちらに書いた通りです。 さて、今後このサービスを継続して成長させていくためには、立ち上げ期とは少し異なる戦略が必要です。それは、課金してくださっている顧客を守る事です。なぜなら、ノートアプリの本質は知見の管理だからです。長く使うほどその価値が発揮されます。なので、当初から事業の継続性は最重要視していますが、運用・保守面においてもより一層気を配らせていく必要があります。 本稿では、個人開発における事業立ち上げ後の成熟化に向けた心構えや戦略について考えたことを書きたいと思います。 立ち上げ当初はとにかく勢いを大事にしました。頻繁に新バージョンをリリースして、ブログを書いて、盛り上がりを演出しました。開発では、テストを書かずにスモークテストのみでユーザさんと一緒にデバッグしていく攻めの手法を採りました(詳しくはこちらの記事を参照)。マーク・ザッカー

By Takuya Matsuyama
2017年の活動成果まとめ・来年のブログネタ予告

Imported-from-Medium

2017年の活動成果まとめ・来年のブログネタ予告

2017年の活動成果まとめ・来年のブログネタ予告 今年もフリーランスとして、アプリ作家として、いろいろ活動しました。一言でまとめると飛躍の年だったなと思います。柄にもなく熊手を買ったおかげかもしれません(笑) 来年も、その成果から得られたノウハウをまとめて惜しみなくシェアして行きたいと思います。自分をオープンソースにする気持ちで。 本稿では、今年の主な活動成果を振り返りつつ、そこから来年書けそうなブログネタを検討します。 * Markdownノートアプリでマネタイズできた * 受託開発は実質3人月ぐらいに抑えられた * Twitterのフォロワーが1300人増えた * ブログ年間アクセス数が19万に達した * GitHubで愛用しているライブラリにコントリビュート出来た 2016年から作り始めたMarkdown専用ノートアプリ、Inkdrop。このブログでも幾度と紹介してきました。お陰様で今月の売上は24万円に達しました。精神的にかなり楽になりました。この調子で来年も開発ロードマップをこなして行きます。 開発当初、周りにこのアイデアを話しても懐疑的な意見しか得られま

By Takuya Matsuyama
アプリで稼いだお金は全部投資に回す

Imported-from-Medium

アプリで稼いだお金は全部投資に回す

アプリで稼いだお金は全部投資に回す InkdropというMarkdownエディタを一人で開発しています。9月時点で月15万円、12月は現時点で既に20万円を超えました。順調に伸びていて、いよいよフリーランス辞められそうな気がしてきました。どうやってアプリをゼロから成長させたかについては過去に書きました。本稿ではアプリの利益に対する考え方を書きたいと思います。 アプリの利益を生活費に回すのはもちろんですが、余剰金の使い道が今後のアプリの継続性を左右すると思います。売上とは何かを考えたとき、それは拍手の数だとドワンゴの川上量生さんが言っていました。つまり顧客の課金行動には「いいぞもっとやれ」という期待が込められているという事です。それを意識して使い道を考えるのが大事だと思います。 今後も更に売上が伸びて余剰金が増えた時、その顧客からの期待を無視して浪費に走れば短期的には気持ちよくなれますが、プロジェクトは徐々に廃れるでしょう。無駄に高いオフィスやマンションを契約したり、無駄に高い服を買ったり、よく分からない会員制バーに通ったり。見栄を張るためにお金を遣ってもプロジェクトは成長しません

By Takuya Matsuyama
AWS Lambdaで静的サイトにメール送信フォームを作る簡単な方法

Imported-from-Medium

AWS Lambdaで静的サイトにメール送信フォームを作る簡単な方法

AWS Lambdaで静的サイトにメール送信フォームを作る簡単な方法 本稿では個人的に作ったLambda用メール送信スクリプトを使ってメール送信フォームを作る方法をご紹介する。手っ取り早く知りたい方はGitHubに公開したソースコードをご覧頂きたい。 今はgitさえ使えればGitHub PagesやNetlifyで無料で静的なサイトを公開できる。便利な世の中だ。静的サイトとはサーバサイドを含まない単純なサイトのこと。自分のホームページやMarkdownノートアプリのサイトも全部Netlifyで配信している。速いし安定していてすごく気に入っている。 静的サイトはサーバサイドを含まないので、自前で動的にページを生成したりフォームを設置することが出来ない。でもちょこっとだけそういう事がしたいというユースケースがあると思う。例えばホームページに問い合わせフォームを設置するとか。問題は、わざわざそのためだけにNetlifyの有料機能を使ったりサーバを設置するのは大げさだし面倒という点。いつくるか分からない問い合わせのためだけに、ずっとサーバをスタンバイさせるのは無駄。 サーバレスアーキテ

By Takuya Matsuyama
価格への不満は徐々に減るから無視していい

Imported-from-Medium

価格への不満は徐々に減るから無視していい

価格への不満は徐々に減るから無視していい InkdropというMarkdownエディタアプリを一人で開発しています。最近、月の売上が15万円を超えました。早くフリーランス辞めたい。 正式リリースから1年が経ち、沢山のフィードバックを経てアプリはかなり進化を遂げました。そのフィードバックの中には価格への不満も沢山ありました。でも1年やって気付いたことは、その不満の声が徐々に減ってきているという事です。これは重要な気付きだと思ったのでシェアしたいと思います。 * 完成形を想像して値段をつける * ユーザは常に現時点のモノを見て価値を判断する * 自分と同じ金銭感覚の人だけを相手にする * サービスにお金を払う感覚を身につける 価格については過去にも何度かブログに書きました。それを要約すれば、継続性を最優先にする事と、市場価格を無視して自分を基準にして決めるという事です。一度決めた価格を後で値上げすると確実に大ブーイングが起きるので、慎重に決めなければなりません。 インターネットのサービスは家電製品などとは違い、リリース後も徐々にアップデートしていく性質を持っています。つま

By Takuya Matsuyama
個人開発だからこそ出来るユーザサポートがある

Imported-from-Medium

個人開発だからこそ出来るユーザサポートがある

個人開発だからこそ出来るユーザサポートがある この記事はHacker Noonに寄稿した「Personal Developer Can Beat Big Company with User Support」の日本語訳です。 個人開発者は大企業にあらゆる面で常に負ける。果たして本当にそうだろうか。大企業はその大きさゆえにとにかく遅い。でも小さなプロダクトは小回りがきく。個人開発者はとりわけユーザサポートで、大企業に勝る素質がある。 自分はフリーランスをしながらInkdropというMarkdown好きのためのノートアプリを開発している。最近、その売上で家賃の半分が賄えるようになった。アプリを購読してくださっているユーザさんもそれを喜んでくれている様子で嬉しい: 自分がどうやって彼らを惹きつけているか、ユーザサポートの観点でその方法をシェアしたい。 ユーザはサポートの返事があるまで何日も待たされることに慣れきっている。大企業のユーザサポートを受けたことがある人なら分かると思う。電話で待たされ、たらい回しにされ、数日後にやっと回答が得られる。だからメールを送信する時、すぐに返事がもら

By Takuya Matsuyama
vim + tmuxでVSCodeっぽい開発環境を作る

Imported-from-Medium

vim + tmuxでVSCodeっぽい開発環境を作る

vim + tmuxでVSCodeっぽい開発環境を作る MicrosoftのVisual Studio Code(以下VSCode)には期待していて何度かエディタの乗り換えにトライしてるんだけど、今回もあえなく失敗してしまった。でもその度に改善アイデアを得ては自分の環境に取り入れている。定期的に色んなエディタを試して良いとこ取りをするのは、結構いいかもしれない。 自分は基本的にvimとtmuxを併用してターミナルで作業をしている。本稿ではVSCodeの特徴を軸に自分のvimとtmuxの設定をシェアしたい。説明はtmuxとvimの基本を知っていることを前提とする。以下概要: * VSCodeっぽい画面分割 * VSCodeっぽいファイラ * VSCodeっぽいエラー表示 * (VSCodeっぽくない) プロジェクトごとにtmuxタブを開く VSCodeでは画面下にターミナルを表示できるのが便利だと思ったので真似した。tmuxで上下7:3で分割している。上段でvimを起動して、下段でコンパイルなどをする。下段は更に3つに垂直分割する事が多い。この画面分割をコマンド一発で出来

By Takuya Matsuyama
印刷 / PDF出力 / 構文ハイライトの改善 / RPMパッケージの提供開始 — Inkdrop

Imported-from-Medium

印刷 / PDF出力 / 構文ハイライトの改善 / RPMパッケージの提供開始 — Inkdrop

印刷 / PDF出力 / 構文ハイライトの改善 / RPMパッケージの提供開始 — Inkdrop 原文: https://blog.inkdrop.info/printing-pdf-export-improved-syntax-highlighting-rpm-package-c90e3f966a7f v3.12.0が昨日リリースされました。いろいろ新機能や改善点が盛りだくさんなので紹介させてください。 たまにユーザさんから、エディタとプレビューの構文ハイライトの動作が違うことについて指摘を受けていました。これは実装方法の違いによるもので、プレビューはhighlight.jsを使用しているのに対して、エディタはCodeMirrorベースで出来ているためです。それによって動作の一貫性が損なわれていました。つい最近にも、アントンがこの事について指摘しました: この問題は、highlight.jsとCodeMirrorで対応している言語が異なるためでした。例えば、JSXとPugはhighlight.jsではサポートされていません。違和感を覚えるのは当然でした。今まで、これは仕様で

By Takuya Matsuyama