2013年12月15日日曜日

広告

 普段使いのシンプル電卓malcの開発日記のづづき です。

 広告を入れたいと思いました。 理由は、使ってもらえているのが分かるから。 ダウンロード数だと、どのくらいの頻度で使ってくれているかまでは分かりません。落としただけで使ってないかもしれないし、もしかしたら毎日使ってくれてるかもしれない。 でも、広告をいれると、そこまで分かるというのがモチベーションになります。
(実際、収入という意味では、あまり意味のある数字にはなりません、いまのところw。) 

 そういう理由ということもあり、広告は出すが、操作の邪魔はできるだけしたくない。 他の方の作品のレビューで、「起動時に広告読み込みがあるせいでサッと使い始められない」というのがあって、気になったのです。

 というわけで、広告の表示タイミングを工夫してみました。 起動直後は、広告は表示されません。 計算が終わったら、つまりイコールを押して計算結果が出てから広告を表示します。また、メモリーの領域を縮めて表示するので、メモリーを操作したら消えるようにしました。

 実際に使ってみて、邪魔になってない気がしています。自己満足な感覚でないといいのですが。

今回は、iPadのプログラマーな方むけのとっても技術的なハナシです

iPadのUIPopoverを できるだけStoryboardを有効活用して作る場合のお話です。
(なお、Storyboardを使わないパターンは UIPopoverControllerチュートリアル その2 などが参考になりました。)


以下が最善の策かは分かりませんが、とりあえず動いているし、いろいろググって調べたものと比較しても簡単です。



■StoryboardでUIPopoverを設定する
SegueにIdをつけて、StyelはPopoverを選びます。これで接続されたUIViewController(destinationViewController)が Popoverで開きます。

でも、これだけだと

  • 自分自身の多重起動も含め、同時に二つ以上のPopoverが表示されます。
  • 閉じるボタンを作れない

という問題があります。


■Popoverを呼び出す UIViewControllerで解決する
呼び出し元のUIViewControllerに -(void)prepareForSegue: sender:を追加し、その中で

  1. staticなUIPopoverController変数を定義し、Popoverの二重起動を防ぐ
  2. Popoverで開かれるUIViewControllerにPopoverControllerを通知しておく
  3. 上記2つの処理はsegueがUIStoryboardPopoverSegueクラスの時に実施する

を行います。 あとは、呼び出されるUIViewControllerから PopoverControllerが参照されるので、 [self.popc dismissPopoverAnimated:YES] ; とすれば消すこともできます。


ソースも付けておきます。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    static UIPopoverController* popoc = nil;
   
    if ([[segue identifier] isEqualToString:@"SplitViewFlip"]) {
        MasterViewController* mvc = [((UISplitViewController*)
                                 [segue destinationViewController]).viewControllers objectAtIndex:0] ;
        // mvc関連のデータ受け渡しをする
    }
    else if ([segue isKindOfClass:[UIStoryboardPopoverSegue class]]) {
        if ( popoc )
            [popoc dismissPopoverAnimated:NO] ;
        popoc = ((UIStoryboardPopoverSegue*)segue).popoverController ;
        if ( [segue.identifier isEqualToString:@"PlanPopover"]) {
            PlanViewController* pvc =(PlanViewController*)[segue destinationViewController] ;
            pvc.popc = popoc ;
        }
    }
}


2013年12月10日火曜日

米大統領「全ての人よ、プログラミングを!」 | Life is Tech!(ライフイズテック)
アプリを作る意欲がさらに沸きますように。




英作文に時間をかけるな!英語圏のWEB制作現場でよく使われる英語表現テンプレート集! - バンクーバーのWEB屋
プログラミングも英語、アプリを申請する先も英語、こういう言葉を覚えて楽しましょ。




はてなにおけるモダンiOSアプリ開発入門 // Speaker Deck
全46枚のスライド。パラパラと見るとなるほど!とハッとさせられるかもです。




 【島国大和】ゲームを作る立場で,どうやって落とし穴を回避するかを考えるよ。
フレーバーって言葉初めて知りました。業界によって言い方違うんですね。




iPhone、米国では「5c」購入者の半数が他社からの乗り換え、英国では「5s」が3倍売れている
相変わらず日本ではすごい人気のiPhone。英国でどんな色が人気か知りたいですね。



気がつけば12月も中旬に。忘年会シーズンですね。
その後はクリスマスにお正月。あっという間に一年が終わりそうです。
そんな中、サッカーW杯、日本はC組でした。6月が楽しみですね。

2013年11月28日木曜日

東証のアプリコンテスト、顔面相似や婚活など多彩なアイデア集まる
グランプリは『DREAMS KABU TRUE!!』だそうです。ダジャレですか。
そして東証ならではのアプリがずらりですね。



Yahoo! JAPAN インターネット クリエイティブアワード 2013 - Yahoo! JAPAN
今朝テレビでも見ましたが、企業の部のホンダのアプリRoadMoviesは350万DLしたとか。すごい数ですね。



海外の学会で発表された近未来の科学技術!【動画と簡単な説明付き】 - NAVER まとめ
動画と共に紹介しています。時間がある時に見て、刺激を受けてみてはいかがでしょう!



5,000DLでも積み上げれば1億円!アプリを使い続けてもらうことの重要性とSSP活用メリット-サムライ・インターナショナルアプリセミナー
どんなアプリを作るかも大切ですが、ユーザーにストレスを感じさせずに使い続けてもらうことも大切ですね。



Android vs. iOS, アプリはどっちから先に作る/売り出すべきか
定期的に出て来るネタですね。これは人それぞれだったりもするんでしょうね。だってコメント訳が……。



久々すぎる更新でした。ネタが結構豊富に貯まっています。
また定期的に更新したいと思っています。ので飽きずに見ていただけたらありがたいです。。

2013年10月29日火曜日

コンセプト


 メモリー機能を特徴に決めたところで、次はコンセプトづくりになります。
 関数電卓を使う、理系なヒト・理系な利用場面なら、普通のメモリー機能でもいい気がします。逆に言うと、使ってほしい人や場面として、普通の人用、普段使い用、と絞込みました。 ステレオタイプ的に言うならば、OLさんをイメージしてみました。

 絞り込んだターゲットに合わせると、多機能路線ではなく、感覚的な面に訴えるべきということで、シンプルなGUI、流行のフラットデザイン、カラバリという路線が浮かびます。


 後付ですが、5cのカラバリに合わせると見栄えがいい・・・ ということで、のちのちカラバリは重要度が上がっていきます。 ストアの第一画面も、カラバリが一押しです。 アイコンもカラバリを意識したデザインに変わっていきました。カラバリの変更も画面切り替えしないようにしてます。


 そのようなコンセプトの電卓について、ストアに上がっている他の方の作品も調べてみました。同系アプリの中では、メモリー機能の工夫が味付けとしてちょうどいい気もします。 綺麗系楽しい系から、楽しく使える系に位置づけを少しだけフルというか。。。

 シンプルなGUIにするために、基本的に画面切り替えをしないことにしました。普段使いを考えて、計算機能を四則演算とパーセント演算だけに絞り、代わりに標準のテンキーに比べても、キーを大きくしました。 この大きなキーとフラットデザインが合いそう。
 入力中は式の入力に集中できるように、計算途中結果の表示は端折ることにしました。これで、イコールを押すまでは、エディターのような使い勝手になります。そして、バックスペースとカーソル移動をつけて、式を編集できるようにして、打ち間違えを直したり、式を再利用するときにも便利なようにしました。 

 たかが電卓ですが、決めるべきオプションは結構沢山あるものです。

2013年10月25日金曜日


先日、 iPhonePLUSにも載ってウキウキですw
今回は、crenieqの新アプリ誕生!malc(マルク)でもご紹介した「シンプル電卓 malc」の開発日記的なものを書きたいと思います。




はじまり


 なぜ電卓を作り始めようと思ったか。。。 なんでだっけ?w (オイ!)

 作りかけがいくつかあって、それぞれそれなりに進んでるけど未完成。 達成感を味わってモチベーションを維持したい! と考えて、簡単に完成しそうなネタとして選んだのがはじまりでしょうか。。。

 といっても、たとえ小さくても、新しいアイディアがなければ作る意味がない! 第一楽しく作れない!ということで、メモリー機能を簡単な概念にする方法を思いついたからかもしれません。

電卓によくあるメモリー機能。M+とかM-とか、分かりにくい機能という気がしませんか? エンジニア視点からすると 理解はできるですが、あらためて利用者視点で見ると「よく観るけど、何でこうなの?」という気がします。
 メモリー機能は、要は「値が再利用したい!」ということだと解釈しました。
だったら、履歴に残しておいてワンタップで再利用できるようにするのが自然な気がして、GUIをイメージしました。

 同じネタのものがあっては意味がないので、ストアに上がっている他の方の作品も調べてみました。  履歴が閲覧できるものもありました。 Kalc というアイコンに数字の5が入っているのが印象的なアプリや、アニメーションが美しいLluminoなどが見つかりました。 この2つには後々まで、かなり影響を受けたかもしれません。

両方とも素晴らしい!でも、自分がイメージしたものと少し違う。 
小さな違いですが、別画面で履歴閲覧できるタイプは他のアプリにもいろいろありましたが、沢山一覧できるというメリットはあるものの、一瞬ですが記憶に頼る点が気になりました。 普段、繰り返し使う電卓としては、「あれ?何計算しようと思ったんだっけか?」という一瞬にこだわりたいなと。 
Kalcは、同一画面で履歴閲覧できるけど、再利用がワンタップでできないコピペタイプでした。 これとも些細だけれど、差がある気がして、これを新しいアイディアということで作り始めました。

2013年10月20日日曜日

ハマったことシリーズ No10.

今回は、「アプリ名を間違えて申請した」です。


ストア用のアプリの名前は「普段使いのシンプル電卓 malc」とするつもりでした。どんなアプリか名前だけでも分かるようにと考えました。
(iOSアプリの名前はいくつかあって混乱します。 iPhone上で表示される名前は、単に「malc」です)

ところが、ケアレスミスでアプリ名は「malc」としてしまって、「普段使いのシンプル電卓 malc」の方は説明文に書いていました。

しかも、間の悪いことに、名前は検索対象というのを どこかのサイトで教えてもらっていたので、検索キーワードに「電卓」と入れてませんでした。
結果、最重要キーワード「電卓」での検索が出来ないことに。(トホホ)

キーワードも名前もレビュー開始後は変更できません。
慌てて、次の版を申請することに。あららららw  

ということで、近々 version1.1が出ます、そして、ストア上での名前が変わります。