2011年6月11日土曜日
GPS機能活用、スマホに仮想通貨やクーポン配信 コンビニなど集客狙う
2011年6月10日金曜日
HP、米国で webOS タブレット「TouchPad」を7月に発売
イタリア、スペイン、オーストラリア、香港、ニュージーランド、シンガポールでも20110年後半より販売するとしている。
さらに HP は、米国 AT&T 携帯電話ネットワーク対応版の販売を2011年夏の終わりに開始する計画も明らかにした。詳細は改めて発表する。
TouchPad は、モバイル OS「HP webOS」ベースのタブレット端末。9.7インチ(1024×768ピクセル表示)のマルチタッチ対応画面を搭載する。無線 LAN(Wi-Fi)のほか、Bluetooth による無線データ通信も可能。ビデオ会議などに使える130万画素のカメラやスピーカー、イヤホン/マイク端子などを備える。
プロセッサは、動作周波数 1.2GHz の米国 QUALCOMM 製「Snapdragon dual-CPU APQ8060」。サイズは幅190×高さ240×厚さ13.7mm で、重さは約740g。
HP、米国で webOS タブレット「TouchPad」を7月に発売
Androidアプリも機種依存
機種依存というと定義が結構広いですが、ガラケー機能を積んだAndroid端末は日本国内でしか通用せず機種依存と言えると思います。GPSやフロントカメラ、G-Sensorのように機種によって積んでいるいないがあるハードウエア要素がありますので、それも機種依存と言えると思います。Android端末の場合、ハードウエア構成が機種ごとに確実に異なるので、ある機種では動くけどある機種では動かないということが平気でおきます。特定の機種でだけアンインストールができなくなるアプリというのも聞いたことがあります。PCの場合、ハードが異なるように見えますが、WintelとMacという規格でがっちり固められているので、ほとんど機種依存は起こしません。iOS(iPhone、iPad、iPod touch)端末の場合、Appleががっちり管理しているので、機種依存はほとんど起こりません。Androidの場合、ある意味野放し状態なので、機種依存は平気で起こすと考えたほうが妥当ではないかと考えます。
2011年6月9日木曜日
Application Startup
Once the Application has been created, AndroidManifest.xml is again consulted to find the class name of the activity/service/etc. to launch. For example, the /manifest/application/activity/@android:name attribute is used to determine the name of an Activity to load. For Activities, this type must inherit android.app.Activity, and once the type is loaded the Activity.onCreate(Bundle) method will be invoked; Activity.onCreate(Bundle) is, conceptually, the classic Main() entrypoint method going by a different mechanism.
Android.App.Activity is the equivalent activity base class for managed code, and the Activity.OnCreate(Bundle) method is invoked during activity startup.
This works via the Android Callable Wrapper generated by monodroid.exe during the build process the name of the Android Callable Wrapper name is placed into the /manifest/application/activity/@android:name attribute value within AndroidManifest.xml.
Thus, Android loads and runs the Android Callable Wrapper (ACW), which in turn registers the ACW with the corresponding managed type before invoking the native method, transferring control to the overriden Android.OnCreate() method in managed code.
グーグルPC、2つの死角
同社が開発した無償OSの「クロームOS」を搭載するノートPC「クロームブック」が6月15日に欧米7カ国で発売される。発売元は韓国サムスン電子と台湾・宏碁(エイサー)である。
家電量販店などで一般向けに349〜499ドルで販売されるほか、グーグルが企業や教育機関向けにリースプランも用意する。リース料は企業向けが1台につき月額28ドル、教育機関向けは同20ドルという。
クロームブックは従来のPCにないいくつかの特徴を持つ。
まず、動作が軽快なことだ。電源を入れてから8秒で起動し、無線LAN(構内情報通信網)や3G(第3世代)通信の機能ですぐにインターネットにアクセスすることが可能。その秘密は、クロームOSがPC側のアプリケーションソフトとしてブラウザーしか搭載していないことにある。搭載するアプリが少ない分、早く動くのだ。
また、紛失や盗難でデータが漏洩する危険性も少ない。
クロームOSはブラウザーを使ってネット経由でアプリを利用する「クラウドコンピューティング」専用のOSとして設計されている。文書ファイルなどのデータはいずれも、グーグルが提供するグループウエア「Google Apps(グーグルアップス)」をはじめ、クラウド(サーバー)上のアプリで作成して保存する。端末側にデータを置かない分、安全性は高いというわけだ。
普及するかは未知数
「ネット回線は高速大容量化し、アプリもどんどんウェブ化している。クロームブックはクラウド専用のネット端末として、従来のPCとは違う新たな市場を開拓できると見ている」。クロームOSの開発に携わるグーグルの及川卓也シニアエンジニアリングマネージャーはこう自信を見せる。
ただ、業界では「実際に市場に受け入れられるかは未知数」という声も少なくない。
不安材料の1つは、まず過去に他社の似たような概念のシステムが、普及に至っていないことだ。
クロームOSのように端末がソフトやデータを持たず、サーバーで管理するシステムを「シンクライアント」と呼ぶ。マイクロソフトや米IBM、米オラクルなども過去にシンクライアントの製品を発売しているが、一部企業や特定機関にしか使われていないのが現状だ。
2つ目の懸念は価格の問題。クロームブックの300〜500ドルという価格帯は、「ウィンドウズ7」搭載PCと比較しても、飛び抜けて安いわけではない。
調査会社ガートナージャパンの蒔田佳苗・主席アナリストは「この価格帯には、ネットブックに加えて低価格の大型ノートPCやタブレットPCも割り込んできている。よほどの魅力がなければ、ユーザーの購入動機を生み出すのは難しい」と指摘する。
PC各社もクロームOSの実力を測りかねているようだ。5月下旬の現時点でサムスンとエイサー以外にクロームブックを発表する動きは見られず、NECや富士通、東芝といった国内大手も静観の姿勢を見せている。「搭載PCの製品化は検討しているが、具体的なことは何も決まっていない」(東芝広報)。
とはいえ、これまでIT(情報技術)業界を席巻してきたグーグルが自社OSの普及に乗り出してきたインパクトは大きい。「第2のアンドロイド」として広く使われるようになるとすれば、クロームOSの登場は、IT業界の勢力図を塗り替える号砲となる。
ポストPC時代の「Apple対Google」
ジョブズCEOが今回のWWDCで提供したストーリーは3つの章に分かれていたが、そのテーマは一貫していた。Apple社は、2010年代のオペレーティング・システム(OS)をめぐる大きな戦いにおいて、自社の地位を確保しようとしているのだ。
WWDCにおける第一章は、Mac OS Xの最新バージョン『Lion』だ。この章の主なポイントは、マルチタッチ機能が増え、App Storeも内蔵されるなど、Mac OSがiOSの多くを採用したというものだ。
第二章はiOS 5だ。今回新しく発表された各機能は、これまではパソコンだけでしか可能でなかった機能を、『iPad』『iPhone』『iPod touch』でも可能にするものだ。たとえばiOS 5を使えば、写真の編集、複雑なメール文書の作成などが可能になる。
つまり、MacはiPadに進化し、iPadのほうは、かつてはMacやPC専用だった機能を実行できるように進化したのだ。
この変化において最も顕著な点は、Apple社がiOS搭載機器をパソコンから「解放」したことだ。設定やアップデートが、パソコンにつながなくても可能になったのだ。このことは、聴衆の開発者たちから盛大な拍手喝采で迎えられた。かつてわたしは、Apple社はパソコンの主な機能を「iPadと同期させること」にしようとしていると冗談を書いたことがあるが、いまやそれさえも超えたことになる。ジョブズCEOはMacを、「もうひとつのモバイル機器に降格させる」とさえ言った。まるで経営の神様ジャック・ウェルチを中間マネージャーに降格するかのようだ。
さて、第三章は『iCloud』だ。ジョブズCEOによると、iCloudは、コンピューターをローカルファイル等から解放するための長い探求が終わったことを示すものだという。
Apple社の戦略は、競合相手と比べてどうなのだろうか。米Google社のクラウドは、Apple社のクラウドよりも徹底している。Apple社はクラウドを自社サービスのハブと見なしているが、Google社の『Chrome OS』では、クラウドをコンピューター自体として扱っている。
米国では6月15日から発売される『Chromebooks』(日本語版記事)では、基本的に超高速ブラウザが実行され、ウェブベースのアプリケーションやサービスによってあらゆるニーズを満たせると想定されている(ただし、わたしが以前Chrome OSをテストしたときに書いたように、Chrome OSは、実はまだほとんど実現されていない高速インフラを想定して設計されている。)
これと比較すると、Apple社のクラウドは控えめだ。ストレージと同期を対象にしており、ストリーミングやリアルタイム、実際のマシンの拡張は対象外だ。Apple社の場合、動作はウェブ上ではなく、アプリケーション内で行われる。
一方で、Google社の計画を複雑にしているのが、もうひとつのOSであるモバイル向け『Android』の存在だ。Androidは、クライアント・アプリケーションを実行するという点でiOSに似ているが、これによって、ウェブ中心というGoogle社の方針との食い違いが生まれているのだ。5月に開催された『Google I/O開発者会議』でも、これら2つのシステム間の不一致は明確だった。イベントの両日に、どちらかのシステムに関する基調講演があり、その後で行われた記者会見では、これらのシステムが競合しない理由について、各チームのリーダーが説得力のない説明を試みていた。
一方、米Microsoft社はどうだろうか。5月30日に開催された技術カンファレンス『D9』では、『Windows』担当プレジデントのスティーブン・シノフスキーが、『Windows 8』の姿を少しだけ見せてくれた。『Mac OS』がインターフェースをiPhoneやiPadから借用しているように、Windows 8では、称賛に値する(ただし、商業的にはまだ証明されていない)『Windows Phone 7』OSの派手なインターフェースが採用されており、過去と大胆に決別したかのように見える。しかし、シノフスキー氏は同時に、このインターフェースは旧スタイルのWindowsのフルバージョンの上に置かれるとも説明した。(Windows 8タブレットの起動時間はどのくらいになるのだろう?) 「ポストPC」の概念は、Microsoft社ではいまだにタブーになっているようだ。
しかし、Microsoft社が認めようと認めまいと、われわれは数年前からポストPC時代に入っている。われわれの問題は、これらの新しいポストPCの機器が、置き換えられるべきPCと、あらゆる点で同じ能力を持つほど進化できていないことにある。Apple社はWWDCで、そのギャップを埋める方向に近づいた。Apple社が持つ信じがたいほどの推進力を考えれば、Appleユーザーたちが後に続くと考えるべきだろう。
フェイスブックの顔認識機能、プライバシー侵害との懸念も
フェイスブックは「正式な調査」を受けているわけではないとした上で、同社広報は8日、電子メールでロイターに対し、「この機能に関する規制当局からのコメントに留意し、追加情報を当局に提供している。懸念は解消されると確信している」と述べた。
この顔認識機能は「Tag Suggestions」と呼ばれ、フェイスブック上に新たに投稿された写真に写っている人物を自動で認識し、ユーザーにタグ付けを提案するというもの。過去にタグ付けされた写真と比較して、合致する人物を割り出す仕組み。
昨年12月に顔認識機能を米国で導入する計画を発表したフェイスブックは7日、「ほとんどの国」でサービスが開始されたことを明らかにした。
一方、ブルームバーグが8日に報じたところによると、欧州連合(EU)域内各国のデータ保護当局で構成する第29条作業部会のメンバーは、プライバシー規定に抵触する恐れがあるとして、同部会が調査に乗り出す予定だと述べた。
また、プライバシー保護団体などは、新機能に関する通知が十分でなかったことに加え、タグ付け提案が自動的に有効になっていることに懸念を表明。機能を開始するかどうかはユーザーに委ねるべきだと訴えている。
Android向けコンテンツの著作権を保護——アクロディア、DRMソリューション提供
Acrodea Rights Guardは、Android上でコンテンツ配信サービスを提供するコンテンツプロバイダ向けのDRMソリューション。コンテンツの配信/管理からDRM機能までをトータルパッケージをASP型サービスとして提供する。
配信サーバで自動的に暗号化する仕組みで、コンテンツの種類を問わず配信時にDRMを施せる。音楽やゲーム、映像など、アプリ内にあるデジタルデータの著作権も保護でき、配信サーバ上では、コンテンツ配信を管理するための管理機能を利用できる。
同ソリューションでは、クライアント側の暗号・複合化/モジュール、ライセンス認証サーバ/暗号化機能サーバ、コンテンツ配信サーバを提供。また、コンテンツプロバイダ保有の配信サーバを利用するプランも用意している。
Facebookの自動顔認識によるタグ付け(Tag Suggestions)
Tag Suggestionsは、ユーザーが新たに写真を投稿する際、過去に投稿された写真とそれに付けられたタグのデータに基づいてFacebookが割り出した人名タグの候補をユーザーに提示し、タグ付けを促すというものだ。タグを付けられるのはユーザーの友達に限られるが、自分の知らないうちに自分の写った写真にタグ付けされる確率が高くなる。
Facebookの多くの機能と同様に、タグ候補として自分の名前が表示される機能はデフォルトで有効で、オプトアウトできるようになっている。
英セキュリティ企業のSophosは、英国でもこの機能が利用できるようになったのを受け、本人の許可なくタグ付けができるFacebookのプライバシー設定に懸念を表明し、Tag Suggestionsで自分の名前が表示されないようにする方法を公式ブログで紹介している。
Facebookの「アカウント」→「プライバシー設定」を選択
「設定をカスタマイズ」を選択
「他のユーザーがシェアする情報」の「写っている写真のタグ付けを提案」で「設定を編集」を選択
「写真:タグ付けの提案」というウィンドウが表示されるので、ウィンドウ内の「有効にする」をクリックし、「無効にする」に変更し、「OK」をクリックする
デフォルトで「有効にする」になっている
これで、Facebookが提示するタグ候補から自分の名前が排除される。ただし、ユーザーは手動で人名をタグとして記入することはできる。
Google Mapsにバスや電車のリアルタイム運行状況表示機能
Google Mapsでは、既に日本を含む多くの地域で交通機関の時刻表データを参照できるようになっている。Google Maps上の駅のアイコンをタップして表示される詳細データでは「予定出発時刻」が表示され、道案内機能「経路」で電車の発着時刻を確認できる。だが、渋滞や事故などによる遅延情報は反映されない。
Googleは、地域の交通機関から取得するリアルタイムの運行状況データに基づいて、これらの機能で遅延情報や実際の発着予定を表示するようにした。
Google Maps上の駅やバス停のアイコンをタップして表示される詳細ページに新たに「Live departures(実際の発着時刻)」が追加された。
経路検索でも、遅延がある場合は経路候補のリストページでアラートが表示され、各経路の詳細ページでは遅延理由が表示される。
Gogleは現在、ほかの地域でもサービス開始に向けて交通機関と協力しているという。
IOS5に少しだけ気になること
例えばカメラやSafari、写真(アルバム機能)などにTwitterへの発信機能が付けられているのはご存知の通り。写真に関して言えば、iCloudのフォトストリームと組み合わせることで、人気の写真系フォト共有サービスと同様のことがより簡単に、標準アプリケーションだけで可能になる。TwitterのサポートはOSのAPIとして実装されているので、どんなアプリケーションでも気軽にTwitterの活用が可能となるが、既存サービスは変革を求められる。
ほかにも事例はあるが、何かのアイディアが広く使われるようになり、OS側でサポートした方が全体の利益になると判断する機能なら、多少の歪みが出たとしてもシステムに取り込むべきだとは思う。しかし、iOSの付加価値を高めてきたのは、既存の人気サービスと人気アプリケーションであることは言うまでもない。視点を変えると、iPhoneやiPadを魅力的に見せる役割は、パートナーであるデベロッパーも担ってきた。
OSという基盤技術に、アプリケーションレベルの機能を取り込む際には、これまでも色々な問題が起きてきた。Windowsもシステムに各種機能を取り込む過程でさまざまな軋轢を生んできたのは確かだが、デベロッパーに対する配慮はMicrosoftの方があったように思う。少なくとも、突然はしごを外すようなやり方はせず、ケンカをしながらも着地点を捜していた。
1990年代のコンピュータと今のスマートフォンのビジネス概況は異なるとはいえ、Appleはこのところ、アプリケーション内課金のルール変更やApp Storeへの登録ポリシーの予告なき変更などでも批判に
曝されている。
iOSの機能強化はユーザー視点では良い面の方が多いのだが、長期的に見るとデベロッパーの離脱へとつながらないかとやや気になり始めている。今のiOSデバイスの稼働数を考えれば、そう簡単には衰退はしないだろう。しかし、こうした思いは年々、つもりゆくものでもある。
IOS5
ルさも肝要だ。OSの核となる部分のシンプルさは可能な限り維持しながら、機能面での充実を標準装備のアプリケーションで行なうというのは妥当な手法だろう。
それに大きな変化ではないように見えて、意外にOSのサービスレイヤーは厚くなってきているのではないだろうか。アプリケーション通知を、Androidのドロワーよろしく一覧する機能やTwitter投稿機能のAPI化もあるが、従来は設定や運用のシンプルさを確保するため、徹底してパーソナルコンピュータのコンパニオン機器として位置付けていたiOS搭載機を、パーソナルコンピュータから独立した存在にしようとしているのだから、これは表面上の変化(各種アプリケーションの機能アップやAPI更新)よりも大きな更新であり、十分にメジャーバージョンアップの価値はあると思う。
iOS(iPhone)的なコンパニオン機器としてのコンセプトを学び、Windows Mobileが持っていた独立したコンピュータとしての要素を捨てることでシンプルさを得たWindows Phone 7とは対象的だ。Android、iOS、そ
れにWindows Phone 7は相互に影響を及ぼし合いながら、それぞれのコンセプトに各種要素を取り入れている。MicrosoftがKIN(SNS利用に特化した携帯電話)やWindows Phone 7で取り組んだSNSのOS統合を、Twitter APIのOS
レベルでのサポートという形でiOS 5取り入れたが、こうした相互作用による進歩は、今後しばらく続いていくはずだ。
2011年6月8日水曜日
Creating Dialogs
A dialog is usually a small window that appears in front of the current Activity. The underlying Activity loses focus and the dialog accepts all user interaction. Dialogs are normally used for notifications that should interupt the user and to perform short tasks that directly relate to the application in progress (such as a progress bar or a login prompt).
The Dialog
class is the base class for creating dialogs. However, you typically should not instantiate a Dialog
directly. Instead, you should use one of the following subclasses:
A dialog that can manage zero, one, two, or three buttons, and/or a list of selectable items that can include checkboxes or radio buttons. The AlertDialog is capable of constructing most dialog user interfaces and is the suggested dialog type. SeeCreating an AlertDialog
below. A dialog that allows the user to select a date. See the Hello DatePicker tutorial.
A dialog that allows the user to select a time. See the Hello TimePicker tutorial.
Then, define the onCreateDialog(int)
callback with a switch case for each ID:
When it's time to show one of the dialogs, call showDialog(int)
with the ID of a dialog:
Using dismiss listeners
· A list of selectable items (with optional checkboxes or radio buttons)
Adding buttons
Adding a list
Adding checkboxes and radio buttons
Showing a progress bar
To show the progression with an animated progress bar:
1. Initialize the ProgressDialog with the class constructor, ProgressDialog(Context)
.
For example, your setup might look like this:
Example ProgressDialog with a second thread
For example, to create the dialog shown to the right:
1. Create an XML layout saved as custom_dialog.xml
:
This XML defines an ImageView
and a TextView
inside a LinearLayout
.
3. That's it. You can now show the dialog as described in Showing A Dialog.
Here's an example, creating a custom layout in an AlertDialog: