2012年12月2日日曜日

mixiの今後

日本経済新聞Web版の11月22日の記事に、mixiの社長である笠原氏がmixiの人気の巻き返しをはかるための意気込みと覚悟が掲載されています。

(日本経済新聞Web版、2012年11月22日)

mixiは2004年に開設された日本発のSNSで、開設当初は爆発的な人気を誇りましたが、現在では外国勢のTwitterやFacebook、さらには同じく日本発のLINEに人気を押され続けています。

mixiが開設された頃といえば、家庭のパソコンを家族全員が共有して使用していたような時代です。
それにひきかえ、LINEが開設されたのは去年、すでにスマートフォンによって個人個人がいつでもどこでもネットに接続するのがあたりまえの時代です。
LINEがmixiのユーザー登録件数を楽々と抜き去ることができたのは、この時代背景によるものが大きいでしょう。

しかしmixiは、この時代の流れに取り残されてLINEがSNSとしての人気を集めるのをただ指をくわえて見ていただけなのでしょうか。
決して、そんなことはないと思います。

以前このブログでも書きましたが、世界最大のSNSであるFacebookも、最近ではその人気に陰りがでてきています。

(当ブログ、2012年9月22日の記事)

Facebookが開設されたのも2004年で、発祥国のアメリカではすでにFacebook離れが起きているようです。

これらのSNSの人気が陰る原因としてもっとも大きいのは、「飽き」なのではないでしょうか。
いくらヘビーユーザーを集めて意見を聞き、「昔はよかった」などの愚痴を聞いたところで、失ったユーザーを取り戻すことはできないでしょう。
私には、mixiのパフォーマンスにしか思えません。
私はmixiを利用したことはありませんが、私の感覚ではすでにmixiは時代遅れのものであり、今更ユーザー登録をする気にはなれません。
そしてこの感覚はおそらく大半の人々が持っており、新たなユーザーを増やす上で、非常に大きなマイナス要因であるといえます。

Facebookの創設者、Mark Zuckerberg氏はFacebookを「ガスや水道と同様の公共事業」であると、David Kirkpatrick氏のインタビューで答えました。
しかし、その公共事業はガスや水道とは違い、ユーザーの好みでかんたんに別の提供会社へ乗り換え可能です。
そうならないために、ユーザーを飽きさせないための新たな試みが常に必要になっているのでしょう。

今度は写真のアップサイトが流行るらしいとのうわさですが、どうなんでしょうね。


2012年11月18日日曜日

一家に1台、3Dプリンタの時代?

10月30日のNHKの朝のニュースです。

(2012年10月30日付、NHKニュース「おはよう日本」)

最近、3Dプリンタに関するネット記事やTVニュースをよくみかけるようになりました。
今まで私が気にしていなかったからなのかもしれませんが、おそらくはChris Anderson氏の著書、MAKERSの影響もあるでしょう。

よくあるSFアニメの話し、誰もいない部屋のなかで「ホットコーヒーが欲しい」と言えば、コンピューターが家のなかから必要な材料を分子レベルでかき集め、それらを加工する。
しばらくすると部屋の壁の一部から機械のアームが現れ、ホットコーヒーをのせたテーブルを運んできてくれる。
Chris Anderson氏いわく、そういう時代もそれほど遠くない未来にやってくるのだとか。

ところで、部屋の壁に好きなアイドルのポスターを貼っているような方は、おそらく3Dプリンタで等身大のアイドルを作成するようになるかもしれませんね。
でも、それがいらなくなったらどうやって処分するんでしょう。
間違っても、川に投げ捨てたり、山に埋めたりしないでほしいものですね。
見つけた人は、相当びっくりすると思いますよ。


2012年11月3日土曜日

スマートフォンへのウィルスの脅威

10月30日付のNHK NewsWebに、次のような記事が掲載されました。

不正アプリ 1000万人余情報流出
(NHK NewsWeb 10月30日 19時22分)

不正アプリによって9万人の端末から1000万人の個人情報が流出したとのこと、不正アプリによる個人情報の流出としては過去最大の規模だそうです。

なぜ、これほど大きな被害がでてしまう結果となってしまったのでしょうか。

記事にも書いてありますが、この不正アプリの公開元はGoogle社の公式サイト、「Google Play」です。
Google Playは、Google社が提供するAndroidアプリの配信サイトで、誰もが自由に自分で作ったアプリを公開することができます。
しかし、Google Playにアプリを公開する際にGoogle社側によってアプリの審査を行うことは一切なく、そのために今回のような事件を引き起こすきっかけとなりました。
Androidスマートフォンの利用者にとってみれば、まさかGoogle社の公式サイトからウィルスが発信されていようとは、まったく考えてもいなかったことでしょう。

上記リンクの記事の最後、情報処理推進機構の加賀谷伸一郎調査役より、「アプリは信頼できるサイトから入手することが最も重要だ」とありますが、信頼できるサイトの基準をスマートフォンユーザーはどうやって判断すればいいのでしょうか。

そもそもAndroidスマートフォンの初期設定では、「提供元不明のアプリ」をインストールできるようにはなっておらず、つまりGoogle Play以外のサイトからアプリをインストールできるようにはなっていません。
この設定を変更しようとした場合はセキュリティの警告メッセージが表示されますが、これをあえて無視する必要があるのです。
逆にいえば、多くのユーザーはこの設定を変更していない限りはGoogle Playからしかアプリをインストールできないので、これで安心だと勘違いしていることでしょう。

同じく、たまたま私がみたNHKのTVニュースにて、スマートフォンへのウィルスの脅威についてセキュリティの専門家が、「これからインストールしようとするアプリの用途が、本来なら必要ないはずの個人情報へアクセスしようとしていた場合、不正アプリの可能性が大いにあるためインストールをしないほうがよい」などと言っていましたが、普段からアプリをインストールする際にそのようなことに気を留めていられるでしょうか。

現在のスマートフォン市場のシェアは、Google社が無償提供しているAndroidOSを搭載したAndroidスマートフォンと、Apple社のiPhoneの2つに大きく分かれますが、これら不正アプリの問題はAndroidスマートフォンだけの問題です。

Apple社が提供するiPhoneアプリの配信サイトであるApp Storeでは、アプリを公開する際に厳密な審査が行われるため、不正アプリが公式サイトから公開されてしまうということは一切ありません。
また、iPhoneの場合は公式サイトであるApp Storeからのアプリのインストールは一切できませんので、自由度が少ないかわりに不正アプリをインストールしてしまう心配は皆無なのです。

Apple社がApp Storeに公開するためのアプリの基準を明確にしないため、不正アプリでもないのに審査にとおらなかったという実例を耳にすることもあり、アプリの開発者にとってはあまり好ましくないこともあるのですが、アプリの利用者にはGoogle PlayとAppStoreのどちらが好ましい環境であるかはいうまでもありません。

以前、Google社は「WindowsOSはセキュリティ的に問題があるため、社内ではWindowsOSの利用を禁止する」などといったパフォーマンスを行ったことを耳にしたことがありましたが、私にはGoogle社はとてもセキュリティを重視する会社には思えません。

今回のような事件が今後繰り返されないよう、Google社側が公式サイトの運営方法などで何らかの対策をするなどといったことを行う必要があるのではないかと私は思います。



2012年10月28日日曜日

Windows 8 発売開始!!

2012年10月26日、ついにWindows 8 の発売が開始となりました。

Microsoft社を設立した天才プログラマー、Bill Gates氏は、ビデオインタビューでWindows 8を絶賛しています。

B・ゲイツ氏、「Windows 8」を語る--ビデオインタビューで称賛
(Yahoo!ニュース、2012.10.23)

先週のブログでも書きましたが、Windows 8はMicrosoft Officeによってタブレット市場でも優位に立つことができるのではないでしょうか。

Windows 8 発売間近!!
(このブログ、2012.10.21)

ちなみに、Windows 8にはタブレットPCにのみインストールされているWindows RT版と、今までのWindows OSと同様に旧バージョンのWindows OSをアップグレードしたり既存のパソコンに新たにインストールすることができるx86版があります。

私はまだ手にしたわけではないので詳しいことは言えませんが、Windows 8搭載タブレットPCの購入をお考えであれば、注意が必要です。

Windows RTではできないこと



2012年10月21日日曜日

Windows 8 発売間近!!

10月26日、最新のWindows OSであるWindows 8の発売が開始されます。

今までのWindows OSと違い、タッチパネルによる操作を重視し、パソコン(デスクトップ型・ノート型)に限らずスマートフォンやタブレット型パソコンでの利用に主眼をおいています。
しかも、今までのWindows OSよりも価格が安く、ダウンロード版にいたっては39.99米ドル、日本円にしてたったの約3,200円と非常にリーズナブルです。

マイクロソフト、XP以降に39.99ドルでWindows 8 Pro アップグレードを提供

スマートフォンやタブレット型パソコンにおける市場での出遅れを一気に席巻しようとするMicrosoft社の意気込みが強く表れているといえるでしょう。

Windows OSの強みは、何といってもMicrosoft Officeです。
Microsoft ExcelやMicrosoft Wordは、そのバージョンは違えど、おそらくほとんどの企業で使用されているのではないでしょうか。
そして、それが使えなくなると、大きく業務に支障が出てしまうほどMicrosoft Officeに依存していることでしょう。

iOS(iPhoneやiPadなどで使用されているOS)やAndroidを積極的に業務で利用することを推進している企業は少ないのではないかと思います。
しかし、今後Windows 8の登場によって、スマートフォンやタブレット型パソコンをビジネスの面で活用しようとする企業は増えるのではないでしょうか。

既存のアプリケーションを、キーボードとマウスによる操作からタッチパネルによる操作に主体を置くよう、修正し直す必要があるかもしれませんね。



2012年10月14日日曜日

1,000円の電子書籍リーダー


ドイツにて、9.90ユーロ(約1,000円)の電子書籍リーダーが発表されました。

独txtrが単機能な小型E Ink電子書籍リーダー「txtr Beagle」を発表
(Yahoo!ニュース、10月10日)

ついに、電子書籍リーダー自体が一般的な紙書籍を下回る金額にて提示されました。
「txtr Beagle」という製品名だそうです。
「txtr Beagle」にはインターネット接続の機能がありませんが、Bruetoothで接続したAndroid端末によって電子書籍を「txtr Beagle」に転送することができるようです。
コスト削減のため、「電子書籍を読む」という行為以外の機能は徹底的に排除したようです。
Androidスマートフォンを持ち歩いている人であれば、出張先でもAndroidスマートフォンで欲しい電子書籍を購入し、Bruetoothで「txtr Beagle」に転送して読むことができます。
この金額なら、出張や旅行前に使い捨て感覚で購入するのもありですね。

おなじYahoo!ニュースにて、こんな記事もありました。

(Yahoo!ニュース、10月14日)

漫画を何十巻もまとめ買いすると、値段のほかにその漫画の置き場所までも検討しなくてはなりませんが、電子書籍なら置き場所だけは気にする必要がなくなりますね。

(当ブログ、9月30日)


2012年10月8日月曜日

Facebookの月間利用者数が10億人を突破


Facebookは10月4日、世界の月間利用者数が10億人に達したと発表しました。

(Yahoo!ニュース、10月4日)

現在、世界人口は約70億人と言われていますが、そうすると世界人口の実に7分の1が9月中にFacebookを利用したということになります。
日本人口は1億2千万人程度ですから、驚きですね。

しかし、以前のブログで書きましたが、Facebookの発祥国であるアメリカでは、すでにFacebookに飽き始めているとのことです。

Facebookの終焉?!
(当ブログ内記事、9月22日)

実際、FacebookのようなSNS(ソーシャルネットワークサービス)の利用に飽き始め、今度は相手を限定してコミュニケーションをとるサービスが流行り始めているようです。

SNS疲れ? 相手限定アプリで本音の付き合い
(日本経済新聞、10月8日)

日本では、2000年前半に日本独自のSNSであるmixiが流行りましたが、「mixi疲れ」という言葉が生まれたように、多くのmixi利用者がSNSでのコミュニケーションに嫌気が指すようになりました。

Facebookも、mixiと同じ道を歩むのでしょうか。


2012年10月7日日曜日

Googleの牙城

10月2日、Yahoo!ニュースに次のような記事が掲載されました。

グーグル時価総額、米のIT企業2位に

ナスダック市場に上場するGoogle社の時価総額が、終値換算でMicrosoft社の時価総額を抜き去り、IT企業ではApple社に次ぐ2位に浮上したとのことです。

明らかにMicrosoft社を敵視した感があり、「邪悪になるな」をスローガンとして掲げるGoogle社ですが、このニュースは社内でどのように捉えられたのでしょうか。


2012年9月30日日曜日

違法ダウンロードの刑罰化

いよいよ明日(10月1日)より、違法ダウンロードの刑罰化を盛りこんだ著作権法が施行されます。

迫る違法DL刑罰化にネット民不安

さて、それではどんなものが違法ダウンロードになるのでしょうか。
以下、上記のリンク先の記事からの抜粋です。
  • “有料著作物等”とは、有償で提供されている著作物のこと。音楽CD、映画やアニメのDVD、さらにネット上で有料配信されている音楽・映像が当てはまる。しかし、ソフト化される予定のないテレビ番組などは“有料著作物”には当たらない
  • 違法にアップされた動画をYouTubeなどで閲覧するだけなら違法にならないが、それをファイルとしてダウンロードすると違法となる。動画再生時のキャッシュは違法ではない
  • メールに添付された違法複製ファイルをダウンロードしても違法ではない
  • 画像ファイルのダウンロード、テキストデータのコピー&ペーストは“録音・録画”に当てはならないので刑罰の対象とはならない
なんとなく理解はできるのですが、リンク先の記事にもあるように、何をすれば法に触れるのかがいまいちあいまいです。

たとえば、パソコンに取り込まなくてもDropboxやSkyDriveのようなクラウドサービスにコンテンツを保存するのは違法なのか合法なのか。
クラウドサービスにファイルを保存することはダウンロードとはいいませんが、この法律が制定された目的を考えると、違法になってしまうかもしれません。

また、「録音・録画」されるコンテンツのみが対象となるので、画像ファイルとして端末に取り込まれるマンガは違法にならないようです。
海外サイトには、多くのマンガが無料でダウンロードできる状態になっているにも関わらず、です。

さらに1つ疑問なのが、どうやってそれらの違法ダウンロードを検知するのでしょうか。
違法ダウンロードが可能なサイト(違法サイト)へのアクセス履歴を調べ、有償コンテンツをダウンロードした閲覧者を摘発するのでしょうか。
本来なら、違法サイトの存在自体が問題のはずです。
違法サイトの多くが海外にあることを考えると、サイトを閉鎖させたり有償コンテンツを削除させたりするのが難しいのかもしれませんが。

それと、「いつ、どこで、誰が、どんなサイトをみていたか」というアクセス解析データを、犯罪防止の目的で収集されてしまうというのは、あまり気持ちのいいものではありませんね。


電子書籍の妥当な価格

先日(9/24)、私が著させていただいた書籍の1つが電子書籍として販売開始となりました。

いちばんやさしいデータベースの本」(技評SE選書 シリーズ)

(この書籍の紙版は、2010年8月より発刊されています)

電子版の価格は、紙版と変わらず1,680円(税別)です。
ただし、電子版の場合は価格が変動する可能性もあります。
(紙版はどの書店でも必ず同じ価格で販売されますが、電子版は販売サイトによって価格が違う場合があります)

ところで、同じ書籍なら紙版と電子版で同じ価格という考え方について、読者はどう感じているのでしょうか。

出版デジタル機構「パブリッジ」のスキームを考える

上記のサイトに掲載されている、ジャストシステムが3月7日に公表したアンケート調査結果によると、多くの読者が紙版よりも電子版の価格は安くあるべきだと考えているようです。
しかも、紙版の半額以下が妥当だと考える割合が、4割にも達しているようです。

実際、電子版は紙版と違い用紙代もかかりませんし、書店に並べてもらう必要もありません。在庫管理も不要です。
そのため、販売するために必要となるコストが紙版と比較して安くなるであろうことは容易に想像できますし、そのために電子版は紙版よりも安くあるべきだと考えてしまうのは当然かもしれません。

しかし、それだけで電子書籍の妥当な価格を判断するべきではありません。
これから、書籍の電子化はいよいよ本格化されることになるでしょう。
ヘビーな読書家は、旅行先へ大量の書籍をスーツケースに入れておく必要がなくなります。
今後は自分のお気に入りの電子ブックを1つ、ポケットのなかにいれておくだけです。
自宅の本棚にあふれかえるほどの書籍を抱え込むこともなくなります。
それでも電子版と紙版が同じ価格で販売されていたら電子版は損した気持ちになるからやはり紙版を購入する、といったことになるでしょうか。

書籍のコストから価格の妥当性を考えるより、その時々に応じてどちらを購入したほうが自分にとってよりよいかを考えることになりそうです。


2012年9月23日日曜日

バーチャルとリアルの狭間

2012.09.22付の日本経済新聞Web版に、次のような記事が掲載されていました。


この記事では、Sonyが開発した頭部に装着することによってプレイするゲーム用専用の液晶ディスプレイについて紹介しています。
Sonyは、この液晶ディスプレイをとおしてみた空間がバーチャル(仮想)空間なのかリアル(現実)空間なのか、体験者には判別できないほどリアルに近いバーチャルを作り出すことに成功したようです。
「そんなリアルっぽいゲームなんて気持ち悪くてやれないよ」
なんて意見もあるかもしれませんが、おそらくは単なるゲーム機のためのディスプレイとして利用されるだけではないでしょう。
自宅にいながら世界旅行に出かけたり、大好きな片思いの異性とデートしたり、限りなくリアルに近いそんなバーチャルを楽しむことができるようになるかもしれませんね。

しかし、2009年に発刊された芦崎治氏の「ネトゲ廃人」に出てくる1ゲーマーのように、リアルな生活をバーチャルな世界でリセットしたつもりになる人も大勢出てくるかもしれません。
リアルとバーチャルの区別がつかなくなったことに起因する犯罪も増えるかもしれません。
これらの心配事は、やはり誰もが抱かずにはいられないでしょう。


2012年9月22日土曜日

Facebookの終焉?!

「フェイスブックが幕を閉じる日が近づいている」

2012.09.18付でJapan Business Pressに掲載されていた記事のタイトルです。
記事の内容は、こちらです。

http://www.blogger.com/blogger.g?blogID=5593071713677772050#editor/target=post;postID=5635781477897299878

私もFacebookを利用していますが、正直いってかなり飽きてきています。

私がFacebookを利用し始めた理由は、ikachi Softwareのサイトのアクセス数を増やすためです。
Facebookでikachi Softwareのサイトを宣伝し、誘導することが目的だったのですが、ほとんど効果がありませんでした。
もちろん、宣伝の仕方がよくなかったのでしょうが、私はあまりマメな性格ではないので、Facebookにそれほど多くの時間を割く気になれません。
このような姿勢でFacebookを利用していたため、宣伝効果が得られなかったと知ったときにやる気がうせてしまったのです。

「中国、インド、Facebook」などと、Facebook人口は中国とインドに次いで第3位とも揶揄されるほどの爆発的な人気を誇ったSNSでしたが、今、Facebookの発祥国である米国ではその熱が急激に冷めてきているようですね。

実際、Facebook上に掲載した記事を多くの方に読んでもらうには、まずは多くの(Facebook上の)友達を作らなければなりません。
リアルな世界での友達だけでは友達同士のコミュニケーションツールとしての役割だけでしかなく、それだけではFacebookを利用する利点は少ないでしょう。
Facebook上の友達はリアルな世界の友達だけではない方の方が、おそらく多いのではないでしょうか。

自分が掲載した記事をFacebook上のみでの友達に読んでもらうには、それらの友達の記事の「いいね!」ボタンを押すことでしょう。
本当にその記事を読んだかどうかに関わらず、です。

「この人、よく知らないけどいつも私の記事に「いいね!」をしてくれるので、私も今日はこの人の記事に「いいね!」をしておこう」

より多くの人にそう思わせることが、より多くの方に自分の書いた記事を読んでもらうために必要なことなのです。
(いや、「いいね!」をしてもらっただけかもしれません、読んでもらってないかもしれません)

現在では、ikachi SoftwareのFacebookファンページに「いいね!」をしていただいた方は10人を超えることができました。
しかし、このほとんどはFacebook上でikachi Softwareを宣伝したことによって「いいね!」をしていただいた方ではなく、逆にikachi SoftwareのサイトからFacebookaのファンページを見つけて「いいね!」をしてくださった方の方が多いようです。
本末転倒ですね(笑)


2012年9月21日金曜日

TwitterのCEO、APIについて語る

先日、このブログでも書きましたが、Twitter APIの変更によって関連アプリのほとんどが使えなくなってしまう可能性があります。

Twitter API ver.1.1 バージョンアップについて

これに関し、Twitter社のCEO、Dick Costolo氏からのコメントがありました。
Yahoo!ニュースの記事に掲載されています。

TwitterのCEO、「真のプラットフォーム」の構築を強調--開発者の怒りの声を無視

CEOのいう「真のプラットフォーム」を構築することによって、全世界のツイートにアクセスするためにはTwitter社が提供するUIに絞られてしまいます。
これにより、Twitter社の広告収入は「複数のプラットフォーム」が存在していたときよりも多く得られることになるでしょう。

しかし、今までTwtterの発展に貢献してきた「複数のプラットフォーム」をかんたんに切り捨ててしまうことは、やはり「プラットフォーム」の開発者にとってはかなりの痛手であり、ひどい仕打ちであると私は思います。

共に闘ってきた盟友の手柄を恨んで後ろから刺し殺す。

そのくらい、ひどい話しです。


2012年9月9日日曜日

Twitter API ver.1.1 バージョンアップについて

2012年9月5日、Twitter API のバージョンが1.0から1.1へとアップしました。
メジャーバージョン(整数部のバージョン番号)ではなく、マイナーバージョン(小数第1位のバージョン番号)の変更です。

通常、マイナーバージョンの変更は修正規模がそれほど大きくないものですが、今回のTwitter APIのマイナーバージョンアップは、Twitter APIを利用したアプリの開発者が強いショックを受けるほどかなり大きな変更となりました。
詳しくは、以下のリンクをご覧ください。
ITに詳しい方でないと、聞いたこともない横文字だらけで読みづらいと思います

TwitterからのRSS取得が2013年3月5日で打ち切りへ(GIGAZINE)

上記のリンク先の記事をかなりかんたんにいってしまえば、

  • 今まで使用していたTwitter関連アプリが使用できなくなる可能性が大いにある
  • 使えたとしてもツイートが1時間に60ツイートしか表示されない

の2つが重要でしょうか。
1回でTwitterとFacebookの2箇所へ記事を投稿できるようなアプリについては、今後一切使えなくなるようです。
移行期間が来年の3月15日まであるとはいえ、Twitter関連アプリの開発者は今回のバージョンアップにかなり嫌気がさしているようですね。

さて、上記のGIGAZINEのサイトからもリンクされている江添亮氏の「本の虫」ブログでは、これをTwitter社の"邪悪な囲いこみ"と表現しています。

Twitter API 1.1により、Twitterは終了する(本の虫)

今までは、Twitter関連アプリを開発する開発者によって様々な便利アプリが市場に出回っていました。
Twitterがこれほど普及した要因の1つとして、これらの便利アプリの存在もきっとあることでしょう。
これらの便利アプリがTwtter社からツイートを取得するたびに、おそらくはTwitter社のサーバーに大きく負荷がかかったことでしょう。
そのため、長時間ツイートを取得できなくなり、何度もフェイルホエール(Twitterが何らかの理由によってエラーが発生した場合に出現するくじら)の画像を表示するはめになったかもしれません。
しかしながら、ここでいきなり手のひらを返し、ここまでTwitterとともに成長してきた関連アプリの存在を切り捨てることが許されるでしょうか。

同じアプリ開発者として、今回のTwitter社のやり方には個人的に非常に不愉快です。


2012年9月8日土曜日

ジョエルテスト④

3.デイリービルドしてる?

デイリービルドを行う目的としては、常に正常にビルド可能なソースコードをプロジェクト内で共有するためです。
そして、そのためにはジョエルテストのいちばんめの項目であるソースコード管理が必要となってきます。

個人で開発する小さなシステムならともかく、複数人で開発する大きなシステムの場合、1つのモジュールを複数人で手を加える場合が多々あります。
そのとき、ある人の環境では自分が修正したモジュールをつかってビルドがうまくいったのに、また別の人の環境ではビルドに失敗した、などという場合も往々にしてあります。
それは、一部のモジュールの最新を環境に取り込んでいなかったり、また別の外部的な何かが要因となることもあります。

デイリービルドを習慣づけた場合、誰かが壊してしまってビルドできなくなったとき(修正したはずのモジュールを使うとビルドできなくなった状態)、それに気づくのは最長でも24時間以内です。
しかしデイリービルドが行われていない場合、どのモジュールを直せばビルドは正常に動くようになるのか、またそのモジュールを修正して今度はビルドがうまくいったとしても、そのモジュールに本来行われるはずだった修正はきちんと反映されているままなのか、それが出荷の直前だったとしたら、プロジェクトは大慌てすることになるでしょう。



2012年9月2日日曜日

ジョエルテスト③

2.ワンステップでビルドできる?

Joel Spolsky氏は、
良いチームでは、ひとつのスクリプトを実行するだけで、そのスクリプトがスクラッチから全ソースをチェックアウトし、すべてのコードをリビルドし、すべてのバージョンと言語と#ifdefの組み合わせについてEXEを作り、インストールパッケージを作り、そしてCD-ROM形式であれWebサイト用のダウンロード版であれ、最終的なメディアを作る
とあります。
ソフトウェアの規模が大きくなればなるほど、上記のすべてを実現するのはなかなか難しいものですが、しかしソフトウェアの規模が大きければ大きいほど、非常に重要なことです。

私が以前勤めていた会社では、あるパッケージソフトのインストーラーを作成できる者はたったの1人でした。開発は10人程度で行っていたのにです。
もし、その社員が何の引き継ぎもせずに突然退職してしまったら、今までどおりのインストーラーを作成することはできず、別の方法を模索することになったでしょう。そしてそれにどれだけの工数をかけることになるか、想像できません。

Joel Spolsky氏が述べたインストールパッケージを作るスクリプトに関しても、そのスクリプトを作った者以外は誰も理解できないといったことがないようにしなければなりません。


2012年9月1日土曜日

ジョエルテスト②

1.ソース管理してる?

私が今までに携わったことがあるいくつかのプロジェクトのなかで、ソースコード管理システムを使用していたチームはほとんどありませんでした。
なかには、ユーザーに出荷する際にバージョンを管理する必要がある中規模ソフトウェアでもソースコード管理システムを使用していない例がありました。
おそらく、今までにソースコード管理システムを利用したことがないため、そのメリットがわからないからでしょう。

ソースコード管理システムのメリットは、ソフトウェアの規模が大きくなればなるほど実感することができます。
また、たとえ単発で終わる小規模ソフトウェアの開発であっても、ソースコード管理システムにソースコードを保管しておくことでソースコードを紛失する危険性を回避することができます。
それ以外にも、

  • 以前のバージョンに戻ってモジュールをコンパイルしたい
  • いつ誰がどのような修正をどのモジュールに対しておこなったかを知りたい

などの悩みは、ソースコード管理システムを利用することで解消されます。

とにかく、ソースコード管理システムを使わないメリットはないといっても過言ではありません。


2012年8月26日日曜日

ジョエルテスト①

「ジョエルテスト」は、Fog Creek Software社の設立者Joel Spolsky氏が提唱する、円滑なソフトウェア開発を行うために必要な12個のチェック項目です。

Joei Spolsky氏は、Yale大学にてコンピューターサイエンスの学士号を取得したあと、Microsoft社にてExcelの開発チームとしてVBAを設計した経験があります。
自身のWebサイト「Joel on Software」は非常に多くのエンジニアに広く知れ渡っており、日本でも翻訳された書籍がオーム社より発刊されています。

ジョエルテストの12項目は、以下のとおりです。

  1. ソース管理してる?
  2. ワンステップでビルドできる?
  3. デイリービルドしてる?
  4. バグデータベースはある?
  5. 新しいコードを書く前にバグを直してる?
  6. アップデートされているスケジュールがある?
  7. 仕様書はある?
  8. プログラマは静かな環境で作業してる?
  9. 手に入る最高のツールを使ってる?
  10. テスタはいる?
  11. 採用面接のときにコードを書かせてる?
  12. ユーザビリティテストはしてる?

ジョエルテストは、ソフトウェア開発を行う上で非常に有用なチェック項目なのですが、私が今までに携わった開発チームでは、これらの項目をすべて満たされたことは一度もありません。





2012年8月25日土曜日

iOSとAndroid - (途中)

私の携帯電話は、Samsung社のGalaxy s(Android)です。
これ以外に、電子書籍を読むときやゲームをするときなどにApple社のiPod Touch(iOS)を利用しています。

この2種類のOSを利用して私が感じた感想を、簡単に書いてみます。
スマホ選びなどの参考になれば幸いです。

まず、Androidについて。
Androidは、私の感覚では若干セキュリティの面において不安があります。
Androidアプリをダウンロードするためにもっとも利用するであろうAndroidマーケットには、ウィルスとよばれてもいいすぎではないようなアプリまでダウンロードできてしまうためです。
実際、Androidマーケットにアプリを登録する際、アプリの審査はほとんど行われていないのでは、とのうわさです。
しかしその反面、Androidマーケットにアップされているアプリは、実に多種多様です。
マーケットが自由なため、アプリのなかには中国サイトから音楽ファイルを検索してダウンロードするためのものまであります。
また、Androidマーケットだけでなく、その他のサイトからでも自由にアプリをダウンロードしてインストールすることもできます。

次に、iOSについて。
Androidと比べると、セキュリティの面ではとても安心できます。
iOSのためのAppストアでは、アプリをアップする際に非常に厳密な検査が行われるためです。
Androidマーケットのように、不正アプリがAppストアにアップされるといったことはまずないでしょう。
ただAndroidと違い、Appストア以外からのアプリのダウンロードおよびインストールは、原則不可能です。
そのために自由度が低く、Androidと違って上記のような違法スレスレの「怪しい」アプリをダウンロードすることはできません。


2012年8月19日日曜日

コメントのつけかた

先日偶然みつけた10年前に私が書いたプログラム(こちらを参照)をみていて思ったのですが、コメントのつけかたがまったくなっていません。

プログラム初心者のうちは、「なぜコメントをつけるのか」といった基本的なことが案外理解できていないようです。
「プログラムを読みやすくするためにコメントをつける」とだけ理解していても、実際はそれができていないのです。

たとえば、10年前に私が書いたプログラムには、こんなところにもコメントがふられていました。

'変数iに1を加算する
i = i + 1

変数iに1を加算することなど、コードをみればすぐわかります。
このような行にコメントをふるのは、まったくのナンセンスです。
当時の私は「とにかくコメントをつけることが大事」だと勘違いしていたようで、このような無駄なコメントがほとんどの行にふられており、これではいたずらにソースコードの行数を増やすだけです。

コメントは、コードをみただけではわかりづらいと感じた箇所にふるのです。
たとえば、関数やメソッドの定義まえにその関数やメソッドがどのような処理を行うかを記述することにより、その内容をソースコード上で読み解く必要がなくなります。
その際、
  • どのようなパラメータを指定する必要があるのか(データ型が存在するプログラミング言語の場合は、パラメータのデータ型も含む)
  • その関数もしくはメソッドの戻り値は何か(データ型が存在するプログラミング言語の場合は、戻り値のデータ型も含む)
の2点は必ずコメントに記述します。


2012年8月16日木曜日

伽藍とバザール②

この論文を読んで、「自分が開発しているソフトウェアのソースコードも公開しよう!」と思った人は多いはず。
実際、私もその一人です。
ソースコードを公開した場合のメリットについて詳しく知りたい場合は、Eric S Raymond氏の他の2つの論文(ノウアスフィアの開墾、魔法のおなべ)も併せて読むことをお勧めします。

ネットスケープ社にいたっては、この論文の影響を受け、自社で開発していたネットスケープ・コミュニケーターをオープンソース化することを決意しました。
Mozilaプロジェクトとして発足したネットスケープ・コミュニケーターのオープンソース・プロジェクトは、しばらくの間はまったく結果を残せないままでした。
それにいらだった当時Mozilaプロジェクトのスタッフとして勤務していたJamie Zawinski氏は、Resignation and Postmortem(辞職そして追悼)という手記を残してネットスケープ社を退職します。
(この手記の訳文は、http://www.bekkoame.ne.jp/~kmakoto/opencom/Jamie-san.htmlに掲載されています)
しかし、それからしばらく後、ついにMozilaプロジェクトのブラウザ「Firefox」は、本格的にMicrosoft社のInternet Explorerのブラウザ市場独占を脅かすほどになるのは承知のとおりです。

ちなみに、私が個人で開発した「ちゃち」なソフトのソースコードを公開したことによるメリットは、サイト閲覧者の増加でした。
サイトへのアクセスを解析すると、私のサイトへの検索キーワードには、「サンプル」や「ソースコード」といった文言が含まれている場合があります。
その結果、さまざまな方からソフトウェア開発の手助けをしていただけるようになりましたし、サイト運営などについてもご協力いただけるようになりました。


2012年8月15日水曜日

伽藍とバザール①

Linuxは破壊的存在なり。

Eric S. Raymond氏の論文、「The Cathedral and the Bazaar」(伽藍とバザール)の書き出しです。(山形浩生氏による訳文。翻訳文の原文は、http://cruel.org/freeware/cathedral.html。原文は、http://www.catb.org/~esr/writings/cathedral-bazaar/。)

私にはこの論文の書き出しが妙に格好良く感じられ、拙著のなかで「破壊」という単語を大した意味もなく使用しています。


「これならわかるSQL入門の入門」(翔泳社、2007年)
SQL(Structured Query Language:エスキューエル)は、とても強力な言語です。
SQLを使えば、会社の売上実績データや全社員の毎月の給与データなど、コツコツと蓄積されてきたデータを一瞬にして削除したり、一部のデータを改ざんしたりすることができるんです。
(もっとも、対象となるデータベースにアクセスできることが条件ですが・・・)
そのため、うっかり大切なデータを破壊してしまわないように、SQLはきちんと基礎から学ぶ必要があります。
本書は、この破壊力抜群の言語を、SQLの知識が全くない初学者に対して1から学習できるように著されています。

「Windows自動処理のためのWSHプログラミングガイド」(ソシム、2009年)
WSHは、Windowsが標準で保持している機能です。開発環境に複雑な設定は不要です。新たにソフトをインストールする必要もありません。今お使いの、Windowsパソコンだけで十分です。メモ帳でも開発ができます。にも関わらず、とても強力な言語なのです。使い方を一歩間違えば、大切なファイルが一気に削除されてしまったり、特定の相手にメールを何千件も勝手に送り続けてしまうなど、意図しなかった動作がまるでウィルス被害にあったかのような事態を発生させかねません。そのくらい、破壊的な言語なのです。

さてこの論文、Linuxのような精密かつ大規模なソフトウェアがオープンソースで開発できるのか、を論じた文章で、著者のEric S. Raymond氏自身、「Fetchmail」というオープンソースを開発してオープンソースの開発スタイルを論文のなかで再検証しています。

オープンソースの原典ともいえる有名な論文で、この論文を知らないプログラマーはもぐりとも言えるほどです。



2012年8月14日火曜日

10年前のソースコード②

そのジャンクアプリのソースコードですが、実際のところ、最後まで書きあげたものは3分の1程度です。
ほとんどがまともに動かず、ものによってはコンパイルすらとおりません。
ひどいものは、何がしたかったのかよくわからないものまであります。
どうやら、私は典型的な「熱しやすく冷めやすいタイプ」のようです。

ただ、その性格とは反するようですが凝り性でもあり、ソースコードには今も引き継がれている異常な神経質ぶりがすでにこのころから表れています。
たとえば、開発環境によって自動的にインデントされた際にできた空白は、すべてきれいに削除されていました。
あるソースコードには、なんとプログラム1行1行すべてにコメントがふられています。

ここまで神経質に数カ月もかけて書いていたソースコードを、ふと熱が冷めてしまって放置してしまうような性格なのですが、それでもいかちソフトウェアのサイトを10年以上も更新し続けることができたのは、案外奇跡といえるかもしれません。


10年前のソースコード①

先日、古くなった外付けハードディスクを整理していたところ、10年以上前に趣味で開発したジャンクアプリのソースコードを見つけました。
懐かしい・・・
しかも、結構な量です。

当時の私が書いたソースコードを眺めてみると、やっぱり恥ずかしくなるくらい技術力が低く、とても一般公開できるようなレベルではありません。
ただ、アイディアだけは(自分で言うのもなんですが)当時としてはなかなか良いものがありました。

たとえば、携帯電話の待ち受け画像を作成するアプリ。
DOCOMOはMOVA全盛期の時代で、ソースコードのいたるところにN503iだのP504だのと書いてありました。
スクリーンの解像度を機種によって判別するためです。
アプリのしくみは、アプリに取り込んだ画像を指定した機種の解像度にサイズ変更し、それをいかちソフトウェアが使用しているサーバーにアップ。
それを各携帯端末からダウンロードしてもらうようになっています。

他には、次のようなアプリの残骸がありました。

  • キーボードの繰り返し操作を記憶させておくことで、入力業務を自動化するためのアプリ
  • 郵便番号データベースをSQL Serverに自動作成するためのアプリ
  • 指定した時刻に指定したアプリを実行するためのアプリ
  • メールボムといわれるタイプのコンピュータウィルス(笑)

これだけのアプリを暇つぶしに書いていたとは、当時の私はよほどソフトウェア開発が好きだったのか、それともよほど暇だったのか。
いずれにせよ、このとき書いたプログラムは技術力向上のために十分役に立ったことだけは確かです。


ブログを開設しました


フリープログラミング工房 いかちソフトウェア のブログを開設しました。

ブログ開設の目的は、より多くの人に「いかちソフトウェア」のサイトを知っていただき、ご利用いただくことです。
いかちソフトウェアのサイトは、以下のURLをクリックするとご覧いただけます。
http://www.ikachi.org/

今までは上記サイトがメインでしたが、サイトはコンテンツがそろわないと更新できないため、更新頻度が少なくなりがちでした。
そのため、今後はこのブログを併設して、いかちソフトウェアの開発状況などをこまめに公開する予定です。