Archive for the ‘未分類’ Category

Qt Nagoya

土曜日, 7月 16th, 2011

この前の日曜日Qtのセミナーにいってきました。(遅いレポートですみません;)
Qt(キュート)は、マルチプラットホームの開発環境で、結構昔からあり、私もSHAPのLinuxZaurusの開発のとき、使う機会がありました。Qtopiaという組み込みのものだったと思います。
詳しくはWikiPediaなどで・・

Qtの最近の動向に、とても興味があったので参加しました。マルチプラットホームでアプリを作ろうとすると、FlexAIRがまず候補にあがりますが、便利な機能を使おうとすると製品を買わないとできなさそうなので、どうしても本腰を入れられませんでした。Qtの存在は知っていたはずですが、古いということで、忘れていたのが正直なところでした。
セミナーを聞いて、まだまだ現役ではないか、というのが第一印象です。それどころか、QMLを使ったアプリ開発は、先端をいっています。AndroidやiPhoneの開発は現在サポートしていないようですが、そのようなコミュニティはネットで調べるとあるようです。
私もインストールしてサンプルを動かしてみましたが、開発環境の完成度が高いのに、とてもモチベーションがあがります。最近はじめたAndroidの開発環境はお世辞にもいいとは言えず、惜しい気がしていました。
iPhoneには、Xcodeという開発環境、Windows 7 PhoneもMicrosoftの完成された開発環境があり、そしてこのQtもそれに負けないくらいの環境があります。この回のセミナーでは、MeeGoというプラットホームを初めて知りましたが、これにもQtは使われて、インターフェイスがすばらしかったです。MeeGoに関しては先行きがあまり明るくないようなことを言われていましたが、Qtの開発環境を見れば、もっと行けそうな気がしてしまいます。開発環境というのはただ便利とか使いやすさのことだけでなく、UIも含みます。だいたい優れたUIのツールから生まれるアプリは、UIもすばらいとものと思っています。
あと、WebKitとの絡みをもっと知りたかったですが、これはネットで調べたいと思います。しかしいろいろと勉強になりました。
講師のみなさんおつかれさまでした。

それから、このようなセミナーでは(前回のTiも)、やはりTwitterがあった方が便利だと思い、最近はじめました。
@B1TL1FE
よろしくお願いします!!

Titanium Mobile

日曜日, 6月 19th, 2011

土曜日、名古屋Android勉強会Titanium Mobileハンズオンに参加してきました。
Titanium Mobileとは、簡単に言えば、iPhone,AndroidのアプリケーションをJavaScriptを使って、開発する環境です。

http://www.appcelerator.com/products/titanium-mobile-application-development/

開発効率の面で、このようなツールを使うことのメリットは多大だと思いました。同様のツールは他にもありますが、選択肢が多いのはいいことですね。
自分の場合は、特に言語は何でもこだわりませんが、JavaScriptからネイティブの機能にアクセスする仕組みは、以前から興味がありましたので、このTitaniumは、まさに好みのソリューションでした。
実際にそれを感じたのは、iPhoneのWebViewである特定のURLのみ違う挙動をするようなしくみを使ったときでした。アプリリンクから、AppStoreに誘導するしくみにこれを使うことも多いかと思います。
つまりHTMLベースの記述からiPhoneの挙動をコントロールできることになります。Titaniumにない機能はネイティブコードで拡張できるということですが、このあたりとても面白そうです。

今回のハンズオンで、何より興味深かったのが、講師増井氏のキャリアでした。Appcelerator入社に至る経緯が、とてもチャレンジ精神にあふれていて、聞いていてとても元気をもらいました。またこの業界急速に変化しているのが、よくわかります。私もシリコンバレーの会社を訪問したり、またその会社とも仕事をしたことがあり、今でもとても憧れる世界です。あちらではとてもドライな関係で契約・仕事を進めていきますが、開放的な環境が魅力でした。
ひさしぶりにまたわくわくした気分になりました。

Androidも一応2タイトル作ったわけですが、次はこのTitaniumを使ってみようかなと思っています。
それから、「AndroidSDK開発のレシピ」は、とても説明がわかりやすく参考になりました。
これから始める方、必見ですね!

2nd Android Application ‘TwitterTalker’

火曜日, 6月 14th, 2011

Twitterのサーチ結果を音声合成で読み上げるアプリケーションを作りました。

iPhoneにはない機能を使いたいと思っていたので、音声合成を利用してみました。英語のみなのですが、興味のあるキーワードの検索結果を音声で読み上げるのは、ニュースをラジオで聞いているみたいで、結構楽しいです。

特徴は、検索結果をすべて読み終えた後、自動的に再度検索して、読み上げます。常に最新の情報を無限に読み上げることができます。

注)お使いの端末に、音声合成用のサウンドデータがインストールされていない場合、アプリケーションの起動時に、インストールにいきます。(決して怪しいアプリではありませんので安心ください:-) )

Android Application ‘Subnet’

金曜日, 6月 3rd, 2011

はじめてAndroid アプリ’Subnet’を公開しました!

https://market.android.com/details?id=jp.iiv.droid.app01

ネットワークのサブネットを計算する簡単なツールですが、まず公開までのプロセスを経験したかったので、シンプルすぎる内容ですがリリースしてみました。

使い方は、IPアドレスを入力して、あとはスライダーでビットマスク値を左右に変化させるだけです。ネットワーク数、ネットワーク開始アドレス、終了アドレスをリアルタイムに計算して表示します。

アプリの公開について、どうしてもiPhoneのときと比べてしまいますが、登録して後、すぐにAndroid Marketで検索して見つかったのには、とても驚きました。こんなに簡単にできてしまっていいのだろうか、と思うくらいです。
Subnetを計算するアプリは他にもたくさんあるようですので、このような簡単なツールを手軽に開発して公開できるというのは、プログラムを作る楽しみを感じますね。Appleのように審査がないためでもありますが、これはこれでいいと思います。

あと開発していて思ったのですが、レイアウトツールがiPhoneにくらべると格段に貧弱ということです。これからの課題だと思いますが、もしこれが改善されれば、さらに簡単にアプリを作ることができるのにと思います。なぜGoogleがこのようなツールを作らないのか不思議なくらいです。

シンプルすぎて恥ずかしいですが、一応スクリーンショットをのせときます。

 

iPad App : Live Music Coder M^2 OSC

水曜日, 5月 4th, 2011

このアプリケーションは、UNIXのようなコマンドラインインターフェイスを使って、変数に数列や数式を代入して、音楽を奏でます。

ここでは、アプリのウェプサイトの内容より、より詳しく説明をしていきたいと思います。

こ のアプリでこだわったのは、1ラインでコーディングするルールです。通常のプログラム言語で記述すると、どうしても複数の行で音の演算式を記述することに なりますが、一回のリターンキーでプログラムを記述しリアルタイムに実行するというシンプルなオペレーションにこだわっています。(シンプルなのに複雑な 表現)
1ラインといっても、条件分岐や演算ができます。もちろん不自由なところもありますが、そこに創造性を見いだせないか、というチャレンジする思いもあります。(制限の中の自由)

iPhone版は既にリリースされていますが、機能はOSCを除いてほとんど同じです。
iPhone版との違い
・スクロールする方向が逆
iPhoneでは、小さい画面の中たくさんの情報を表示するために、あえて逆スクロールにしました。使っていただくとその理由がおわかりになると思いますが、データを入力するときはキーボード領域を拡張して、スクロール領域を使えるようにしているからです。
・配列の拡張
1ラインで全ての表現するため、iPadではその領域が広がっています。機能には違いはありません。
・OSC
iPad版では、Open Sound Controlを実装しています。対応したアプル等があれば外部音源等を操作することができます。
・キーボード配列の変更
画面がひろくなった分、キー配置に余裕ができ、より操作がしやすいようにキーを増やしています。機能には違いはありません。

デモムービーの解説

デモムービーでは、a0=x によるランダムミュージックを再生した後、以下のデータを再生しています。

r1=1 1 0 0 5 5 0 0 12 10
r2=1 5 8 0 12 15 18 0
a0=r1+s
b0=a2?>0+12
c0=b3?>0+12
d0=r2

・r1, r2はノート番号の配列を格納する変数で、それぞれ独立して順番に再生してループします。ゼロは無音です。
それ以外の変数は、そのときのTickのノート番号のデータが入ります。
a0,b0,c0,d0 は、サウンドトラックです。4音同時発音できます。

・a=r1+s
配列の音に、スライダーの数値を加えます。(デモではSスライダーを使うのを忘れてました)

・b=a2?>0+12
これは、C言語で言えば、
if(a2 > 0){
a2 += 12;
}
b = a2
となります。a2は、a0の1Tick前の音が入っており、ディレイ音を重ねるときに便利です。

・c=b3?>0+12
bの1Tick遅れの音に、さらに1オクターブの音をたしています。

・d0=r2
配列2の音を重ねます。

デモでは、配列の音を一つずつ削除していってループする音数を減らしてフレーズに変化を出しています。
そして、オリジナルのデータを再生中に再度ロードして、データを復元しています。

App Website : http://iphone.iiv.jp/
iTunes : http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=402178723&mt=8