2016年2月10日水曜日

小ネタ:「スマホのアプリを作りたいんですが」という相談について

仕事柄、スマホアプリの作成を相談されることがあるわけです。

それが、業界にある程度詳しい方たちであれば、大体の予算感もわかるし、規模も理解されているわけで、こちらの見積などに対しても「それなりの」反応はしていただけるわけですが、最近はちょっと事情が違ってきているようです。

先日も、個人で仕事をしている方からそんな相談を受けました。全くITとは関係ない業界の方でしたが、一応話を聞いてみると、お客様のスマホにアプリを入れて自社の商品を売りたい、というものでした。しかもオススメ機能なども含めて欲しい、というお話。

そのうち、お話がだんだんとふくらんできたので、

「ちょっと待って下さいな」

と。そして、
・「スマホアプリ」はスマホだけで完結しないものもある(今回の件はそのパターン)
・作るのはいいが、どうやって配布するのか(値段はどうするか、という点も)
・アプリの公開によって収益がどれほど見込めるのか
なんて話をしたうえで、予算感を伝えたところ、

「そんな金額個人商店で出せるわけないじゃないの!」

と言われてしまいました。

意外かもしれませんが、「アプリ」と言っても、ただスマホの画面上にあるモノだけを作るわけではないんです。必要があればクラウドサーバなどへの接続を行ってみたり、お客様の情報を管理しているデータベースとの接続があったりするんですが、そういったのを作るのがプログラマとしての「腕の見せ所」なんです。そして、それが思っている以上に開発の料金に上乗せされるわけです。

そこまでは理解できている方でも、その次の話、「アプリと(商売の)収益」、という話になると今ひとつピンと来ない方が多いです。

例えば今回のお話で言えば、要するにAmazonアプリと同じものを作りたい、と考えているのだと仮定します。ちなみに、Amazonのアプリは無料で提供されています。もちろん、今回の方も「アプリは無料で配布したい」とおっしゃっていたのですが、そのアプリを使ってくれるというお客様は一体どれくらいいるのかを考えてみましょう。

Amazon(日本に限ります)の月間のユーザ数は、およそ5,000万人(2014/12のデータです)。この年の年間売上高が8,300億円ですから、一ヶ月平均690億円。一人あたりの売上は1,400円程度/月になります。

これを個人でやろうとするとどうなるか。お客様の数や販売する品物の種類にもよるのですが、月間ユーザが100人程度で、商品が1ヶ月で消費されるもの、価格は通常店頭で販売している価格が1,000円のものを同じ値段で買うと仮定すると、月間の売上は10万円になります。が、配送料を販売側が持つとすればその分利益が減る事になります。そして、開発費用が仮に100万円だったとすると、およそ1年分のアプリからの売上を持っていかれることになるわけです。

実は、私はいつもこういった相談を受けた際に、一応こういった説明をし、それを前提に見積をすることにしているのですが、やっぱり反応がすごいです。びっくりされて、「やっぱり無理かぁ」で終わることが多いです。やはりそれでも相談に乗って欲しいと思う方が多いというのは、それだけ「スマホのアプリ」が一般的になってきたから、そして、それを便利だと思って使っている方が多いからなのだろうな、と感じています。

私は作るだけでなく、マーケティングも多少かじっているので、どうしても「作りまっせ!」一筋では行かないんですよね・・・。

2016年1月22日金曜日

(小ネタ) MacのOfficeマクロについて:その1(ActiveX)

たまにはプログラムネタを。

最近、Mac版のExcel(2011)でマクロ(VBA)を作っていたんですが、意外なことに、Windows版のVBAでもそのままプログラムが走ることが多いんですね。もっとWindows→Macで書き方がぜんぜん違うのか、と思っていたのですが、そんなこともなくてサクサクと動いてくれていたりするので面食らってしまうくらい。

とはいえ、Windows版では当たり前のようにできていてもMacだとできないこと、というのもあるにはあるんです。そんなのをいくつか紹介していきましょう。

WindowsでできてMacでできないこと、その1。

「ActiveX」は使えない。

「あんたバカかぁ?」とか言われそうですが。だってMacだもん。Windowsじゃないもん。ActiveXなんて使えるわけないじゃんよ。と。

そのとおり。そもそもActiveXはMicrosoftの開発したインターネット関連のコンポーネントなので、Macには(Officeを入れたのにもかかわらず!)入ってないんです。

で、これで何が困るのか、というと・・・。

データベースに繋げないんです。Windows版のマクロで他のデータベースソースに接続する場合、ADOという仕組みを使って接続するのがまぁ一般的というか、それで接続できちゃうんですが、このADO、正式名称が「ActiveX Data Object」、ActiveXを使ったデータベース接続の仕組みだったりするわけです。

それが使えない。データベースに繋げない。データを読めない書けない。困ります。

もちろん、解決策はあるんです。ODBCを使えばいいんです。ま、JDBCでもいいんですが。

どっちでもいいんですが、少なくともODBCのドライバ、Mac版は無償のがないんですよね・・・。もう一つの問題として、ドライバを入れる、という行為をしなくてはいけないんです。WindowsでADOを使えばODBCを使わなくてもデータベースにアクセスできるのにね。

それを言っちゃうと、「FileMakerを使えばいいじゃない」とか言われそうですが(マリー・アントワネットかよ)、Mac版のExcelだけのためにサーバ側のDBとしてFileMakerを選ぶ、というのはあまりにも短絡的すぎます。だったらクライアント側も(MacだけでなくWindowsも)ExcelではなくFileMakerを使う方がどんだけ楽か。

ちなみに、Mac版のExcelの最新版(2016)では、ODBCドライバを入れることなく、MicrosoftのSQLServerと接続ができるようになったようですが、それ以外(OracleとかPostgresとか?)はやっぱりODBCが必要になります。あ、もちろんFileMakerも以前と同様使えますが(笑)

2015年11月27日金曜日

小ネタ:散々な一日

たまにこういう日もあるよね、という、仕事あるあるみたいなもんですが。

朝、妻とテレビを見ていました。ちょっと遅めに起きた私は妻を仕事に送っていく準備をいそいそとしていました。そして、出かける直前、占いのコーナーが始まる直前、妻はニヤニヤとしていました。占いの結果は、妻が一位、私が最下位だったのです。そして、それを妻はすでに知っていた(1時間前に同じ占いをやっており、妻はすでに起きていたのです)ので、ドヤ顔で仕事に向かいました。

さて、妻を送り終え、家に帰って仕事を始めようと準備を始めました。PCは基本付けっぱなしなので、まずメインマシンで軽くメールのチェックをしながら、今日の仕事ではWindowsがどうしても必要になるので仮想環境のWindowsにログインしようとしました。しかし、ログインできません。画面が真っ暗です。

再起動をしたところ、今度は起動しません。真っ青です。PCがではなく私が。

特にデータを格納してあったりするわけではないので、最悪OSの再インストールで対応できるのですが、それでも再インストールには時間がかかります。しかもOSだけでなくアプリも復旧させるのは相当な時間のロスです。

とりあえず仮想環境で起こっている問題を解決しようとあれこれと調べつつやってみたのですが、何一つ解決に結びつく情報と出会うことなく、もちろん何ら状況が進展しないまま半日が過ぎました。

もうどうしようもありません。再インストールに方針を変えることにしたのですが、次に起こったのはメインマシンの不調です。こちらも突然真っ暗になり、動かなくなりました。私ももちろん真っ暗です。

メインマシンはどうやら不安定だったようで、再起動すると元どおり動き始めましたが、今度はネットワークが見つからなくなりました。以前バックアップ用のTime Capsuleが不調になった際に仮復旧させた状態で、本来ならば不安定になるはずの状況でしたが、問題も起こらなかったのでしばらく放置していたのが今更不安定になるとは。

そして、ネットワークの環境を正常な状態に戻し、やっと再インストールに取りかかれる、と作業を開始しようと思ったら、今度は仮想環境サーバのハードウェアに異常(というかガタ)が発生。HDDを接続するコネクタとケーブルが妙に引っ張られていて抜けそうになっていたり、ファンが異常な音を出し始めたり、CDのトレイが出なくなっていたり。力技で「なんとか」して、なんとか再インストールに成功しました。

が、これで結局さらに半日を費やすことになり、今日予定していた仕事は全く手につかなかった(仕事は資料作成だったので、空いた時間で手書きの資料を作りましたが)という何とも惨憺たる状況でした。

仕事のうまくいかない日、というのは結構ありますが、ここまで不運が続くのはなかなかありません。しかもそれなりに急ぎの仕事を抱えている時に限ってこういうのが連チャンで発生するんですよね。しかも占いが最下位だったし。

本当は、バックアップを取ったりとかしておかないと、こういう目にあうんですよね。考えておかなければ、なんてずっと思っていましたが、実際に実行に移さないのが悪いんですよね。落ち着いたらやろうっと。(←こういう態度が良くないんですね)

2015年11月24日火曜日

小ネタ:Office 2016 for Mac 再インストール顛末

唐突ですが、普段Mac使いな人たちが意外に困るんじゃないかと思うこと。

「資料」が開けないことがある

基本的に世の中の「資料」はWindowsで使うことを前提に作られているようです。ちょっとした資料が送られてきても、PDFで来ることは稀、WordだったりExcelだったり。ちなみに、そのPDFもたまに開けない(または開いても印刷ができなかったりする)ことがあります。システムで自動作成されたやつで何度無駄紙を印刷したことか・・・。

まぁ、WordやExcelはMacでは絶対に使えないというわけではなく、インストールしている人も多いはずですし(特に仕事で使うなら必須でしょう)、最悪、iWorkを使うという手もあるので、全くお手上げ、ということにはなりません。

が、すでにOfficeをMacで使っている人は、それが突然使えなくなると困ってしまうわけです。私がそうでした。

ここ数日くらい前から、Officeの全アプリが起動しなくなりました。起動は開始するのですが、オープニングの画面(スプラッシュ)が表示されず、「応答なし」状態になってしまうのです。また、それ以前から、アップデートがちょっとおかしい挙動をするようになりました。アップデータをダウンロードし、かつインストールが終わったにもかかわらず、その後再度最新版の確認をすると、同じアップデートが表示され、延々と繰り返してしまうのです。

こういう時はお得意の「ググってみる」ことから始めますが、意外にも「Officeが起動しない」事象が発生していたらしく、いろいろな解決法が検索に引っかかってきました。

それで、自分の状況と照らし合わせてみると、1箇所だけ、自分の状況だけがおかしい、という点を見つけました。

実は、利便化のために、Officeに限っては「アプリケーション」フォルダから別のフォルダ(実際にはフォルダ直下)にもう一つOffice専用のフォルダを作ってあり、その中にOfficeアプリを全部放り込んでいたのです。これ自体は非常に都合がいいのですが(Dockにフォルダを登録しておけばわざわざアプリケーションフォルダから探さなくていいので)、おそらく、これが原因でアップデートが妙な挙動をしていたのではないかと推測できます。
#こういう時、本来ならエイリアス、Windows的に言えばショートカットを使うんですよね。

とはいえ、それを元に戻したところで起動しないことには変わりがなく、仕方がないので再インストールをすることにしました。そのやり方は思っていた以上に面倒で(基本的に、MacのアプリをアンインストールするのはWindowsに比べるとかなり面倒です)、詳しくはここを参照していただくとして、ざっくり言うと、

  • 「アプリケーション」フォルダからアプリを削除
  • 不可視フォルダであるライブラリフォルダから特定のファイルを削除
  • 再起動後にインストールプログラム起動
と、Windowsのようにアンインストールプログラム一発で削除できるわけではないわけです。

再起動が本当に必要なのかどうかはマユツバですが(私はおまじないレベルだと信じてます)、とりあえず指示通りにやってみました。しかも、これもおまじないと信じてやまないウィルス対策ソフト(我が家はAvastです)の無効化もしてみました。

インストールは無事完了し、一応Wordは起動することがわかりました。その後、アップデートが走り、最新版のOfficeで起動することができたので、問題は解決しました。

Macでも、Windowsのようなアプリの(いわゆる)安全な削除ができるツールを一緒に提供すべきなんだよなぁ、と開発している立場だと思ってしまう、というお話でした。

追記:
Office2016 for Macでの不具合は結構多いみたいです。今回、私は再インストールだけですみましたが、ググってみるとそれだけでは解決しないケースもかなりあるようです。あまり私のケースは参考にならないかもしれませんね。

2015年11月20日金曜日

インターネットラジオの録音に関する考察(その5:進捗状況)つづき01

毎週報告しなくても、と思いますが一応。

実は今週はほとんどコーディングしていなかったので(別のことやってた)、進んでないです。
まずは現時点(11/20)でできたところ。

  • 番組表作成中。
    元となるデータをダウンロードするところまではできました。NHKのデータは3局別のファイルでダウンロードすることになります。radikoは全放送局(もちろん聴取エリア内のみです)が取れます。
    それから、デザインはまだやってないですが、少なくともリスト(JavaFX的にはListView)でやってみて、それから他のパーツを使うなり、いろいろ考えられそうです。
以上。
実は、その後処理になる、データを画面に表示させるところがどうしても実装できないんです。データがあればなんとかなると思ったのが間違いだったですね。世の中そんなに甘くないっす。

ということで、来週以降の予定ですが、
  • 番組表の画面表示。とにかく画面に出そう。
  • 積み残しのうち、デザインと広告あたり。

一人でやるんでのんびりですが。

小ネタ:無料アプリと広告

今日の小ネタはいつもと違い、アプリの収益に関するお話です。とはいえ、これは私が直面している話ではなく、一般的なお話でございます。

無料でアプリを提供する場合にどのように収益化するか、というのは以前のポストでも書いたことがありますが、アプリ内課金、もしくは広告収入、というのが考えられるわけです。というのを前提に。

わたくし事ですが、最近は使っていないスマホのアプリがいくつかあります。数年前、しかもリリースされて間もない頃に、「そうそう、こういうのが欲しかったんよ!」とインストールし、結構使っていたのですが、ライフスタイルの変化とともに、最近では起動することも少なくなっていました。

そのアプリのうちの一つが、テレビCMで流れるようになったのはここ数ヶ月前からでしょうか。職業柄、どうしても「お、この会社、ずいぶん儲かってるんだね」とアタマの片隅で思いながら、いずれにせよテレビCMを見たからといってアプリの起動契機になるわけでもなく、他のテレビCM同様、見過ごしていたわけです。

そして、今日、ふと気がついたことが。そのアプリからのオプトインメールを受信するように設定していた(らしい)のですが、以前よりオプトインメールの来る頻度が高くなったような気がしたのです。今朝、昨日のメールチェックでそのアプリからのメールを削除した記憶があり、週末に向けて夕方にメールチェックをしたところ、そのアプリからのメールが来ていたことで気がついたのです。確かに、この1ヶ月で週に2〜3通、今週は月曜着から金曜日まで毎日届いています。

ちょっとした違和感を覚えました。メールバンバン流してどんだけ広告収入を得ようとしてんのさ、と。でも、すぐにその理由に気づきました。テレビCMです。

アプリの運営会社はもともと、アプリ内にある広告がメインの収入源になっていたと仮定されます(アプリ内課金もありましたが)。でも、アプリがインストールされればされるほど収入が上がる、ということになるため、アプリの認知度を高める必要があるわけで、今までのように口コミだけではユーザー数は頭打ちになってしまう恐れがあったのではないでしょうか。

そこで、大きな認知度アップキャンペーンを行うことにしたのでしょう。そう、テレビCMです。最近はテレビ離れが進んでいるとは言え、テレビを視聴する人はまだまだ多いわけです。当然認知度が上がったでしょう。

ただ、そこにはおそらく大きな落とし穴があったはずです。テレビCMの制作および放送に相当額の広告費が費やされたはずです。そして、仮にアプリがインストールされたことによる売上が上がったとしても、それに見合うだけの利益を上げることができなかったのではないでしょうか。

とすれば、今度は既存ユーザに対してオプトインメールを送ることで、そこからの広告収入を得る、という方法で、なんとか売上(利益)を維持もしくは上昇させようと考えるのは無理からぬ話です。今日気がついたのはある一つのアプリですが、実は同様の理由で削除したアプリも今までに数多くあります。

その方法がダメだ、と否定するつもりは全くなく、利益を上げなければいけない企業の立場としては当然だとは思いますが、無料で使っているユーザー側として、その程度の「不利益」は受け入れなければならない、と、もしその企業が思っているのだとしたら、それはちょっと極論すぎる気はします。

ちなみに今回のアプリを開発した会社(もちろんどこかなんて言いませんよ)、財務状況とか全くわかりませんが、おそらく利益を少しでも前期より上げようとしているんではないかと。そして目指しているのは上場。そんなところでしょう。

それはいいことだと思いますし、素晴らしいことです。が、それによって、ユーザー側に不利益が少しずつ増えていくとしたら、果たしてそれはいいことなんでしょうか。利益を得たいと思うならまずは利益を出してくれる人のことを考えるべきだと思います。

・・・まぁ、会社によっては(今回のアプリの会社もそうかもしれません)大きな「資金源(≠利益源)」はユーザーではなく資本家だったりしますので、そちらをより大切にしてしまうこともあるかもしれませんけどね。


2015年11月12日木曜日

インターネットラジオの録音に関する考察(その5:進捗状況)

なんか業務連絡みたいなポストであることをご容赦ください。

昨日(11/11)時点でできていることを列記します。
  • AFNとNHKは一部の局だけだが再生が可能であることを確認
    (AFN:Local/Japan、NHK:東京エリア)
  • 再生可能な局については録音も可能だと思われるが未テスト
    (出力フォルダを作っていないのでめんどくさい)
  • デザイン作成中。昔のポータブルカセットレコーダーとかサンプラーとかをイメージした、でも今風のデザイン作り中。
  • 開発言語はJava。JavaFXで作る予定。正直すごく楽。XMLさまさまです。
次に考えること/やること
  • NHKの番組表を作成。番組表をXMLで作るのはどうやってやるんだろう?なんとなくわかるんだけど(データを引っ張ってきてXMLを自動生成的な?)。
    ちなみに、AFNは番組表がないのでどうしたもんかと考え中。特にLocal Stationはずっと聞き続けないと番組名わかんなさそうだよなぁ。作りながら聞くにしても絶対聞き流しちゃうだろうし。
  • radiko加盟局の再生・録音機能実装
    問題点は2つ。一つはradiko特有の「認証」の実装。やり方はわかってるんだけどめんどくさい。もう一つはエリア外聴取への対応(プレミアム対応といってもいい)。そもそも自分がプレミアム加入してないし。
  • デザイン(続き)
    そもそもそのデザインでいいのかよ、とは思ってますが。
  • 広告の実装
    そういえばデザイン考えるときに広告の配置を考えてなかったな。ちなみに、広告を貼り付けるだけで儲かるわけではないのだが、他に方法はないので(ないわけではないが自分が嫌なことはしたくないし)。
ざっくりとこんな感じです。

ちなみに、番組表の実装ですが、このポストを書いた後(この行より上は昨日の夕方書いた)、風呂に入っている時になんとなくアイデアが湧いてきました。実装がうまくいった時点でやり方を公開する予定ですが(失敗したら恥ずかしいので・・・)、ヒントとなったネットの記事をリンクしておきます。

テレビ画面はdiv要素でできている!- Hybridcastとテレビの未来 –
(from HTML5 Expert.jp)

記事自体は、デジタルテレビにおけるデータ放送画面がHTMLで構成されている、というものです。データ放送(記事内ではNHKのHybridcastについての言及ですが)を起動すると、内部ではブラウザが起動し、いわゆるWebの画面が表示されているという仕組みだ、とあります。

この記事は番組表実装の方法を考えるときにさらっと読んだのですが、その時はあまりピンとこなくて、ざっと読んですぐに閉じてしまいました。が、昨晩、まさに風呂に入っているときにふと、「とりあえず番組表をHTMLで書いたらどうなるんだろう?」と思いついたわけです。今回開発している環境では画面の構築はXMLを使っています。だとすれば、考え方は同じ方向を向いているわけで、うまくいくかもしれない、と。

確かに、データ放送画面を良く見ると(たまたま朝の情報番組を普段通り見ていたのですが)、上記の記事にあったようにHTMLで実装されていると言われればそのように見えます。ということは、テレビ自体がHTMLブラウザではないか、と仮定できます。テレビの機能画面は全てHTMLで描かれていると。

もちろん、これが「正解」とは思いませんし、私自身それほどコーディングに自信があるわけではないのでもっといい方法があるかもしれません。が、一つの方向性としてはアリなんだろう、とは思います。とりあえず出来るところまでやってみます。