concrete5はどうしてこんなに楽しくて、ワクワクするんだろう
Posted by admin at 8:52 日時 2014/12/25
この記事は concrete5 Japan Advent Calendar 2014 の最終日の記事です。今年はじめてアドベントカレンダーを呼びかけてみましたが、見事に25日すべてが埋まり、しかも欠勤なしのコンプリート!毎日いろいろな視点からのconcrete5の話が読めてとっても幸せでした。特に、前日の担当のしかたさんの記事「concrete5は、日本の中小企業にとって◯◯◯◯級のウェポンになるかもしれない、という話」は、CMSを検討しているWeb担当者の方にこそ読んでほしい内容でテンションが上がりました。私も、11月に大阪府ビジネスマッチングブログとメビック扇町との共催セミナーで「concrete5は中小企業の希望」というお話をさせていただきました。CMSの導入とは、単なる更新ツールの導入ではない。「費用をかけずに自社サイトを継続的に改善していけるための環境づくり」である!という話です。
2014年は他の地域でも同様に運用にフォーカスした話をしてきました。来年も、より企業のWeb担当者の方にこそ知ってほしい情報を、様々な場所で発信していくつもりですが、アドベントカレンダーではWeb担当者のため、Web制作者のため、という大きな視点を捨てて、
concrete5を使うとなぜこんなに「楽しい」のか。
concrete5の未来になぜこんなに「ワクワク」するのか。
そんな個人的な話をしようと思います。
※ 自分語りをしていたら、1万字を越えてしまいました。おヒマな方は続きをどうぞ。。。
concrete5との出会い
concrete5に出会うまで、自分なりに様々なCMSを案件で使ってきました。と言っても、自慢できるほど比較してきたわけではありません。XOOPSから入って、流行に乗ってMovable Typeを使い、さらに流行に流されてWordPressに移り、その過程でOpenPNEやPlone、EC Cube、Magentoなどをそれぞれいくつかの仕事で導入しました。CMSはこうあるべきとか固い考え方は元々もっていませんでしたし、今もありません。案件に応じて要求仕様に合致するものをサーバーや予算と照らし合わせて選択してきただけです。
そんな自分がconcrete5に出会ったきっかけらしいきっかけは特に無くて、ネットサーフィンしていてたまたま見つけただけです。動画デモを見てこれはすごい!と直感しました。当時はエンジニアとして働いていましたので、クライアントに提案する立場ではありませんでしたが、すぐに自分のサーバーにインストールして動作デモを作成し、営業チームにデモアカウントと動画のURLを添えてメールを送りました。2009年の10月のことです。営業チームの反応は「これは提案で刺さる!」と上々でした。特に、直感的な操作と、豊富な権限設定が響いたようです。当時見つけた動画は、Katzさんが作成したこちらの動画でした。
その後、同僚を誘って2009年のKOFでのKatzさんのセミナーにも行きました(人見知りなのでこのときはKatzさんに話しかけられませんでした…実際に話したのは次の年の2010年でした…)。まさに、Katzさんの活動があってこそのconcrete5との出会いと言えるでしょう。
営業チームにメールを送ってすぐ、とある行政系の案件の提案に「concrete5を推して取りに行きたい」という営業からの依頼がありました。承認権限やコンテンツのバージョン管理などの機能要件があり、concrete5はその要件を満たしていたため「いける!」と思ったそうなのですが、さらにだめ押しで「プレゼンで提出するデザインを、すでにCMSに組み込んだ状態にして動作デモを見せたい」という無茶振りを喰らいました。デモ段階とはいえ、コーディングからCMSの組み込みまで受注前にやっちゃうのは結構勇気が要りますよね。でも、1日でできちゃいました。concrete5のテーマ作成は本当にカンタン!そして、無事受注となります。
concrete5は、お客さんが楽しんで更新してくれる!
concrete5で受注した初案件は、初めての導入ながら、独自ブロックの開発を含むもので、開発に2ヶ月くらいかかりました。当時はまだconcrete5の解説本は英語でも出ていなかった時期なのですが、concrete5の設計自体が把握しやすい、統一感のあるものだったので、案外すんなりと構築できてしまったことにも驚きました。しかし、実際の驚きはその後でした。
構築後のコンテンツの作成は、基本的にクライアントが行なうことになっていました。サイトのローンチ時点で500ページはあったと思いますが、1日使い方のレクチャーを行っただけで、きちんとコンテンツが更新されていきました。もともとHTMLの分かる担当者がクライアントの社内にいたという訳ではありません。それどころか、新しいサーバーからのメールの受信設定も分からないと言うので、クライアントのオフィスに行って代わりにメーラーの設定をやったくらいの勢いです。それでも、更新が途切れることはありませんでした。
concrete5以前にも様々なCMSを導入して来ましたが、あまり活用されない、更新されないし、更新されたとしても業務で必要な範囲のお知らせ記事の追加程度、というものだと思っていた自分にとって、様々なコンテンツがクライアントの手で更新されていくということ自体が驚きでした。保守費用もいただいていたのですが、使い方の質問もいただき、サポートしました。もちろん、使いにくい、分かりにくいという苦情も色々ありました。でも、そもそも苦情が来ることすら、それまで全然なかったんですよね。なぜなら、更新されないから。
使いにくいと文句を言われつつも、少々のサポートで、HTMLもPHPも全く分からないクライアントの担当者でも、プレゼントキャンペーンの特集ページを作成し、応募フォームを設置し、キャンペーンの実施期間を表示権限で設定して、キャンペーンを社内で回すことができていました。そして運用すれば当然利用者からの反応があり、成果が出るわけで、クライアントの担当者も喜んでいたと思います。
やる気のあるクライアントと仕事できると楽しい!
その後、私は勤めていた制作会社を退職し、2010年からフリーランスとして活動し始めました。その頃にはWordPress人気の盛り上がりもあり、主な受託案件はWordPressのカスタマイズでしたが、自分で提案するものはconcrete5にしていました。そうして経験を重ねて行くうちに、ますますconcrete5の魅力に取り付かれて行きました。
concrete5は、「やる気のあるクライアントほど喜ぶ」CMSです。決して「自分でPHPも書けるクライアント」ではありません。HTMLなどの技術はないけれど、ウェブの運用を通してやりたいことがあり、それがCMSで実現できれば喜んでくれる、そういうクライアントです。
制作者としては、当然やる気のないクライアントの仕事より、やる気があるクライアントの仕事の方が楽しいですよね。もちろん、やる気があれば予算も考えてくれます。ただ作るだけなら、concrete5よりもっとウェブサイトを作りやすい手段がいくらでもあります。やる気のあるクライアントと仕事をしたい、そういう視点でCMSを考えれば、concrete5のようにプログラミングの知識がないクライアントの使いやすさこそ、最優先で考えるべきではないでしょうか。
concrete5は、発想の転換が楽しい!
クライアントの楽しさも大事ですが、実際の仕事で使うには、制作者にとっての楽しさも重要ですよね。concrete5は、決して「ラクして作れる」「早く作れる」というCMSではありません。楽に、早く作れるCMSが、なぜ楽に早くできるのかというと、大きな理由が「既存の作業の感覚とワークフローを踏襲できる」という点にあります。例えば、既存の作業が「ワイヤーフレームからデザインカンプを起こし、HTMLでコーディングする」というワークフローだった場合、コーディング済みのHTMLにテンプレートタグを埋めていくだけで完成する、というCMSが楽に、早く作れると思います。concrete5の場合、ワイヤーフレームの段階から、まずページタイプ、エリア、ブロックというconcrete5がコンテンツを管理するレイヤーに沿って考え、構築時点でもこれらの概念に従う必要があります。
しかし、普段のWeb制作と同じ感覚で作れるということは、何も進歩してないということではないか?と思うんですよね。concrete5のルールに合わせて発想すると言うことは、それまでのWeb制作の感覚を捨てて、運用を基準にした発想に転換すると言うことです。これが、実はとても楽しい。弊社で受注する案件でも、concrete5の都合で実装方法を発想しません。常に誰が使うのかを意識して設計しています。ぜひこの感覚の違いを体験してほしいと思います。
concrete5は、細かい達成感を積み上げていけるのが楽しい!
これは主にWordPressとの違いになると思いますが、WordPressではテーマの中で表示と機能が分離されておらず、またあらゆる表示パターンに対応させるために、テーマが大きくなりがちです。また、テーマ内の1か所のミスがサイト全体に影響を与えるため気が抜けません。
concrete5では、テーマ(外観)とブロック(機能)がまず分離しています。テーマの中でも、ページタイプはそれぞれ独立していて、サイト全体のことを考える必要性がありません。ブロックもカスタムテンプレートを切り替えることで見た目をカスタマイズするため、こちらもサイト全体のことを考える必要はありません。これは、プログラミング用語で言う密結合と疎結合の違いに似ています。
密結合なシステムは、各要素が分離していないため、何を作るにも全体への影響を常に考えないといけないため気を使いますし、全体ができ上がってみないとまともに動くものになりません。でき上がったときの感動は大きいですが、それまではストレスの溜まる作業です。
疎結合なシステムでは、細かい部品単位でものを作っていけますし、それぞれが独立しているため、作ったものは全体に影響を及ぼしません。そのため、ひとつひとつの部品ができるごとに成果を確認でき、達成感を積み上げていくことができます!これが実は、かなり快感。
concrete5は、作ったものが財産になるのが楽しい!
concrete5は既存のWeb制作のワークフローとは異なる、という意味で「ラクして作れる」「早く作れる」CMSではないと書きましたが、実際のところはかなりラクして早く開発できるツールでもあります。え?どっちなの?と混乱されるかもしれませんが、「ラクして作るためのツールだが、横着して作るためのツールではない」とでも言いましょうか。
例えば、CMSの既存のデータベーステーブルを流用してデータを保存したり、機能カスタマイズをプラグインの組み合わせで何とかしちゃったりすると、「後に残らない」し、「使い回せない」んですよね。そのため、案件のたびに似たような作業を繰り返していること、ありませんか?
concrete5で機能開発をする際は、データベース設計から必要で、結構「まともに」作る必要があります。ただ、まともに機能開発するなら、それが楽になるためのツールは揃っています。まさに、PHPフレームワークと同じです。このようにまともに作ったものは「後に残る」。開発したブロックはコードとして残り、次のサイトでインストールすれば使い回せます。さらに、コードをそのままパッケージ化すでばマーケットプレイスに登録することもできます。
もちろん、新しいブロックの開発とまで行かなくても、例えば既存のブロックのカスタムテンプレートでも、一度作れば次のサイトでもサーバーにアップロードするだけですぐに使える。ナビゲーションのマークアップや、新着情報一覧のマークアップなんて、コーディングする人が毎回違うとかでない限り、そうそう変わらないですよね?であれば、オートナビやページリストのテンプレートは、作れば作るだけ次の案件で作る数は減っていくはずです。案件を通して、工夫すればするだけそれが自分の財産になり、次の案件に活きていくのは楽しいです。そして、リア充になれちゃいます!
http://www.slideshare.net/naonyan/20140928-39607982
concrete5には、こういう「車輪の再発明をしない」文化があります。作ったものはできるだけ使い回す。そして、作るとめんどくさいものをコアに実装した場合は、すべてconcrete5を使って開発する人のために再利用可能にしておく。疎結合な設計であることも関係していると思います。
concrete5は、コミュニティが楽しい!
ここまで自分語りをしてきましたが、concrete5を面白がっているのは自分だけではありません。色んな人がconcrete5にハマり、concrete5を愛用しています。そしてそれは、Web制作のプロだけではありません!プログラミングなしに自由な運用を可能にするCMSだからこそ、色んな方が勉強会に来られます。そして、そんな勉強会では、Web制作を生業にする同業者だけが集まる勉強会の何倍も勉強になります!実際、Web制作者以外でconcrete5の勉強会に来られる方は、相当にウェブサイトの運用に期待と熱意をもってらっしゃる方ですから、当然とも言えますね。
さらに、Web制作のプロ側で勉強会に参加する方も、「どう作るか」ではなく、「どう運用するか」「何を価値として提案するか」といった視点で考えておられる方が多いように思います。これがまた、楽しい。もちろん、「何を作るか」という視点もエンジニアとしては胸が躍る話題ではあるのですが、それだけでもつまらない。concrete5のコミュニティには日々新しい発見をもたらしてくれる奥の深さがあると思います。嘘だと思うなら、アドベントカレンダーを最初から読んでみてください