iPhone5 ‘Beat Stop Camera’

By admin 11月 21st, 2012, under 未分類

今回はじめてのカメラを使ったアプリをリリースしました。
このアプリは、撮影した写真をリズミカルなストップモーションムービにします。バスドラム、スネアドラム、ヒットサウンドの3つのインパクトのある音をボタン選択しながら撮影します。すると指定したテンポに合わせてムービが再生されます。
撮影ボタンは、何も考えずに適当に素早く押して撮影するだけで、結構面白いムービが取れます。

以下は、デモムービです。

撮影画面

My iPhone5 App is ready

By admin 10月 12th, 2012, under 未分類

久しぶりのiPhoneApp新作です。メトロノームアプリ’Dr Metronome.01’をiPhone5でリリースしました。
開発のきっかけは、以前のメトロノームアプリのユーザのでDJの方から、小数点以下のBPMのものが欲しいというリクエストをいただいたことです。最初その必要性がよくわかりませんでしたが、最近私もDJに興味がありちょっとやってみると、小数点以下のBPMがあるといいなぁと思うようになりました。
iPhone5も出たことですし、何か作ってみたいということで、初心にかえりこのアプリを作りました。

また、海外からリモート同期メトロノームアプリ’Dr Metronome:Synchronicity’でバイブに対応してほしいというリクエストがありました。バンドの練習でうるさい中メンバー同士で同期をとるそうです。バグもあったためこれもバージョンアップしました。

しばらく開発から遠ざかっていると、開発環境や申請のいろんなルールがかわっていて戸惑うこともありましたが、やはりiPhoneの開発は楽しい、とあらためて思いました。

ということで、次はカメラをつかったものをやる予定です。

Xcode 4.5

By admin 10月 1st, 2012, under 未分類

iPhoneアプリの開発を初めて、三年半ほどたちますが、ここ一年くらい一休みしていました。この間Androidの開発(個人アプリ、受託など)やソーシャルアプリなどの開発をしていましたが、iPhone5の登場でまた開発を再開することになりました。
# この間、サポートがろくにできず、不都合が生じたユーザの方には申し訳ありませんでした。
まず最初の仕事としては、昔のアプリをiPhone5に対応させることです。互換性がいいとはいえ、いくつか動作しないアプリがありました。(まだ調査中ですが・・)

昔のアプリはiPhoneOS2とかで作られているので、これを最新のXcode4.5で読み込んで動作させようとすると、なかなか一筋縄ではいきません。しかし最近はiPhoneの情報がネットでかなりあるので、Googleで検索して一つ一つ解決していましした。
問題となったのは、複数の開発マシンであるMacでのプロビジョニング、複数バージョンのXcode設定項目の差異、armv6非対応などなどです。
これらの問題をクリアしていくのに、Googleが必要というのも、ちょっと皮肉ですね。
Androidでは幅広いバージョンに対応することを、よしとするのですが、iPhoneは積極的に下位バージョンを切り捨てていくようです。Xcode4.5ではarmv6非対応、iOS4.3以上となります。過去のXcodeを使おうと思ったのですが、iPhone5を接続できなかったので、(できるのかもしれませんが他に時間がかかりすぎてあまり粘りませんでした)結局、Xcode4.5でビルドしたものを最新バージョンとして、昔のアプリをアップデータしました。

アップデートだけでなく、再スタートとして新しいアプリも申請中です。’Dr Metronome.01′ という簡単なメトロノームアプリですが、とりあえず何か作ってみたかったので、開発してみました。開発にはモチベーションの維持が重要なので、このような小さな目標を達成して次に進むというやり方をいつも心がけています。

アイディアはあるので、できれば年内にもう一タイトルつくりたいと思っています。

iPhoneアプリ申請

By admin 9月 30th, 2012, under 未分類

久しぶりの投稿になりました。

この度iPhoneアプリ開発を再開しましたので、これらについてここに書いていきたいと思います。
いままで、 http://iphone.iiv.jp のブログに書き込んでいた内容は、ここに書いていく予定です。

とりいそぎまずはご報告でした。

NGK2011B でLT

By admin 12月 4th, 2011, under 未分類

今日、名古屋合同懇親会でLTをさせていただきしまた! 100人は超えていたとのことですが、トップバッターでとても緊張しました。USTREAMもあります。

時間が5分で強制的に終了ということで、LT不慣れな私としてはとてもドキドキしました。時間をチラチラみながらやるのですが、説明に夢中になっているあっという間に時間がすぎているので、焦りました。後から思ったのですが、4分30秒くらいで第一合図があって、5分で終了のという形だったら、まとめに入り忘れるのを防げたかもしれません。今度もし機会があったら提案してみたいと思います。時間は計算したつもりでしたが、時間超過してしまいました。後でUSTを見てその原因がわかりました。
緊張してしまうと、言い間違いが増えるため、その言い換えに時間がかかっているのですね。もともと内容を詰め込んでいたので、余裕がなかったのもあって超過していまいました。いゃ〜やってみないと気づかないものですね。前回のLTで詰め込むのをやめよう、余裕をもった内容にしよう、としたのですが、なかなかこれだけ大勢の人に見てもらう機会もないだろう、ということで再度詰め込んだ内容でトライすることにしました。
しかし、こんなつまらない話を長々としているのは、今回のLTの目的がアプリの紹介だけでなく、プレゼンの勉強をしたかったのもあったからです。自分が発表しやすいテーマ、スライド、大勢のオーディエンスがそろった機会はとても貴重です。
このような発表会や勉強会って、内容も重要ですが、それ以外にいろいろと学ぶことがあると最近よく思います。こんなことやっている人がいるのか、こんなこと全然しらなかった、この人たちはこういうグループの人なんだ、とかいろいろと観察することもできます。しかしATNDを見ると、東京とか大阪など、もっと大勢の人を集めて、もっといろんな知らないことやっているんですよね。参加者->LT->主催者という立場、名古屋->大阪・東京というような行動範囲の拡大をこれからできたらと、密かに思っています。(密かになっていないけど・・)

最後に、時間切れではなせなかったことですが、やっぱり一人ではやれることに限界があると思います。一緒にやれる仲間を増やして価値あるものを作りたいという気持ちを強く持つようになりました。そのためにもこのような場に顔をだし、またはいろんな勉強会に参加して、大勢の人と情報交換できたらと思っています。
また来年からも、積極的に活動できたらいいなぁと思っています。

#しかしAndroidの勉強会は行きたいのに、なぜかいつも日があわない。つ部なのにiPhoneネタばかりでスミマセン。m(__)m

ps. 今日紹介させていただいたiPhone.iPadアプリはすべてこのページにあります。
http://iphone.iiv.jp/

関連アプリのスライドは、今回のLT用ですので、ここにアップしておきたいと思います。

初GeekBarでLT ‘Twicecast Radio’

By admin 11月 30th, 2011, under 未分類


今週月曜日、はじめての名古屋GeekBarでしたが、LTをさせていただきました! お酒を飲みながら(LT中は飲んでませんが・・)、ゆったりした雰囲気でLTするのって、とても楽しいですね。難点はお酒が回ると言うべきことを忘れたりしてしまうところですが。。またネタができたら、是非やってみたいです。
内容は、次の名古屋合同懇親会でご紹介する予定のものの関連アプリで、デモとかする時間がなさそうだったので、GeekBarでやってみた次第です。USTを確認したところ、ネットの調子が悪く一部分しか録画データがありませんでした(ある意味ほっとしてます)ので、ここで少し補足したいと思います。(前回投稿の続きもかねてます)

[Twicecast Radioとは]
インターネットラジオを聴くアプリ。
ユーザが自由に音楽配信できるプラットフォーム。
mp3,ogg ファイル・ストームを再生可能。
URLは、Twitterのタイムラインから取得。
Twitterのタイムラインが、音楽のプレイリストになる。

わざわざフォーマットを意識して、入力するのが手間の場合、またインターネットラジオ放送局を探して登録したい場合の、Webサービスもあります。

ToDo:
oggファイルストリーミングですが、Webにホスティングするとき、Apacheのバージョンにより、再生できないときがあることに気づきました。この問題が解決後またバージョンアップする予定です。

iPhone App ‘Twicecast Live!’

By admin 11月 20th, 2011, under 未分類

http://iphone.iiv.jp/sound/index/L0028

他のアプリやサービスとの連携もありながら、それらのわかりやすい説明が今までありませんでしたので、少しまとめてみたいと思います。
まずは、このアプリ単体で使うときの使い方からです。
このアプリは、リアルタイムでiPhoneで録音した音声をストリーミング配信します。サーバ等を中継することなく、このアプリがサーバにもなり、クライアントにもなります。

[サーバ側]

サーバを起動して、Live!ボタンを押すだけです。現在の位置や、メッセージ、WebサイトのURL、なども知らせることができます。サーバURLの通知の方法としては、メールとTwitterがあります。
Twitterは別アプリの’Twicecast Radio’経由で起動するときに使います。

[クライアント側]

サーバURLの入力して、Playボタンを押すだけで、音声を聴くことができます。
URLを入力するのは手間がかかりますが、メールで通知を受け取ったときは、リンクをクリックするだけで、URLが入力された状態でアプリが起動します。またTwicecat Radio経由でも起動できます。(これは次回説明させていただきます)

同時アクセス数は最大25としています。これは負荷よりも回線状況に大きく左右されます。

C言語末尾再帰

By admin 11月 15th, 2011, under プログラミング

最近マイブームなので、ちょっと気になってテストしてみました。
以下末尾再帰関数の具体例のメモです。
実際にスタックを消費せずループしているかどうか。
動作環境はMac Snow Leopardのコンソール。

/*test.c*/
#include<stdio.h>
void loop(int x)
{
        if(x == 0){
                return;
        }
        printf("%d ", x);
        loop(x + 1);
}
main()
{
        loop(1);
}

cc -o test test.c でコンパイルした場合、261623で、Segmentation fault.
cc -o test -O2 test.c でコンパイルした場合、無限ループ
アセンブラコードを見てみると、前者は、

_loop:
Leh_func_begin1:
pushq %rbp
Ltmp0:
movq %rsp, %rbp
Ltmp1:
subq $16, %rsp
Ltmp2:
movl %edi, -4(%rbp)
movl -4(%rbp), %eax
cmpl $0, %eax
je LBB1_2
movl -4(%rbp), %eax
xorb %cl, %cl
leaq L_.str(%rip), %rdx
movq %rdx, %rdi
movl %eax, %esi
movb %cl, %al
callq _printf
movl -4(%rbp), %eax
addl $1, %eax
movl %eax, %edi
callq _loop

後者は、

_loop:
Leh_func_begin1:
pushq %rbp
Ltmp0:
movq %rsp, %rbp
Ltmp1:
pushq %r14
pushq %rbx
Ltmp2:
leaq L_.str(%rip), %rbx
movl %edi, %r14d
jmp LBB1_1
.align 4, 0x90
LBB1_3:
leal 1(%r14), %esi
xorb %al, %al
movq %rbx, %rdi
callq _printf
addl $2, %r14d
LBB1_1:
testl %r14d, %r14d
je LBB1_4
xorb %al, %al
movq %rbx, %rdi
movl %r14d, %esi
callq _printf
cmpl $-1, %r14d
jne LBB1_3
LBB1_4:
popq %rbx
popq %r14
popq %rbp
ret

確かに関数呼び出しがなくなっている。
最適化しないと末尾再帰にならないみたいである。

実例に学ぶスマートフォンアプリ開発【MeetUP】

By admin 11月 13th, 2011, under 未分類

http://atnd.org/events/20951

先週にひきつづきエイチームさんに、行ってきました。
実際に開発したアプリ、そして運用しているサービスについてのノウハウを聞くことができて、とても勉強になりました。今まで何回か勉強会でここに来させていただきましたが、今回は、エイチームさんが主催ということで、実践的な内容でした。

スマートフォンというと、個人ディベロッパーが多くいますが、これは個人が手軽にアプリケーションを開発、全世界にリリースできるという魅力があるからだと思っています。また企業が本腰を入れて開発してくるアプリもあり、これらが混在している状況であります。
以前、携帯電話公式メニューのサービスを手がけていたことがありますが、メニューにのるためには、法人でなくてはならなかったり、法人であっても過去の実績がなければ、メニューの上位に掲載されなかったりと、日本的なビジネス習慣を実感させられたことがあります。しかしiPhoneアプリをリリースしてみて、大手ゲーム会社のアプリと、自分のアプリが同じランキングの中にいるのをみたとき、壮快な思いをしたのを忘れられません。なんとフェアなのか、さすがアメリカ的、と思いました。

今回の勉強会(?)では、その企業の開発スタイルを垣間見ることができて、とても興味深かったです。3Dグラフィックツールを使った(コストのかかる?)開発手法などは、やはり企業らしい手法で開発されているのだなぁと思いました。これはPlayStationなどのゲームソフトを作るのと同じで、開発者もこの出身者のようでした。(一応私もですが^^;) ゲーム機開発をしていた人がやはりこのジャンルに流れてきているのでしょうね。逆に言えばこのような手法でやらないと、(個人ディベロッパーと同じことをやっていてはだめという意味で)ビジネスにならないのかもしれません。

あと開発会社としての興味以上に、毎週のようにいろんな勉強会に広い会場を無料で貸しているエイチームさんには、とても興味がありました。(途中社長さんのお話が急遽聞けたのもラッキーでした) 地域柄お固い会社が多いこの名古屋に、こんな開かれた魅力的な会社があるんだなぁと・・

今日は本当に有意義な日でした。

LL Nagoya

By admin 11月 6th, 2011, under 未分類

LL Nagoya参加してきました!
http://partake.in/events/09bb8de2-5c8e-4515-83d7-70e7406b47ff
一言でいって、内容がすごい振幅のある勉強会でした。ははは・・
もともとライトウェイト言語の勉強会ですが、’LL’という文字が入ってれば、なんでもいいといった内容で、次に何が出てくるは全く予想がつかない、ドキドキ感がたまりませんでした。
しかしたくさんの発表が聞けたことは、とても有意義でした。まったく知らないことを知ることができるというのは、こういう機会がないとありませんね。
発表を聞いてみて、HaskellとSmalltalkはまた勉強したくなりました。.NETのDLR,Alloy Analyzeの話は、もっと時間をかけて聞きたかったです。Schemeの話は、全くついていけませんでした。
しかしよくこれだけの発表者をそろえたなぁと、驚きました。名古屋すごい! まあところどころ無茶ブリだと愚痴っている発表者もおられましたが、でもこのイベントが行われたことに意義を感じます。
また次回期待したいと思います!