2011年11月12日土曜日

Instant110 が1万ダウンロードを達成しました

リリース予告以来こちらのブログではなんの連絡もしてこなかったInstant110 (App Store)ですが先日1万ダウンロードを達成しました。

ダウンロードして下さった方ありがとうございます!


リリース直後にアメリカや日本のApp Storeの"New & Noteworthy"枠にセレクトされ、App StoreのTwitter公式アカウントでツイートしてもらい、なんというかスターを食ったマリオみたいな状態になって、アメリカApp Storeの写真カテゴリで12位に入りました。
(まあ、その魔法効果が切れたら順位はだだ滑りでどうしようもないんですけどね)




「1万ダウンロードなんてたいしたことないじゃん」と思われる方もおられるかもしれませんが、去年の12月にリリースした拙作某アプリがまだその数字に達していない弱小開発者としては感慨ひとしおです。

これからもちょこちょこアップデートしていく予定なので、今後ともよろしくお願いします!

2011年10月12日水曜日

新iOSアプリリリース予告 - Instant110

世間は iOS 5iPhone 4Sジョブズ他界 などApple関連の話題がホットですね。

予定としては今日10/12にiOS 5がダウンロード可能になるようです。
アプリ開発者としては夏頃から少しずつ対応をはじめていまして、先日iOS 5対応アップデート版をリリースしました。

ところで、ブログに記事をアップするのは実に1ヶ月以上ぶりなんですね。
最近はアプリをアップデートするたびに中味の薄い更新情報をアップしてたわけですが、一ヶ月以上アプリの更新無しというはけっこう久しぶりかもしれません。

で、何をやっていたかというと
既存アプリのiOS 5対応と並行して新アプリを作っていました。


Instant110 という色々な種類のレンズ、フィルム、現像液を組み合わせて独特の写真を撮影できるアプリです。





コンセプトとしてはHipstamatic, Classic TOY, Leme Cam, Retoro Camera などに近く、先駆者がたくさん存在するカテゴリです。

それらのアプリとの違いは、変にアナログカメラの再現にこだわらず、縦持ち(ポートレートモード)で操作ができて、撮影後にレンズやフィルムを再適用できるという点でしょうか。
撮影だけでなく画像アルバムの写真も使えます。




現在は微調整を行っている段階で、時期が時期なのでiPhone 4Sを入手次第動作確認をして、それからAppleに申請する予定です。


リリースは最短で2週間後といったところでしょうか。
もちろん申請ではじかれるということもあるのでどうなるかは分かりません。



有料でリリース予定ですが、このブログを見てTwitterなどでコンタクトをとって下さった方にはプロモ・コードを差し上げますので、お気軽にお問い合わせ下さい。





[10/19追記]

Instant110がAppStoreからリリースされました!

2011年8月6日土曜日

Cameramatic 1.4.0 アップデートのお知らせ

アップデートのお知らせです。


今回のアップデートは特に新機能の追加はありません。
そのかわり、フィルターとフレームを多めに追加しています。


この写真にフィルターとフレームを適用してみると…


Deepフィルター + Film04フレーム

暗い影の部分がきゅっと引き締まった感じになるフィルターです。


Instantフィルター + White08フレーム

全体的に青みがかった明くてレトロな感じのフィルターです。


++ 追加したフィルター ++

Deep
Instant


++ 追加したフレーム ++

White 07
White 08
Ivory 02
Film 01
Film 02
Film 03
Film 04
Hassy 02

2011年7月28日木曜日

Phonto 1.2.0 アップデートしました

アップデートのお知らせです。



+++++ 新しいフォントを5種類追加しました +++++





+++++ アイテム(吹き出し)の編集ができるようになりました +++++


吹き出しの右上に或るスパナアイコンをタップすると「透明度」と「傾き」を変更できるようになりました。




その他、細かい修正として

・ スライダーの隣に或る+(プラス) -(マイナス)のアイコンをタップすることで細かい調整ができるようになりました。
・ 「コピー&ペースト」ができなくなる不具合を修正しました。

2011年7月15日金曜日

Cameramatic 1.3.0 アップデートのお知らせ

アップデートのお知らせです。




+++ 新しいフィルター/フレームの追加

オーソドックスで使いやすいフィルター を2種類追加しました。

Slide

Cross Processing 2




+++ グレースケール変換時にカラー・チャンネルの設定をできるようになりました

単純に明るさやコントラストを変えただけでは表現できないような微妙なニュアンスのモノクロ写真を簡単に作成できるようになりました。



上の画面の Color Channel で複数のフィルターを選択できます。

選択できるフィルター
  • Normal Grayscale
  • Red Filter
  • Green Filter
  • Blue Filter
  • Yellow Filter
  • Orange Filter
  • Maximum Channels


通常の Normal Grayscale。R (赤) G (緑) B (青) の値を適当に配分してカラー画像をモノクロ画像に変換しています。



左から Red Filter - Green Filter - Blue Filter
空や犬の表情の印象が大分違います。



左から Yellow Filter - Orange Filter
Red FilterとGreen Filterの中間です。
あまり極端ではないニュアンスを出すことができます。


Maximum Cahnnel
RGBの中で最も明るい値を選択して利用しています。
全体的にはっきり明るくなる傾向があります。


(このカラー・チャンネルの設定は ほぼ同じようにMonochromia で行えます)



+++ Instagramと直接連携できるようになりました

こちらは前回のアップデートで追加した機能なのですがこのブログで紹介していなかったので、せっかくなので紹介したいと思います。


上の画面で Send to Instagram をタップすると、選択している画像を直接Instagramで開くことができます。
(Instagramのインストールが必要です)

おかげさまで世界中のたくさんのユーザーがCameramaticで撮影/編集した写真をInstagramで共有してくれています。
ぜひ #cameramatic というハッシュタグをつけて投稿してみてください。



Cameramatic

サポート・ページ http://www.mudaimemo.com/iphone/cameramatic/

2011年6月19日日曜日

50万ダウンロードの無料iOSアプリでいくら稼げたか

タイトルを若干釣りっぽくしてしまいましたが...

画像に簡単に文字を入れられる無料のiOSアプリ Phonto が先日50万ダウンロードを突破しました。

2011/05/24リリースで2011/06/16に突破したので、23日間で達成ということになります。
ダウンロードして下さった方ありがとうございます。



無料とはいえ今後この規模のアプリを個人で作ることはできないでしょうから、せっかくなので諸々の数字をメモしておきたいと思います。


はじめに
  • ダウンロード数は具体的には500,663 (2011/06/16時点)。
  • Phontoは無料アプリですが、通常は広告が入っています。
  • 広告を非表示にするオプションをIn-App Purchase($0.99)で販売しています。
  • 広告はiAd対応地域ではiAd優先、iAdの広告が取得できない場合はAdMobの広告を使っています。

用語について

eCPM:
  広告1000回表示あたりの収益額

フィル・レート(Fill Rate):
   広告の表示率




In-App Purchase

広告を非表示にするオプションです。
  • 購入数: 443
  • 購入率: (443 / 500663) * 100 = 0.0884%
  • 収入: 443 * $0.7 = $310.1
強いてオプションを購入するように誘導してはいない & 広告ができるだけ邪魔にならない作りになっている、ということを考えても笑ってしまうような購入率です。

何をどう販売するかで数字は全然違ってくると思いますが、広告非表示オプションというのはユーザーにとってはお金を払っても欲しいものではないようです。

(In-App Purchaseの収入は各ストアごとのレートを考慮してないざっくりとした数字です)


iAd

iAd対応地域はまだまだ少ないとはいえ、半ば実験的に導入してみました。
iAdの広告が取得出来れば優先的にiAdの広告を表示させるようにしています。
  • 広告表示回数: 206,771
  • 平均eCPM: $2.11
  • 平均フィル・レート: 5.70 %
  • 平均クリック率: 0.36 %
  • 収入: $436.79

国別のデータが興味深かったので載せておきます。


全体的にeCPMが高く、クリック率が低いのが特徴です。
フィル・レートを見るとヨーロッパではまだまだ広告が表示されないことが多いようです。
アメリカのフィル・レートは90%を超えていますがeCPM/クリック率の低さが突出しています。そのため全体平均のeCPM/クリック率が引き下げられているようです。


AdMob
  • 広告表示回数: 1,822,678
  • 平均eCPM: $2.29
  • 平均フィル・レート: 99.65 %
  • 平均クリック率: 3.65 %
  • 収入: $4176.94
eCPMがiAdよりいいのが意外でした。

フィル・レートがほぼ100%というのはiAdにはない魅力ですね。

地域別の統計が面白かったので載せておきます。


北米のCTR(クリック率)/eCPMの低さが群を抜いています。

iAdのデータと合わせてみると、アメリカ人はおそろしく広告慣れしていて全然クリックしてくれない、という印象です。

あくまでも印象です。たぶんアプリの種類や表示の仕方などで大分数字が変わってくるのでしょう。


その他、AdMobで印象的なのは、AdMobには簡単に自社広告を載せることができる機能があって、他のiOSアプリを宣伝できたりします。
そこでCameramaticMonochromiaなどの拙作アプリを自社広告として一定割合(2%)で宣伝してみましたが、クリック率が一般の広告より高め(7%〜10%)でした。
そこから購入につながったかどうかは判断できないのですが、宣伝の一環としては使えるかと。



まとめ

というわけで

$310.01 (In-App Purchase) + $436.79 (iAd) + $4176.94 (AdMob) = $4,923.74

という結果でした。
1ダウンロード$0.01という通説にかなり近い結果ですね。


2011年6月16日木曜日

[jQuery] liveとdelegateの違いとevent.stopPropagaton()

例えばこのような構造のHTMLがあるとして

<html>
  <body>

    <ul>
      <li>...</li>
      <li>...</li>
    </ul>

  </body>
</html>
こんなイベントを追加してみます。
$(document).click(function () {
  console.log('document !!');
});

$('li').click(function () {
  console.log('li !!');
});
li要素をクリックしたとき、li要素のクリック・イベントは発生してほしいけど、documentのクリック・イベントは発生して欲しくない時はどうすればよいでしょうか

event.stopPropagaton()を使えば簡単に実現できます。
$('li').click(function (event) {
  event.stopPropagaton();
  console.log('li !!');
});


では、
clickメソッドの代わりにliveメソッドでイベントを登録する場合はどうでしょうか
$('li').live('click', function (event) {
  event.stopPropagaton();
  console.log('li !!');
});
これはドキュメントにも記載されている通り、狙い通りには機能しません
li要素のイベントとともにdocumentのイベントも発生してしまいます。



そういう時に delegateメソッド が使えます。
$('ul').delegate('li', 'click', function (event) {
  event.stopPropagaton();
  console.log('li !!');
});


liveメソッドは見かけ上指定されたセレクタにイベントがひもづいているように見えますが、デフォルトではdocument rootに登録されます。

delegateメソッドはこの登録先を独自に指定できるところがliveメソッド違います。


実は liveメソッドもcontext を利用して登録先を指定できます。
$('li', $('ul')[0]).live('click', function() {
  // Live handler called.
});
ただ、個人的にはこれはちょっと見通しが悪い書き方のような気がします。
$('ul').delegate('li', 'click', function (event) {
 
});
こっちのほうがすっきりしている印象があります。

2011年6月10日金曜日

[iOS] アプリからInstagramアプリへ画像を直接渡す方法

InstagramはAPIを公開しているのでユーザーがアップロードした写真を閲覧したり「いいね!」を付けたりすることができるのですが、写真のアップロードは認められていません。

画像を直接アップロードすることはできないのですが、自分のアプリからInstagramへ画像を渡す方法は存在します。

詳しくは公式ドキュメント (DOCUMENT INTERACTIONの部分)。


ポイントを列挙すると

  • JPEG/PNGでファイルを保存
  • 拡張子は.ig
  • Document Interaction UTI がcom.instagram.photo
  • 画像サイズは612px以上

@interface MyViewController : UIViewController
<UIDocumentInteractionControllerDelegate>
{
    UIDocumentInteractionController *interactionController;
}

@property (nonatomic, retain) UIDocumentInteractionController *interactionController;

@end

@implementation MyViewController

@synthesize interactionController;

- (void)openAppList {
    NSURL *instagramURL = [NSURL URLWithString:@"instagram://app"];
    if (![[UIApplication sharedApplication] canOpenURL:instagramURL]) {
        NSLog(@"Instagramがインストールされていない");
        return;
    }

    NSString *filePath;
    filePath  = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/image.ig"]; ;
    NSURL *fileURL = [NSURL fileURLWithPath:filePath];

    self.interactionController = [UIDocumentInteractionController interactionControllerWithURL:fileURL];
    interactionController.delegate = self;
    BOOL present = [interactionController presentOpenInMenuFromRect:self.view.frame
                                                                                                              inView:self.view
                                                                                                          animated:YES];
    if (!present) {
       NSLog(@"このファイルを開けるアプリが存在しない。");
    }
}


#pragma mark -
#pragma mark UIDocumentInteractionControllerDelegate

- (void)documentInteractionController:(UIDocumentInteractionController *)controller
            willBeginSendingToApplication:(NSString *)application
{
    // アプリ送信前に呼ばれるデリゲートメソッド
}

- (void)documentInteractionController:(UIDocumentInteractionController *)controller 
               didEndSendingToApplication:(NSString *)application
{
    // アプリ送信後に呼ばれるデリゲートメソッド
}

- (void)dealloc {
    [interactionController release];

    [super dealloc];
}

@end

実は上のコードを実行すると、EvernoteやDropboxのアプリをインストールしている場合、Instagramの他にEvernoteやDropboxも送信先の候補として挙がってきます。
おそらくこれらのアプリは「どんな種類のファイルでも受け入れる」という設定をしているためでしょうが、Instagramのみを候補にあげる方法は分かりませんでした。

また、UTIについてですが、ファイルの 拡張子をigにするとUIDocumentInteractionControllerは自動でUTIをcom.instagram.photoと認識してくれるようです。


[追記 2012/05/20]
Instagramのバージョンアップに伴って色々オプションが追加されているようです。

拡張子をigにするとInstagram以外にもJPEGとPNGファイルを扱えるアプリが選択肢として選べてしまうのですが
igoとすることでInstagramのみを候補に挙げることができるようになっています。

また、UIDocumentInteractionControllerannotationプロパティの対応も追加されています。
interactionController.annotation = [NSDictionary dictionaryWithObject:@"入力済みのキャプション" forKey:@"InstagramCaption"];
こうすることでキャプションに特定の文字を入力済みにできるようになっています。(Instagramのバージョンが2.1以上)

2011年6月4日土曜日

Phonto 1.0.1 アップデートしました

アップデートのお知らせです。


アプリをリリースして1週間。世界中のApp Storeでなかなか好評で、アメリカでは無料写真カテゴリのトップ10に入りしました。
なかでも日本の皆様には特にウケがよく、なんとApp Store全体の無料アプリランキングで3位に入りました。ダウンロードしてくださった方ありがとうございます!

このアップデートではApp Storeのレビュー蘭で要望の多かったものに対応しています。


Phonto 1.0.1 の変更点:

+++ 文字の傾きを変更できるようになりました

メニューの「傾き」から利用できます。

phonto


+++ 文字の「色」選択画面のUIを変更しました。

色の選択肢を厳選した代わりにRGB値を調節してお好みの色を選べるようになりました。

phonto



+++ アプリの背景画像を変更できるようになりました。

アプリの「設定」(左下のアイコン) > 「背景画像」から変更できます。

phonto

レビュー蘭で「背景がキモい!」という声があまりにも多くて驚きました。
どうも世の中には「ドット恐怖症」というものがあって、水玉模様をみると気分が悪くなる方がいらっしゃるようです (失礼ながら初めて知りました)。
アプリをダウンロードして気分を害された方、大変失礼しました。
背景画像が変更できるようになったので引き続きお使いいただければ幸いです。

2011年6月1日水曜日

Cameramatic 1.2.4 リリースしました

アップデートのお知らせです。



+++ 新しいフィルター/フレームの追加

フィルター 4種類


Expired Film

Dirty

Infrated Red

Green D Street


フレーム 1種類


White 06


+++ 調整したフィルターを保存する際に "選択されている画像にのみ適用"できるようになりました。

これまでは写真のコントラストや明るさなどのパラメーターを調節 してそれを保存する手段として「新しいフィルターとして保存」もしくは「選択されているフィルターを上書き」する選択肢しかありませんでした。

フィルターを作成することで別の写真にも簡単に同じエフェクトを適用することができますが、ちょっとした調整などでも新しいフィルターを作成するといたずらにカスタム・フィルターの数が増えてしまうという問題がありました。

今アップデートでフィルターの各パラメーターを保存する選択肢として「選択されている画像にのみ適用」を追加しました。
これにより、いたずらにカスタム・フィルターを作成する必要がなくなりました。



2011年5月25日水曜日

画像に簡単に文字を挿入できるiPhoneアプリ「Phonto」をリリースしました

ひさしぶりにiPhoneアプリをリリースしました。


Phontoは画像に文字を挿入できる無料のiPhoneアプリです (App Store)。

最近文字や飾りでデコレートする感じのアプリをけっこうみかけますが、このアプリはシンプル&操作性重視の方向を狙ってみました。

あまりゴテゴテしたのは好きじゃないけどサクっと文字を入れたいという時にお使いいただければ。


どんな感じのアプリなのか軽く紹介するビデオを用意したのでご覧ください。
(ビデオの中ではメニューなどが英語になっていますが日本語に対応しています)