Webアプリを創る

アフィリエイトで勘違い

2013年5月25日

はてな匿名ダイアリーにあった「アフィリエイトで勘違いした大学生の末路」の記事を読んだときに気になったのですが、イケダハヤト氏も「「ブログで稼ぐ」「アフィリエイトで稼ぐ」なんて夢は見ない方がいいですよ」という記事を書いていたので少し自分の感じたことを書いてみた。

元増田氏は、趣味で作成したホームページが、多い時で1日12万PVもあるサイトになり多いときで月80万円も収入があった。しかし、べた書きで作っていて、MVC は理解できなかったから、できることに限界があった。昨年の11月にグーグルのアルゴリズムが代わり検索順位が大きく下がった。多い時で80万円あった収入は20万円台にまで落ちた。

それで元増田氏は、「ゲームオーバー」したとして、「僕は公務員を目指すことを考え始めた。」そうだ。そして次のようにいっている。

勉強したあげく面接に落ちたらどうなるだろう。
27歳にもなるのに職歴がなく、独学でphpとSQLを囓った程度ではWEB制作会社は雇ってはくれないだろう。
詰んだかな、これ。
もっと外に出て、みんなと同じ大学生活を送って、みんなと同じ就職活動をして、みんなと同じように働いていれば。

イケダハヤト氏は、ブログの中で「コンテンツ制作のスキルはかなりありそうなので、公務員よりふさわしいキャリアはありそうな気もしますが…。」と言っているし、トラックバックでもスキルあるからと同情的なものが多い。でも、自分は元増田氏にスキルがあるとは思っていない。

なぜかというと、昨年の11月に検索の順位が大きく下がったということは、Google のいわゆるパンダアップデート呼ばれる検索アルゴリズムの変更によるものだと思われる。パンダアップデートは、質が低いとみなされるサイト、例えばコピーサイトや重複サイトのようにユーザにとって価値のないサイトの順位を下げてGoogle 検索の品質を高めようとするものだ。要するに元増田氏が作っていたサイトというのは、価値のないサイトだった可能性が大だ。そら技術力ないから、「ゲームオーバー」するしかなかったのだと思う。

多分元増田氏は要領がいい人間だったのだと思う。それで一時的には相当な儲けができた。でも理念のない人間だったので価値のないサイトを作ってしまった。最近、そういう要領はいいけど理念のない人間が幅をきかせているような気がする。彼らは口ではうまいことを言うが、創造性はないからどんどん内向きになって仕事をつまらなくしてしまう。

元増田氏が「みんなと同じように働いていれば」というのは過去の成功体験だろう。日本の高度成長期には真面目に働く労働者がいるのは日本だけだったので、真面目に働けばそれだけで成功した時代だった。しかし、現在では真面目に働く労働者は、中国にもインドにも東南アジアにも日本の数倍の労働者がいる。そして、彼らの給料は日本人の1割や2割である。だから、みんなと同じように働くだけでは、給料に下降圧力がかかるのは無理がないことである。だから最後の結論が「みんなと同じように働いていれば」というのは本当に寂しい。

イケダハヤト氏は、自分がブロガーであることについて次のように書いている。

でも、ぼくはプロブロガーを辞めることは当面ありません。限界までこの仕事で稼ぎつづけるつもりです。
なぜか?それはぼくが「書くことが大好き」だからです。もう、これ以上の理由はありませんね。どれだけ厳しくても、稼げなくても、この道は諦めたくないのです。

プロとして生きるというのはそういうことだよね。自分も価値のあるWebサービスを作りたいと思う。

最後に Google の理念ということで、Google が掲げる10の事実のタイトルのみだけど記載しておく。

  1. ユーザーに焦点を絞れば、他のものはみな後からついてくる。
  2. 1 つのことをとことん極めてうまくやるのが一番。
  3. 遅いより速いほうがいい。
  4. ウェブでも民主主義は機能する。
  5. 情報を探したくなるのはパソコンの前にいるときだけではない。
  6. 悪事を働かなくてもお金は稼げる。
  7. 世の中にはまだまだ情報があふれている。
  8. 情報のニーズはすべての国境を越える。
  9. スーツがなくても真剣に仕事はできる。
  10. 「すばらしい」では足りない。

CSS フレームワークを使う

2013年5月20日

今まで CSS については、必要な時になって必要な部分だけ追加していたけど、それだとレイアウトの統一性がなくなるし、CSSがどんどん複雑になっていくのでなんとかしないといけないと思っていた。それで、CSS フレームワークについて調べてみた。

CSS フレームワークの一覧については、CSS Frontend Frameworks が結構綺麗にまとめている。CSS フレームワークは結構たくさんあるので、代表的なものを列挙してみた。

どれを使うべきなのかというと、本来は実際に使ってみて比較すべきなのだが、Twitter Bootstrap が一番人気で Twitter Bootstrapを利用すると、簡単にTwitter 的なデザインのWebサイトを作成できそうだし、Umbraco でも既に uBootstrap というスターターキットもあって結構ダウンロードもされているので、とりあえずは、Twitter Bootstrap を使ってみようと思っている。

CakePHPに飛びついた日本のITエンジニア

2013年5月19日

Google トレンドで Web アプリケーション フレームワークの人気度を調べていたら、日本だけが世界と違う動きをしていることに気がついた。そのグラフが下の図で、赤が Ruby On Rails、黄色が CakePHP、青が ASP.NET MVC、緑が Grails。グラフを見ると、日本では、2006年~2009年にかけて CakePHP の人気度が急激に伸びていて、飛びついたという感imageじになっている。2010年以降は、すべての国だと、CakePHP も Ruby on Rails も人気度が横ばいとなっているし、アメリカも横ばいで推移しているし、イギリスやドイツ等も見てみたが横ばいだった。しかし、日本では人気度が下がり続けていて、Web アプリケーション フレームワークなんて終わったといっているような感じのグラフになっている。

現在、企業が収益を上げるためにはIT投資は重要だし、IT投資の中でWeb アプリケーション フレームワークの役割は大きいと思う。現に他の国ではWeb アプリケーション フレームワークへの関心度が減少していないことを考えると、日本のIT企業は何をしているのかと思ってしまう。日本のIT企業は受託が多いいため、委託元が近年の不況によって投資の削減をしているからどうしてもその影響を大きく受けてしまうのかもしれない。

すべての国
image
日本
image
アメリカ
image

Amazon.co.jp で本のベストセラーで調べてみると、Web アプリケーション フレームワーク関係の本では、「コンピュータ・IT」の「プログラミング」の「その他」で「CakePHP2 実践入門」が92位で一番上位で、日本では CakePHP が一番人気だということと合致している。次が、「Ruby on Rails 3 ポケットリファレンス」で238位となっていて、日本ではWeb アプリケーション フレームワークの本はあまり売れていない。なお、Amazon のベストセラーの順位はすぐに大きく変わるからあくまで概数値だと思ってほしい。

   

一方、Amazon.com で見てみると、コンピュータ・IT」の「プログラミング」全体で、「Pro ASP.NET MVC 4」が9位、「Ruby on Rails Tutorial: Learn Web Development with Rails (2nd Edition)」が70位と日本と比較にならないぐらい売れている。

この結果をみていると、世界のエンジニアが Web アプリケーション フレームワークに関心を持ってきちんと学んでいるのに対して、日本のITエンジニアは無関心になってきて大丈夫なのといいたくなってくる。

それから、ASP.NET MVC の将来に関して言えば、Amazon.comで本が売れているのは結構大きいと思う。日本ではASP.NET MVC はあまり使われていないようだけど、世界的には結構普及するように思う。

最後に、Java の Web アプリケーション フレームワークについて少し補足しておくと、かっては Struts が大成功をおさめて2000年前半には事実上のスタンダードになっていた。それで、現在でもまだ多くのシステムで利用されていて、Google トレンドの人気度でもまだ一番だ。しかし、急激に人気度が落ち込んでいるのでグラフが見づらくなること、すでにセキュリティパッチやバグ修正は提供されない状態になっていることを考えて除外した。後継としては Struts 2, Spring Web MVC, Grails, Stripes 等があり、かなり混沌としているようなので、 比較的人気度の高い Grails を選択した。これらを併せると現在でも Java 系のフレームワークが圧倒的に多く使われているということは事実だ。でも、かってのような圧倒的な強さはなくなっている。

(追加 2013年5月25日)

PHP のWeb アプリケーション フレームワークに関しては、最近はCakePHP よりも CodeIgniter や Laravel の方が人気があるようだ。Google トレンドのすべての国と日本での人気度のグラフを下に載せておきますが、日本ではやっぱりWeb アプリケーション フレームワークの人気ないよね。

すべての国

image

日本

/img/w/2013/05/image_thumb7.png" alt="image" border="0" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;"/>

スマートフォン向けサイトの確認に便利な Chrome 拡張機能 Ripple Emulator

2013年5月13日

iPhone や Andoroid のスマートフォンの画面確認に便利なのが Ripple エミュレーター(現在は、Apache Ripple として開発中)です。Chrome の拡張機能ですが、下の図のように機種を選択すると機種の枠が表示されるし、ボタン一つで縦横も変更できるので、画面デザインの調整にはとても便利です。ただし、便利に使うためには、下の方に記載しましたが、インストールに注意が必要です。

WEB サービスの作成では、スマートフォンへの対応は大きな課題ですが、iPhone, iPad, Andoroido 等いろいろな機種があり、それに画面サイズも多く縦にでも横でも使えるので対応は結構大変です。今まで Andoroid での表示の確認には、Android SDK のエミュレターを使っていましたが、相当に重いソフトです。自分の場合 Andoroid アプリを作るわけではなく、画面の表示の確認ができればいいだけなので、適当なエミュレータを探していました。

Ripple エミュレーターが対応している機種は、iPhone 3G/3Gs, iPhone 4/4s, iPad, iPad 3, Nexus (Galaxy), Nexus 4, Nexus 7 (Tablet), Nexus One, Nexus S 等でとりあえず一通りの確認ができます。また、機能面では Geo Location や Cordova / PhoneGap にも対応しています。

image

インストールに注意!

Ripple エミュレーターについては、Gihyo.jpKLOG でも紹介されていますが、普通に Chrome ウェブストアからインストールすると、KLOG に書いてあるように、Googleを表示してみても、モバイル用の画面が表示されません。

それではかなり不便なので、どうしたらいいかというと、HTML5 WebWorks のページから Ripple Emulator をダウンロードして、手動でインストールすればいいということです。そうやってインストールすると、Google を表示したら、上の図のようにモバイル用の画面がちゃんと表示されるようになります。

なぜこういうことになるかというと、Chrome ウェブストアで配布されている Ripple エミュレーターでは、機種を設定しても User Agent が Chrome のまま変更されないためです。その理由は Google のマニフェストにある偽装の禁止のためだ(詳細 英文)ということです。

Ripple Emulator は、現在は、Apache のインキュベーションとして開発されており将来性のあるソフトウェアです。HTML5 WebWorks のページからダウンロードしたものだと、機種を設定するだけで画面サイズ等が設定でき、モバイルの画面の確認が便利なので、是非、使ってみてください。

最後に Chrome の拡張機能の手動でのインストールについてメモしておきます。
手動インストールのためには、拡張機能の設定画面を表示させます。その操作としては、以下のどちらかでできます。

  • 1. アドレスバーに、chrome://extensions/ と入力して Enter キーを押す。
  • 2. 左上の Chrome 設定ボタンを押して、「設定(S)」を選択して、設定の画面を表示して、右メニューにある「拡張機能」を選択する。

拡張機能の設定画面になったら、その画面にダウンロードしたファイルをドラッグ&ドロップします。
以下のようなダイアログが表示されるので、「追加」ボタンをクリックします。

image

レスポンシブWebデザインを使うべきか

2013年5月7日

最近スマートフォンからのアクセスが増えてきている。自分の Web サイトだと 40% 弱がスマートフォンからのアクセスになってきた。そろそろスマートフォン対策を考えないといけないと思っていたので、少し詳しく調べてみた。

Webサイトへのモバイルからのアクセス割合はWebサイトによって大きな違いがあるようだ。株式会社サムライファクトリーの調査によると2013年4月でスマートフォンの割合は18.36%という結果になっているが、『忍者アクセス解析』を設置しているサイトの解析データなので個人からのアクセスが多いので日本の平均よりは高めになっていると考えられる。世界でのモバイルの割合については Netmarketshare の調査によると、下の図のようにモバイルの割合が約10%になっている。

clip_image002

他の調査結果をみても、BtoB の場合には、モバイルからのアクセスは10%程度のようなので、日本でのWebサイトのアクセスに占めるスマートフォンの割合は10~15%ということになりそうだ。まだ現時点では割合はそれほど高くないが、株式会社サムライファクトリーの1年前の2012年4月の調査では Android 4.63%, iPhone 3.10% だったので2倍以上に増加していることになる。

これらのことを考えると個人向けのサイトについては、スマートフォンに早く対応した方がいいし、WordPress 等の CMS を使っている場合には、テーマの変更だけで対応できる「レスポンシブWebデザイン」を使うのが最もいい方法ということになる。レスポンシブWebデザインは、CSSの機能を使って、デバイスごとにレイアウトを最適化する技術で、サーバー側ではPC向けもスマートフォン向けも今までと同じ HTMLを作成すればいいので簡潔にスマートフォン対応が可能だ。例えば、WordPress の場合だと、レスポンシブ対応のテーマに変更するだけでスマートフォン対応が可能だ。

最後に、自分が作っているWebサイトで「レスポンシブWebデザイン」を使うのがいいのかどうか考えてみた。レスポンシブWebデザインを使用してスマートフォンで見やすくするためには「モバイルファースト」でデザインする必要がある。なぜかというと、どうしてもモバイルは画面が小さいため、PC用のものをそのまま使うと非常に縦に長い画面になって重要な情報を探すのにスクロールばかりしてしないといけなくなるので見づらくなってしまう。自分の場合は、PC用には多くの情報を載せたいと思っているし、スマートフォンからも少し見づらくてもその情報を見えるようにしたいと思っている。その場合、PC用と違って、スマートフォン用には画面が小さいだけに要約版が必要になってくる。やはり、「モバイルファースト」という考え方は非常に重要である。

ただ、このケースで「レスポンシブWebデザイン」を使うのには、一つの問題があると思う。一度に画面に表示できるデータが数倍以上違うのに同一のHTMLを使うため、スマートフォン用には過剰なHTMLになってしまうか、PC用には簡略すぎるものになってしまうからだ。

幸いなことに ASP.NET MVC や Umbraco MVC では、テンプレートの変更が容易で、モバイル用とPC用でテンプレートだけを変更するようにすればそれほど大きな手間にはならない。それに、モバイル用に不要なデータをサーバー側でなくせるので、スマートフォンでの処理が軽くなる。また、PC用とスマートフォン用を別対応にするとURLが別になるというが欠点だといわれているが、このタイプだとPC用とスマートフォン用も同じURLになる。

このようなことから、自分で作っているサイトでは、「レスポンシブWebデザイン」を使わずにいこうと思う。でも、一般的には「レスポンシブWebデザイン」が便利だということは間違いがないので、このブログサイトについては時間ができたらレスポンシブなテーマに変更しようと思っている。