Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
プラグインの開発とアドオン販売まで
Search
Katsushi Kawamori
June 03, 2018
1
2.2k
プラグインの開発とアドオン販売まで
社交ダンスの先生がプラグインを開発しアドオン販売を始めました。その経緯とECサイトの構築について。
Katsushi Kawamori
June 03, 2018
Tweet
Share
More Decks by Katsushi Kawamori
See All by Katsushi Kawamori
WordPress で Web サービスの構築
dodesyo312
1
700
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
Thoughts on Productivity
jonyablonski
67
4.3k
The Cost Of JavaScript in 2023
addyosmani
45
6.7k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
Why Our Code Smells
bkeepers
PRO
334
57k
Docker and Python
trallard
40
3.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
400
Code Review Best Practice
trishagee
64
17k
Side Projects
sachag
452
42k
Ruby is Unlike a Banana
tanoku
96
11k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Transcript
プラグインの開発と アドオン販売まで 社交ダンスの先生がプラグインを開発し アドオン販売を始めました。 その経緯とECサイトの構築について。 Katsushi Kawamori @katsushi-kawamori on WordPress.org
and Slack 河森 克至
自己紹介1 •千葉県松戸市在住、勤務 松戸市 古くからの水戸街道の宿場町 •なぜ、WordCamp Kansai ? WordCamp Tokyo は、9月の第3週
•仕事の都合で出席できない。 •WordCamp kansai 2016 に誘われて以来 の縁だと思ったので。
自己紹介2 •社交ダンス教師 ケヅカダンスアカデミー松戸勤務 1997年9月〜 •プラグイン開発者 2013年3月〜 •アドオン販売者 2017年8月〜
社交ダンスの先生? •10年前までは、プロ競技会に出場していま した。 •教室で個人レッスン、グループレッスンを 行い、収入を得ています。 •お客様とプロアマミックス競技会、お客様 とパーティーでのデモンストレーションに 出演しています。
10年前 教室のパーティーで の、 プロデモンスト レーション
現在 教室のパーティーでの、 お客様 とのデモンストレーション
プラグイン開発以前 2003年9月教室のサイトを立ち上げました。
当時のサイトの特徴 •オーナーの仕事仲間が日記形式のサイトを作ってお り、その様なサイトにしようと話し合い立ち上げま した。 •プロパイダーから付与されたスペースを利用しまし た。ディスク容量100M、perlのみ使用可、なので、 blosxomを利用しました。 •その後、MySketchに移行しました。 •日記以外は、HTMLを書いてFTPでアップしました。
プログラミングスキルの習得 •パーティーや競技会の写真、講習の動画 を掲載しようという事になりました。 •これも、HTMLを書いて、メディアファイ ルと共にFTPでアップしました。
プログラミングスキルの習得 •HTMLを書くのが面倒くさい!! •メディアファイルのアップだけで、あと はディレクトリ以下を検索して表示させ るプログラムをperlで作成しました。 •このプログラムをGalleryLinkと名付け、 フリーソフトとして配布しました。
WordPress へ •2012年、写真や動画がサーバーを圧迫。手狭 になり、レンタルサーバーを借りました。 •PHPが利用できるようになったので、 GalleryLinkを移植しました。PHPの関数の多さ と使い易さに感動しました。 •2013年初頭、WordPress をインストールして 、その素晴らしさに圧倒されました。
プラグイン作成 •GalleryLinkの代替えをプラグインディレクト リで探しましたが、用途に合うものが見つ かりませんでした。 •では、プラグインに移植してしまおう!! •苦闘の始まりです。
種々のプラグインの作成1 •教室のお客様は、高齢者。ガラケーを使用。 •ユーザーエージェントごとに、テーマや コンテンツや表示を切り替えたい! •UserAgent Themes Switcher、UserAgent Content Switcher を作成。
•別のシステムのブログから引っ越し、 投稿日時等が上手く引っ越せなかった。 •投稿日時を変更したい。 •Post Date Time Change を作成。 種々のプラグインの作成2
•ブログ内の全画像を見たいというお客 様の要望。 •Gallery Link を作成。 •後に、 Infinite All Images を作成。
種々のプラグインの作成3
•オーナーの要望で、連絡をティッカー で表示させたい。 •Simple Ticker を作成。 種々のプラグインの作成4
•オーナーの奥様が講習の動画を簡単に 見たいと要望。 •iPad のアプリ で見れるようにする。 •メディアのフィードが必要。 •Gallery Link で対応。 •後に、MediaLibrary
Feeder、 Media Feed を作成。 種々のプラグインの作成5
•メディアライブラリーに大容量の動画 をアップしたい。 •PHPのアップ容量が制限されている。 •Media from FTP を作成。 種々のプラグインの作成6
プラグイン Media from FTP の誕生 人気プラグインとなる! wp-content/uploads ディレクトリ以下にある、 メディアライブラリーに登録されていない ファイルを検索して、メディアライブラリー
に登録するものです。
最初の評価は酷かった 実用のために作っ たので、ファイル をチェックボック スで選択する機能 すらありませんで した。
ファイルをチェックボック スで選択する機能を付加。 五つ星のレビューがついた! 嬉しい!
調子に乗り、サポート フォーラムで要求がある と、機能を追加。 五つ星のレビュー が増えて人気が出 ました。
どの様な人がこのプラグイ ンを使用しているのか? ほとんどが、ビジネス用 途。自分には収入無し。
虚しい!
お金が欲しい!
そうだ!京都へ行こう!
WordCamp Kyoto 2017 に出席しました。
2016年4月に、WordCampへ の協力を北島卓様より、打 診されていました。 その際は、都合が合わず 、お断りしました。
WordCamp Kyoto 2017 で 、北島様他、何人かの方 とお話しして、アドオン 販売を決意しました。
アドオンのアイデア サポートフォーラムでのやりとり からアイデアを得ました。
登録時に カテゴリーを 追加する アイデア
登録時にEXIFデータをメディアライブラ リーのキャプションに挿入するアイデア
Cronによりスケジュールされた間隔 で自動で検索し登録するアイデア
フォーラムに書き込んで いただいた方々に 感謝いたします!!
アドオンのライセンス GPL 100% としました。 WordPress がGPL なので。
アドオン作成の苦労 •他のプラグインが有効かチェックする 事にはまる。 •Is_plugin_active() 関数の挙動 •動作する時、しない時がある? •function_exists(), class_exists() を採用。
アドオンの販売 •販売形態は売り切り。 •500円、1000円、2000円×2 とした。 •BASEとGumroadで、販売を始めた。
1カ月全く売れなかった。
何故? •客は、買う気になって、購入ボタンを押し た時に、別サイトに移動させられると、購 買意欲を削がれるのでは? •自サイトに、ECを導入することを決意。 •Easy Digital Downloads を導入。PayPal 決済。
•すぐに、売れ始める。
欲が出た。 •値上げに踏み切る。 •2500円、5000円、10000円×2 に、値上げ。 •また、売れなくなる。
適正価格、機能追加 •2000円、4000円、6000円×2 に、値下げ。 •自動アップグレードに対応。 YahnisElsts plugin-update-checker https://github.com/YahnisElsts/plugin- update-checker/releases/tag/v4.4 •客足が戻る。
ECシステム変更 •WooCommerce に変更。 •決済方法は複数あった方が有利なので、 Stripe を導入した。
EC構築で気を使った事 add_filter( 'woocommerce_checkout_fields', 'disable_checkout_form_woocommerce' ); add_filter( 'woocommerce_enable_order_notes_field', '__return_false' ); function
disable_checkout_form_woocommerce( $fields ){ unset($fields['billing']['billing_company']); unset($fields['billing']['billing_address_1']); unset($fields['billing']['billing_address_2']); unset($fields['billing']['billing_city']); unset($fields['billing']['billing_postcode']); unset($fields['billing']['billing_country']); unset($fields['billing']['billing_state']); unset($fields['billing']['billing_phone']); unset($fields['order']['order_comments']); return $fields; }
フィルター適用前 フィルター適用後
翻訳について • アドオンの販売のためには、 元のプラグイン Media from FTP の多国語化が不可欠。 • 日本の
WordPress フォーラム で、GlotPress を Hinaloe 様か ら教えていただきました。
GlotPress対応後 •すぐに、ドイツ語の翻訳者が現れました。 •それ以後は、 Media from FTP に、良いレビューをくれた方 に、Slack でダイレクトメッセージを送って翻訳を促しまし た。
•現在、7ヶ国語対応です。 • Media from FTP のスペシャルサイトを立ち上げて、7ヶ国 語に対応させました。こちらの方の翻訳は、有料サービス Gengo を利用しました。
他のプラグインの翻訳 •自分のプラグインを翻訳していただき、 ありがたかったので、他のプラグインの 翻訳をGlotPressで行うようになりました。 以下のプラグインを翻訳継続中です。 •Media Library Categories •WP Crontrol
•Server IP & Memory Usage Display •Loginpetze
エゴサーチ •IFTTT を使用。Twitter で検索ワードがヒット すると、Line に通知が来るようにした。 •プラグインが、セキュリティの問題で、2日 間ほどクローズした時に役立ちました。 •火消しの Tweet
、コメント 、ReTweet を行 い、大火になるのを防ぎました。
今後の展開 •収入を安定させるために、売り切りではな く、定期支払いが必要。 •定期支払いでも、購入したくなる魅力的な 、商品にするには? •アドオンは売り切りにし、低額の年間定期 支払いでの会員料金を支払っていただく?
最後に • プラグインの開発のアイデアは、いろいろな所に 転がっています。必要は発明の母です。 • 完全なものを作らなくても、取り敢えず公式ディ レクトリにあげてみるべきです。サポートフォー ラムに何か反応があるはずです。サポートフォー ラムに育ててもらえるような事があるかもしれま せん。
• プラグインのアドオン販売は、世界中が顧客にな る可能性があります。やり方次第で、貴重な収入 源になると思います。