読者です 読者をやめる 読者になる 読者になる

ichiroc subset

書きながら考える・考えをまとめる場所

ApptBoard の開発話

はじめに

そういえば ApptBoard を開発について書いていなかったので記録しておきたいと思います。

開発のきっかけは Sunrise の Meet キーボードの予定調整機能

開発前の当時 Sunrise という iOS カレンダーアプリが有りました。 私はそのアプリのファンでしたが、現在は Microsoft に買収されてアプリの開発も終了しています。

Sunrise は Meet という iOSキーボードを内包していました。 Meet キーボードはURLを生成して、Web上で予定の調整が出来るというとてもスマートな機能を持っていました。 (かっこいい!)

Web上で予定調整するのはスマートだけど・・みんな出来るの?

私はその機能に当初とても驚きました。

しかし同時にどれだけの人がこの機能を違和感無く使えるかには疑問を感じていました。 私が日程調整する相手は、自分の親世代や社内のITに詳しくない人もかなりいます。

みんなURLをタップしてくれるの?
毎回「そのURLは何か」を説明しないといけないんじゃない?

こんな疑問が常にありました。 そしてそうした人には予定の時間の候補は単純にテキストで連絡して方がスムーズだと思いました。

それが最初のアイデアです。 当時(今もですが)、自分の予定の状況を確認しながらキーボードから挿入する機能を提供するアプリは見当たりませんでした。

思いついたアプリは自分で使っても便利そう。なら自分で作ろう。

自分の予定をテキストで挿入出来るのは自分がユーザーとしても便利そうです。

自分がユーザーになれるかどうかは重要です。 仮に全く人気が無くても自分が便利になるように開発を継続出来ます。

自分でも使いたいし、 Swift で本格的に何か作りたいし・・、よし、やるか!

こんな感じで始めました。 開発はもちろん大変でしたが、基本的に楽しくやれました。 自分が使いたい、と思える機能を作っていくことが開発の力の源泉だったと思います。

広告も無く完全無料にした理由

当初からアプリ本体は無料で提供する方針でした。 考えていたのはApp内課金でした。 例えば一ヶ月以上先の予定を見たい場合は有料にするような形です。 しかし最終的に完全無料にしました。

理由はこんなところです。

  • 利用者の間口を広くしたかった
  • 広く使ってもらった方がお金を貰うよりも自分にメリットが有るのではないかと思った
  • 無料にして心置き無く自由に開発したかった
  • 広告はキーボードアプリの特性上、使い勝手を落とすので出したくなかった

基本的に間違ってなかったと思います。 しかしもし有料にして上手くマネタイズできていたら、また違ったスキルもついていたと思います。 そう思うと次は有料の物を作っても良いかなと思います。

余談: スクリーンショットを取得するのが面倒

余談です。

開発は大変でしたが AppStore に掲載するスクリーンショットを取る作業が一番面倒でした。 これは同意して頂ける開発者の方も多いんじゃないでしょうか(笑)。

このアプリの魅力を伝えるには予定が入っていないといけません。 何通りもの実機やシュミレーターでカレンダーを入力して、メールやメッセージの画面でキーボードカレンダーを表示するのはメチャクチャ面倒な作業でした。

今思えば予定を自動的に作成するアプリを作って、そちらで予定を一括登録して準備をすれば良かったな、と思いました。 怠惰さが足りていませんでしたね(笑)。

ちなみに最新の iTunes Connect では1デバイスのスクリーンショットを変換してくれるとどこかで読みました。 まだ確認していませんがそうだとしたら大歓迎です!

ここまでを振り返って

まだ開発が終わった訳ではないですが、ここまでを振り返ってこんなことを感じます。

  • リリースまでやりきった達成感
    • これはリリースの後毎回思いますが、やっぱり嬉しいです。
  • プレゼン力が上がった
    • iPhone アプリはすぐに人に見せれるので、成果をすぐに見せれて「おおー」と言ってもられるので嬉しいです。
  • Swift に慣れた
    • 極めている訳ではないですが、色々と書けるようにはなりました。
  • 初めてメディアにのった
    • AppBank さん、 techjo さんに紹介されて超盛り上がりました(自分が)。

これからも楽しんで開発していきたいですね。

関連記事

blog.ichiroc.in

blog.ichiroc.in

ApptBoard iOS10対応四日目

まだレビュー待ち状態。

久しぶりにさわるとリファクタリングしたい場所ばかりで、申請後も色々リファクタリング中。 テスト書いてないから不安でしょうがない。少しずつ書かないとな。

https://github.com/ichiroc/Moriyama/

MRYMonthCalendarCollectionViewCell のプロパティを色々 lazy にした。 すると prepareForReuse の処理で superView から外していけないSubViewを外しているのに気付かずに結構はまっていた。

「なぜ、あなたの仕事は終わらないのか スピードは最強の武器である」読書感想文

きっかけ: 読み上げ読書の本を探してなんとなく決めた

なぜ、あなたの仕事は終わらないのか スピードは最強の武器である

なぜ、あなたの仕事は終わらないのか スピードは最強の武器である

この本は出版された時から知っていました。 著者の中島聡さんはWindowsの開発者として有名な方で、ブログ Life is beautiful もやっておられます。 私はブログをよく読んでいたので中島さんの事は多少知っていました。 本が出版したときも色んなところで告知を見ていたので知っていたのです。

しかし特別興味があったわけではありません。移動中に読む本を探している時に目が止まったので選びました。

強いて理由をあげれば仕事の進め方の参考になるかも知れないと思ったのと、中島さんの文章は読みやすいので読み上げ読書にも向いているかな、と思ったからです。

概要: 前半は仕事術、後半は本書の本当の目的

前半は中島さん流の仕事術の紹介です。 Windows開発秘話等のエピソードを交じえて、20倍界王拳(?)、プロトタイプ、ロケットスタート仕事術等を紹介しています。

後半というか終盤では本書の本当の目的を明かされます。

簡単に言うと

「人生を楽しもう、本当に好きな事を仕事にしよう、その為に時間を効率的につかおう」

というとてもポジティブなメッセージでした。

面白かった点

目的があれば、勉強はたやすい

手段を目的化してしまうのではなく、あくまで目的にフォーカスすれば勉強するのは難しくないという話でした。

例えばプログラムの英語の文献を読めるようになりたいから英語の勉強がしたい人がいたとします。 その場合は 英語の勉強をするのではなく文献を辞書を片手に読み始めるべき とありました。

私もTOEIC等の勉強をしようか迷ったりしますが、英語自体を勉強にしてしまうと途端に退屈になってしまい何度も挫折しています。 現在も挫折中です(笑)。 しかし自分が作っているプログラムに関係のある英文であれば退屈にならず読みますので、その通りだと思います。

また本書では 勉強ではなく「調べる」のがキモ とありました。

私も同意です。私は私にとってのプログラムの習得過程を勉強と呼ぶのがそもそもしっくりきません。 というのもプログラムを書いたり調べたりする事を勉強と思った事が無いからです。

プログラムに関して言えば興味の有る事を調べ続けていたら書けるようになっていた。というのが正確です。 これを何と言えば良いのか、ちょうど良い日本語を知らないですが、「調べる」というのは当て嵌まってる気がします。

そう考えると勉強とは何だろう・・という気になってきますね。 もしかしたら これは勉強だ、と考えた瞬間に挫折への道が始まっているのかも知れません。

集中力を出すのに苦労する仕事はするな

「どんな技を駆使しても、どうしても集中できない人」に対する回答が「集中力を無理に引き出さなければいけない仕事をそもそもするな」という話でした。

この回答は衝撃的でした(笑)。しかし反論余地はありません。そう言われたらもうこちらの負けです。

私もどうしても集中出来ない場面は有ります。 そんな時は大体の場合面白くない仕事です。

たまにあるのはしょうがないと思いますが、毎日がそのような状況では仕事人生として悩ましい状況と言えるでしょう。 本書では「そんな仕事はするな」という解決策を提示します。読者によっては解決策になっていないと思います(笑)。 ですが的は得ていると思います。

私はよく継続可能な環境を作る事を考えたりしますが、好きでない仕事というのはそのそも環境の基本的な条件が整ってない状況なのかも知れません。

私で言うとブログを書いていたりプログラムを書いている時はかなり集中しているのですが、・・・これ以上は伏せておきます。

「人生の時間を効率的に使う」という一歩引いた視点で見たときに、好きと仕事を一致させる事はとても大事な事だと思いました。

受験勉強を効率化する

やりたくない受験勉強を効率的に終わらせるために、早稲田の付属高校に入って受験勉強にかかる時間を全体的に削減したという話でした。

確かに全体的に大幅に削減できると思い関心しました。機会が有れば自分の子供にも教えたいと思います。

予習は勉強を効率化する

授業は理解する場であるので、事前に予習して授業の場で理解すると効率的 という話でした。 確かに授業の時に始めて内容を聞いては理解する事は難しいです。 事前に内容を知っておいた上で不明点を明らかにしたり、質問したりする場にすると理解の効率が良いとの事でした。

ちなみに私の学生時代は予習・復習は当然のこと、授業中でさえも勉強していませんでした。いま大変反省しています。 あのころは目的が無かった・・。

今後の人生に役立てる事

「なぜ、あなたの仕事は終わらないのか」を読んだ読書感想文でした。

参考にしたいなと思う点はプロトタイプを重視する点や、スタートダッシュを大事にする点などでした。 今後の仕事の中に取り入れていこうと思います。 そして「集中力を出すのに苦労する仕事はするな」という話には考えさせられました。いつか活かす日が来るかも知れません。

なぜ、あなたの仕事は終わらないのか スピードは最強の武器である

なぜ、あなたの仕事は終わらないのか スピードは最強の武器である

ApptBoard iOS10対応二日目

iOS10でキーボード切り替えメニューにも対応して動くようになった。順調に(?)予定編集機能も削除している。

しかし逆にiOS9で落ちるようになった。 問題はカレンダーの権限取得のあたりのようだ。

怪しい点

  • すでに取得している権限が壊れている
  • 新しくなったSDKの動作に変更がある
  • 権限取得のお作法に追加対応がいる

突然死してるからロクな情報なくて苦しい…。

ApptBoard iOS10対応一日目

blog.ichiroc.in

ということで対応を本格的に再開しました。

上記の記事のAppleのリジェクトや私生活でも色々あって調査がすっかり遅れていました。今日から対応を始めますのでその記録です。

とりあえず今日あったこと

  • Swift3.0 にするといろいろ変わりすぎて時間かかりそうだったのでビビった
    • そのための措置として Swift2.3 があり、こちらはすぐに対応できたので良かった
  • 予定編集機能で使っていた openUrl は完全に使えなくなっていて 悲しかった
    • とりあえず該当部分をコメントアウトした。ボタン自体もそのうち消す
  • キーボードを起動したら いきなりクラッシュしてビビった
    • info.plist に "NSCalendarsUsageDescription" を指定するのが必須になったらしい
  • しかしキーボードアプリの場合はどの info.plist に指定するのか分からなくて再度焦る
    • 結局本体アプリの info.plist だということで解決

明日くらいに審査に出せればいいと思ってます。

ApptBoard の予定編集機能を削除してアップデートを再開する事にした

はじめに ApptBoard について

稚拙ですが ApptBoard というアプリを作っています。

ApptBoard

ApptBoard

  • ichiroc.in
  • 仕事効率化
  • 無料


ApptBoard - The Calendar Keyboard for iOS

iOS のキーボードアプリでキーボードで予定を確認して予定内容をそのままテキスト入力出来るアプリです。 カレンダーの内容をコピペしてメッセージで返信する必要が無くなります。

techjo さんや AppBank さんにも紹介されました。

www.appbank.net

www.techjo.jp

リジェクトをきっかけにアップデートを休止

しかし最近はアップデートしていませんでした。 何故ならAppleガイドライン違反の部分が有ると指摘ありAppleからアップデートをリジェクトされているからです。

具体的には予定編集・作成する際にアプリ本体に移動している部分です。 Apple ではキーボードから外部のアプリへジャンプするのは許可してないそうです。

最初の審査は通っていたのですが、何度かアップデートを繰り返していると突如リジェクトされました。

(他のキーボードアプリで本体アプリに移動しているアプリが有ることを確認して実装したのですが・・)

「そんな悪いことやってる訳ではないんだけど・・。なんでダメなん?」

みたいな感じで英語で話し合いを試みましたが全く話し合いになりませんでした。(笑)

「あなたのアプリはガイドラインに違反していて、その部分がまだ改善されてないから直してね」

みたいなことを機械的に返されるだけでした。

編集機能を除くとなるとかなりの機能ダウンです。 やる気もなくなって、そこまでの機能ダウンをしてまで行うアップデートも無かったのでしばらく放置していました。

iOS10 をきっかけにアップデートを再開します

しかしiOS10でカスタムキーボードのサポートがより強化されるようなのでアップデートを再開する事にします。 予定編集の機能は無くなります が、今後の事を考えると機能を無くしてでもアップデートを続けた方が良いと思いました。

機能ダウンは悲しいですが、アップデート出来ないアプリなど 私の趣味として全く面白くないですしね。