2011-04-14

Titanium Studio:3日で出来るiPhoneアプリ開発環境

噂のTitanium Studioを使って、iPhoneアプリ開発経験の無い僕が3日(金、土、日曜)で出来るところまでやってみました。作った物はImage-based Word Listといって、英語初心者および初級者向けの英単語学習アプリです。



このアプリは、与えられた英単語から、その英単語に関連する画像(flickr API)と定義(Dictionary.com API)、および例文をWeb上から取って来ます(Google Search API)。英単語を学習するモード(Learn)と、復習するモード(Review)、テストするモード(Quiz)の3つがあり、これらのモードを使い分けて、英単語を学習していくことが出来ます。

似たようなコンセプトのアプリとして、LinkedWordという辞書アプリがありますが、僕の作った物は辞書ではなく単語帳アプリです。なので、APIは同じか、もしくは似ている物を使っているはずですが、表示の仕方が異なります。

具体的な動作については、DEMO動画を取ったので、それを見て下さい。バグやら何やらも写っていますが、良いところだけ写すのもどうかと思ったので、取り直しはしていません。



Titanium Studioを使ってみた感想ですが、付属のKichenSinkというサンプルアプリ集がかなり秀逸で、それを参考にして作っていけば、かなりサクサクとアプリを作っていくことができます。また、デフォルトで背景が黒色、文字が白色なのも素晴らしいです。それと、未だ試していまませんが、CUIでも動くようです。これでオープンソースというのだから、驚きです。

TitaniumではAndroidアプリも作れるようなので、今度はアンドロイドアプリをTitanium Studioで作ってみようかと思います。今のところ、ホイッスル on Androidのウィジェット版が欲しいという声をちらほら聞くので、今週末は、その実装をTitaniumでやろうかと考えてます。

Image-based Word Listのソースコード
https://github.com/yasulab/Image-based-Word-List

なお、自作API用に使っている自サーバのメンテナンスコストが大きいので、Image-based Word Listアプリを公開する予定はありません。また、自サーバが動いていないと、WebView(画面下の表示領域)に何も表示されなくなります。

// もし自作APIをGoogle App Engineなどにうまく移植出来たら、公開するかもしれません。

How to run your iPhone App on Actual Device with Titanium Studio

iPhoneアプリ開発の未経験者の僕が、Titanium Studioで実機テストをしようとして少し躓いたので、ポイントをまとめておきます。

0. 実機テストに使用するiPhoneアプリを開発。

1. 次のページを参考にProvisioning Profileを作成する。

第9回 デバイスでアプリを動かす

2. Titanium Studioを開いて、左のペインにある右矢印アイコンをクリックし、iOSデバイスを選択



3. 1.で取得したProvisioning Profileをアップロードする。

4. Finishをクリック。(クリックすると、実機へのインストールが始まります。)

ちなみに、Xcodeを開いた状態で実機へのインストールを開始するとエラーが起こります。一度エラーが起こると、たとえXcodeを閉じて再び実機へインストールしようとしても、同じ場所でエラーが起こります。このときは、キャッシュをクリアしてあげれば良いです。

具体的には、buildファイル内のファイルを全て削除すれば良いです。ここにあるファイルはbuildする度に自動生成されるので、削除しても問題ありません。



Good luck!


2011-04-12

Text Analyzer



AIの課題を解く際に出来た副作用的な作品。とりあえず公開。もしかしたらiPhoneアプリでも使えるやもしれない。

GitHub - yasulab/Text-Analyzer


/Users/yohei/text-analyzer% python text-analyzer.py
Text Analyzer
-------------
Commands:
rand NUMBER   : Randomly pick a word given times.
read FILENAME : Read a given file.
stats         : Show stats of recently read text.
help          : Show this.
exit          : Exit.

Current Text:  alice.txt

[alice.txt]> stats
Number of words: 27421

TOP 10 - MOST FRQUENTLY USED WORDS
COUNT | WORD | PROB [%]
1636 | the | 5.97
870 | and | 3.17
729 | to | 2.66
627 | a | 2.29
595 | it | 2.17
553 | she | 2.02
544 | i | 1.98
515 | of | 1.88
462 | said | 1.68
411 | you | 1.50

[alice.txt]> stata
Unknown command: stata
[alice.txt]> rands 10
Unknown command: rands
[alice.txt]> rand 10
Number of words: 27421

TOP 10 - MOST FRQUENTLY USED WORDS
COUNT | WORD | PROB [%]
1 | with | 10.00
1 | while | 10.00
1 | trotting | 10.00
1 | to | 10.00
1 | the | 10.00
1 | she | 10.00
1 | replied | 10.00
1 | isn | 10.00
1 | heard | 10.00
1 | after | 10.00

[alice.txt]> rand 2
Number of words: 27421

TOP 10 - MOST FRQUENTLY USED WORDS
COUNT | WORD | PROB [%]
1 | looked | 50.00
1 | come | 50.00

[alice.txt]> rand 100
Number of words: 27421

TOP 10 - MOST FRQUENTLY USED WORDS
COUNT | WORD | PROB [%]
9 | the | 9.00
5 | to | 5.00
4 | and | 4.00
2 | you | 2.00
2 | thought | 2.00
2 | s | 2.00
2 | must | 2.00
2 | as | 2.00
2 | all | 2.00
2 | alice | 2.00

[alice.txt]> read vicar.txt
[vicar.txt]> stats
Number of words: 64244

TOP 10 - MOST FRQUENTLY USED WORDS
COUNT | WORD | PROB [%]
2890 | the | 4.50
2093 | to | 3.26
1796 | and | 2.80
1659 | of | 2.58
1581 | i | 2.46
1317 | a | 2.05
1219 | my | 1.90
948 | in | 1.48
930 | that | 1.45
873 | was | 1.36

[vicar.txt]> help
Commands:
rand NUMBER   : Randomly pick a word given times.
read FILENAME : Read a given file.
stats         : Show stats of recently read text.
help          : Show this.
exit          : Exit.

[vicar.txt]> rand 100
Number of words: 64244

TOP 10 - MOST FRQUENTLY USED WORDS
COUNT | WORD | PROB [%]
5 | and | 5.00
3 | for | 3.00
3 | be | 3.00
2 | went | 2.00
2 | we | 2.00
2 | to | 2.00
2 | time | 2.00
2 | the | 2.00
2 | my | 2.00
2 | is | 2.00

[vicar.txt]> stats
Number of words: 64244

TOP 10 - MOST FRQUENTLY USED WORDS
COUNT | WORD | PROB [%]
2890 | the | 4.50
2093 | to | 3.26
1796 | and | 2.80
1659 | of | 2.58
1581 | i | 2.46
1317 | a | 2.05
1219 | my | 1.90
948 | in | 1.48
930 | that | 1.45
873 | was | 1.36

[vicar.txt]> help
Commands:
rand NUMBER   : Randomly pick a word given times.
read FILENAME : Read a given file.
stats         : Show stats of recently read text.
help          : Show this.
exit          : Exit.

[vicar.txt]> exit