「ブログ一生懸命書きます」って言って全然書けないのは「ネタが無いというイイワケに負ける自分の弱い心」のせいだということに気づいたので、連載を始めたいと思います。
題して、Webサービスを作ろう!【初級編】
今回は初級編ということで、ウェブサービスを作ったことが無い方や、ほかの人はどうやって作ってるのかな?というのが気になる方に、僕はこんな風に作ってますよという一例をお見せする連載にしようと思います。*1
個人レベルで、よーしパパWebサービス作っちゃうぞー。みたいなノリでよろしくお願いします。
題材は、このブログでもたびたび登場する座右の銘.com。
今までやってきたことの総決算と、やってみたかった新しい事がぎゅーっと詰まったサイトなので、ネタも豊富に出てきそう、というのがその理由です。
それでは、記念すべき1回目のテーマは・・・「挫折しないウェブサービス開発のための4つの心構え」について書こうと思います。
「心構えとかめんどくせー(´Д`)個人で作るウェブサービスなんて思いついたまま作りゃいーんでしょ?仕事じゃねーんだから。ペッ!」みたいな人がいたら俺がぶん殴ります。そんな甘いもんじゃねー!
もちろんWebサービスは、作り手が自由に作っていいです。むしろ自分の好きなものを自由に作るのがウェブサービスの醍醐味ですよね。仕様書や設計図だって必要なければ書かなくたっていいんです。
あれ?じゃあ、何でさっき殴ったの?って話ですが、その答えは後ほど。
- 少なくとも1人は利用者がいるサービスを作ろう
- ウェブサービスを作るには理由が必要
- どんな機能をつけるか考えよう
- ワクワクするまで作るの禁止!
少なくとも1人は利用者がいるサービスを作ろう
さて、ウェブサービスを作り始める前に、「Webサービス」ってなんでしょうね?
Webサービス(ウェブサービス)とは、HTTPなどのインターネット関連技術を応用して、SOAPと呼ばれるXML形式のプロトコルを用いメッセージの送受信を行う技術、またはそれを適用したサービス。W3Cにおいては、Webサービスとは、さまざまなプラットフォーム上で動作する異なるソフトウェア同士が相互運用するための標準的な手段を提供するものと説明されている。
via : Webサービス – Wikipedia
Wikipediaではこんな風に説明されていますが、よくわかりませんよねσ(^_^;)
僕が思うにウェブサービスって「誰か1人でも使ってくれる人のいるウェブ上のサービス」ってことでいいんじゃないかと思います(笑)
これから作るもののハードルはなるべく低いほうがいいでしょ?
なので、誰か1人でも使ってくれる人がいたら、それはウェブサービスってことにしましょう!
誰も使わないようなのはサービスじゃない!
そもそもサービスって使う人があって、はじめてサービスですよね?誰も使わないなら、それってサービスじゃない。
ですから、作る前の心構えとして「最低1人は利用者がいるサービスを作る」事を心がけましょう。
それにはどうしたらいいか?
自分が欲しいサービスを作ったらエエじゃないか!
はい、そうです!
自分がそのサイトの利用者になったらいいんです!
いやいや、ふざけてないんです。ちょ、怒らないでくださいよ!
だって想像してみてください。自分の作ったサービスを、誰も使ってくれなかった時の事を。そんなの絶対イヤでしょ?
でも、「これから作るサービスは、自分が使うために作る」としたらどうですか?
すごく気が楽になりません?ウェブサービスを作るハードルもめちゃめちゃ下がりませんか?
そのうえ、自分が欲しいサービスならニーズがしっかりわかっているから、どんなサービスにしたいかアイデアも沸きやすいんです。
さらには、サービス利用者のターゲットまで明確になりますよね?
自分のためにサービスを作ると、自分と同じニーズを持った人が利用者になります。
つまり、自分が求めているもの=ユーザ(利用者)が求めているものなので、非常に作りやすくなるんですね。
ですから最初の心構えは、1人は利用者がいるサービス = 「自分が利用者になるWebサービスを作ろう」です。
ウェブサービスを作るには理由が必要
さて、あなたには何か作りたいサービスはありますか?
もし作りたいものが無ければ、ここでちょっと考えてみましょう。
日常で不便に思っていることってありませんか?それとも、こんなのがあったら便利なのに、でも構いません。
それが解消されたら助かるなーって思えることがあれば、それがあなたの作りたいものです。
例えば僕が座右の銘.comを作ろうと思った理由はこうでした。
地元にある山本五十六記念館に行った ⇒ 「やってみせ・・・の全文」に出会う ⇒ 名言自体に興味を持つ ⇒ それから色々な名言サイトを放浪 ⇒ どこも広告がたくさんで見辛かったり、使い辛いヽ(´Д`)ノ ⇒ そうだ゜∀゜!!使いやすい名言サイトを自分で作っちゃえばいいんだ!
僕は名言を見たり読んだりするんではなくて、覚えられるサイトが欲しかったんですよね。覚えるといえば学生時代に使った単語帳。ストレス無くパラパラめくっていける様な名言サイトを作ろうと思ったわけです。
名言や座右の銘のサイトはたくさんあります。
これから名言のサイトを作ったって誰も使ってくれないかもしれない・・・。
でも、大丈夫。少なくとも僕は利用しますからねσ(゚ー^*)
ウェブサービスを作り始めるまえに、「なんでこのサービスを作るのか?」というのをシッカリ突き詰めておきましょう。
そうすることで、作りたいものにブレが無くなります。そしてモチベーションも長続きします。
2つ目の心構えは、「サービスを作る理由を明確にしておこう」です。
どんな機能をつけるか考えよう
さあ、作るものが決まったらどんなサイトにするか決めましょう!
僕の場合、作るものが決まったら次に機能を考えます。たぶん人によってはデザインから入る人もいると思うのですが、僕デザインはからっきしダメなんでσ(^_^;)
デザインは苦手ですが、機能が決まるとUI(ユーザインターフェース)はおのずとイメージできます。だから僕は先に機能をリストアップしちゃうんですね。
ウェブサービスの機能を考えるこの作業は、言ってみればサービスに魂を吹き込む作業です。僕、この作業好きなんですよね。
自分の作りたいサービスに「こうだったらいいなー」とか「これつけたらメッチャ便利になるじゃん!」とか、もうワクワクが止まりませんw
ここでは「できる」「できない」を無視して、理想の完成像を描いて機能をリストアップしてみてください。できる、できないなんて考えていたら面白くないし、難しいことにチャレンジしたほうが多くのものを得られるでしょう?高ければ高い壁のほうが登ったとき気持ちいいですからね。*2
ちなみに座右の銘.comを作ったときの機能リストはこんな感じでした。
ちなみに(初)と書いた機能は、今回初めてチャレンジする機能・技術ですから、僕にとっては結構高めの壁だったんですよ。これでも(笑)
テキストや、手書きのマインドマップとかでもいいと思うのですが、閃いたことをタイムラグなしにマインドマップにできるマインドマネージャーのようなツールがおすすめです。上のマップなら大体5分くらいで作れちゃいます。
どこまで作ったらリリースするか決めよう
理想の完成像を描いて機能をリストアップすると、かなり欲張ったリストができますよね?僕のリストもそうですが(笑)
次は、このリストの中から「最低限どこまで作ったらリリースする」という機能を絞り込みます。その状態があなたのサービスのバージョン1.0.0になります♪
座右の銘.comは検索機能を作った段階でリリースしました。作者ページも索引もTwitterBotも、APIも無い状態です。なーんにも無いけど、とりあえず検索できたらサイトとしては利用できますからね。
全部完成してから公開するつもりでいると、ゴールは果てしなく遠く、ハードルは限りなく高くなっちゃいます。途中でイヤになっちゃいますね。。
最低限の機能でもとりあえず公開すると、自分で使いながら追加したい機能が山ほどでてくるし、開発しながら利用者集めもできます。もしかすると、利用者の方からレスポンスももらえるかもしれません。
何よりも、こうしてサービスが稼動し始めると、やるべきこと*3 がどんどん出てきて、引くことができなくなるんですよね(笑)強制的にタスクが生まれるこの状況は、ウェブサービスを作るうえでとてもいいことです。
ですから、Webサービスを作る心構え、その3。最低限の機能を決めてなるべく早くリリースすることを心がけましょう!
ワクワクするまで作るの禁止!
「さあ、機能も決まったし作り始めるか!」
・・・といきたいところですが、まだダメです。
このまま作り始めても、あなたがウェブサービス作りに失敗する可能性はかなり高いと思います。僕、冒頭にぶん殴りましたよね?ウェブサービス作りはそんなに甘いものじゃないんです。
ウェブサービス制作を続けるのは至難の業
ここまでくると、Webサービスを作るのなんて簡単じゃん!すぐに作り始めよう!と思っちゃうんですが、このままだとほぼ必ず挫折します(笑)いくつものウェブサービスを途中で放り投げてきた僕が言うのだから間違いないヽ(´Д`)ノ
ちょっと冷静になって考えてみましょう。
あなたは、お仕事をされてますか?それとも、学生さん?
普段の生活で、ウェブサービス開発に割ける時間はどのくらいありますか?
僕が座右の銘.comに着手したのは今年(2011年)の4月。
この頃はまだ土曜日完全出勤の会社勤めでした。しかも幼い娘がいるので日曜・祝日は家族サービスのためほぼ全滅w開発に当てられる時間は平日、娘たちが寝静まった22時以降から・・・。
お酒好きの僕としては晩酌も欠かせませんから、開発時間はウイスキーを傾けながら大体1時間くらいでしょうか・・・そのうち酔っ払って寝ちゃいます(笑)
そうです。ウェブサービス作るのって簡単じゃないんですよね。ヘタしたら自分の睡眠時間削ってでも作らなきゃいけないくらい過酷なんですσ(^_^;)
なので、生半可な覚悟ではモチベーションは続きません。かく言う僕も、このとき座右の銘.comの開発をあきらめたんですから・・・(笑)
ウェブサービスを作ると自分にどんなメリットがあるか考える
そもそもウェブサービスを作る醍醐味は「やりたかったことをやる!」ことにあります。この技術勉強したかったんだー、とか、このライブラリ使ってみたかったんだよなとか、このAPIはどうなんだろう?とか。
やりたかったことを実現しながら、じぶんの欲しいサービスを作る!まさに自分の、自分による、自分のためのウェブサービス作り。
このウェブサービスを作ったら自分にどんなメリットがあるか考えてみましょう。
自分のために作るサービスですから、メリットはたくさんありますよね?それに先ほど設定した機能の中には「高い壁」も含まれているから、技術的に得るものも大きいはずです。
例えば座右の銘.comを作る僕のメリットは、
こんな風になりました。
リストを作りながらワクワクしてきませんか?「うぉーこんなに新しい技術覚えられるぞ!」とか、「あっ!これは金になる!」とか(笑)
ワクワクが止まらなくなったら作り始めよう!
得られるメリットのリストは毎日見ましょう。リストを見てはニヤニヤ(´▽`*)、リストを見てはワクワクo(^-^)o。リストアップしたメリットを眺めていると、居ても立ってもいられなくなるはずです。
自分が欲しいサービスを作って、その過程で自分の学びたいことが学べて、その結果こんなにメリットもある。それなら、やらない訳が無いって所まで追い込みます(笑)
「もう、どうしても作らずにいられない!ヽ(゚´Д`)ノ」
そうなってはじめて、制作開始です。
先ほども言いましたが、ウェブサービス作りはそう簡単ではありません。時間もかかるし、何度も何度も壁にぶつかるでしょう。
でも、自分が欲しいサービスを作るんです。少なくとも利用者はあなたがいて、もしかしたら自分と同じようなことを思っている人が大勢使ってくれるかもしれない。
いえ、いいんです。誰も使ってくれなくたって。作るだけでこんなにたくさんのメリットがあります。そもそも「作らない」って選択肢がありながら、「作る」ことを決めたのは自分なんです。これだけのメリットがあるならやらないわけがない!
ここまでやれば大丈夫。きっとあなたはウェブサービスを完成させることでしょう♪
連載第1回目はここまで!
次回予告!
いやぁ頑張った。ボク頑張った。モノすごい頑張って書き上げた。
第2回目の構想も考えてるけど・・・こりゃ大変だなぁ。読んでくれた方のレスポンスが無いととても続けられる気がしないなぁ・・・(笑)
右下のソーシャルボタンをクリックしていただくと頑張る気力がわいてくるんですが・・・(=´▽`)ゞ
次回はウェブサービス作りが100倍捗(はかど)る、ケーキのすすめ♪について書きたいと思ってますのでよろしくお願いしますね♪