OS が3.0にバージョンアップした iPhone 3G と HTC製 Google 携帯。
Google 携帯を1週間ほど使ってみての個人的所感を交えての比較です。
見た目
Google 携帯の勝ち。iPhone よりやや小ぶり・スリムです。これならポケットに入れられるサイズです。あんなにカッコ良かった iPhone がデカい・ゴツいと感じるほとです。
日本語変換
Google 携帯の勝ち。さすがWnn。変換・予測変換の精度は iPhone を大きく引き離しています。日本の携帯の水準にかなり近づいています。
操作性
ハードウェアとしての操作性はiPhone 3G の勝ち。Google 携帯は中央のトラックポイント風のスティックの操作感がイマイチ好きになれません。なんだかグラグラ・ガタガタです。
ソフトウェア面でも、OSの動作・ブラウザの処理速度は iPhone 3G の方が速い・なめらかです。Google 携帯はやや引っかかり感&もたつき感が。画面をタッチしても、思ったところが反応しません。人間の指先なんてかなりアバウトだと思うのですが、Google携帯はバカ正直に反応しているのでしょう。iPhoneは四角四面に反応するのではなく、「きっとここをタッチしたかったんだろうな」を読み取ってくれる感があります。非常に直感的に操作できます。日本語変換だけ見れば Google 携帯ですが、文字入力操作そのものの快適さは iPhone 3G の方が上です。数種類のキーボード画面やカナの入力方法が用意され、自分の使いやすいものを選べるのがいいですね。特に、フリック入力に慣れてしまうと手放せません。
コンテンツ
Android Marlket と iTunes Store。現在のところ、選択肢は圧倒的にiTunes Store が豊富です。しかし、Android のウリは Apple の目が厳しい iTunes Store に比べて Android Market がオープンであるという点のはず。開発者が数々の勝手アプリを(作ろうと思えば)どんどん作れる環境にあります。1年で Android Market がどこまで成長するのかが楽しみです。
こうして並べてしまうと、現時点ではハードは・・・で、ソフト・コンテンツは iPhone という結論に。
今買うなら、個人的には iPhone 3G S をオススメしたいです。操作性は日常の使用にかなりの影響がある要素ですし、何より対応アプリの充実度が違います!
Google携帯は、1年・2年経って Android Marketの成長ぶりを見てからでも遅くはないかと。どうしても Google が好き!とか、新しもの好きとか、まだまだこれからの Android 市場で一旗揚げたい方は今すぐ!ですが。
また、ソフトウェアの動作のもたつきやスティックのガタつきなどは Android というよりも端末固有の問題です。メーカー各社から端末が出そろい、選択肢が豊富になると Google 携帯の魅力もまた違ってくるのでしょう。
June 19, 2009
iPhone 3G と Google 携帯
June 10, 2009
Google Developer Day 2009へ行ってきました。
Google Developer Day 2009へ行ってきました。
午前中はミーティングが入っていたため、午後からの参加でした。
残念ながら基調講演は聴けず。
HTML5やGoogle Waveの話があったようです。
聴いたセッションは・・・
Google App Engine
- Life of Google App Engine Request -
スピーカーはGoogleのフレッド・ソオー氏。
主にGAEのDatasotre周りの実装テクニックの話でした。
Entityに関連Entityのキーとなる値であるStringのList Propertyを持たせる話とか
Merge Joinのテクニックとか。
私はハッキリ知らないのですが、恐らくLazy Loadingができないため
このようなテクニックが存在するのでは?と思いました。
Joinの話は、Salesforce.comのForce.comも同様なのでよく理解できます。
既にGAEをバリバリ触っているような上級者向けのセッションでした。
Java で動かす Google App Engine
スピーカーはGoogleの夷藤 勇人氏、鵜飼 文敏氏。
こちらはGAE/Jの紹介セッションといった内容。
GAEが何を提供するのか?
認証・Datasotre・キャッシュ・Email・URLフェッチ等でどんなAPIを提供し、どんな実装をしているのか?
Sandbox制限(Force.comのガバナ制限のようなもの)、
今後実装予定の機能、
スケールを考えたデータ構造の設計・実装テクニック(これは直前に聞いたセッションと多少被る内容も。)
などのお話しがありました。
表面上のAPI仕様と実装とが分かれているため、API Proxyというアーキテクチャが実現でき、これによりAOP/インターセプターっぽいことができるという話があり、ちょっとうらやましかったです。
Force.comにもAOP的な機能が欲しいです。
RDBではないので、データの非正規化を恐れずに!という話はよくわかります。あまり細々と正規化してクエリが複雑になるよりは、クラウドにおいてはシンプルなクエリ一発で必要なデータを取れるようにデータ設計するべきですね。
GAEのDatastoreは、「ソフトスキーマ」というアーキテクチャを採用しているそうです。これは、スキーマを固定せずにJPAやJDOのアノテーションのみでスキーマを定義するというものだそうで。
推測するに、Force.comのメタデータに近い概念なのではないでしょうか?
わかりやすく言えば、Force.comではDB物理層に直接テーブル定義を生成しているわけではなく、"メタデータ"と呼ばれる「データ構造の定義」をDBに格納し、実データは多数のカラムを持つ単一テーブルに格納するというアーキテクチャです。
GAEのDatastoreは実装にBigtableが使われているので、やはり物理層にテーブルを作成しているわけではありません。アノテーション定義によってアプリケーション側からはテーブルがあるように見えていながら、その裏側で動いている実装では個々のテーブルを作成せずにデータはすべてBigtableという多数のカラムを持つ単一のテーブルに格納している・・・というアーキテクチャなのでしょう。たぶん。
GAEには非同期処理・テキスト全文検索・インバウンドメール・データのインポート/エクスポート等の機能はまだ実装されておらず、今後実装予定とのことです。
まだエンタープライズ用途では使えないかな。
クラウドコンピューティングがもたらす5つのメリットとは
スピーカーはGoogleの泉 篤彦氏。
エンタープライズ分野のプリセールスエンジニアをされている方だそうです。
このセッションでハッキリ聞くことができました。
Googleがエンタープライズ向けに扱っているサービスには、GAEは含まれていません。
このセッションは、Google AppsのPremier/Education Editionの紹介セッションという色が濃いモノでした。
クラウドコンピューティングがもたらすメリット、というお題ですが、内容はクラウドのメリット、SaaSのメリット、Googleであることのメリット、Google Apps固有のメリットが混在していました。
まあ、キレイに切り分けるのは難しいのですが、気をつけないと「クラウドコンピューティングってよくワカラナイ」という人がますます増えそうです。
他のクラウドサービスとの連携が容易である、というくだりではSalesforceが紹介されていました。
Google エンタープライズ エコシステムとは –Google Enterprise Partner–
こちらも引き続き泉氏のセッション。
エンタープライズ向けサービスのパートナー制度の紹介でした。
Google テクノロジー ライトニングトーク
サイオステクノロジー松尾さんによる、自作のGAE向けフレームワーク"Kay"の紹介。
デバッガを使えるのがいいですね。Force.comもブレークポイントを置いて、ステップ実行して、変数の値を確認して・・・とできたらいいのに。
Seessaaの安藤さんによる、Rails on GAE/Jの話。
当初はエライ大変な手順を踏まないとGAE/J上でRailsを動作させることはできなかったのを、とてもとてもカンタンにした、というお話し。
日本Androidの会の近藤さんによる、Androidが組み込み業界へ与えるインパクトのお話し。将来はPCと携帯の垣根が無くなるという展望をお話しされていました。
スパイスボックスラボラトリの神部さんによる、Open Social Hackathonのお話し。Hackathonに参加しよう!というメッセージを熱く語っていました。
E-flowの久野氏による、Dalvik VM実装のお話し。Google謹製のDalvik VMがケータイJavaの2~5倍も遅かったので、自分で実装してケータイJavaと同等まで持って行ったお話し。非常に素晴らしい成果だと思います。一方で、Dalvik VMとは何か?に一切触れなかったので、会場には「そもそもDalvik VMってなに?」な人が多かったのでは?と心配になりました。
最後に、松尾氏がTokyo GTUG(Tokyo Google Technology Users Group)を立ち上げました、と紹介されていました。
Tokyo GTUG
http://groups.google.com/group/tokyo-gtug
個人的に(職業柄?)Googleのエンタープライズ向けサービス戦略の情報を得たかったのですが、今のところGoogleのエンタープライズ向けサービスはGoogle Appsと検索アプライアンス、企業向けGoogle Map APIという内容のようです。
GAEはデータ管理やユーザの権限コントロールが不十分だったり、ワークフローなどが実装されてなかったりと、エンタープライズ用途にはまだまだですね。
なんと、事前登録者全員に携帯電話がプレゼントされました。
Google製OS「Android」搭載のHTC製端末です。
先日、サンフランシスコで行われたGoogle I/Oでも入場者に配られたそうですが
まさか、日本でもやるとは!
Googleさん、太っ腹です。
これはdocomoから発売されるHT-03Aとほぼ同等のものです。
http://www.nttdocomo.co.jp/product/foma/pro/ht03a/index.html
docomo発売前なので、この日この端末を手にした人は
恐らく日本で最も早く日本語入力可能なAndroid端末を入手したことに
なるのではないでしょうか。
あともらったのは、タオルとかステッカーとか。
事前登録の時にTシャツのサイズを聞かれたので
てっきりTシャツをもらえるのかと思っていましたが・・・
急遽タオルに変更になったのでしょうか。
post:
liebejudith
at:
01:17
0
コメント
labels: Android, Cloud Computing, DoCoMo, Google, Google App Engine, Java, Mobile, PaaS, SaaS, Salesforce
April 20, 2009
沈みゆく太陽
今日はいったい、世界中でどれだけの人がこんなタイトルで
ブログエントリを書いているのでしょうか?
かねてより売却先を探していたSun Microsystemsは
先日報道のあったIBMではなく、Oracleに買収されることが決定したそうです。
オラクル、74億ドルでサンの買収に合意、ハードウェア市場へ進出( Computerworld.jp)
http://www.computerworld.jp/topics/ma/143009.html
オラクル、サンの買収で最終合意(CNET Japan)
http://japan.cnet.com/news/biz/story/0,2000056020,20391986,00.htm
[速報]オラクルが74億ドルでサンを買収(ITpro総合)
http://itpro.nikkeibp.co.jp/article/NEWS/20090420/328819/
[oracle] Oracle、Sunを買収!!!!!(S/N Ratio (by SATO Naoki) by satonaoki)
http://d.hatena.ne.jp/satonaoki/20090420/p2
ラウンドアップ:オラクル、サン買収に至るまでを振り返る
http://japan.cnet.com/news/biz/story/0,2000056020,20391994,00.htm
米オラクル、サンマイクロを74億ドルで買収へ(Reuters: テクノロジー)
http://jp.reuters.com/article/technologyNews/idJPJAPAN-37591820090420
【速報】オラクルが74億ドルでサンを買収(@IT)
http://www.atmarkit.co.jp/news/200904/20/oracle.html
非常に驚きましたが、ニューヨーカーなビジネスマン集団のIBMよりは
シリコンバレー企業のOracleのほうがずっとしっくりくる組み合わせとも言えます。
プロダクトの品揃えでも、被りよりも補完の要素が多いですし。
特にOracle が欲しいのは、Javaテクノロジのリーダーという地位と
サーバおよびストレージでしょう。
MySQLは微妙な立場ですね。
Oracle DBのシェアを下げた強敵でしたから。
Oracleはオープンソースからは一歩引いた立場と見えるので、
Sunの持っているOSSプロダクトがどうなるか、この先に注目です。
Oracleがこの買収を最大限に活かせれば、向かうところ敵なしですね。
ライバルと呼べるのはIBMぐらいでしょうか。
ハードウェア、データベース、アプリケーションサーバ、
Javaテクノロジ、サーバ仮想化、ビジネスアプリケーション、
クラウドプラットフォーム、OS、SOA・・・
エンタープライズ分野でのソリューションをほぼ全方位カバーすることになります。
しかし・・・
私自身、Sunには多くの知り合いがいる・・・と思っていたら
気がつけば既に退職されている方の方が圧倒的に多いという状況でした。
奇しくも今日もまた、大変お世話になった方がSunを退職されると
ブログに書かれた日でもありました。
(ご本人からは1週間ほど前に聞いていたのですが・・・)
ここ数年は株価(=企業価値とも言い換えられますが・・・)が
下がる一方だったSunですが、数々の業界のカリスマを輩出し、
Javaという一大プラットフォームを築いたSunは
いちエンジニアとして憧れの企業でした。
そのSunが無くなってしまうのは本当に寂しい限りです。
January 5, 2009
YAGNIは「今必要なことだけをやれ」ではなく
XPの提唱する「YAGNI(You Aren't Going to Need It)」は
XPの思想から離れて個人への戒めの言葉として使われる場面が多くなった今、
「今必要なことだけをやれ」ではなく、
「今必要とされていることすべてを今すぐやれ」
の方がより的確なのではないかと実感する今日この頃です。
「今必要なことだけをやれ」と言うと、とたんに待ち姿勢・受け身になってしまう人が多いのです。
January 4, 2009
Google App EngineのJava版「Stax」を触ってみました
Amazon EC2上で提供されるJava版PaaSサービス「Stax」をちょっと触ってみました。今のところはβサービスで、まだ実装されていない機能もあったりしますが無料で試すことができます。
「Google App EngineのJava版」としてニュース記事等でも紹介されています。
Java対応のGoogle App Engineとも言うべき「Stax Networks」ローンチ
http://jp.techcrunch.com/archives/20081216stax-networks-launches-google-app-engine-for-java/
用意されている環境
- Apache Tomcat/6.0.16
- MySQL/5.0.51
要するにServlet2.5/JSP2.1環境を使えるってことですね。JVMはJavaSE5相当のようです。
GoogleもSalesforce.comも、Servletコンテナにはより軽いResineを採用していますが、ここはTomcatですね。
サポートするフレームワーク
- Apache Struts(ただし、1.xではなく2.0.11)
- Apache Wicket
- Adobe Flex/BlazeDS
- Google Web Tool Kit
- Adobe ColdFusion 8
- JRuby on Rails
逆に、WEB-INF/libにライブラリをつっこんで、web.xmlを編集して、WEB-INFに必要な設定ファイルを追加すれば他のフレームワークも使えます。DI/AOPコンテナもORマッピングフレームワークも使えます。
Struts1.3.8/Spring2.5.6/iBATIS2.3.4とか、JSF1.2RI/Spring2.5.6/Hibernate3.3.1とか、試してみたら動きました。この分ならSeasar2を使ったアプリも問題なく動作するでしょう。
アカウントの作成
StaxのWebサイト http://www.stax.net/ へ行きます。

「Apply for the Beta」をクリックしてサインアップ画面へ行き、メールアドレスを入力して送信すると認証メールが送られてくるので、そこに書いてあるURLにアクセスするとサインアップ終了です。簡単です。

改めてStaxのWebサイトからログインするとアプリケーション管理画面に入れます。

管理画面では、TomcatのログやApacheのアクセスログ等の参照、アプリケーションの作成・DBの作成・設定・パフォーマンスやアクセス監視モニタの参照等を利用できます。
アプリケーションの作成
管理画面左側メニューの「Create App」をクリックすると、アプリケーションを作成できます。ユニークな名前を付けましょう。Application Core Runtimeからフレームワークを選べますが、前述の通り、Servlet2.5/JSP2.1環境で動作するものなら好きなモノを使えます。用意されているもの以外のフレームワークを使うのなら「Basic Servlet and JSP」を選択してもかまいません。

Stax SDK http://stax-downloads.s3.amazonaws.com/sdk/stax-sdk-0.2.12-dist.zip をダウンロードして解凍しておきます。
http://www.stax.net/appconsole/createapp から、任意の名前のアプリケーションを作成します。
解凍したディレクトリ中の「Stax Console」ショートカットを起動します。
コマンドラインコンソールが起動するので、そこから
stax getapp -a [ユーザ名]/[アプリ名] -u [ユーザ名] -p [パスワード]
を実行すると、アプリケーションのひな形がダウンロードされます。このひな形はEclipseプロジェクトになっているので、そのままEclipseへインポート可能です。でもこのプロジェクトはWTP互換じゃないのが残念です。
アプリケーションの構造
- webapp: JavaEE Webアプリケーションディレクトリ
- src: Java ソースファイルディレクトリ
- conf/stax-application.xml: Stax デプロイメントディスクリプタ
DBの作成
管理画面左側メニューの「Create DB」をクリックすると、アプリケーションを作成できます。任意のDB名、ユーザー名、パスワードを設定します。

DB作成後、テーブルやら何やらを作成するには、なんとTCP:3306が開いているのでMySQL Query Browser や mysql コマンドが使えます(^^;(←いいのか?)
アプリケーションのconfディレクトリにあるstax-application.xmlに、下記の設定を追記します。
<resource name="jdbc/db01" auth="Container" type="javax.sql.DataSource">
<param name="username" value="[ユーザ名]" />
<param name="password" value="[パスワード]" />
<param name="url" value="jdbc:stax://[DB名]" />
</resource>
Javaアプリケーションからは、JNDI参照名「java:comp/env/jdbc/[DB名]」でLookupできます。
アプリケーションのデプロイと動作確認
コマンドラインから
stax deploy -a [ユーザ名]/[アプリ名] -u [ユーザ名] -p [パスワード]
とすると、作成したアプリケーションをアップロードできます。
Antを使ってWARファイルからのデプロイも可能です。WARファイルをそのままアップロードできるUIがあればいいのに。。。
次のURLからアプリケーションの動作を確認できます。
http://[アプリ名].[ユーザ名].staxapps.net/
何度アップロード/デプロイし直しても反映されるので、クラスローダはカスタマイズしていじっているっぽいですね。Tomcatのデフォルトのリロード機能ではヒープメモリがすぐに破綻しますから。
[追記]
サーバのログを見るとTomcatまんま再起動しているっぽいです。
一度デプロイしたアプリケーションは削除できません(^^;削除機能はまだ未実装のようです。
ちょっと触った所感
Tomcat/MySQL/Eclipse環境に慣れた人ならすぐに開発できるのが良いですね。フレームワークもお仕着せのものだけでなく好きなものを選べますし、使い慣れたRDBがそのまま使えます。Python/Django/webappsにどうしてもなじめず、Google App Engineを放り出してしまった私には嬉しいポイントです。
懸念としては、サーバの信頼性・可用性・セキュリティと正式サービス開始後の料金体系です。まあ、これはすべてのクラウドサービスに言われていることですが。Amazon E2Cを利用しているのでこのレベルではある程度の信頼性はありますが、その上で動作しているアプリケーションサーバレベルではStaxの技術力・資金力・信頼性が問われるところでしょう。
Amazon EC2上に構築されたってのが、次世代のビジネスモデルを予感させます。自前のデータセンターを持たずにSaaS/PaaS事業を展開するという例はこれからも増える可能性がありますね。
post:
liebejudith
at:
23:54
2
コメント
labels: Cloud Computing, Eclipse, Google App Engine, iBatis, Java, MySQL, OSS, PaaS, Python, SaaS, Salesforce, SpringFramework, Tomcat


