Working on Dream RSS

Information technology, Mobile, Media ART.
Happiness is Contagious

Have a break with my favorite photos

my portal is at jimdo http://ymmtny.jimdo.com/


follow ymmtny at http://twitter.com

Archive

Nov
5th
Sat
permalink

CoronaSDK: Agile Meets Device

スクリプト開発

コロナはスクリプト(Lua)で開発する。ウェブアプリのスクリプティングでの開発と同じであり、xCode/EclipseといったIDEでのobjective-cやjavaでのプログラミング、コンパイル/ビルド、そしてiOS SimulatorやADT Emulatorでの動作確認という流れとは違う。それらのIDEを使うよりも、圧倒的に動作確認までが早いスクリプトでのアプリ開発である。(このようなものは、いままでのモバイルの組み込み開発ではほとんど見かけない)コロナの反復開発は画像変更、コード変更の結果が即座にシミュレータで確認可能である。プリント(print)出力をシミュレータのコンソールに出力するデバッグが基本だ。

通常のウェブアプリのスクリプト開発では、ソースコードのコンパイルが必要ないので、結果がブラウザやログで即座に確認できる。デバイスのネイティブアプリ開発との大きな違いである。この利点をコロナはLua言語のスクリプトとシミュレータで実現している。

ネイティブアプリ

コロナはネイティブアプリであり、OpenGLやiOS/Androidのネイティブのフレームワークとの結合は、LuaのC Bindingで行われている。デバイス用のコンパイル&ビルドはアンスカ社のクラウドサーバが行う仕組みとなっており、ユーザはLuaスクリプトとリソース(画像やサウンドなど)からのアプリのビルドをアンスカ社のサーバに委ねる。クラウドでビルドを行うという特徴的な仕組みが採用されている。

ビルドされたコロナのアプリは、JavaScriptやブラウザといったランタイムエンジンを利用していないので、ネイティブアプリとしてのパフォーマンスを引き出すことが可能だ。Luaエンジンは高速なデバイス用の組み込み用VMとして実績があり、コロナで作成されたアプリのパフォーマンスがとても高いことは実証済みである。

コンセプトとして、アプリのフレームワーク(ネィティブ)がスクリプト機能をもっているといった形に近い。ネィティブのフレームワーク(API)に直結している LuaのスクリプトであるJavaScriptがスクリプトのランタイム経由でアプリとして動作するような作りとは違う。 

Luaバインディングの仕組みをiOSとAndroidのフレームワークに適用した設計によって、一つのLuaスクリプトのプログラムから、iOSとAndoridの両方のアプリ開発が可能である。 

これらはコロナのイノベーションの一つである。スクリプトであるが、ネイティブアプリなのである。ネイティブ開発の性能とウェブアプリの開発スピード、それぞれの良い点を合わせ持っている。 

シミュレータ 

コロナは反復的な開発を実現するために、デスクトップ上での動作が十分確保されたシミュレータが用意している。デバイス(組み込み)のネイティブ開発は、所謂、クロス開発。デスクトップパソコンで開発と動作確認(シミュレータ)とデバイスでのアプリの動作確認と開発環境が2つ存在することを意味している。

アンドロイドのエミュレータやiOSシミュレータが用意されているが、OS全体をエミュレートしているために、デスクトップ上では動作が重たい。また同じように、デバイス上の動作確認もコンパイル/ビルド/デプロイ(インストール)といったプロセスがあり、ウェブアプリのスクリプト開発環境の反復的な開発スピードには劣る。 

Runtime engine 

携帯コンテンツは、HTMLやFlashLiteコンテンツで大ブレークしたわけであるが、これらのコンテンツの開発は、ネィティブアプリ開発とは違っている。HTML/CSS/JavaScriptのウェブコンテンツやアプリは、スマートフォンでもより一層の飛躍が期待されるだろう。

しかし、FlashLiteはどうであろう、PCブラウザのFlashはどうであろうか? 

組み込みのFlashLiteプレイヤーの開発に携わってきたアンスカ社のWalter&Carlosと筆者や多くの組み込み開発を行っている人にとっては、当たり前のことかもしれないが、組み込みのアプリ開発は、このデスクトップ上の開発/確認とデバイスでの動作確認といった 

2つのフェーズに直面することになる。組み込みのネィティブ開発のデスクトップ上の環境は、スクリプト開発のようなスピード感のある反復的な開発とは全く違っている。Flashプレイヤーやブラウザといったデバイス上のランタイム開発は、その性能と品質確保で限界に達している。

OpenGL 

デバイス上のOpenGLの性能を引き出すことによって、十分なパファーマンスをもったグラフィクスの描画が可能である。このためには、HTMLやXMLといったデータや構文解析/スクリプトでの処理よりも、スプライトシートといった画像処理の最適化が必要である。コロナの描画エンジンはOpenGLを利用した高速な画像処理を可能にしている。Flashのベクター画像やHTMLのパース/レンダリングがデバイス上である意味限界で、ネイティブアプリにパフォーマンスで劣るのは、OpenGLの性能を引き出すことができないからである。実際にOpenGLを使うとなるとOpenGLをカバーするフレームワーク(cocos2Dといった物理エンジンなど)も必要となる。このフレームワークをFlashやブラウザで用意することもまたオーバヘッドを加算することとなる。

コンテンツ 

HTMLやFlashの最大の利点はコンテンツであるということだ。Flashは、アドビ社のコンテンツ開発環境のIDEであるFlashやFlexが利用可能だ。レベルデザイン、UIデザインが視覚的で直感的なツールを使い行うことができる。またアクションスクリプトをフレームやムービクリップに付与することも可能だ。コンテンツ開発は、この統合的な開発環境で行われ、コンテンツをデバイス上のランタイム(プレイヤー)で再生し、動作確認を行うことになる。

スマートフォンのモバイルコンテンツとしてもFlashのようなリッチコンテンツが期待されており、Flashのようなデザインツールの利用を行いたい。それをスクリプト開発のようなアジャイル開発で行い、且つ、ネイティブアプリとしての性能を十分に引き出した形で実現したい。それをゴールとして、モバイルのアプリ開発手法に新しいアプローチを提示したのがコロナである。

 

またコンテンツとして、スマホとしての新しい機能やサービスの利用が期待されている。コロナでサポートされている機能としては、下記のFlashとの比較表を参考。  

http://www.anscamobile.com/corona/comparison/flash/features/ 

アンスカ社が用意しているAPIには、OpenFeintやAds(inmobi), Credits(superReward),  

In-App-Purchase(apple store)などもある。

http://developer.anscamobile.com/content/network 

コロナで開発されたゲームやアプリやピクチャーブックは、アンスカ社のブログやショーケースで見ることがでる。

ブログ

     http://blog.anscamobile.com/category/showcase/

ショーケース

    http://developer.anscamobile.com/showcase/

開発プロセス

開発の流れとしては、ディスクトップのパソコンで、グラフィクスを用意して、画像の表示、インタラクティブな機能をLuaのスクリプトでコーディングを行い、デスクトップで動作するシミュレータで動作を即座に確認。この反復的なイタレーション開発を行う、問題なければ、iOS/Androidのアプリとしてのビルドを行う。

デスクトップ

    グラフィクス

         画像/スプライトシート

    コード

        ツール/テキストエディター

    シミュレータ

        開発/動作確認

デバイス

     ビルド/動作確認

必要な環境は、パソコンとコロナSDKとテキストエディターで始めることができる。XCodeはデバイス用のビルド時にプロビジョニングファイルの作成のために必要である。

シミュレータの動作確認までなら、インストールする必要はない。Androidのアプリ作成をおこなうときに、EclipseとAndroidSDKのインストールは必要ない。デバイス用のビルドにJavaSDKのインストールが必要である。

ツール

コロナ自体には、インターフェイスビルダーや直感的なFlashのようなデザインツールは含まれていない。コロナの特色として、様々なサードパーティが開発したツールが利用できる。これらのツールをアプリ開発のレベルデザインのツールとして利用する事も可能だ。デザインツールをそのままコロナのレベルデザインツールとして利用可能なKwikやSpriteLoqが存在する。

Kwikは、Photoshop CS5で作成した画像に、Kwikのダイアログでボタンやアニメーション設定を行いコロナのソースコードと画像等のリソースを出力する。これはコロナシミュレータで即座に動作確認が可能だ。

SpriteLoqは、Flash CS5で作成したFlashアニメーションをコロナで利用可能なスプライトシートに変換する。Flashのステージ上に配置したムービクリップのレイアウトをコロナでも再現する。

以下に利用可能なツールなどをリストしてみた。グラフィクス(画像)はPNG/JPEGが利用可能なので、どんなデザインツールでも良いだろう。

1.画像やスプライトシートの準備

  •   Gimp
  •   Inkscape
  •   Fireworks (有料)
  •   flash      (レイアウトも可能) (有料)
  •   Photoshop  (レイアウトもインタラクティブ機能追加も可能) (有料)

2.画像の配置/レイアウト/レベルデザイン  

  •   Gumbo 
  •   Inkscape > TextEditor.SVGLevelBuilderLibrary (有料)
  •   Lime (有料)+ Tile 
  •   SpriteHelper/LeverHelper (有料)
  •   Flash+Spriteloq (有料)
  •   Photoshop+kwik (有料)

3.インタラクティブ機能の作成

  •   Photoshop+kwik (有料)
  •   text editor(コーディング)

=> corona simulatorでの確認

GumboやSVGLevelBudlerやLime/Tileについてはこちらの情報を参照。

http://groups.google.com/group/coronaja/browse_thread/thread/dd300f15e9042366?hl=ja

この1、2、3を繰り返すことになる。

拡張性

開発は全てluaのコードのみで実現する必要がある。luaの様々なモジュールを利用できる。コロナは、クロスプラットフォームのネィティブアプリの開発を一新させようと始まったプロジェクトであり、ネイティブのフレームワークとAPIとの結合は、コロナ自体(アンスカ社)がカバーし、ユーザ(開発者)をネイティブ開発から解放するというゴールを目標としている。この思想とコロナの拡張はアンスカ社のビジネスとして行うという面から、ネイティブのライブラリやフレームワークを開発者がコロナに結合(インテグレート)することはできない。コロナの思想的な面とサーバでのビルドを行いライセンス(サブスクリプション)課金といったビジネスモデルの面から、ネイティブ拡張はサポートされていない点はご理解していただきたい。


Comments (View)
May
30th
Mon
permalink
cafe:

robot-heart:

stay, stay where you are. (via Kristine May.)

cafe:

robot-heart:

stay, stay where you are. (via Kristine May.)

Comments (View)
Jul
1st
Wed
permalink

corona - Ansca | Unlock your imagination…

http://www.anscamobile.com/corona/

マクロメディア アドビで活躍していたエンジニアがFlashLiteのモバイルの組み込みの経験を生かして、モバイルで必要なWebデザイナーやFlashクリエイターのためのコンテンツ開発環境として、LUAというスクリプトでSDKを提供。簡単な紹介は、以下のURLとなります。

http://show.zoho.com/embed?USER=ymmtny&DOC=corona-ppt&SLIDE=1

アドビのFlashは、HTML5やiPhone, Android, Windows7, といったオープンプラットフォームといわれるデバイスのマーケットの中で、OpenScreenProjectという戦略を掲げているが、波にのれるのだろうか、岐路にたたされているのではないか。

Adobe Vets Build Rival to Flash for iPhone Apps

http://www.nytimes.com/external/venturebeat/2009/06/23/23venturebeat-adobe-vets-build-rival-to-flash-for-iphone-a-87679.html

iPhoneやAndroidといったスマートフォンは、ブラウザでのコンテンツ・サービスを推し進めるのか、それともアプリケーションとしてマーケットなどから提供される作りこまれたアプリがコンテンツやサービスをWebサイトに代わって提供するのか? 流れは、後者になるのではないか。その中間として、Widgetがある。FlashのWidgetは、UIが洗練されており、情報が集約された形となっている。Flashが得意とした分野である。このデバイスへの展開がおくれている。アドビは、携帯電話をAIRで自ら作るくらいのスタンスがよいのではないか。

coronaは、日本のFlashLiteのコンテンツ製作に携わってきた人々にさまざまメッセージを投げかけるだろう。携帯に搭載するために歩みたい。

Comments (View)
May
12th
Tue
permalink

ユーザが出発点となるラジオ

shazamでなつかしいDennisDeYoungのDesertMoonを音楽検索してみたところ。SpeechToTextもそうだけど、変換というのがキーワードではないだろうか。テキスト -> サウンドファイルへの変換から、pod castに使えたり、サウンド -> サウンドファイルの特定から、そのYoutubeやitunesへのリンクを送信できたり。(smart.fmもユーザがリストをつくれるのがよい、そのリストをよくできたWidgetsが再生してくれる。Hunting/Collectingして、それを変換して、情報発信できる。)

メモ
———————————
ブログを読む —> 聞く
ユーザが作成できるオンラインサービスが充実
オンライン語学学習では、非常に良く使われている
読み上げソフトを使うと、校正の精度だけでなく、速度もコンスタントに上がる

FoxVox ブラウザ プラグイン
mp3 audiobooks/podcastingの作成ができる。(ストレージサービス) 
無料と有料版の違い
High Quality Voice 、Autospeak、Adjust speed and volume

2002年 10月8日
InternetSpeech 社がi-モード・サイトの自動音声化を新開発

新刊.jp( 2006年1月のオープン)
Kinocastは、紀伊國屋書店から発信される、ポッドキャスト対応ウェブラジオ番組です。
利用者数 50 万人、3000 万 DL、2000 万 PV

2009年4月6日 NEC プレスリリース
文章から筆者の気持ちを推定し音声合成や文字装飾できる技術を開発

Speech2Text
http://say.expressivo.com/
http://api.satoru.net/
http://www.voiceforge.com/demo/
http://pediaphon.fernuni-hagen.de/~bischoff/radiopedia/index_en.html
http://zamzar.com/
http://www.squidoo.com/text-speech-programs
https://www.ispeech.org/sign.up.php?affiliate=1
http://text-to-speech.imtranslator.net/
https://addons.mozilla.org/ja/firefox/addon/5681

日本語のオンラインサービスは少ないようだ。
http://vhost.oddcast.com/vhost_minisite/demos/tts/tts_example.html?
http://voice.pentax.jp/

Comments (View)
Apr
21st
Tue
permalink

Server Keitai

【背景】
Freebit社のServersMan@iPhoneは、iPhone携帯がWebサーバになる。

http://serversman.net/iPhone名/

このような形で、Web APIを通してiPhoneにアクセスできるようだ。

また mikz社も携帯電話のサーバ化を行っている。mikz社の下記のデモページは、携帯電話がサーバとなったときに、個人の携帯が発する情報がどんなものか理解しやすい。

http://demo.mikz.me/

最近、携帯電話のFON・WalkingHotSpotも始まっている。au初のwindowsmobile端末であるE30HTは、無線WiFiのadhoc接続が可能となった。携帯電話ではないがデータ通信を主として、どこでもWi-FiのWillcomや、PHS300のルータにEMobileのデータカードをUSB接続できるといった、FON・無線ルータは、ケーブル回線を必要としない点で興味深い。海外では、WMWifiRouter /WalkingHotSpotといったシンビアン・WindowsMobileアプリが提供されてきている。

【考察】
上記のような背景があるなか、現在の携帯電話は、いつもインターネットを介して、i-modeなどの携帯サービスや社内システムのメール、カレンダ等にアクセスしていたが、携帯電話のWiFi化とサーバ化によって、インターネットを介さない、直接の携帯とPCや携帯と社内サーバの連携が実現できる。

ノートブックがWiFi接続したいときに、携帯電話にWiFi接続すればよいのである。逆にクラウドのサービスや社内システムは、携帯電話内のサーバとWebAPIを通じて、データのやり取りを双方向で行える。携帯電話は小さなクラウドといえるのではないか。

【ユースケース】
最初に実現したいユースケースは、ユーザが携帯電話で写真を撮影したときにメールで写真を添付して送付しなくても、その写真を友人や家族に公開することである。ビジネス用途しては、クラウドの社内システムより、携帯電話サーバに展開されているデータ、たとえば、商品カタログなどを、営業マンが顧客に携帯でプレゼンを行い、顧客が気に入った情報を、その場でメルアドを交換して携帯サーバのURLを送付することである。顧客が自分の携帯のブラウザで詳細に検討できる。同様のスタイルで、ハワイの観光情報満載の携帯電話をこれから、バカンスを計画する人々のために販売または無料で貸し出す。情報を携帯ブラウザで閲覧しながら、友人や家族に「このホテルやレストランはどう?」などといったやり取りを、携帯サーバのURLを送信して行うことができる。

※携帯はサーバであるので、IMAPメールサーバとなることも可能だ。

参考(freebitやmikzなど)
http://ymmtny.jimdo.com/top/my-data/

Comments (View)
permalink
Comments (View)
Apr
8th
Wed
permalink

Web Stream Comment

PC-Mobileの新しい流れを体験中。
サイト間でのデータの流れ、ストリームに感動。

1 携帯電話は、GPS情報を写真につけることできるので
これで写真をGPS情報つきで、flickrやpicasaに携帯から投稿。

2 flickrやpicasaから、RSSでtumblrやjimdoにFeedsする。

(mixiにもflickrのRSSをfeeds)
(facebookもflickrの写真をfeeds)

2.1 twitterにもtumblrがアウトプットしてくれる

3 iPhoneアプリ twitterFon, facebookの利用で、PCサイトのアップデート情報を見たり、書いたり。

3.1 tumblr(PC) - iview(iPhone)には感動た。

3.2 deliciousもさわってみた。Wisdomf of crowd 集合知も響く。

4 jimodoで、写真/ブログなどのrssやwidgetを設定する。
http://ymmtny.jimdo.com/
http://catalystmobile.jimdo.com/

※コンテンツマネジメントシステムを構築したり、ホームページ製作ツール利用しなくてよい。

Cloudサービスの中をデータをどう流してあげるか。
我々は、善良なaggregatorになるのもありか?

Comments (View)
permalink
Web Stream In Cloudy Sky

Web Stream In Cloudy Sky

Comments (View)
Apr
6th
Mon
permalink
メッセージを集めている。写真+テキストがとっても印象的だ。ある物に刻まれている、印刷されている、書き込まれているものが、写真の鮮明さと静かなる存在感によって、伝わってくる。
cafe:
(via icanread)

メッセージを集めている。写真+テキストがとっても印象的だ。ある物に刻まれている、印刷されている、書き込まれているものが、写真の鮮明さと静かなる存在感によって、伝わってくる。

cafe:

(via icanread)
Comments (View)
Apr
5th
Sun
permalink
Comments (View)