Snow Monkey を コントリビュート と サブスクリプション で振り返る

本記事は「Snow Monkeyアドベントカレンダー 2019」の 08日目の記事 です。

1年めのサブスクリプションを終えた

Not Wiz では、2018年12月08日に Snow Monkey にサブスクリプションを始めました。そして、今日この日(2019年12月08日)に、1年を迎えて最初のサブスクリプション期間が終了、そして次の期間に自動更新されました。そのサブスクリプションをした最初の1年間を振り返ってみます。

Snow Monkey サブスクリプションをした最初の1年

このサブスクリプション購入をした1年の間でも

  • テーマのみでも、約100回に近い回数のアップデートがされました(メジャーバージョンは v4 から v8 へ)
  • Snow Monkey 用のプラグイン(アドオン)が、新しく4つ開発されました
  • サポートフォーラムで、実際に解決された相談数は1週間で30以上の場合もありました

と言う、これらを例にしただけでも、Snow Monkey は他に類を見ない開発速度で価値を強められていました。

この、Snow Monkey のアップデートの内容については

に書かれています。

しかし、その1年でサブスクリプションをして最も価値があったと思うことは、Snow Monkey を通して様々な方と知り合えたことと、様々な意見を交換できたこと、そして貢献と言う部分です。

サブスクリプション開始時(2018年12月08日)

Snow Monkeyは、v5βの少し前の頃です。WordPress 5.0 が出たのが、2018年12月06日でした。WordPress本体にブロックエディター機能が追加されたことで Snow Monkey Blocks も同時に気軽に使えるようになった感じがしました。

その頃の Snow Monkey は、まだ get_template_part() が使われた構造でした。その為、今でこそできる、独自性のある「テンプレート置換」と言う仕組みはありませんでした。

ケミ

その頃の Snow Monkey は、他のテーマと同様に子テーマを使ったカスタマイズやデザインスキンと言った形でカスタマイズをするような仕組みでした。

Snow Monkey Blocks を使う事で、HTMLを書かずにページを簡単に作れたと言う部分は今と同じで、そこがサブスクリプションをする最も魅力なポイントとしてウリだったイメージもありますね。

と言っても、その頃の Snow Monkey Blocks も、まだ使えるブロックは多くなかったと言う印象を持っています。

その頃はまだブロックエディターが出たばかりなので、Snow Monkey Blocks でもどこまで可能性を持つかは未知数な所がありました。また、Not Wiz でも Snow Monkey に関して 用意されたテーマデザイン(デザインスキン) や Snow Monkey Blocksのブロック を使うだけと言う印象しかありませんでした。

Snow Monkey Member Post が無料期間でした

Not Wiz が Snow Monkey のサブスクリプションを開始した時には、Snow Monkey アドオンとして3つ目のプラグイン「Snow Monkey Member Post」が Snow Monkey ユーザー限定のみ無料ダウンロード可能と言う期間でした。そう、サブスクリプションサービスの1つ「有料アドオンの期間限定無料配布」でした。「Snow Monkey Member Post」は、2018年12月07日にログインフォームとユーザー登録フォームのサポートもされ使いやすさも向上していました。

ケミ

メンバーのみ閲覧可能になる機能や、ログインフォーム、登録フォームが気軽に表示できる機能が魅力だったこともあります。そのアドオンが通常 8,000円なのに無料になると言うことに、見事にサブスクリプションの抵抗が薄れ、飛びついてしまうきっかけになってしまいました。

(期間限定無料に弱いのは、関西人ゆえでしょうか…)

第1回 Snow Monkey ミートアップより前のできごと

  • Snow Monkey オンラインコミュニティが、Facebook グループから Slack に変更されました
  • Snow Monkey v5 に正式にアップデートがされ、template 系のフックも多く追加されました
  • Not Wiz で協力してくれている葉月さんを通して、サポートフォーラムで多くのやり取りをしてもらいました
ケミ

私は、開発案件で忙しかったこともあり、やり取りの元を指示するのみ。ほぼ葉月さんに任せっきりでフォーラムに書いてもらっていました。(結果、その頃のやり取りは丁寧だったのになどのネタになっています)

現場ではまだまだ足りていなかった 機能 × 機能

Snow Monkey がアップデートをされていっても、ウェブ制作の現場の声に応えていると使いにくいと思う部分とかはいっぱい出てきていました。

「テンプレート置換」と言う今に引き継がれている Snow Monkey の大きな特徴は、Snow Monkey v5 から導入された便利な仕組みです。しかし、それでも当時はウェブサイト制作現場からの視線では使いにくい仕様でした。Snow Monkey のアップデートは早いと言っても、その現場の声に Snow Monkey 開発者であるキタジマ タカシ氏がどこまで応えてくれるかは未知数なところもありました。

「なら、可能な事はできるだけ自分自身でやるしかない。」と言う気持ちになっていきました。

そして、機能を自分自身で開発するとともに、Snow Monkey 公式にもリクエストを送りつけた2018年冬から、Not Wiz の Snow Monkey コントリビュートは始まっていくことになります。

追加した機能を勝手に送りだした

「カテゴリー一覧ブロックを追加した」と送りつけた

ブロックエディター(Gutenberg) にも「カテゴリー一覧ブロック」がありましたが、そのカテゴリー一覧は、あまりにもシンプルすぎたので現場でも使い道がありませんでした。また、Snow Monkey のオシャレ感にも合わないと言うことからも、カテゴリー一覧ブロックを何とかして実装を行い、Snow Monkey 公式へ機能を取り込んでほしいと依頼(プルリクエスト)したのが2018年12月初期のことでした。

ケミ

このプルリクエストでは、構文エラーがすごく出ていた記憶があります。キタジマ タカシ氏が、リクエスト結果をかなり綺麗に修正や返答もしてくれました。その結果、何とか Snow Monkey Blocks に取り込むことが実現したのです。

「星評価ブロックを追加した」と送りつけた

カテゴリー一覧が追加された後に、ウェブ制作現場でも「お客様の声ブロック」を使っていましたが、レビュー項目や評価記事の書きにくさから、「星評価ブロック」を制作開始していたのも12月初期のことでした。

ケミ

「星評価ブロック」の制作を開始した時に最大の問題にいきなり出てしまったことを覚えています。当時の Snow Monkey では、Font Awesome 5 の Solid Style が使えなかったと言う問題でした。半分の星アイコンは、Solid Style なのです。そのアイコンが Snow Monkey を普通に使っているだけでは表示できないと言う状態だったのです。その為に SVG を直接書いてリクエストしようとすると Font Awesome を使えば良いと言う話にも繋がったり。それなら、Solid Style が使えなければなりません。その為にもサポートフォーラムで対応してもらいました。その後に Font Awesome のアイコン状態をブロックエディター上で色々しなければならないと言う結構難しかった問題も出たりしましたよね。そちらの問題もキタジマ タカシ氏に Twitter などでやり取りしていただいたことで実現できました。

そうした複雑な経緯がありましたが、無事に Snow Monkey Blocks に取り込まれました。2018年12月中旬のことでした。

個人的に「星評価ブロック」は今でも気に入っているブロックの1つで

5.0

の良いブロックと思っています。

「行追加機能を作ったので追加を…」 → 却下!

当時、「ステップブロック」のステップ追加ボタンが使いにくいと言う問題がありました。そのために、行追加ボタンと言う機能を作ったのです。しかし、そこで初めてキタジマ タカシ氏から「便利と思いますが…」と却下されました。理由は、複数の項目に対応出来なかったことなどがあります。
結果的に項目は複数になったことやブロックエディターの構造も変わりました。今では却下されて良かったと思っています。

ケミ

この時にブロックの insert の命令仕様周りを勉強しました。そのことは、後にブロックテンプレート機能の Insert部分 に応用できています。

編集時に「高度な設定の class 設定」を反映するように

この機能をプルリクエストしたのは、正月を終えて2019年01月辺りです。
テーマのカスタマイズをしていたりすると、 class を追加していくことが多いのです。しかし、追加した class がエディターで反映されないと言う状況がありました。とは言え、要素を消えるようにする class の場合は、エディター上でも消えるようになると言うのはどうなのかなと言う点もありました。

ケミ

そのことをキタジマタカシ氏と話した結果、「編集中はもちろん消えない方が良い。でも、実際の表示では消えるので、それって一応は正常じゃないですか。追加する class を書いても正しく表示されてない方が問題」と言うやり取りしたのを覚えています。

本気で色々話し合うとキタジマタカシ氏も本気で応えてくれます。それも楽しいことであり、本気度を試すと言う Snow Monkey のサポートスタイルが大事なことと言うのも今となっては解ったことです。

オンライン上で次々とやり取りされた 仕様 × 仕様

当時は、まだキタジマタカシ氏とはオンラインのやりとりしかしたことのない関係でした。よくこんな得体の知れない人間が勝手に送りつけたコードを取り入れてくれたものです(笑)

また、Not Wiz を協力してくれている葉月さんを通したりしながら、サポートフォーラムでは snow_monkey_template_part_root フックの問題について、色々な考えをお互いやり取りしました。その結果、 snow_monkey_template_part_root_hierarchy フックが生まれたりしました。本気で考えて伝えたことを本気でやり取りしてくれて、そして良いカタチでフックにしてくれたのもすごく嬉しかったです。

第1回 Snow Monkey ミートアップ

第1回 Snow Monkey ミートアップでは、WordCamp 実行委員の方々や、WP ZoomUP運営の方々、WPミートアップの方々、その他 WordPress を使われているユーザーの方々など、Snow Monkey を通して様々な人たちと出会えたことを今でも覚えてます。気軽に声を掛けていただきながらも「また、WordCamp などのイベントで会いましょう」とか「オンラインでも勉強会をしているから是非参加して下さい」などの招待をいただきました。このイベントを通して、様々な人が様々なことをされていると知り、今に繋がる WordPress の興味のキッカケになりました。

キタジマタカシ氏やその他の方々とも会ったのは、その日がはじめてです。

ケミ

当時も女性キャラのアイコンを使っていたので、「ケミさんって、もっと女性のイメージと思ってた!」と言う言葉を聞きました。(後に「ケミさんは電子の妖精が真の姿」「現実世界で降臨する時は、仮の姿」と言うネタへ繋がることに…)

葉月

書き方に色んな意図を感じるんですけど…(汗)

私は女性です。美少女です。

ケミ

…葉月さんが、美少女…だと…?…嘘…でしょ…?

その 第1回 Snow Monkey ミートアップのイベントレポートは、次の記事にまとめています。

ミートアップのやり取りで、さらに便利に使いたい欲が急上昇

アコーディオンの矢印対応、開いた状態での追加機能をプルリクエスト

第1回のミートアップ後に意見があったことです。私も同意見だったので、早めにやってしまいたいこともあり、すぐに対応しました。そしてすぐに取り込んでいただきました。

ブロックアイコンなどを Snow Monkey のテーマカラーに

Snow Monkey Blocks の弱点の1つとして、ブロックのアイコンが公式で用意されているアイコンを使用されているので、Snow Monkey Blocks のブロックなのかすぐに判断ができない問題がミートアップ時にもありました。ブロックのアイコンの色を変更する方法が解った際には Snow Monkey オンラインコミュニティで意見を聞いたりしてから、やってみました。そして取り込まれ、現在に至っています。

カウントダウンブロック、ディレクトリ構造ブロックの追加も

技術的なことを書いている時、ディレクトリ構造ってどう書こうかと思っていたのもありました。Snow Monkey 公式ウェブサイトでは罫線()と言った文字を組み合わせてディレクトリ構造の表示をやっていたのですが、実際に真似をしてみると意外に書きにくい & ディレクトリ構造を間違えて書いた場合の修正が大変だったりしました。それであれば、専用のブロックを作ろうと開発を開始しました。

また、お正月時に年末のカウントダウンをできなかったと言うこと、Snow Monkey 公式ウェブサイトでプレゼント企画があると言うこともあったので、カウントダウンをしたいと思い、「カウントダウンブロック」の開発も開始しました。

サポートフォーラムでも 報告 × 質問 × 回答

他に、様々な問題やバグ報告をどんどん書いたりしました。特にその後大きく変更されたことは snow_monkey_get_template_part_<slug> フックをコメントエリアで使おうとした件でしょうか。色々と難しい部分があり、やり取りをした結果、今の Snow Monkey カスタマイズで多く使われている snow_monkey_template_part_render フックがラッパーされるキッカケにもなったのではと思っています。

ブロックテンプレート機能を作りたいと言うやり取りも

ある日、発端を忘れましたが「組み合わせたブロックをテンプレートのように入れられる機能が良い」と言うようなやり取りをしました。キタジマ タカシ氏も「やりたい、けどやり方が解らないので優先度として低いかも」と言う感じでした。私自身は「勉強にもなるし、作ってみる。期待しないでね」と考えていました。「よし、勉強すっぞ!」と言うノリで、勝手に始めることにしたのです。

ケミ

実際に機能的なことも調べながらやらないといけないことでしたが、そもそも UI(画面)の仕様も無かったので、何処から手をつけようか迷いました。とりあえず「やろうと思っても、画面ってどう言うのが良いんだろう?」と言う相談をしてました。「サイドバーで出したい」とか基本的なやりたい部分だけキタジマ タカシ氏も言い出してくれましたが、決めつけない所は決めつけずな感じでした。結果としては、こちらで UI を自由に作れたと言う感じです。猿アイコンを出すようにしたり、色々と勝手に実装した所も多かったです。お陰で気楽にできた所も多かったです。もちろん、かなり勉強ができました。

葉月

やり方が解らないからあえて深く言えないのもあったかもしれませんが、プルリクエストをされた後には、そのままリリースはされずに、issue(課題)が立ちましたよね。いくつか問題のある部分をお互い修正していました。プルリクエスト後も気になる所などは、とことん改良する形で取り込んでくれるのは嬉しいですよね。まさに中途半端なものは要らないの精神が感じられます。

ブロックテンプレートのプルリクエストをしたのが 2019年6月22日。その後、2019年06月25日前後に ブロックテンプレート機能を追加した形で、Snow Monkey Blocks v4 はリリースされました。

ケミ

早い段階でプルリクエストを取り込んでくれたことや、また、課題を調整してくれたために、2019年07月前の大きなアップデートになってました(笑)

(ブロックテンプレート機能が活用されているかは、別の話ですが…)

2019年10月 には、課題の方もちょっと解決しました

ブロックテンプレートを選択されている所に挟みたい」と言うキタジマタカシ氏の意見を何とかできそうな目処がついたので、課題が立ってからかなり間が空きましたが、2019年10月には課題の少し解決したものをプルリクエストしました。「空要素時に正しくできない」と言う意見や報告をもらったりして、追加のプルリクエストもしています。この課題の解決時も、ワクワクする開発のやり取りができて面白かったです。

絞り込み検索機能を作ったり、GhostKit の機能を使えるようにしてみた

Snow Monkey v5 の頃にウェブサイト制作案件で必要になって作っていた「絞り込み検索」の機能が古くなり、動作的にも色々問題が発生するようになりました。そこで、Snow Monkey v7 向けに再度作り直した結果から「Not Wiz Serch Criteria」の開発も開始しました。

また、ブロックのアニメーションを GhostKit みたいにやりたいと言うやり取りがあり、Snow Monkey Blocks でも GhostKit の機能を使えるようにする「Ghost Kit extension to Snow Monkey Blocks」の初期版も開発を行いました。

ケミ

これまでやってきたことを基にして、プラグイン開発をいくつか行ったと言う感じです。それと同時に、旧ウェブサイトから「Not Wiz Grimoire」にリニューアルして、カスタマイズ記事の不定期連載を開始しました。

(今では記事を再構成してチップ集な形にしましたが、当時は連載的な記事を構想していました)

最初から開発可能だったのではなく、Snow Monkey Blocks のプルリクエストや、サポートフォーラムで質問と回答をしてきた経験があったからこそ開発できた部分も多いです。

第2回 Snow Monkey ミートアップ in 大阪

2019年08月 には、「第2回 Snow Monkey ミートアップ in 大阪」が行われました。

このイベントでは、キタジマタカシ氏がコンタクトを取ったことで、SWELL と言う WordPress テーマの作者である了さんが参加されました。Snow Monkey 以外の WordPress テーマについての考え方を知るキッカケにもなりました。

Snow Monkey を使用しているユーザー同士がもっと繋がれたのももちろん、またSWELL と言う WordPress の他のテーマのことを知れたことや、Snow Monkey を通して WordPress のことをより知れるイベントだったと思います。

WordCamp Tokyo 2019 × WordCamp Osaka 2019

第1回 Snow Monkey ミートアップで知り合えた方と久々に再会しました。そして、オフ会のように盛り上がったイベント前夜の「Snow Monkey 飲み会」も。

ケミ

Snow Monkey ブースを手伝うことで、どう言う形で WordPressに関わっている人たちにも応援されているか知れたりもしました。「去年のブースは、キタジマタカシ氏1人だけだったのに、いつの間に社員雇ったの?」と言う会話もありました(笑)

イベント後のイベントレポートの感想では「Snow Monkey ブースを手伝ったって言うの羨ましい!」と言われたりもしています。次回は羨ましがらずに一緒に参加しましょう?

今、振り返ってみて思うことは

「ケミさんって Snow Monkey のどう言う人?」と聞かれたこともあるのですが、振り返ってみた通り。

ちょこちょこと勉強ついでに Snow Monkey を手伝っていたら、もっと Snow Monkey を好きになっていた。Snow Monkey ユーザーの1人です。別に大したことをやっていませんし、できません。

「何でそんな手伝ってるの?」と言うのも何度か聞かれました。しかし、サブスクリプションをして得ているものは、Snow Monkeyと言うテーマや、書かれているサービスだけではないと言う考えを持っているからです。

Snow Monkey サブスクリプションの価値 = 人それぞれ

Snow Monkey を知らない方や、あまり詳しくない方にとって、Snow Monkey のサブスクリプションは、テーマやサービスに対して、または開発の応援として行っていることだと思っています。それは、決して間違いではありません。

WordCamp Tokyo 2019 や WordCamp Osaka 2019 では「Snow Monkeyと言うテーマを販売しています」と言う言葉を、テーマの価格を聞かれた際でも「価格は1年で15,000円ほどです」「テーマの使い方や、カスタマイズ方法が不明な場合は、ユーザー向けにフォーラムのサポートがあります」などと言った説明を、開発者であるキタジマタカシ氏本人も同イベントに来場された方々にしていました。

しかし、私は「サブスクリプションの価値は、人それぞれ」と思っています。

私は、Snow Monkey サブスクリプションの価値は、コミュニティでもあるし、経験でもあるし、そのリソースに含まれている技術でもあると思ってもいます。

ソースコードを読むことで習得できたこと、コミュニティを通して学べたことは、多々あります。それ以外も含め、私が Snow Monkey サブスクリプションを通して得た経験です。私が思っている Snow Monkey サブスクリプションの価値です。

1年目は非常に濃厚な経験を、サブスクリプションで得れたと言えます。

サブスクリプションの価値を高めるためのコントリビュート

Snow Monkey がよりよくなることも、自分自身がサブスクリプションしているプロダクトの価値を上げることに繋がります。結果として、サブスクリプションで得られる価値は高くなります。お得感が向上します。

もし、サブスクリプションをして、テーマやプラグインを提供されているだけであれば、それは確実にもったいないでしょう。

なので、サポートフォーラムに情報を共有したり、Slack のオンラインコミュニティでワイワイと雑談してみたりしてみてください。その方がお得です。1年15,000円(税別)です。決して安くはない価格でしょう。面白いゲームが2本くらい買える値段ですよね?(笑)

コミュニティが楽しいと言うことは、1人だけの価値感を上げることではありません。Snow Monkey ユーザーみんなが盛り上がります。みんなの価値観が向上するでしょう。楽しい価値観を高めてみませんか?

最後に

ケミ

2年目の Snow Monkey サブスクリプションは、どのような価値を得られるのか?これからも楽しみです。

この記事の筆者

Kmix39(ケミ)

電子の妖精。当ウェブサイトの記事制作などを行なっています。
金融・不動産・医療・教育などの数々の業種のシステム開発を経験を積み、スマートフォンアプリケーションと WordPress などのウェブアプリケーションを日々勉強中。