I'm Probably Procrastinating

Michael Lynch

たぶん、先延ばしをしている

一言まとめ

もっと顧客と話す時間を作る必要があります。

ハイライト

  • Zestfulのウェブサイトに変更を加えたところ、数日でGoogle検索の1ページ目に表示されるようになりました。
  • 機械加工工場向けの数十年前に作られた業務管理アプリを、より良い形で作り直してみようと考えています。
  • 顧客と話すのを避けるために、ひたすらコードを書いています。

目標の成績表

毎月初めに、その月に達成したいことを宣言しています。その目標に対して、今月は次のような結果になりました。

メールやSNSによる集中の妨げをなくす方法についてのブログ記事を公開する

予定どおり記事は公開できましたが、反応が思ったより小さくて驚きました。ここ最近は、どうしてもニッチすぎて広く読まれない記事が続いていたのですが、SNS時代の集中をテーマにした記事ならもう少し注目されるかと思っていました。

RedditTwitterで少し話題にはなりましたが、全体としてはあまり読まれませんでした(これまでの累計で800PV程度です)。

一方で、読んでくださった方からは良いフィードバックをいただきました。記事のヒントで生産性が上がったと教えてくれた方もいて、とても励みになりました。

新規事業の可能性を探るため、顧客5人にインタビューする

  • 結果: 3人にインタビューしました
  • 評価: C

一応3件は「顧客インタビュー」と言えますが、かなり甘めの定義です。まともに顧客インタビューと呼べるのは1件だけで、もう1件は顧客になる可能性が低い方との一般的な面談、最後の1件は短い立ち話と「12月にまた連絡を」というお誘いでした。

今月の唯一と言っていい目標が顧客インタビューだったことを考えると、3件は少なすぎます。営業が苦手で、ついコードで問題を解決しようとしてしまう癖があるのも一因です。そもそもゼロから人脈を作る必要があり、そこから始めるのが難しいという問題もあります。

数値

Is It Keto

指標2019年10月2019年11月変化
ユニーク訪問者数26,31527,981+1,666 (+6%)
総ページビュー66,57869,090+2,512 (+4%)
ドメインオーソリティ (Moz)1314+1 (+8%)
ランクインしているキーワード数 (Moz)1,5741,654+80 (+5%)
AdSense収益$75.65$151.07+$75.42 (+100%)
Amazonアフィリエイト収益$159.02$118.00-$41.02 (-26%)
ミールプラン売上$23.87$0.00-$23.87 (-100%)
合計収益$258.54$269.07+$10.53 (+4%)

少しずつ改善はしていますが、10月から12月はダイエット系サイトにとって一年で最も厳しい時期だと思います。1月には新年の抱負でケトジェニックダイエットに興味を持つ人が増えるので、大きな伸びを期待しています。

Amazonアフィリエイトの収益は、トラフィックが今の半分だった5月以来の低水準まで落ち込みました。AdSenseは連携部分のバグを修正したことで少し増えています。修正は11月中旬に反映されたので、1か月フルで適用される来月はさらに伸びるはずです。ミールプランは引き続き販売はしていますが、販売のための施策はほぼ止めました(詳しくは後述します)。

Zestful

指標2019年10月2019年11月変化
総収益$3.89$65.33+$61.44 (+1,580%)

Zestfulはここ数か月、ゆっくりと伸びてきています。過去にも大きく跳ねた月はありましたが、たいていは一度きりの大量利用によるものでした。ここ数か月は、複数の異なるユーザーによる継続的で着実な利用が増えています。

ミールプランの販売を断念する

ここ数か月、Is It Ketoでミールプランを販売できないか試してきましたが、想像以上に難航しました。10月は2件しか売れず、手数料を引いた売上は23.87ドルでした。販売ページの細かな調整や価格変更、サイト内の導線を販売ページに寄せる変更など、いろいろ試しましたが、効果は感じられませんでした。

11月も販売ページにさらに手を加えてみました。

  • ミールプランの1つに写真を追加しました
  • お客様の声を追加しました
  • 「ダウンロード」ボタンから価格表示を外しました

しかし、どれも効果はありませんでした。

特にがっかりしたのは、購入ボタンの文言を「PDFをダウンロード」に変えてもクリック数が低いままだったことです。これなら無料ダウンロードと勘違いしてもおかしくないのに、それでもクリックされないのです。

価格表示を外す前後のスクリーンショット

ダウンロードボタンから価格表示を外した前後

やり方次第ではきっと売れるはずですが、6週間以上かけても手応えがなく、さすがに長すぎると感じました。AdSense広告の一部をミールプランの自前広告に差し替えていましたが、AdSenseの方がはるかに収益になるので、自前広告は外しました。サイトのメインナビゲーションからも「Meal Plans」を外し、トップページでもブログでの言及を除いて表示しないようにしました。

意地でZestfulのサイトを書き直す

Zestfulのサイトは昨年作ったのですが、2週間にわたる苦行でした。原因の多くは、当時知っていた唯一のフロントエンドフレームワークであるAngularで書いたことです(…「知っていた」と言っても「知っていた」程度ですが)。それ以来、Vue.jsを覚え、こちらの方が断然好みですし、ウェブデザインの経験も積みました。

それでもZestfulのサイトはずっとAngularのまま残っていました。Vueで一から書き直したい気持ちは強かったのですが、めったに触らないサイトを全面的に作り直す理由が見つかりませんでした。

そんなとき、Googleの検索結果を見てみました。「parse ingredients」で検索すると、Zestfulは3ページ目に出てきます。実質、誰の目にも触れません。さらに悔しかったのは、1ページ目にZestfulの競合が表示されていたことです。材料解析だけをサービスとして提供しているのは、その会社とZestfulだけなのです。

Zestfulの競合のスクリーンショット

検索結果でZestfulを上回っていた競合

その競合サービスを試してみると、作り方はZestfulとまったく同じだとわかりました。古いオープンソースライブラリをWeb UIでラップしただけのものです。違うのは、私のようにバグ修正や機能追加を一切していない点です。

だからこそ、検索結果で常に負けているのが納得できませんでした。なぜなのかがわからないのです。被リンクはZestfulの方が多いですし、コンテンツも多く、更新頻度も高い。考えられる唯一の理由は、Zestfulがクライアントサイドレンダリングで、相手のサイトがサーバーサイドレンダリングだということでした。サーバーサイドでないと、SEOに関わるHTMLタグを正しく埋め込めないのです。

Zestfulのサイトでサーバーサイドレンダリングを実現する方法を考えました。AngularならAngular Universalがありますが、以前KetoHubを移行しようとして1週間以上費やして何も得られませんでした。そもそもAngularの泥沼にさらに沈みたくもありませんでした。

VueにはNuxtというサーバーサイドレンダリングの仕組みがありますが、数ページをサーバーサイドで描画するためだけにNodeサーバーを丸ごと動かすのは気が進みませんでした。よく調べてみると、Nuxtは静的生成によるプリレンダリングをサポートしていました。これならHTMLファイルを事前に生成して、このブログと同じようなシンプルな静的ホスティングで配信できます。Vueの開発体験はそのままに、静的サイトの手軽さも得られるわけです。

Nuxtでシンプルに静的生成する良いサンプルが見つからなかったので、試行錯誤しながら自分でハローワールドを動かしてみました。そして1日半の猛烈なコーディングで、ZestfulのウェブサイトAngularからVue + Nuxtへ移植しました。これでZestfulでも<link rel="canonical" ...>やページごとの<title>タグといった、本来サーバーサイドで埋めるべきタグを正しく出力できるようになりました。

UIの刷新は目的ではありませんでしたが、CSSフレームワークもMaterial DesignからBootstrapに切り替えたため、CSSの多くを一から実装し直すことになりました。Zestfulをデザインした頃よりCSSの経験が増えていたので、以前から気になっていた細かな点をこの機会に直しました。

書き直したZestfulのサイトのスクリーンショット

書き直したZestfulのサイト

数日後、Googleで「parse ingredients」と検索すると、こうなっていました。

Google検索の1ページ目に表示されたZestful

ZestfulがGoogle検索で1ページ目に浮上しました

やりました、1ページ目です!しかも、書き直すきっかけになった競合より1つ上の順位です。

ただ、これほど急激で大きな順位変動は見たことがないので、少し半信半疑です。今回の書き直しが長期的にどう影響するか、Google Search Consoleで慎重に経過を見ていきます。

でも、結局は先延ばしです

ZestfulやIs It Ketoをいじっていると生産的に見えますが、新しい大きな挑戦を見つけるという上位の目標にはつながっていません。振り返ってみると、今月はコーディングに時間を使いすぎ、顧客開拓に時間を使わなさすぎました。

とはいえ、成果物だけを見ると少し偏って見えます。実際にはイベントに参加したり企業を調べたりする時間も取っていましたが、見込みの薄い候補は除外していったので、目に見える成果が少なく残ったのです。

ソフトウェアのビジネスアイデア探しにおける断絶の問題

自分のビジネスを運営する中で大きな気づきになったのが、Rob Wallingの著書Start Small, Stay Small私の読書メモ)を読んだことでした。彼は、個人開発者の強みはニッチな層向けのソリューションを作っても十分に収益化できることだと指摘しています。

Wallingは、フリーランスのウェブ開発者向けに特化した会計ソフトを作っている会社を例に挙げています。QuickBooksやXeroといった巨大な競合がいても、ウェブ開発者の細かなニーズに絞った製品は、対価を払ってでも欲しいと思われるため成功しているのです。だからWallingは、小さなニッチビジネス向けにソフトウェアを書くべきだとアドバイスしています。

ただ、学びつつある課題は、そのニッチとどうつながるかということです。

例えば、あなたがカスタムカーショップのオーナーだとします。全国各地の多くの専門サプライヤーから部品を仕入れていて、それぞれ支払い方法や注文手続きが違います。経理をきちんとやるには、メールを一つひとつ確認して領収書を会計ソフトに登録しなければなりません。

自動車修理工場の作業場の写真

良いソフトウェアがあれば、この自動車修理工場の鉄製キャビネットももっと汚れずに済んだはずです。

開発者の視点で見れば、ソフトウェアで解決できる問題がいくつもあります。例えば、店主が領収書を転送するだけで、自動で解析してQuickBooksに取り込むサービスを作れるかもしれません。あるいは、もっと野心的に、カスタムパーツのマーケットプレイスを作って、オーナーがあちこちのサイトで部品を探す手間をなくすことも考えられます。

しかし、ここに断絶があるのです!カスタムカーショップのオーナーからすれば、そんな問題をソフトウェアで解決できるなんて思いもよらないでしょう。長年のやり方に慣れすぎて、そもそも問題として認識していないかもしれません。

私自身も開発者として、ビジネスオーナーがそんな問題を抱えていることに気づく術がありません。彼らの業務フローや悩みを知らないからです。もちろん聞くことはできますが、提案としてはかなり奇妙です。

:御社の経営で面倒だったりコストがかかったりしている部分を自動化するソフトウェアを販売したいと考えています。

オーナー:いいですね!そのソフトは何ができるんですか?

:わかりません。

オーナー:…?

:どんなソフトが必要かわからないので、それを知るために、見ず知らずの私に御社の仕事について何時間か教えてください。

オーナー:…

:それに、結局採算が合わないと判断して、御社の問題を解決するものを何も作らない可能性も高いです。

オーナー[警備員を呼ぶ]

今まさに、そんな状況に直面しています。お金を払ってでもソフトウェアを作ってほしいと思っているビジネスは近所にもきっとあるのに、その存在に気づけていません。そして、新しいソフトウェアで役に立てそうなビジネスを見つけても、相手に何時間か仕事の説明をしてもらうまで、自分の価値を示す方法がないのです。

余談: 今でっち上げた自動車修理工場の例、もしかすると本当に良いアイデアかもしれません。

自分用メモカスタムカーショップについて調べてみること。

機械加工工場への聞き取り

地元のビジネスを開拓する中で、近くの小さな会社はどこも同じウェブデザイナー、Montague WebWorksがサイトを作っていることに気づきました。オーナーのMikさんに、小さな地元企業向けにソフトウェアを作りたいと考えているのですが何かアドバイスはありますかとメールしたところ、快くオフィスに招いてくれました。その話の中で、彼は地元のスタートアップに資金やメンタリングを提供する団体、Valley Venture Mentorsを教えてくれました。

Valley Venture Mentorsのイベントに参加したところ、機械加工工場のオーナーと知り合いました。機械加工工場向けのソフトウェアの選択肢について話したのですが、どれもひどい出来のようでした。中でも人気があるのがJobBOSSというアプリケーションで、1994年からタイムスリップしてきたかのような見た目です。製品デモを見ると、アプリケーション全体がSQLデータベースに薄いUIを被せただけのように見えます。

JobBOSSのスクリーンショット

機械加工工場の人たちは、本当にこんなデータベースの維持管理をしたいのでしょうか?

かなり肥大化して複雑に見えるので、もっと狭いユースケースに絞った、シンプルなJobBOSSのようなものを求めている工場があるのではないかと期待しています。

12月の目標は、このようなソフトウェアを使っている機械加工工場にアプローチし、既存の業務やソフトウェアについて気に入っている点や不満に思っている点を聞き取ることです。

おすすめ

最後に、今月見つけたちょっと面白いものを2つ紹介します。

Firefoxのページ全体スクリーンショット

よくウェブサイトのスクリーンショットを撮るのですが、必要な情報を1画面に収めるのに苦労します。特にモバイルサイトでは表示領域が小さくて大変です。そんなとき、Firefoxのコンテキストメニューに「スクリーンショットを撮る」という項目があることに気づきました。

Firefoxの「スクリーンショットを撮る」機能

Firefoxの素晴らしいスクリーンショット機能

2クリックでページ全体を保存できます。

Firefoxのページ全体をスクリーンショットする機能

Firefoxでは表示部分だけでなく、ページ全体をスクリーンショットできます

Is It Ketoのトップページ全体を、複数のスクリーンショットをつなぎ合わせることなくモバイル表示で撮ることができました。とても便利な機能です!

Bruno Simonの3D履歴書

ウェブ開発者のBruno Simonさんが、ポートフォリオサイトをかっこいい3Dドライビングゲームに仕上げています。ブラウザだけでプラグインなしで動くのに驚くほど軽快で、数分間探索するだけでも楽しくなります。

After months of hard but fun work, I'm glad to finally show you my new portfolio 🚗https://t.co/rVPv9oVMud

Made with #threeJS and #canonJS pic.twitter.com/zrq8rpILq1

— Bruno (@bruno_simon) October 24, 2019

まとめ

できたこと

  • ZestfulのサイトをNuxt + Vueで書き直し、事前レンダリングでSEOフレンドリーにしました。
  • ブログ記事“Eliminating Distractions from Social Media, Email, and StackOverflow”を公開しました。
  • Is It KetoのJinjaテンプレートをリファクタリングし、いくつかのバグを見つけてUIの一部をきれいにしました。
  • Is It Ketoの新規記事4本をレビューして公開しました。

学んだこと

  • 先延ばしはやめて、もっと顧客と話すこと。
  • サーバーサイドレンダリングは検索順位に大きく影響するようだということ。

来月の目標

  • 顧客インタビューを5件実施する。
  • Vueの事前レンダリングを使ったハローワールドの詳細を解説するブログ記事を公開する。
  • Is It Ketoの新規記事を2本公開する。

自動車修理工場の写真提供:UnsplashのNeONBRAND氏。

原文は Michael Lynch により に公開されました。

この記事は「muse-spark-1.2-contributor」を使用して翻訳されました。