2013/03/23

最近読んだ本

前回(リンク)から半年ほど経ったので、ここらで最近読んだ本に関してまたまとめてみようと思います。今回は結構読み応えのある本が多かったので、数はちょっと少ないかな?

今回は読んだ順に掲載。

■2050年の世界
未来予測はいつの時代も難しいものだが、人口だけはかなり正確に推定できるらしい。それによると、日本のみならず中国も急速に高齢化が進んで2025年頃には経済成長が停滞し、人口配当を受けるインドネシアやインド、アフリカ、中東などが急成長する。当たり前のことだが、若い労働力が豊富な国が人口配当の恩恵を受けてこれから発展するということなんだね。

■WORK SHIFT
グローバル化とITの発展により、働き方が大きく変わるという話し。ただ、当然のことながら全ての職業がこのように働けるわけじゃないし、YahooのようなIT企業でも在宅勤務を禁止するというような話もあるね。ただ、例えばフリーランスの人などが自分の仕事の幅を広げるためには、参考になる話が沢山載ってると思います。

■MAKERS
この本を読めば、3Dプリンターを駆使して誰もが明日からでも製造業を始められるような錯覚に陥るけど、結局それで成功できるのは才能のある人だよね。才能のある人がビジネスをはじめるのに敷居が下がることは歓迎すべきことだけど、自分にもそれが出来るとうっかり勘違いしないように気をつけなくちゃ(笑。あと、クラウドファンディングに関しては、いまのレガシーな製造業のメーカーでも活用する事例がそのうち出てくるんではないだろうか?

■ウェブで政治を動かす
ソーシャルメディアがどこまで民意を反映しているのか?というのには若干の疑問がありつつも、政治活動の多くの部分でうまくITの技術を取り入れたら、かなり政治にかかるお金を減らすことはできそうだから、考えるべきだろうね。

■これだけ!PDCA
PDCAのサイクルがうまく回らない原因は、全てが計画のダメさにあるから。読みやすく分量も少なめなので、リーダー的な業務を行う全ての人にお薦めできる本。と言うか、読んでおいた方が良い。

■良い戦略、悪い戦略
「為せば成る、為さねば成らぬ何事も、成さぬは人の為さぬなりけり」のような精神論的なものは戦略でも何でもないですよ、ということを教えてくれる良書。まずは如何に現状分析をするか?全てはそこから始まる。

■夢をかなえるゾウ2
前作がかなり面白かったので期待してたのだけど、期待が大きすぎたのか平凡だったなぁ。。基本的に前作を読んでないとわからないネタも多いので、まず前作を読むのをお薦めします。何となくシリーズ化を狙っている伏線のようなものも感じたけど、これは前作で終わりで良かったと思うよ。

これからも趣味で読書は続けるつもりだけど、ちょっといろいろ事情があってこれからはあまり時間を取れそうに無いからペースはかなり落ちるだろうなぁ。。

2013/03/17

Hello, Ubuntu Touch

前回のエントリー(リンク)でiOSとAndroidに次ぐ第3極を担うモバイルOSとして、個人的にはUbuntu Touchに期待している旨をお伝えしました。Ubuntu Touchはまだ採用を表明している端末メーカーやキャリアが無く、そういう点ではFirefox OSやTizenからは出遅れている感は否めないですが、逆に完成度の高さはMWCでも評価されてました。

実は友人がNexus7にインストールしたものを私も触らさせていただきましたが、非常にスムーズには動くもののアプリなどの中身はまだほとんどがモックで、商品レベルまでにはまだまだ時間がかかる印象を受けました。

ただ、実機にアプリをインストールすることは可能そうで、Ubuntuからpreview版のSDKもリリースされてますので、今回ちょっとHello worldまで試してみました。

■VirtualBoxにUbuntu12.10をインストール
Macの環境を壊したくなかったので、USBメモリーからUbuntuを起動できるようにいろいろ試してみたのですが、どうしてもできなくて仕方なくVirtualBoxにインストールして実行できるようにしました。インストール方法はここのサイト(リンク)を参考にやりました。

■Ubuntu SDK previewのセットアップ
SDKのセットアップに関しては、公式のサイト(リンク)にやり方が載ってますので、これをそのまま実行すれば良いかと思います。

■サンプルアプリの作成
さていよいよ本題のアプリの作成ですが、これにはQt Creatorという統合開発環境(下図)を使います。ちなみに、Ubuntu SDKがいまはUbuntu用にしか公開されていないので、このような手順を踏んでますが、Qt Creator自体はMac OS X版も存在しますので、Mac用のUbuntu SDKが公開されれば、今回やったようなUbuntu環境のセットアップは不要になるものと思われます。


アプリ作成の手順も公式にあるドキュメント(リンク)を参考にしましたが、基本的にはQtアプリを作るのと相違無いようです。違いはQt用にUbuntu Touchのコンポーネント(Ubuntu.Components)と実機転送のプラグインが用意されているところだけ?なのでしょうかね。

試しに作成したUbuntu Touchアプリのソースコードは以下です。
import QtQuick 2.0
import Ubuntu.Components 0.1
 
MainView {
    objectName: "mainView"
    applicationName: "Hello World"
    id: root
 
    width: units.gu(60)
    height: units.gu(80)
 
    property real margins: units.gu(2)
    property real buttonWidth: units.gu(9)
 
    Label {
       id: title
       ItemStyle.class: "title"
       text: i18n.tr("Hello Ubuntu Touch")
       height: contentHeight + root.margins
       anchors {
           left: parent.left
           right: parent.right
           top: parent.top
           leftMargin: root.margins
           topMargin: root.margins / 2
       }
    }

    MouseArea {
       anchors.fill: parent
       onClicked: {
          Qt.quit();
       }
    }
}
Ubuntu Touchアプリは通常は上記のようなQMLという言語を用いて開発するようなのですが、他のQtアプリと同様にC++を用いて開発することもできるみたいです。QMLは見た通り、ビューとロジックをJavaScriptに似た記法で記述しますが、まだ馴染めなくてもう少し腰を据えていろいろ試す必要がありそうです。

で、実行すると下図のようなウィンドウが表示されました。まぁ、単なるHello worldアプリなので、面白くも何ともないですね。


■所感
歴史と実績のあるQtアプリの開発環境をベースにしているだけあって、特に大きな不具合に遭遇することも無くHello worldまで進めることが出来ました。QMLという言語はちょっと独特で学習コストが気になりますが、Qt自体はMac、Windowsアプリはもちろんのこと、iOSやAndroidアプリも開発できるマルチプラットフォームな開発環境なので、マスターすればもしかしたらいろいろなところで使いでがあるかも知れません。

個人的には、Ubuntu Touchは良くも悪くもUbuntuであるところに魅力を感じております。PC用のOSをモバイルに使うので、確かに消費電力は気になりますがスマートフォンやタブレットのハードウェアスペックもどんどんあがってますので、そのうち問題にならなくなることを期待してます。

あと、昔から外出している時は携帯の形で使えて、家に戻ったらディスプレイにつなげてPC的に使える携帯があればいいなと思っていたのですが、Ubuntu Touchだとまさにそのように使えるんですよね(下図)。


Androidでも確かにテレビなどの大画面なモニターにつないで使うことは可能なのですが、基本Androidなんですよね。PCの形態で使う時は、やはりLinuxの膨大な開発ツールを使いたいじゃないですか?まぁ、Ubuntu for Androidを使えばいいのかも知れませんが、そこは携帯とPCでシームレスに使えるUbuntuにアドバンテージがあるかな?と。

そんなわけで個人的にはUbuntu Touchに期待してますけど、iOSやAndroidの存在を脅かすのはUbuntu Touchでも、ましてやFirefox OSやTizenでも無く、きっとKindle何だろうと自分は思いますけどねw

2013/03/03

Hello, Firefox OS

先週までバルセロナでMWCが開催されてて、今年はiOSとAndroidに次ぐ第3極を担うモバイルOSとして、TizenやFirefox OSに大きく注目が集まりました(Windows Phoneェ...)。

個人的には、iOSやAndroidの牙城を崩すのはかなり厳しいように思い、これまであまり興味が沸かなかったのですが、いろいろニュースになっていることや、Firefoxにプラグインで簡単にFirefox OSのシミュレータをインストールして試せることがわかりましたので、ここのサイトを参考にちょっと試してみました。

アプリケーションを長い時間かけてビルドして作成する従来の方法とは違い、HTML5などのWeb技術でチャカチャカとソースコードを記述してすぐにアプリをデプロイできるこのお手軽さは結構アリでは無いか?と思いました。

そういう意味ではTizenとFirefox OSではHTML5アプリオンリーというFirefox OSの潔さにいまのところは好感を持っております。

Tizenでネイティブアプリをわざわざ作るくらいなら、自分はAndroidでいいですね。Tizenをそこまでして使うメリットを感じません。

ただ、HTML5アプリでは重い処理がおぼつかないというケースも考えられるので、いざとなればNaclでネイティブに処理を逃せるMobile Chrome OSが”もし”あれば、本当なら自分はそっちの方がいいかなぁ?とは思いました。普段のブラウザもChromeを使っているしね。

でもまぁ基本的にアプリロジックで重たい処理はクラウド上のサービスに逃がして何とかするってモデルなんだろうな、とは思います。

ってことで、Firefox OSは想像していたよりも使えそうな印象を受けたのは確かですが、ではAndroidから乗り換えてまで使いたいか?と言われると、そこまででも無いですね。

個人的にAndroidの自由(いい加減)なところとアプリ連携の仕組みはかなり気に入っていますし、何よりbackキーはやはり偉大な発明だったのではないかと思ってます。これがあるからなかなか他のプラットフォームに移るのは今後も難しいような気がしてます。いや、マジで。

それでも、何か他のOSに浮気をするとすれば自分はUbuntu Touchかなぁ?と思います。モバイル用のOSでアプリケーションを真のマルチタスクで動かせるのはいまのところUbuntu Touchだけですよね?だって、中身はUbuntuそのまんまでGUIがTouchデバイス対応にしたもののようなので(詳細をきちんと理解しているわけでは無いので、ウソ書いてるかも?)。

だからきっと電池の消費とかは激しいのでしょうけど、解像度が上がって画面の広くなってきてるタブレット端末なんかは電池容量にも余裕があるし、かなり相性がいいのでは無いかと想像してます。

Tizenはドコモが今年対応端末をリリースすると言ってますし、Firefox OSの端末はauが2014年にリリースを目指しているようなので、Ubuntu TouchやWindows Phone、Blackberryを含め、どのモバイルOSが今後第3極として台頭してくるのか楽しみですね。