うめのんブログ

Page 3 of 20

企業が真似できない個人開発者としての強みを出す方法

よく、スタートアップと大企業の戦い方の違いみたいな話で、スタートアップは大企業が真似できない強み、例えば意思決定やコミュニケーションのスピード感を武器に戦おうみたいな話をよく聞くけど、これの個人開発者バージョンを考えてみた。

ここで想定しているのは、空いた時間で作ったWebサービスやアプリを個人、もしくは極少数で運営している人。こういうスタートアップよりさらに小さい規模の強み、違う言い方でいえば、企業が真似できないところってなんだろうか。

こういう部分を一つでも多く発見できれば、そこを意識してやっていけばいいし、なおかつ企業が真似できないからすごく価値がある。逆に言えば、企業のほうが強い部分は頑張っても最初からハンデがあるので、そこは意識して力を入れないという考え方もできる。

まずは、企業が真似できない、個人開発者ができる強みをいろいろ考えてみる。

ぱっと思いつくのは、大きな企業だとなかなか実験的にアプリを最小限の機能でリリースすることができないけど、小さな個人なら小さくリリースしやすいなどありますが、それに関してはもう語り尽くしてる感があるので、今回は違う話を。

ユーザと開発者の距離が近い

個人でアプリを5年ほどやってきて、一番の強みはこれじゃないかなと思う。

具体的にいうと、個人でやってるので、プログラミングするのも、今後の意思決定するのも、ユーザーサポートするのも一人。

なので、ユーザが質問とか要望や質問を送ると、一番アプリに詳しい担当者が答えてくれて、なおかつその答えてくれた人は社長レベルで決定権をもち、さらに、今後の開発を実装するリードディベロッパーでもあるわけです。

これはユーザの視点から考えるとすごいことだ。自分の声が直球でダイレクトに担当者に届くというのは、自分だったら要望を送ってみようかなというモチベーションが結構あがる。

これが大きな会社だったら、要望を送っても、まずたくさんいるサポートの人が受け付けて、そこから決定権持ってる人や、実際に作っている人まで本当に届くかどうかは神のみぞしる。忙しそうだしとか考えちゃう。

「自分が要望送っても、大きな会社だから実際の担当者には届かないだろうなあ」と頭の中でまず考え、そんじゃ辞めとくかと思い、アプリをそっと閉じる。というのが僕のパターン。

まあ、なにかで聞かれる機会がない限り、99%のユーザは要望とか質問なんて面倒だから送らないもんなんですが。

ついでにいうと、アプリ出してみて感じたことなんだけど、作っている人が直接返信しているとわかると、ユーザが喜んでくれたたり、若干優しくしてくれる気がする。日本人でも、アメリカ人でも、英国人でも、これはあまり変わらない実感。

企業っぽさを出す必要ないかも

僕がアプリ作り始めた時って、個人で作っているイメージがあるとプロっぽくないから、一人でやってても会社っぽい見せ方のほうがいいかなと思ってたんですね。例えば、ヘルプページで一人でやってんのに企業っぽい見せ方をしたり、英語での文章で、IとかMeとかを使わずに、WeとかUsを使ったり。(Please let us know if you have any questionsとか。)

もちろん、アプリのタイプによっては企業っぽいほうがよかったり、この人死んだらこのアプリ終わるのかなって思われたりもするだろうけど、昨今では企業発信のサービスだってバンバン終了するし、スタートアップのアプリだってバイアウトされた瞬間サービス停止する時代です。

こういう理由で、個人開発者は、個人でやってるということを隠さずに、強みに変えるべきだわと思うようになりました。ちなみに、海外の個人iOSアプリ開発者向けのPodcast Under the Raderでもまったく同じことを言ってて、そうだよなあと聴いてて思った。

もっというと、僕はアプリの中にHelpshift使ってお問い合わせ送信ボタンがあるんだけど、ここの初期メッセージが「なにかお困りですか?」ってなってるわけです。ここを、「分かりにく部分やこうして欲しいなどの要望があれば遠慮なくメッセージしてください。アプリの作者である梅本が直接返信いたします。」とかに変えたほうがいいかもしれない。

*参考
使いやすいアプリを作る簡単な方法
要望にNOと言う時の伝え方が難しい

Helpshiftで返信する時も、ちゃんと最後に、名前とか署名をつけたほうがいいかも。

なんか、この前、「梅本さんですか?」って返信してる時に聞かれた。アプリのレビューで「サポートの人が親切に答えてくれた」とか書かれているのを見る限り、名無しの権兵衛で返信していると、せっかく作っている本人が返信しているのにサポートの人が返信していると思われてそうな予感。

ライバルが真似できない事を意識するとよさそう

スポーツ選手でも、ビジネスでも、恋愛でもなんでもそうだと思うんですが、やっぱり他の人が真似できないことで、なおかつ強みとして生かせる部分をいつも意識するのが重要だと思うんですよね。

最初は真似から入るのが効率がよいけど、なんでもかんでも真似していたら、世間一般で行われていることをなぞるだけなので、他者が真似できない強みを発揮することからは遠ざかってしまう。

一般的にはデメリットだと思われていることも、ひっくり返せば他者が真似できない強みになるケースも多そうです。


*確定申告を楽にするTaxnoteなど作ってます。自己紹介はこちら。プログラマもゆる募



アプリに広告があると離脱率はどれだけ高まるかをABテストしてみた (MixpanelとSkyLab利用)

こんにちは。僕のアプリ開発の進め方としては、Helpshitなどを使ったユーザーフィードバックと、自分が使い易いかどうかを基準に改良していくのが中心なのですが、そろそろ数字もみていこうかなと思いました。

参考
*使いやすいアプリを作る簡単な方法

そこで、最近アプリのリテンション(ユーザがどれだけアプリに戻ってきてるか)の見方とか、実際にABテストのやり方を研究して実際にやってみたので、どういったツールを使って、どういった手順で、どういう風にデータを見ればよいかを書いてみたいと思います。

今回はiOSアプリでやったけど、Androidアプリでも使うツールがほぼ同じなので参考にはなると思う。

ちなみに、こういったデータ解析って、具体的なやり方よりも、どういう状況で、なんのためにやるかのほうがよっぽど重要なので、まずはそのことについて。

比べる対象を明確にして、その後の対策をイメージする

まず、ABテストってよく聞くけど、何と何を比べたいかを明確に定義しないといけない。

その上で、そのABテストを実施する手間(例えば信頼に足るデータ量と必要な時間、実装するコストなど)を考えても、その結果が知りたいかを考えないといけない。

そして、もっと重要なのは、その結果を見て、「ふーん」で終わらず、その結果に基づいてその後なにを実行するかまでイメージできているのが重要。

数値を見た後、何をするかはとても重要で、LeanAnalyticsではActionable Metricsと呼ばれている。逆にいえば、数値を見た後のアクションが考えられないデータは、「ふーん」で終わるから、そこまで価値がないということになります。

*参考
Lean Analytics 虚構の数字と改善に繋がる数字

*この本ガチでオススメ

例えば、アプリのバージョン1.0と1.1で、ユーザのリテンション率が変わるか比べることができたとしても、具体的に何が原因で変化が起こったのかは掴みにくい。同じように、国同士でアプリのリテンション率が違うことを比べても、それを見て次に何をするかがイメージできてないと意味がない。

でも、これはそんなに難しい話でもなくて、アプリのアップグレード画面の説明文をAパターンとBパターン作り、それをABテストした場合を考えてみるとわかりやすい。

この場合、比べる対象が明確なので、どちらかの結果がよければ原因もハッキリする。Aパターンのほうが購入率が高かったという結果であれば、これからはAパターンを使うという、その後のアクションも明確です。

ABテストの対象を絞る

これは、僕のPHPプログラマ時代の師匠であるエランさんからアドバイスしてもらったことなんだけど、ABテストする時は一度に一つのテストをするぐらいのイメージでいいらしい。

というのも、まず初めに、信頼性のあるデータを得るには十分なデータの母数が必要となる。さらに、リテンションのような何日間にも渡って見るデータ解析の場合、日数がたつほどアプリに戻ってくる人数が減るから、なおさらデータ量の母数が必要となる。

もう一つは、複数のABテストを同時に回そうとすると、それぞれのテストがお互いのテストに影響する可能性も考えないといけないので、さらにデータ量が必要となり、信頼性も下がってしまう。もちろん、データの設定方法が複雑になるという問題も。

というわけで、よっぽどデータ量が多いとか、お互いのテストがお互いに影響しないなどの場合を除いて、ABテストは一度にひとつだけするという考え方がよいと。

ここまで書いてきたけど、ABテストはそれなりにコストも時間もかかるので、何でも悩んだらテストすればいいってもんじゃないのがわかります。基本的にほとんどのUI・UXの判断基準は、過去の経験則やじっくり考えた結果から、ABテストなしでやっていかないと何も進まない。

*参考
ABテストしないと分からない?

そんなわけで、本当にABテストのコストをかける意味がある部分、自分の予想が合っているか確認する価値のある部分に絞ってテストしていったらいいと思う。

前置きが長くなってしまったが、ここから具体的にどうやってやっていくかを書いていきたい。

リテンション(ユーザ維持率)がフィルタリングできるツールを使う

最近のデータ解析ツールは無料で使えるものが多く、データ量が必要となる時はありがたい。と思いきや、結果的に無料で使えるデータ解析ツールは今回使えませんでした。

リテンションを見たい場合、ユーザがアプリに戻ってきているかを見るわけなので、結構トラックする回数が多くなってしまう。この点、Mixpanelみたいな、トラックする回数に応じて課金されるサービスを使っている場合、ケチケチ使わないと一気に無料枠使ってしまうという悲しい事態になります。

なので、最初に試したのはFabricのAnswerとFirebaseAnalytics。どちらも無料で使えて、リテンションを見ることができる。

しかし、使ってみたらわかるんだけど、リテンション画面が見れるのはいいとして、自分が比べたい値を使ってフィルタリングができないんですね。これが。

例えば、リテンションの簡単に見方としては、何パーセントのユーザが1日目、2日目、3日目とアプリに戻ってきているかというのを見る。

FirebaseAnalyticsだとこんな感じ。

Answerだとこんな感じ。

ただ、これ見ても、そうですかという感想しかでない。Answerとか綺麗にデータが見れて気持ちいいんだけど、ここから何かを変えて、それでどう変わるかっていう具体的なアクションと結果を見ることができないんですね。

重要なのは、バージョン1.0と1.1などで比べて、1.1のほうがユーザの定着率が高くなってるなとか、少なくとも何かの値でフィルタリングして比べたいので。

特に、ABテストする時は、AとBの違いを見るわけだから、フィルタリングができないとそもそも話にならないわけで、残念ながらどちらもできなかった。(もしかしたら、いろいろやると出来るのかもしれないけど、やり方が見つからなかった。)

というわけで、結局一番使いやすくて、リテンションでもフィルタリングができるのはMixpanelだったというオチになりまして、久々にMixpanelを本格的に使うことにしました。結局有料のものを使わなければいかぬのか。

Mixpanelはフリーミアムだけど、Mixpanelのリンクを適当に作ったブログに貼り付けると200,000データポイントまで無料で使えるので、短期的に絞った解析なら結構無料枠でもいける。

次は、具体的な手順と、何をABテストしていくかを書いてみたい。

バナー広告があると離脱率はどれぐらい高まるか

さて、手間も時間もそれなりにかかるABテストをするならば、意味のある事を調べないといけないということで、今回はアプリに広告をつけるとどれぐらい離脱率が高まるかというのをお題にしてみました。

そして、結果を見てその後どうするかのイメージも重要なので、もし離脱率が大幅に高かったら、広告の出し方を考え直すことにします。例えば、出す頻度とか、最初は出さないなどいろいろとありますが。

今回は、僕が二年前にリリースして、それからちょこちょこと改善しているListTimerでやってみます。最近は日々のダウンロード数も結構多く、母数も確保できそうということで。

ListTimerはワンタップでセットできるのと、終了時刻も表示されるのがウリの、タイマー&アラームアプリ。どんなアプリかはこのスクショをザッと見るとわかるかも。

以下のように、バナー広告がタイマーセットする時のリストの下、タイマー終了時のダイアログなどに表示されます。

概要としては、既存のユーザには影響しないようにし、新しいユーザだけを対象にABテストする。1日100ダウンロードあったとすれば、50人は広告なし、50人は広告ありにして、1日目、2日目、3日目、4日目、と離脱率が変わるかを調べる。

ついでに、タイマーをセットするという動作も軸にして、1回セット => 5回セット => 10回セット => 15回セットのように、アプリをたくさん使い続けてくれるかどうかの軸でも、広告ありとなしで差が出るかを見る。

ちなみに、広告なしユーザもある程度日数がたって、規定の回数タイマーを使うと、いつも通り広告が表示されるようにしておいた。

実際のコードの例(iOS)

一応、iOSで使ったコードの例を参考までに書いておくけど、プログラマじゃない人は別に読み飛ばしてもOK。

まず、初回起動時だけMixpanelでトラックするコードを書く。そして、ABテスト用に、SkyLabというライブラリを使って、起動時に50%の確率でAとBに分けます。

https://mixpanel.com/
https://github.com/mattt/SkyLab

そこで、ここがMixpanelで重要な部分なんだけど、peopleタグで、広告有無のプロパティをセットしておきます。Mixpanelのpeopleタグは上限数が決まっているので、superPropertyで代用できないかと思ったけど、リテンションのフィルタリングはpeopleタグじゃないと出来ないです。


- (void)trackFirstLaunch {
    
    //set mixpanel first endpoint
    if (![[NSUserDefaults standardUserDefaults] boolForKey:@"First Launch Done"]) {
        
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"First Launch Done"];
        
        // Set indetify for people
        [[Mixpanel sharedInstance] identify:[Mixpanel sharedInstance].distinctId];
        
        [[Mixpanel sharedInstance] track:@"First Launch"];
        
        // Track first launch date
        [[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:kFirstLaunchDateKey];
        
        [SkyLab abTestWithName:@"AdTest" A:^{
        
            [[NSUserDefaults standardUserDefaults] setBool:YES forKey:kNoBannerAdsTestUserKey];
            [[Mixpanel sharedInstance].people set:@{@"DisableAdAtFirst":@"YES"}];
        } B:^{
            [[Mixpanel sharedInstance].people set:@{@"DisableAdAtFirst":@"NO"}];
        }];
    }
}

そして、リテンションを取るために、起動のたびにMixpanelでトラックすると、一気に無料枠をぶち破ってしまいそうなので、数時間以内の起動であればスキップするようにする。今回は前回の起動から5時間以上たっていればトラックすることにした。

下記のコードをAppDelegateのdidFinishLaunchingWithOptionsとapplicationWillEnterForegroundにセット。


- (void)trackRetention {
    
    NSString *trackedDateKey        = @"trackedDateKey";
    NSDate *previousTrackedDate     = [[NSUserDefaults standardUserDefaults] objectForKey:trackedDateKey];
    NSDate *nextTrackDate           = [previousTrackedDate dateByAddingHours:5];
    
    // NSDate+Escortというライブラリ使用
    if ([nextTrackDate isInFuture]) {
        return;
    }
    
    [[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:trackedDateKey];
    [[Mixpanel sharedInstance] track:@"App Opened"];
}

あとは、タイマーをセットする時にもMixpanelでトラックするコードを書いておく。毎回トラックすると枠がすぐなくなるので、こんな感じで5回タイマーがセットされるごとにトラック。


[[Mixpanel sharedInstance] track:@"New Timer Set" properties:@{ @"Count": @(count) }];

これでだいたいの準備ができました。次は、アプリをリリースして一週間ぐらいたってからグラフで確認。

Mixpanelのリテンション画面で確認

まず、Mixpanelのリテンションという項目をタップするとこんな画面が表示されます。

しかし、これ見ても重要なことはよくわかりません。リテンション分析の画面ってこれが基本なんだけど、僕は、これ見ても何も参考にならないなといつも思っておりました。少なくとも、バージョンとか、なにかの値でフィルタリングしないと、なにとなにでリテンションが違うのかが掴めない。

でも、最近、このフィルタリング方法がわかりました。

今回の広告ありと広告なしで比べるとこんな感じになる。

Mixpanelのリテンションで、写真上でRecurringとなっているところをクリックして、First Timeに切り替えます。

そして、Show me people who didのところに、初回起動時にトラックした”First Launch”をセット。(今回の解析は1.4.3でしかやってないので、AppVersionを1.4.3で起動した人に限定)

Then came back and didのところはAnythingを選ぶと、Mixpanelでトラックしたすべてのデータポイントをカバーするから、”SetTimer”とか、”App Opened”とか、すべてを対象にしているので、ようはまたユーザがアプリを使いに戻ってきてくれたかを意味します。

そして、ここが一番重要なポイントなんだけど、左下の +Segmentというところをクリックして、peopleでセットしておいた”DisableAdAtFirst”(最初は広告を消す)を選択。これでYESとなっているのが広告消えてるユーザ、NOとなっているのが広告ありのユーザ。

やっと、リテンション率を使ってABテストすることができました!

さて、結果をみると、広告ありとなしでリテンションにそこまで違いがない。<1dayのところは1日以内に戻ってきた人の割合。1が1日たって戻ってきた割合となる。5,6,7日目でちょっと違いが出ているけど、このへんになると母数も少なくなってきくるので、あまり参考にならない誤差の範囲な気がする。

ファネル分析からABテスト

次に、ファネル分析も使って二つの値を比べてみたい。リテンションが1日ごとに、何パーセントのユーザが戻ってきたかを見る分析とすると、ファネル分析は時間軸関係なく、何らかの行動をしたかを順番に設定できる。

今回は、初回起動 => タイマーセット (1回目) => タイマーセット (5回目) => タイマーセット (10回目) => タイマーセット (15回目)といったコンバージョン率を基準に、広告ありとなしでどういった違いが出てくるかをみてみる。

結果はこちら。新しいバージョンをリリースして一週間ぐらいの時にみた数値。

さて、今回もpeopleでセットしておいた”DisableAdAtFirst”(最初は広告を消す)をプロパティで選んで選択。これでYESとなっているのが広告消えてるユーザ、NOとなっているのが広告ありのユーザ。

それぞれの到達ポイントごとのコンバージョン率が比べられます。結果をみたところ、広告を消しているほうが若干コンバージョン率が高いけど、それほど違いがあるわけでもない。

今回の分析だけで判断すると、リテンションとファネル分析で比べてみたところ、思ったより広告の有無で離脱率に違いがなかったという結果になった。これは当初想定してた予想と若干違っていたので軽い驚き。

まあListTimerの場合、操作中にできる限り気にならないような広告の付け方を最初にじっくり考えていたというのも大きいかもしれない。

さて、重要だと強調していた、この結果を受けて次にどうするかのアクションですが、そこまで変わらないので今まで通りでいいかなというのが今のところの考え。もっと違ってたら、ある程度使ってもらうまで広告は出さないほうがいいのかなとも考えてたけど、このへんは検討中です。

ただ、この結果はあくまで、この時期に、ListTimerという特定のアプリで、限定された母集団でやったものなので、違うアプリや違う状況なら結果はころっと変わる可能性が高いです。

まとめ

今回のようにABテストは時間も手間もかかるので、ちょっと迷ったらなんでもすぐABテストするぞというのは愚の骨頂だとは思いますが、重要な判断を要する部分では有効なものとなります。

重要なUIの変更とか、大切なメッセージ部分の文章とか、どっちがよいか分からない部分、自分の直感を疑って確かめてみたい時などによいんじゃないでしょうか。

僕が、面白いなと思ったのは、メルカリというフリマアプリで、すでに売り切れている商品を表示する、表示しないという2つのパターンで、売り切れの商品を表示したほうが圧倒的にユーザの定着率がよかったという記事でした。

世界3,200万ダウンロード、単月黒字化も達成。フリマアプリ「メルカリ」が語るマーケティング、検索結果にあえて「売り切れたモノ」を置いている理由。

ちなみに、今回は書いてないけど、アプリ内に埋め込んだコードの値をWeb側から変更する時には、FirebaseのRemoteConfigというサービスが便利です。アプリをアップデートせずに値を変更したかったり、全体の2割の割合でここの値をYESにしたいとかできるので、ABテストする時にぴったり。


*確定申告を楽にするTaxnoteなど作ってます。自己紹介はこちら。プログラマもゆる募



音声合成Amazon Pollyの読み上げ・テキストスピーチが読み上げ界隈を活性化させる予感

こんにちは。最近発表された、Amazon Pollyという音声合成サービスが気になって最近は夜もまともに寝られません。

というのも、僕が五年ほど前にアプリ開発を作ろうと決心したのも、ネットでいつも読んでいるブログとかニュース記事をiPhoneで読み上げさせて、家事やら運動やら歩いている時に耳でながら聞きしたくてしょうがなかったからなんです。

とにかく自分が使いたいという情熱の赴くままにLisgo(Pocketの記事読み上げ)、Voicepaper(テキスト読み上げ)、音声文庫(青空文庫読み上げ)などを作ったのもあり、音声合成業界のニュースには常に耳ダンボでアンテナ張り巡らせていたんですよね。

正直いって、音声合成の品質って何年も大して変わってないんですよ。僕のアプリに使っている音声エンジンは、iPhoneに組み込むことができるエンジンの中で個人的に一番品質がよいという理由で採用したAcapela社の音声ですが、こちらは何年もアップデートがありません。

それでも、競合が素晴らしい品質のものを出してくるかっていうと、そうでもない状態が長く続いたわけです。

去年あたりから人工知能だなんだのと話題になってきても、心の中では、囲碁や将棋に勝つAIはもういいから、音声読み上げとか音声認識の品質を飛躍的に向上して世の中をぶったまげさせてくれないかなあと思ってました。

そしたら、今回のAmazon Pollyですよ。 AI技術を使った音声読み上げサービス!とか煽ってるけど、音声読み上げなんて一度聞いたら一発で品質がバレるからそんなマーケティングメッセージには騙されないぞと思いつつ試してみました。

とうわけで、iOS標準のボイスオーバー読み上げと、僕のアプリに使ってるアカペラエンジン、Amazon Pollyの日本語読み上げ品質を比べてみた。

iOS標準読み上げ vs アカペラ vs Amazon Polly

アカペラエンジン (LisgoVoicepaper、音声文庫に使用)

iOS標準のボイスオーバー読み上げ (Kindleなどで使える)

Amazon Polly

さて、これを聞いて、明らかに違いがわかるというかというと微妙なところなんだけど、Amazon Pollyは結構いいセンいってると思う。もうちょっと音声スピード上げた状態でも聞いてみないと判断しづらいけど、個人的にはこの3つで一番いいんじゃないかなと。

ちなみに、音声読み上げってその音声に慣れているか慣れていないかでも印象が変わってくるし、ある人はiOS標準のボイスオーバーのほうがアカペラよりいいと言うし、ある人は反対のことを言ってたりしてます。

僕は最近もっぱら、Newspicksとかクーリエジャポンの長文記事を何個かテキストにコピペして、Dropbox経由でVoicepaperにぶち込み、ジョギングしながら亀ッチの部屋の記事とかを聞いてるんだけど、こういう用途だと音声の品質は慣れてくると気にならなくなってくるんですよね。むしろ、それ以外の利便性のほうが重要というか。

でも、外国語の学習を目的に、何度も耳で教科書の内容を聞きたいとか、そういう場合はできる限り自然な読み上げを使いたいだろうとは思う。その点、Amazon Pollyは有料Webサービスなので、今後のアップデートで継続的に品質が上がりそうな期待感があるのもいい。

ここ数年、アプリやWebサービスに使えるAPIを持った読み上げサービスに新しい進展はなかったけど、ついに本命っぽいものをAmazonが出してくれたということで、興奮を隠せない。

最近はTaxnoteのAndroid版をコツコツ作っているんだけど、AmazonPollyとかiOSの標準読み上げ使って、Voicepaper2とかLisgo2を作りたくてしょうがなくなってきた。でも、時間は有限だしいったいどうしたらいいのだろうか。

プラットフォームの利便性がイノベーションを活性化させる

Amazonがこういうサードパーティが使いやすいサービスを出すことで、読み上げ系のサービスが今までより作りやすくなるってのが重要なポイントだと思うんですね。

もちろん、今までも頑張って探せばアプリに組み込む音声エンジンとか使えるには使えたんです。でも、それは結構面倒で使いかっても悪い。

Amazon Pollyのように、さくっとAPIで提供してくれて、Webサービスやアプリに今までより圧倒的に手軽に組み込むことができると、読み上げサービスを作る敷居がどっと下がるんですよ。

AmazonAWSの存在が世界中のWebスタートアップの開発スピードを底上げしているだろうし、もっと簡単になるHerokuを使って、僕は最近Taxnoteの自動同期機能を作りました。この、今までより手軽にできるというのが重要。

今までもやろうとすればできたと、それが一気に手軽になったというのは大きな違いなんですよ。これは技術の視点で何ができるかを考えるのではなく、事業者の視点で開発コストと期待できる成果のバランスを考えてみるとわかると思う。

例えば、あるサービスのアイデアがあって、サービスとしてユーザに指示されてなおかつ儲かるという期待値が80ぐらいあるとする。この時、このサービスを開発するのに要するコストが20ぐらいなのと、50ぐらいなのでは、実際にそのサービスを作ろうとするインセンティブが大きく違う。

開発コストが低ければ低いほど、便利なサービスが生まれる可能性が高くなるので、消費者にとってはいいことです。事業者にとっては、ライバルが増える可能性もあるけど、基本的には挑戦がしやすくなるのでメリットのほうが大きい。

Amazon AIでは画像認識をサービスとして提供も始めているらしいし、これからどんどんサービスのアイデアを実現しやすくなってきそうなので、ワクワクしますね。

イノベーションって既存の技術の組み合わせから実現するんだけど、いろいろな技術が組み合わせやすくなり、新しい業種からAPIが提供され始めることで、これからも便利なサービスをどこかの誰かがいろいろ作ってくれそうです。

*参考
テキスト読み上げアプリ Voicepaper誕生秘話
iPhoneのVoiceOver + Kindleで快適オーディオブック


*確定申告を楽にするTaxnoteなど作ってます。自己紹介はこちら。プログラマもゆる募



アプリを一気に多言語へ翻訳・ローカライズしたのを若干後悔してる

数ヶ月前に、ListTimerTaxnoteZenyという3つのアプリを一気に多言語対応したんだけど、最近、若干後悔してきてる。理由を書いてみたいと思います。

翻訳の過程はこちら。
iOSアプリを8ヶ国語に翻訳した過程でわかったこと

一気に多言語化した理由

もともと、それぞれ日本語と英語しか対応してなかったんだけど、リリースから2年ほどたって、そろそろいい感じになってきたので世界に羽ばたいてくれないかなっていうのがモチベーションだった。

そして、まずはListTimerをいくつかの言語に対応したところ、なぜか韓国語のダウンロード数が一気に増えたんですよ。期待してた中国はそこそこ、フランス語、ドイツ語、スペイン語、ロシア語などもそこそこ。

*アプリのAppStoreでの名前や説明を7ヶ国語にローカライズしたらDL数が増えました

この時思ったのが、どの言語でヒットするかは出してみないとわからない部分があるなあということでした。

何事も小さく始める性分の僕ですが、当時はなんかハイになってたんでしょうか、そんじゃ、もうTaxnoteZenyも一気に多言語化しちゃえと、一気にGengoに少なくないお金をお支払いして6ヶ国語ぐらい対応してみました。

若干後悔してる理由その1

しかし、中国語、フランス語、ドイツ語、スペイン語、ロシア語、韓国語などに対応したものの、それぞれの言語でそこまでダウンロード数は増えなかった。微々たるもの。

でも、中国語だけは母数が大きいのでやる価値はあると思う。日本語、英語の次は、とりあえず中国語やっとこう。

ただ、最近、ああ早まってしまったかなあと思いはじめたのは、アプリをアップデートするたびにすべての言語も新しく翻訳しないといけないのが死ぬほど面倒なんですよ。

ここのメッセージをちょっと変える必要があるって時に、今までなら日本語と英語で、ちゃちゃって出来たのが、それ以外の複数の言語を毎回Gengoで発注しないといけないハメに。わかっていたことだが、ここまで苦痛だとは。

ここまでくると、みなさんが容易に想像できるように、僕の行動パターンとしては、少しのアップデート程度なら日本語と英語だけ対応して、他の言語はそのままにしておこうというようになりました。

こうなってくると、アプリ名、スクショなどをちょこちょこ改善していくのも、日本語と英語以外は古いままになっちゃうのです。文字だけ変えるのより、特にスクショとか面倒ですね。あと、ヘルプも変えないといけません。

これが積もりに積もっていくと、なんか、日本語と英語ではちゃんと言語部分が更新されていくけど、それ以外の言語ではずっと昔のままになりがちになっていき、アプリがアップデートされていくほど気になってくる。

さらに、それぞれの言語を読み解くことができないから、このヘルプの文章っていつのものを翻訳したものなんだっけとか、いろいろ面倒になる。

若干後悔してる理由その2

そして、これが一番決定的な理由なんだけど、アプリをひとつの言語に翻訳した場合、あとからコストとメリットが合わないわと思っても元に戻しにくいってところです。これが痛い。本当に痛い。

例えば、いくらダウンロード数が微々たるものだったとしても、ListTimerをロシア語に翻訳して、あるロシア人が極寒の大地で毎日ペチペチ使ってくれてたとする。突然、アップデートしたら一気に英語になっちゃったら、おいコラとバッドレビューを書き殴られるのは不可避です。

というわけで、一度でもアプリ内部を翻訳したら元に戻すのは厳しい。

そんなこんなで、これからアプリを多言語対応しようとしている人は、僕みたいに一気に言語を増やすのではなく、少しずつ増やしていくのをオススメしたい。

やっぱ、小さく試していくという基本を忘れてはいけなかった。なんか、面倒だから一気にやっちゃったんですよね。


*確定申告を楽にするTaxnoteなど作ってます。自己紹介はこちら。プログラマもゆる募



クラウド会計(freee・MFクラウド)とTaxnoteアプリを併用するかどうかの基準

先日、会計アプリTaxnoteにこんな質問がきました。

Taxnoteとクラウド会計の併用は面倒ですか?
どちらかだけを使うか、併用するかどちらがオススメですか?

これは、個人事業主として確定申告する僕自身も試行錯誤した部分で、同じような疑問を持つ人が多いと思う。なので、自分の経験からこの質問に対する答えを書いてみる。

クラウド会計の利点と面倒な部分

言うまでもなく、freeeやMFクラウドなどのクラウド会計の利点はクレジットカードの明細を自動仕分けしてくれる機能です。

カード払いはクラウド会計で処理して、帳簿入力が素早くできるTaxnoteで現金の帳簿をつけ、後からTaxnoteのデータ出力でクラウド会計に現金部分を取り込むという人は多い。

ただ、僕の場合、事業専用と個人利用のカードを分けてないので、クラウド会計のカード明細には、仕事用の経費として処理する部分と個人用の支出が同時に出てくる。この場合、わざわざWeb上で、これは経費、これは個人用と、手動で修正しないといけないんです。

もちろん、ある程度クラウド会計にパターンを学習させることはできるんだけど、このカスタマイズも面倒だし、新しいタイプの支出が出現するごとに修正しないといけない。

というわけで、カードが個人用・仕事用でわけているか、わけていないかでオススメの方法が変わってきます。

僕の場合はカードのポイントを貯めたいとか、仕事用と個人用で分けるのが面倒だったのもありますが、カード明細を元にした複式簿記の記帳を楽チンにする方法を教えてもらったのが決めてでした。

個人と仕事どちらも同じカードを使うケース

この場合、上記で説明した理由などから、僕としては、Taxnoteで全部付けちゃうのが楽なんじゃないかなと思っています。もちろん、カード払いの支出が完全に固定化されている場合、クラウド会計で自動取り込みしたほうが楽かもしれないので、一概には言えないのですが。

迷ったら、どちらの方法も試してみて楽なほうを選べばよいかと。

カード明細を見ながら複式簿記で記帳する時、カードの引き落とし日の日付をTaxnoteで日付固定し、カードの明細を見ながら一気に記帳していくとかなり楽になります。

例えば、以下の場合。
カードの引き落とし日が12月25日。
電車賃が12月2日に500円。
本の代金が12月5日に1,500円。
ネットの代金が12月15日に5,500円。

この場合の仕分け入力は、日付をすべて引き落とし日に固定して、カードは銀行引き落としなので、支払い方法は普通預金にする。

12月25日 交通費 / 普通預金 500円
12月25日 新聞図書費 / 普通預金 1,500円
12月25日 通信費 / 普通預金 5,500円

日付と支払い方法は固定なので楽チン。月に一回、明細を見ながら一気に記帳してる。

クレジットカードの仕分け方法を調べてた時、事業主借とか発生主義とか、厳密にやると死ぬほど面倒で実質不可能じゃないかと最初思ったんだけど、税務署の人に聞いたら実はこの楽なやり方でも別にいいらしい。詳しくは下記の記事を。

フリーランスの確定申告をぶっちゃける2 – 青色申告の鬼門、クレジットカードの仕分け

個人用と仕事用のカードをわけるケース

この場合、単純に仕事用のカードは完全にクラウド会計に任せてしまい、現金入力の部分だけTaxnoteで入力するのがオススメです。

Taxnoteで入力した仕訳帳はデータ出力機能を使って、確定申告の時期にfreeeやMFクラウドに取り込むとOK。

Taxnoteは最近のアップデートで、補助科目や税区分を入力して、freeeやMFクラウドに取り込むことができるようになりました。科目名を “消耗品@PCパーツ” とすると、PCパーツが補助科目になります。

青色申告(複式簿記)の決算書作成する時

白色申告・青色申告(簡易簿記)の場合、損益計算書や貸借対照表などの決算書作成が必要ないので、Taxnoteの損益表タブを確定申告の紙に書き写すだけなので楽チンでオススメです。

個人的にも青色申告(簡易簿記)が時間対効果が高いので手間と効率考えると一番オススメなのですが、青色申告(複式簿記)で決算書作成となると、会計ソフトを使うのが合理的となってきます。

つまり、確定申告の時期がきたら、Taxnoteで入力したデータをWindowsの弥生会計、Webのやよいの青色申告オンライン、freee、MFクラウドなど、決算書作成ができる会計ソフトに取り込み、決算書作成部分だけ会計ソフトでやってもらうということです。

入力作業を全部Taxnoteでやっている場合、ぶっちゃけどの会計ソフトでもよいのですが、一番安い方法を選べばよいかと。freeeやMFクラウドで一ヶ月だけ使用することができれば一番安いかも。

まあ、僕のオススメは圧倒的に楽チンで決算書作成もいらない、白色と実質手間が一緒の青色申告(簡易簿記)なんですが。

特に、赤字の年とか、売上が400万あっても経費が360万かかって、年間利益が48万(基礎控除38万 + 青色(簡易)の控除10万)にも満たない時などは、控除する利益分が少なく、手間のかかる青色申告(複式簿記)でやってもメリットないです。楽チンな方を選ぼう。

*関連記事
確定申告を楽にする合理的な方法のまとめ
フリーランスの確定申告をぶっちゃける 1 – 青色申告と白色申告、手間も考慮した本当の費用対効果
フリーランスの確定申告をぶっちゃける 2 – 青色申告/複式簿記の鬼門、クレジットカードの仕分け問題
フリーランスの確定申告をぶっちゃける 3 – 青色申告/複式簿記の鬼門、個人用と事業用のクレジットカードが同じ場合
フリーランスの確定申告をぶっちゃける 4 – 青色申告/複式簿記に苦労したところで、白色申告や青色申告/簡易簿記に比べていくらお得になるの?


*確定申告を楽にするTaxnoteなど作ってます。自己紹介はこちら。プログラマもゆる募



電子帳簿保存法改正で領収書をスマホ撮影可能になるけど、撮影後すぐに領収書を破棄できない

2016年の電子帳簿保存法改正により、スマホでの領収書・レシート撮影が可能になり、確定申告時の経費として申請可能になりました。(スマホ撮影可能なのは2017年1月より)

電子帳簿保存法Q&A

僕はフリーランス・個人事業主向けの帳簿入力アプリTaxnoteを作っているので、電子帳簿保存法の動向にはギラギラと目を光らせておりました。そこで、いろいろネットで調べたり、税務課の人に疑問点を聞いてみたりした。

詳しいことはググるとわかるけど、税制に関することなのでいろいろ長々とあり、読み解くのが大変だと思う。面倒な人向けに、小規模事業者にとって肝心な部分をわかりやすく書いてみる。

結論からいうと、僕みたいな個人事業主・フリーランスにとって、この税法改正のメリットはほぼない。。なぜかというと、領収書をスマホ撮影しても、肝心の領収書をすぐに破棄できないからです。

領収書をスマホ撮影しても、その領収書を税理士などの代理人に渡して監査を受けるまで領収書の現物は保存しておかなければならない。これじゃ今までより面倒な作業が増えてるだけじゃねえかと心の叫びが聞こえてきそうですが、その通りなのです。

いや、もちろん企業の経理担当の人とか、会社の場合は大量の領収書を現物で保存するコストは高いので、すべて電子化して後から検索しやすくなるというのは大きなメリットなんです。

でも、小規模な事業者や個人事業主の人たちは、税理士さんや青色申告会のお世話になるのって年に一回、確定申告前の決算書作成時期ぐらいなんじゃないでしょうか。慣れてる人は自分で全部やるし、白色申告・青色申告(簡易簿記)であれば楽勝なので税理士さんのお世話になる必要もあまりない。

僕は毎年の確定申告前に、青色申告会にTaxnoteで入力した一年間の帳簿をメールで送信して、それを元に決算書作ってもらって終わりです。

ちなみに領収書の管理はどうするかというとですね、封筒とかに入れて自分で7年間保存しとくわけなんですよ。僕も最初勘違いしてたんだけど、毎年の確定申告時に領収書を提出する必要はなくて、その領収書が必要になるのは税務調査がきた時にちゃんと証拠があるか確認する時。

できるだけカードを使うようにしてるのもあるけど、領収書は季節ごとに封筒に入れてるだけの人が多いんじゃないでしょうか。僕が読んだ青色申告の本にも、領収書の保存は封筒に突っ込んで保存しとけばよいって書いてたわけです。

そうはいっても、その封筒を7年間保存しておくのは結構面倒だから、スマホ撮影してその場で領収書破棄できたら楽だなあとは思ってんですが、税理士の人に監査受けるまで破棄できないなら、今までどおり封筒にいれて保存するほうがよっぽど楽だなと思う。

特に税務調査とかがなければ監査する必要もなく保管しておけばいいだけだし。定期的に税理士さんに領収書を監査してもらうコストのほうが高くて、個人事業主・フリーランスのような小規模事業者の人にはメリットないなあという結論に達してしまいました。

ちなみに、領収書をデータで保存するには、受領してから三日以内に指定業者のタイムスタンプを写真に埋め込む必要があるとか、データで領収書保存する申請を必要とするとか、後からデータ検索できるようにするとか、細かい要件がいろいろあります。


*確定申告を楽にするTaxnoteなど作ってます。自己紹介はこちら。プログラマもゆる募



人類誕生からサイボーグ化する未来まで ユヴァル・ハラリの「サピエンス全史」が最高に面白い

最近読んだ「サピエンス全史」が最高に面白かった。海外では各所から絶賛の嵐を受けベストセラーになったらしく、認知心理学の権威でありノーベル経済学賞を取ったダニエル・カーネマンは読み終わったあと感動して二回連続で読んだらしい。

ビルゲイツやマークザッカーバーグも大絶賛!とか紹介されているんだけど、僕がこの本を読むきっかけになったのは、クーリエジャポンのこの記事である。

「人類の繁栄とは“虚構”の上にあるのです」 『サピエンス全史』著者ユヴァル・ノア・ハラリ大型インタビュー

このインタビューが面白いと思ったら読む価値ある。さらにいうと、「銃・病原菌・鉄」とか好きな人なら、なおのことオススメ。「銃・病原菌・鉄」はピューリッツァー賞も受賞した名作だけど、あの作品の後、結構似た感じのデザインで似たテイストの本は何冊もあったと思うんですよね。

でも、どの本も「銃・病原菌・鉄」のようなグルーブ感というか引き込まれる感じはなかったけど、この「サピエンス全史」はついに待ってたものがきたという感じがする。個人的には「銃・病原菌・鉄」を超えた面白さでした。

この本は壮大なスケールで人類史を解説する本であり、人類が誕生してネアンデルタール人を全滅させるところあたりから始まる。狩猟採集民から農耕革命にいたり、貨幣の発明、帝国主義、資本主義と人類の発展を辿っていくんだけど、情報量が多いのに文章が抜群に読みやすい。

暗記だらけで世界史の授業にウンザリしてる高校生には、まずこの本を読ませればいいんじゃないだろうか。この本は面白すぎて、下巻まで一気に読み終えるまで最高に楽しい日々を過ごせた。

この本がカバーする範囲は広すぎるけど、どっかは紹介しといたほうがいいので、個人的に一番記憶に残っている名文を紹介してみる。

歴史を学ぶ意味とは?

歴史を学ぶ意味ってなんなの?って言われると、「歴史は繰り返すから、歴史を学ぶことによって未来を予見しやすくなる」っていう意見があるかもしれないけど、僕はそう思わないんですよね。

後からみたら繰り返してることがわかるというのはよくあることですが、それは後から見たらの場合。あとからであれば、起こった事実にうまく結びつく、なんらかの歴史を見つけることはいつでも可能なわけです。さあ実際に未来が今までと同じようにどう繰り返すか当ててみろってなると、実質予測は不可能で、歴史を学んだからといって別に予測能力が上がるとも思わない。

じゃあ、なんで歴史を学ぶのってなると、それは単純に面白いし、楽しいからとしか思いつかず、あんまり自分の中でいい説明は思いつかなかったんだけど、この作者が説明していた言葉がすごくしっくりきた。

下巻の「後知恵の誤謬」から

特定の歴史上の時期について知れば知るほど、物事が別の形ではなくある特定の形で起こった理由を説明するのが難しくなるのだ。特定の時期について皮相的な知識しかない人は、最終的に実現した可能性だけに焦点を絞ることが多い。彼らは立証も反証もできない物語を提示し、なぜその結果が必然的だったかを後知恵で説明しようとする。だが、その時期についてもっと知識のある人は、選ばれなかったさまざまな選択肢のことをはるかによく承知している。

~中略~

歴史は決定論では説明できないし、混沌としているから予想できない。あまりに多くの力が働いており、その相互作用はあまりに複雑なので、それらの力の強さや相互作用の仕方がほんのわずかに変化しても、結果に大きな違いが出る。

~中略~

それでは私たしはなぜ歴史を研究するのか?物理学や経済学とは違い、歴史は正確な予想をするための手段ではない。歴史を研究するのは、未来を知るためではなく、視野を拡げ、現在の私たちの状況は自然なものでも必然的なものでもなく、したがって私たちの前には、想像しているよりもずっと多くの可能性があることを理解するためなのだ。

たとえば、ヨーロッパ人がどのようにアフリカ人を支配するに至ったかを研究すれば、人種的なヒエラルキーは自然なものでも必然的なものでもなく、世の中は違う形で構成しうると、気づくことができる。

ブラックスワンでタレブは歴史を振り返っても未来を予測できない理由をうまく説明してた。でも、その事実をふまえた上で、歴史を学ぶ価値をここまで上手く言葉にしたものは初めて読んだのでちょっと感動した。

不老不死が実現すると世の中はどうなるか?

この本の前半は人類の歴史、発展、帝国主義の功罪など、歴史の大きな流れのつながりを素晴らしい解説で語るのだけど、後半になると近未来の話も出てくる。

そこで一番面白かったのが、人類と幸福についての考察。幸福と聞くと、どうしても宗教的な響きを感じたり胡散臭さが漂ってしまうため、今まであまり学術的に真剣に研究されてこなかった分野なのだけど、認知心理学の権威であるカーネマンも現在は幸福に関して実証研究をしている。

カーネマンの研究は、記憶と現実、どちらの幸福を優先するべきなのかという哲学的な問いもあって、とても面白いので、興味のある人はTEDの動画がまずはオススメ。

ハラリはこの本で、格差、幸福の感じ方を踏まえて、今シリコンバレーで投資が盛んになっている再生医療(最終的には不老不死を目指す)について考察している。

もし、人間が永遠の若さを手にいれることができたらどうなるか?その人は幸せになるのだろうか?という考察なんだけど、この本で書かれている視点が面白い。

医療の発展により、もし一握りの金持ちが寿命で死なない再生医療を手に入れることができたらどうなるか?その人達は幸せになるだろうか?という考察。

科学があらゆる疫病の治療法や効果的なアンチエイジング療法、再生医療を編み出し、人々がいつまでも若くいられるとしたらどうなるか?おそらく即座に、かつてないほどの怒りと不安が蔓延するだろう。

新たな奇跡の治療法を受ける余裕のない人々、つまり人類の大部分は、怒りに我を忘れるだろう。歴史上つねに、貧しい人や迫害された人は、少なくとも死だけは平等だ、金持ちも権力者もみな死ぬのだと考えて、自らを慰めてきた。貧しい者は、自分は死を免れないのに、金持ちは永遠に若くて、美しいままでいられるという考えには、とうてい納得できないだろう。

だが、新たな医療を受ける余裕のあるごくわずかな人々も、幸せに酔いしれてはいられない。彼らいは、悩みの種がたっぷり生じるだろう。新しい治療法は、生命と若さを保つことを可能にするとはいえ、死体を生き返らせることはできない。愛するものたちと自分は永遠に生きられるけれど、それはトラックに轢かれたり、テロリストの爆弾で木っ端微塵にされたりしない場合に限るのだとしたら、これほど恐ろしいことはないではないか。

非死でいる可能性のある人たちはおそらく、ごくわずかな危険を冒すことさえも避けるようになり、配偶者や子供や親しい友人を失う苦悩は、耐え難い者になるだろう。

この考察はなかなか面白い。人間は自分の満足度を相対的にしか考えないので、現在が昔にどれだけ恵まれている部分があったとしても、現在の自分を過去の常識とは比べない。あくまで、比べるのは現在の周りの人たちと自分。

逆にいえば、将来はもっと世の中は便利になって、海外旅行ももっと安く速く移動できるようになり、テクノロジーも進化していていいだろうなあとは思うけど、現代に生きている自分と、未来に生きている人たちを比べて、不公平だと怒ったり、苦悩したりすることはあまりない。

結局、人間は今見えているものと、自分のことを比べる性質を持っているので、このことは、いろいろなサービスを設計する時に、常に頭にいれておくとよいかなと思いました。


*確定申告を楽にするTaxnoteなど作ってます。自己紹介はこちら。プログラマもゆる募



iPhoneアプリ開発・運用でかかせない、吟味して選んだ便利サービスTOP10

iPhoneアプリを個人で作り始めてから5年ほどになるけど、アプリ開発や運用でかかせないサービスをまとめてみた。

それぞれに競合サービスがあったりするけど、いくつか使ってみて、最終的に本当に使うようになったものだけ書いてみる。プログラミングする時に使うツールというより、アプリを作った後の運用とか、分析とか、そっち系のサービスがメインのランキング。

iOSアプリにしか使ってないけど、Androidで使えるものも多い。

10位 Iconfinder(無料+有料)

https://www.iconfinder.com/

アプリはWebサービスに比べて画面が小さいのでビジュアルデザインが楽。実質、フリーのアイコンとか有料のアイコンを利用するだけで事足りることが多い。僕はまず有料のアイコン集を買って、それでカバーできない時はこのサイトから検索してます。

例えば、フラットデザインのリロードアイコンを検索したかったら、写真のように「reload thin」と検索するとよい。

9位 Token(有料)

http://usetokens.com/

iOSアプリのプロモコード配布を楽チンにしてくれるMacアプリ。iOSにはアプリを無料でお試ししてもらったり、新しいバージョンをAppStoreにリリースする前にお試しできるプロモコードというものがあるんです。

でも、これ、プロモコードをユーザに配布しただけだと、ユーザはそのコードをAppStoreで入力したりする必要があるので面倒。このアプリは、ユーザがリンクをクリックするだけでコードが貼り付けられるリンクを生成してくれる。

さらに、複数人に同時に配布できる一つのリンクを生成したりもできる。新しいバージョンをAppStoreからテストする時にも便利だし、もちろんユーザに配布する時にも便利。残念なのはiTunesConnectの二段階認証に対応してないところかな。

実をいうと、プロモコードは配布するよりも、アップデートした時にテストする時に毎回使ってる。手動でリリースするを選択してアプリの審査が通った後に、リリースボタンを押す前に完全にリリースバージョンと同じアプリを実機テストできるのでオススメ。

8位 Gengo(有料)

https://gengo.com/

これはアプリ向けのサービスではないけど、最近アプリを多言語対応したので、使いまくっている。死ぬほど使いかってがいいので紹介。アプリを多言語対応する時に使ってます。

アプリの翻訳専用サービスもいくつか試したんだけど、結果的に自分でgengoに発注するというシンプルなやり方が一番楽で速いので、そういうやり方に落ち着いている。

とにかくUIが使い易い。少量の翻訳でも簡単に発注できる。翻訳スピードがバカっぱや。少量なら数時間で終わる。このスピード感が一番楽。

使い方のポイントとしては、[[[ ]]]を使って出来る限り翻訳者がやりやすいように注釈をつけることと、目的でApp/Web localizationを選ぶとITに詳しい人が当たりやすい気がする。

日本語からの翻訳は選べる言語が限られていてなおかつちょっと高い。英語からの翻訳はたくさん選べて安くなる。だから、英語がある程度わかるなら、英語から各言語に翻訳したほうがお得。

*参考
アプリのAppStoreでの名前や説明を7ヶ国語にローカライズしたらDL数が増えました
iOSアプリを8ヶ国語に翻訳した過程でわかったこと

7位 AppBot(無料+有料)

https://appbot.co/

アプリへのレビューをメールで届けてくれるサービス。使い易い。最近いろいろアップデートしてるけど、レビューだけでいいので無料枠で使ってる。

レビューには改善依頼とかも書かれていることが多いから逐一チェックしないといけないし、お褒めのレビューは毎日の開発のエネルギー源というか、やる気がモリモリ出てきます。

僕なんか、雨の日も風の日も祝日も関係なく毎日PCの前でペチペチ開発してるわけで、レビューで褒めてもらわなかったらとっくにやる気なくしてるんじゃないでしょうか。

*参考
面倒なユーザーサポートは孤独な開発のエネルギー源だった

6位 Screenshot Builder(無料+有料)

https://launchkit.io/screenshots/

アプリのスクショを作成したり更新する時にめちゃくちゃ便利。ちょっと文言を変える時、iPhoneとiPadのすべてのサイズが自動的に更新され、文字の大きさやフォントの種類などもサクッと切り替えられる。

僕はTaxnoteを7ヶ国語ぐらいに対応したので、このサービスがなかったら死んでると思う。唯一の不満点はスクショの順番が後から変えられないことぐらい。

*参考
AppStoreのスクショ作成には、Screenshot Builderが便利

5位 fastlane(無料)

https://fastlane.tools/

fastlaneはiOSアプリの開発を支援する便利なツールがたくさん集まってるんだけど、僕はその中でもdeliverというものをよく使っている。

deliberはAppStoreの説明文、キーワード、リリースノート、スクショなどを一気にアップロードしてくれるツール。7ヶ国語ぐらい対応したらアップデートするたびにそれぞれの更新がかなりの手間になるので、一気にアップロードしてくれるツールが神となる。

*参考
gengoとScreenshotBuilderとfastlaneで、AppStoreのローカライズがめちゃくちゃ楽になった

4位 Mixpanel(無料+有料)

https://mixpanel.com/

アプリのデータ分析ツールは数あれど、いろいろ使ってきた結果、やっぱり一番使いやすいのがMixpanel。

特に、「初回起動 => アップグレード」などの、ファネル分析を国別、アプリバージョン別、デバイス別などで分析するのに便利。最近ではFabricのAnswerなどが簡易分析ツールとして見やすいけど、細かい分析をしようと思ったらやっぱりMixpanelになってくる。

ただ、無料サービスではないので、ユーザー数が多いアプリだとすぐにお金がかかっちゃう。でも、そこまでユーザがいない時期は無料枠で十分使えると思う。ちなみに、Mixpanelのバナーを適当に作った無料ブログに貼ったら、無料枠が大幅に増えるからオススメ。

最近ではAppleのiTunesConnectからAnalyticsという分析ツールを使えるけど、ファネル分析するなどの自分が知りたい情報をピンポイントで解析したい時にはやっぱりMixpanel。

逆に、iTunesConnectでは、AppStoreのインプレッション、自動購読課金への購読数、キャンセル数、無料トライアル登録数など、そこでしか絶対見れない数値もあるので、使い分けが必要になってくる。

*参考
Lean Analytics 虚構の数字と改善に繋がる数字

3位 AppAnnie(無料)

https://www.appannie.com/

AppStoreの売り上げやダウンロード数データを見やすいグラフなどで表示してくれるAppAnnie。アプリ開発者なら定番だと思う。

基本的に、国別のDL数の違いとか、売り上げの把握とかに使ってて、iTunesConnectを直接見るより断然使いやすい。今までの売り上げやDL数を全部把握したり、期間を指定して数値を見たいならこれ。

ついでに、AppStoreのキーワード分析サービスや、各国のストアカテゴリごとのランキング見れることもできる。特に、ASOを分析したい人には、AppAnnieのキーワード分析ツールは必須じゃないでしょうか。

2位 Fabric(Crashlytics・Answer)(無料)

https://fabric.io/

Twitterが提供しているモバイルアプリ開発向けのサービス。とにかくデータを表示するデザインが見やすくて素晴らしい。そして、ツールの組み込みも簡単でわかりやすくする工夫が行き届いていて、とても勉強になる。

Crashlytisはアプリがどこでクラッシュしたかのデータを収集して教えてくれるサービス。同じ人が何回も落ちているのか、いろんなユーザが落ちているのか、どのバージョンで落ちているのか、どのiOSか、iPhoneかiPadかなど、細かいデータを教えてくれる。

AnswerはアプリのDL数、毎日のアクティブユーザ数、月ごとのアクティブユーザー数、リテンションなどのデータ解析ツール。

データ解析はMixpanelを紹介したけど、あっちは細かいファネルなど、ピンポイントでミクロな解析をしたい時に便利なツール。Answerは全体のボリュームなど、マクロなデータを見るのに便利。無料だし。

昨今のデータ解析ツールができることはみんな横並びなので、最終的にはダッシュボードの見易さ、デザインがすべてとなってくる。その意味で、Fabricはダントツで見やすい。デザイナーが優秀なんだと思う。

唯一の弱点は直近1ヶ月のデータしかダッシュボードで見れないという謎の制限があり、月ごとの比較がむずかしい。一応一年分はcsvで書き出せるけど、生データだけもらってもしゃあないし。

1位 Helpshift(無料+有料)

https://www.helpshift.com/

モバイルアプリ内に組み込めるサポートツール。ユーザからの質問・要望などのフィードバックを参考にコツコツとアップデートしていく、リーンスタートアップ的な開発をするにはかかせないサービス。

このサービスをアプリに組み込むと、ユーザはアプリ内から質問・要望をメアドなしでサクッと送信することができ、開発側は返信をアプリに送ってチャット形式で対話できるようになる。

このサービスがなかったらフィードバックもらえる確率は大幅に減っていただろうし、メールでのやり取りはユーザ・開発側双方にとって面倒なので、僕にとっては本当にかかせないサービス。アプリ内のヘルプやFAQもWeb側から更新できるのも便利。

ただ、数年前に使い始めた頃にはこのサービスの代わりはなかったような状況だったんだけど、今ではいろいろ競合も出てきているだろうし、今なら他にも選択肢があるかもしれない。基本的には不便してないのと、これ系のサービスは途中で変えるのが困難なので変える予定は当面ないけど。

競合サービスはこちらが参考になるかも。 Alternatives to Helpshift

*参考
フィードバックしやすい状況を作るHelpshift
使いやすいアプリを作る簡単な方法


*確定申告を楽にするTaxnoteなど作ってます。自己紹介はこちら。プログラマもゆる募



« Older posts Newer posts »

Copyright © 2017 うめのんブログ

Theme by Anders NorenUp ↑