![]() |
|
|
| |
|
弊社ブログは2010年4月26日からURLを変更いたしました。
ブックマークやRSSで登録されている方は、下記URLへ変更願います。 http://www.conit.co.jp/blog/ 今後とも宜しくお願い申し上げます。 2010年4月26日 株式会社コニット |
|
|
2009,10,30, Friday
こんにちは、最近浦和レッズの不振に悩む、いわたです。
今日は、久しぶりにAndroidについて書いてみようと思います。 国内でのスマートフォン市場をみた場合に、Androidは、iPhoneに比べると国内ではまだまだユーザー数は 少ないのが現実です。 しかし、世界に目を向けてみると、 <以下記事抜粋> 世界スマートフォン市場でAndroid搭載機が躍進、2012年のシェアは14%に 米国の市場調査会社Gartnerがまとめた世界スマートフォン市場の動向予測によると、 Android搭載機のシェアは、現在の2%未満から2012年には14%まで拡大する見通しだ。 現在、世界のスマートフォン市場でシェア1位のOSはフィンランドのNokiaが開発したSymbian OSで、 全スマートフォン製品の約半数に搭載されている。だが、そのシェアは2012年に39%まで減少するとGartnerはみている。 このSymbian OS搭載スマートフォンに代わってシェアを拡大するのがAndroidスマートフォンだ。 Android端末は、2012年には市場シェアでiPhone やWindows Mobile端末、BlackBerryを抑えて、 Symbian OS端末に次ぐ第2位に躍進すると、Gartnerのアナリスト、ケン・デュレイニー(Ken Dulaney)氏は予想している。 2012年の世界スマートフォン市場(Gartnerの予測) 第1位 SymbianOS 販売台数2億300万台(シェア39%) 第2位 Android 販売台数は7,600万台(同14.5%) 第3位 iPhone 販売台数は7,150万台(同13.7%) 第4位 WindowsMobile 販売台数6,680万台(同12.8%) 第5位 BlackBerry 販売台数6,525万台(同12.5%) という報告がされています。 また、国内でも現在販売しているドコモでは、販売機種を拡大していく予定みたいです。 この数字だけでは、AndroidとiPhoneを比べた場合、あまり違いがわかりませんが、 AndroidOSはスマートフォンだけではなく、ネットブックや組み込み系のデバイスにも搭載することができることが大きな違いであり、OSとしての潜在的な市場可能性はiPhoneの比ではないでしょう。 機能面を比べても、スマートフォンに特化したiPhoneOSとAndroidではどちらが良いとかではなく、違ったものです。 実際に様々な勉強会やフォーラムに参加すると、参加者は、大手電機メーカーやモバイルとは関係性の薄い会社の方々とよくあいます。 やはり、オープンなAndroidはコストの面やプラットフォームを統一することでメーカーを超えた様々なデバイス同士の連携などが可能となり、魅力的なOSだと思います。 (モバイルアプリ開発としては、まだiPhoneの方がUIの設計などはライブラリが豊富でやりやすいですが。。) おそらくスマートフォンのアプリケーションからみた場合は、iPhoneのほうがMacのデザイン性やUIなどのクオリティの進化などを考えると、今後もiPhoneのほうが、数や機能では上をいくのではと思いますが、OSとしてみた場合は、閉鎖的なiPhoneと比べAndroidのほうが数を伸ばしてくると思います。 前置きが長くなってしまいましたが、今日は、Androidの良く出来ているなと思う機能のIntentとContent Providerについて簡単に書いてみたいと思います。 インテントには意図や目的という意味があり、主にアクティビティを起動する際のパラメータに使われます。 と言ってもよくわからないと思うので、噛み砕くと、アクティビティとはAndroidにおいて、アプリケーションがユーザーとのインターフェイスをとるための基本単位です。MVCモデルでいうところのView(V)に相当するものかなと思います。 ここで重要なことは、Androidはアクティビティを基本単位としているので、異なるアプリケーションのアクティビティ同士で呼び出しができることです。 複数のアプリケーションで連携作業が容易にできることはとても面白いことです。このアクティビティ間の呼び出しを行うための 仕組みがインテント(Intent)です。 Intentには明示的な呼び出しと、暗黙的な呼び出しの2通りがあります。 明示的な呼び出しは、アクティビティを直接指定して起動させるのに対し、暗黙的な呼び出しでは、明示的に起動させるアクティビティを指定せずにインテントのパラメータに起動するアクティビティをある程度推測できるだけの情報(インテントフィルター)を入れておくと、該当するアクティビティが起動するようになっています。 面白いことは、起動元からは実際に起動するアクティビティが何なのかわからないというところです。 実際に、今回は暗黙的な呼び出しを行い、画像を集めたGaralley(フォトアルバム的なアプリケーション)の呼び出しを行ってみます。 (意外にネットや本には載っていませんでしたね) インテントの発行 Intent intent = new Intent(Intent.ACTION_PICK); // アクションとしてピックを指定する intent.setType("image/*"); // タイプとしてimageを指定、要するに画像をピックするインテントを作成 startActivityForResult(intent, REQUEST_PICK_CONTACT); // アクティビティのスタート REQUEST_PICK_CONTACTは任意のIDです これだけで、自動的にGaralleyが起動します。(これだけだとアプリケーションのGaralleyが起動するというよりは、Android内の画像を集めてGaralley Viewに 表示していると言ったほうが適切ですね。) その後に、何か画像が選択された場合は、OnActivityResultで結果を受けます。 protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if(requestCode == REQUEST_PICK_CONTACT){ //Content Providerとは、全てのアプリケーションからデータの読み書きが可能なオブジェクトで、パッケージ間でデータ共有を行う唯一の手段 Uri photoUri = data.getData(); ContentResolver cont_reslv = getContentResolver(); if (photoUri != null) { try { mBitmap = MediaStore.Images.Media.getBitmap(cont_reslv, photoUri); } catch (Exception e) { e.printStackTrace(); } } } } 上でおこなっていることは、選択された画像のURIを取得、ContentResolverというオブジェクトを作成し、MediaStore.Images.Media.getBitmapで 実際の画像を取得しています。 この他にもアドレス帳の情報を取得することや、電話をかけるなどなど多数のことがIntentを使用して出来るのでいろいろと試してください。 検索すればアドレスなどはいろいろと出てきます。
| http://www.conit.co.jp/labs/index.php?e=255 |
| Android | 10:27 AM | comments (0) | trackback (1) | |
|
2009,10,28, Wednesday
Hi, David here.
Being the guy in charge of taking an iPhone app and making it "social", I've spent hard earned blood and tears tinkering with the Facebook iPhone API, making crazy UI windows for Twitter, and managing a server to track user scores and information. It was a mess. I had to worry about making sure the Facebook connection, Twitter connection, and server connection were all working and in harmony with each other. I had to do things like write delegates for Facebook permissions, account for user activity if they are offline, and look at how to securely pass information between a device and the server. Then came Open Feint (http://www.openfeint.com/). If you're not familiar with Open Feint, it's a freely-available iPhone API plugin for your app. Import the library, add a couple includes, sign up your app at the Open Feint site, and you're pretty much good to go. Want to post a message to a user's Facebook page? Here's the code. [OFSocialNotificationService sendWithText:@"Here's a message for the user's wall"]; Oh, and it will send to Twitter too, so don't bother learning how to use the Twitter API. Did I mention you can send images too? And while you're at it, why not send a user's top score? [OFHighScoreService setHighScore:10 withDisplayText:@"10 points" forLeaderboard:leaderboardID onSuccess:OFDelegate() onFailure:OFDelegate()]; Bam. That's it! Plus, Open Feint can automatically prompt the user to post to Facebook/Twitter as well, so you're only using 1 line of code to perform several functions across multiple platforms. All of the ranking information is kept somewhere on the Open Feint side, and there's a spiffy (albeit a little sci-fi) UI for users to see their rank. There's also the ability to compare scores with friends, play other Open Feint apps, unlock achievements, etc, etc etc. If you want to try it out for yourself, get Pocket God for iPhone.
| http://www.conit.co.jp/labs/index.php?e=254 |
| iPhone | 08:16 PM | comments (0) | trackback (0) | |
|
2009,10,27, Tuesday
こんにちは。橋本です。
今日は台風一過、真っ青な晴天の1日でしたね。 こんな日はピクニックにでも出かけたくなります。 このブログをお読みの方は、既にご存じの通り、コニットはiPhone/Android/Facebookアプリ制作を メインビジネスにしているわけです。 今日は、Facebookなどのソーシャルアプリ戦略について書こうと思います。 Facebookの戦略立案は非常に難しい課題となります。 ソーシャル性を持たせるというのは、非常に難しく、ユーザの反応を見つつ、 開発していく以外ないのです。 ただし、iPhoneと異なり、審査フェーズというのがほとんどないので、 とりあえずリリースして、ガンガンアップデートしていく戦略をとる必要があります。 実際に、以下の記事を読むと、あのZyngaでさえ、 初期開発に20%の工数をかけた後、アップデートに80%かけるそうです。 http://games.venturebeat.com/2009/10/15/the-making-of-zyngas-cafe-world-the-fastest-growing-social-game-in-history/ 良くある残念な事例では、初期開発にそれなりに工数をかけたのに、 その後のフォローが不足しており、全くユーザの獲得ができなかった というものがあります。 逆に、ある程度以上の費用をかければ、それなりのリターンは期待できます。 ソーシャルゲームはリリース後も徹底的に戦略を練る必要があります。 ポイントとしては、以下のようなものが挙げられます。 ・どうマネタイズするのか? ・どうユーザを獲得するのか? ・どうバイラル性を持たせるのか? ・どう戦略を練るのか? ・どうアップデートしていくのか? バイラル性や、ユーザ獲得を考えると、iPhoneなどの単体アプリよりその難易度は格段に上昇します。 ユーザを集めても、マネタイズの手段が甘いと、稼ぐことができません。 単純に友達間の順位や、単なる紹介では甘すぎます。 ただ、規模が圧倒的に大きく、広がったときの爆発力は非常に強力なので、その分リターンは非常に大きくなります。 バイラル性のヒントは以下に隠されています。既存ユーザに、友達を招待する導線が必須です。 ・友達より順位を上にしたい。 ・勢力図的に劣っているので、友達を誘ってでも勢力拡大したい。 ・友達が参加してくれないと、手に入らないアイテムがある。 ・友達が参加してくれないと、負ける。 ・友達が参加してくれれば、ポイントが稼げる。 ・友達にプレゼントしたい。 ・友達がいないとプレイできない。 ・友達に自分のアウトプットを見せびらかしたい。 皆さんもぜひ、Facebookへの参入を考えてみてはいかがでしょうか?
| http://www.conit.co.jp/labs/index.php?e=253 |
| iPhone | 11:03 PM | comments (0) | trackback (0) | |
|
2009,10,26, Monday
こんにちは。高浦です。
今後トレンドになるかもしれないプログラミングのスタイルとして関数型プログラミングというものがあります。 これを一言で説明するには難しいのですが、命令型言語にはない以下のような特徴があるようです。 「遅延評価」 その値が必要になるまで計算を行わないというもの。 これによって無駄な計算を減らすことができる。 「純関数型言語には副作用がない」 命令型言語の関数内でグローバル変数を返り値となる値に代入したり、関数内でグローバル変数に値を代入したりするとプログラムの”状態”が変化する。これを副作用という。副作用があると同じ関数に同じ引数を代入しても時と場合により返り値が異なる。 純粋関数型言語には副作用がないので並列処理安全性が保たれる。 主な関数型言語には以下のようなものがあります。 Lisp 元祖関数型言語 マクロの機能が強力 Haskell 副作用のない純関数型言語 Erlang 並列処理に向いている OCaml オブジェクト指向との融合 Scala JavaVMの上で動く LispやHaskellあたりを勉強してみようかな♪ 今流行のtwitterの開発にはErlangが使われていたという話もあります。 |
|
2009,10,26, Monday
こんにちわ、中島です。
先週木曜日、Windows7が発売となりましたね。 …なりましたが、ウチの職場にあるマシンはMacばかりで、お付き合いのある会社さんともMacの話ばっかりなので、誰もWindows7に興味が無いどころか、「Windowsは渋々使う物」みたいな空気がありますが(汗)。 音楽とか映像のコンテンツを作るアプリケーション資産を数年も前からガッツリとWindowsで整えてる私は、今の所Windows以外の選択肢が無いわけで、Macに移るよりは、最高に使いやすいWindowsの環境を整えることに注力した方が都合がよいのです。 これまでWindows XPを使ってましたが、色々とゴミbitが溜まって不安定になってきて、CDを挿入しただけでブルーバック画面になって強制的に落ちたりとか、たまに起動しなかったりとか、意味不明なエラーに泣かされてきました。32ビット版だったのでメモリも3Gまでしか使えず、HD映像を扱ったり色々と重い処理をすると泣かされることも多く。HDDも継ぎ足し継ぎ足しで5台も小容量なものを内蔵していたので、もうフォルダの場所があちこちにバラバラになってて… そこで一発発起し、Windows7の発売されるタイミングの直前にマシンを1から新たに組み直し、音楽と映像を制作するにあたって、(限られた予算の中で)快適さを追求してみることにしました。ハードウエア構成はこんな感じです。 CPU:Intel Core i7 860 MEM:UMAX DDR3-1333 4G SSD:Intel X-25 80G HDD:Seagate 1.5T 7200rpm VGA:ELSA nVIDIA QuadroFX 380 AUDIO:E-mu 0404USB MOTHER:ASUS P7P55D DVDR:Pioneer DVR-A08-J DVDRドライブだけ異様に古いIDEの使い回し。他は最新パーツです。ここに64bit版のWindows7 Ultimateをぶち込んでみました。 いや~サクサク動きます。SSDなんで何しても速いし、i7とnVIDIA CUDAで動画エンコードも速いです。画面のカスタマイズ度も高く、色んな事が出来ます。心配していたソフトウエアとドライバの互換性も、今の所全く問題なし。メモリも4Gフルに使えてます。 最低でも5年は使うであろう生命線的なメインマシンなので、Windows7とは長いつきあいになっていくだろうと思います。 ちなみに、午前0時の発売と同時に、秋葉のパーツショップに並んで買ったクチです(笑) |
|
2009,10,23, Friday
こんにちは、いちかわです。
HTML5で遊ぶの第5弾は、Geolocation APIについて調べてみたいと思います。 Geolocation APIは、HTML5の仕様には含まれていません。(なので、番外編) ただ単に、興味があったので調べてみました。 Geolocation APIとは、簡単に言うとブラウザでも位置情報を取得できると言う物。 国内3キャリアでは、HTMLを独自に拡張しているので、簡単に取得する事が出来ますが、世界標準ではありません。 これを標準の仕様としてまとめているのがW3Cです。 Geolocation API Specification この仕様ではタグなどの拡張ではなく、javascriptのnavigatorオブジェクトを通して情報を取得できるようにしています。 if (navigator.geolocation) { 処理 } と、ブラウザが対応しているか調べた上で、navigator.geolocation.getCurrentPosition() を使って情報を取得します。 早速サンプルを見てみましょう。 FireFoxで見ると、皇居にいる事になります(笑) ここによれば、Wi-FiやIPアドレスから位置情報を特定するみたいです。 何となく、今回の場合は詳細な値をひろえなかったから、皇居の位置が返されたって感じでしょうか。 では、iPhoneで試してみると、 ちゃんと渋谷ラボが表示されます。 ちなみに、iPhoneで画面のキャプチャーを簡単にとりたい時は、ホームボタンを押しながら、上部の電源ボタンを押すと、シャッター音がしてカメラロールにキャプチャした画像が保存されます。便利だ〜〜。 |
|
2009,10,22, Thursday
こんにちは、イワタです。
今日は、ただ今開催されている、世界最先端のAR技術展で紹介されているものを幾つか紹介します。 展示会は、ISMAR 2009(International Symposium on Mixed and Augmented Reality)という名称で、 ISMARへのリンク フロリダ州のオーランドで行われています。 凄いとなーというものを幾つかあげてみます。 これは、3年くらい前にある3D技術の会社のCMで未来はこうなったら凄いなーというようなニュアンスのCM ととても似ていて、こんなに早く実現されようとしていることに驚きです。 将来的に、建築や、空間デザインなどの会議で当たり前のように使われるようになったら便利だと思いました。 こちらは、オクスフォード大学のiPhoneのARです。 実際はどうなのかわかりませんがマーカレスで平面位置をきちんと 検出できているのだとしたらすばらしい技術かなと思いました。 もっと電話機のあたりを歩かせたらどうなるのかみてみたいものです。 実際、iPhoneの加速度センサと方位角センサーの組み合わせで、 ある程度のステレオ視的なことで、3次元上の位置を計算しているのか、 もっと別の特徴点抽出の方法でおおよその面の位置を計算しているのか アルゴリズムが気になるところです。 もう一つiPhoneです。 ARは、現実空間に想像(創造)したものを合わせたり表示することで、デザインの確認や、リアル空間でのゲーム性のある遊びができたりと、その他にも実社会に有効な手段としてこれから色々と存在を現してくるのではないのでしょうか。 以下のような眼鏡型のARも開発されてきているようですので、将来は全員が携帯のようにAR眼鏡を装着して生活するようになるかも知れません。 ARメガネ |
|
2009,10,19, Monday
![]() こんにちは、阿久津です。 ちょっと時間は経っていますが、ここ最近Googlが「Cloudboard」なる サービスのテストを開始したそうですね。 まだこのサービスは、publicには公開されていないようですけど・・・ このサービスは、GmailやGoogle Docsやその他のGoogleサービス間で 簡単にデータをコピーすることが可能なようです。 例として上げると以下のようなことが出来るようになる??? ・Gmailにスプレッドシートを貼付ける。 ・Google DocsやGmailにYouTubeやPicasa Web Albumsの画像を貼付ける。 これはこれは、すごいですね!! mailで絵文字が使える使えないの次元ではないですね このサービスが早く公に公開されることを期待しつつ、 リリースされたら、実際にその体感レポートをまたここで 発表したいと思います。 皆様も頭の片隅にこんなサービスが出るらしいくらいに 覚えておいてもよいのでは・・・ |
|
2009,10,16, Friday
こんにちは。橋本です。
今朝、寝ぼけながらメールチェックをしていた際、驚いて一瞬で目が覚めました。 突然無料アプリでのアプリ内課金がスタートしていたのですから。 無料アプリによるアプリ内課金で、iPhoneの戦略やマーケティングは大きく様変わりします。 1.無料のトライアル版と有料版の違いがなくなる。 2.まず、無料でばらまいて、その全員を対象に課金できる可能性がある。 3.無料から有料への導線を考えなくてよい。 4.有料アプリにAdmobなどの広告が入っている場合、ユーザに抵抗感があったのに、 そもそも無料だった場合、結果的に有料課金してもユーザに違和感を感じさせない。 5.アイテム課金が爆発的に増え、ソーシャル性のないFacebookアプリのようになる。 などなど。 弊社のようにアプリ内課金ソリューションを販売している会社にとっては、 今朝の変更は追い風以外の何物でもありません。 |
|
2009,10,16, Friday
Wow, this was the biggest surprise that I've seen come out of Apple in a while. Coming out of nowhere, as of today Apple is allowing developers to charge for in-app purchase content on free apps.
The benefits of this are obvious. No more need for 'lite' versions of apps, piracy becomes much more difficult, and users can have a better idea exactly what they're getting when they spend their 2 bucks on an app purchase. Of course, this is also great news here at Conit, where we recently began offering a content hosting solution for in-app purchases. The times are a changin'. I'd love to take a peek at the office that handles the queue of app update requests at Apple. I'll be watching for the explosion of in-app purchase tutorials and questions posted on places like the dev center and iPhone Dev SDK. Remember when Apple insisted that 'free' apps should be 'free'; the ambiguous explanation to the obvious question of why in-app purchases aren't available for free apps? Pure brilliance. Here's why. I think Apple wasn't completely sure where the in-app purchase platform would go, or how users would respond. So, why not test the waters first with paid apps? Of course, they knew the day would come when free apps could work too, but if there was a negative response or a problem with the platform, the whole app store would have been in jeopardy. Okay, so start with paid apps and then move to free. Makes sense. If Apple were a non-business-oriented average Joe like me, it would have said 'in-app purchases will also be available for free apps, just not right away'. After which, people would be asking, 'when?', and developers would be anxiously waiting, deciding to hold off on their paid app until in-app purchases are available for free apps. The App Store sales would probably sink, and nobody would be all that excited when the platform is released for free apps. Such a wasted opportunity! By insisting that in-app purchases are only available for paid apps, then suddenly having a 'change of heart', all kinds of buzz is generated across the web. Developers across the world are jumping from the rooftops, dusting off their MacBooks, looking at how their apps can be made free. Everyone is speculating about how their favorite apps will offer in-app purchases. New life is breathed into the app store. Nothing but good news. Apple has done it yet again.
| http://www.conit.co.jp/labs/index.php?e=246 |
| iPhone | 11:03 AM | comments (0) | trackback (0) | |






