更新できなければ淘汰されるiOSアプリ

最近の事情

Xcode11でのビルドが必須

 2020年4月からXcode11でのビルドする必要がある。必然的にiOS13で変更になったUIの挙動に対応した状態にしておかなければ、意図しない挙動になっている可能性がある。特にダークモードとモーダル、UIのパーツ見た目の変化は申請前に確認し直しておいた方が良い。

 Launch ScreenをStoryboardで行う必要もある。 https://developer.apple.com/jp/news/?id=09102019adeveloper.apple.com

マルチタスク対応

 iPadではマルチタスクに対応していない場合は2020年4月からアプリの申請が通らなくなる。

 iPad専用アプリの場合は程度大きい画面サイズを想定していることがあるが、今後はそうも行かなくなる。同時にiPhoneサイズにも対応するのが良いだろう。 https://developer.apple.com/videos/play/wwdc2019/224/developer.apple.com

Google Analyticsの統合

FabricはFirebaseに統合されることに伴って、 Google Analyticsは廃止される。早くFirebaseまたは代わりのサービスに移行する必要がある。

12ヶ月の猶予ということから2020年10月ごろには完全にデータが削除されると予想される。

Google アナリティクス開発者サービス SDK の終了 - アナリティクス ヘルプ

Fabricの統合

FabricはFirebaseに統合されることに伴って、 Fabricは2020年3月31日に廃止される。Firebaseにアプリを移行する必要がある。

Fabric Roadmap – Fabric

Apple Push Notification Serviceのアップデート

 2020年11月以降に古いプッシュ通知の方法が使えなくなる。新しいプッシュ通知の方法を使うように切り替える必要がある。 https://developer.apple.com/jp/news/developer.apple.com

UIWebViewの完全廃止

 UIWebViewはiOS8以降に非推奨になっていたが2020年4月移行は新規アプリの申請を終了し、12月にはアップデートも終了する。WKWebViewに移行しなければいけない。依存しているライブラリに組み込まれている可能性があるので、今一度確認した方がいいだろう。iOS15では完全に使えずに実行時にクラッシュになるかもしれない。 https://developer.apple.com/jp/news/?id=12232019bdeveloper.apple.com

UIAlertView

 UIAlertViewはiOS8以降に非推奨となっている。申請時に注意されたという話も聞くこともありUIWebViewと同様に禁止になる日もそう遠くない。

Swiftが基本

 Swiftが2014年に発表され5年経過した。新規に開発アプリや追加機能はSwift以外にありえない状況になった。Objective-Cは淘汰され、既存のアプリはSwiftに移行しなければ採用はでき辛くなって行っている。Objetive-CからSwiftに移行するにあたってもそれができるエンジニアがいなければ移行できないし、予算と時間が必要になる。長い目で見れば今すぐにSwiftに移行した方が良い。そうでなければ、アプリのアップデートを諦めて低予算運用に切り替えた方が良い。

ダークモード対応

 iOS13以降ではダークモードが使えるようになりました。今のところ、ダークモード非対応の不利益はおりません。おそらく、2,3年のうちにアップデート時に必須になる可能性がある。ダークモードだけでなく3つ目4つ目のカラーモードを設定できる想定で対応を行なった方が良いだろう。 https://developer.apple.com/jp/news/?id=0829019adeveloper.apple.com

SwiftUI

 今のところ移行するノウハウすらない状態。  いつか移行するために情報収集や移行するためのコードのリファクタリングを行なっておうた方がいいかもしれない。

過去にあった淘汰の歴史

iPhone5対応等のディスプレイサイズの増加

 iPhone4S までは3.5インチとiPad 9.7インチのディスプレイサイズしか存在していなかった。「Androidはあらゆるディスプレイサイズがあって大変だなぁ」なんて呑気に話していた物だった。iPhone5が発売されて、ほどなくして4インチの画面サイズのサポートが必須になった。縦480ポイントであることを前提にしたレイアウトの組み方をしていたアプリは改修を余儀なくされた。当時はオートレイアウトもなくViewの位置を左上からの位置を計算を行って配置を行っていたため、それなりに大変だった。

 iPhone6や6+が登場してiPhone系の端末を4つのサイズをサポートすることになった。この頃にはオートレイアウトができており、オートレイアウトへの移行が必要に迫られることになになった。その後iPadでもiPad Proの登場やマルチタスク対応があった。今後は画面サイズが動的に変更され、あらゆるサイズが存在しうることを前提として開発を行っていく必要がある。

arm64対応必須

 arm64に対応していないアプリはストアから削除されることになった。対応としてはただ追加するば終わりという物だったため更新のあるアプリはほとんど何もすることもなくアップデートしれば終わりではあった。ほとんど更新されていなかったアプリがごっそりと消えた。amr64e対応必須はありえる。

デザインの変更

 iOS7にスキューモーフィズムからフラットデザイン変更があった。iOSでは時々多いくデザインが変更されていくため、それに合わせて修正を行っていく必要がある。

まとめ

 iOSアプリは新しいアプリを作ったら1年以内に儲かる目処を立てて更新を行っていく必要がある。

個人目標を給料査定に使ってはいけないっぽい

OKRの本とかre:Work とかを読んでいて、個人目標を給料査定に使ってはいけないと言うことに気がついた。

会社の目標は挑戦的なものが好ましい。

無謀ではないが実力の上限ギリギリなものが目標として好ましい。やる気を出して新しいことに挑戦することよって、革新的な成果を期待している。 OKRでの目標設定では60〜70%程度の達成率で成功とするので、立てるべき目標はかなり高めだと言える。

個人目標も挑戦的である必要がある

個人目標は会社やチームの目標と自分のキャリアプランなどとすり合わせつつ立てる必要がある。この目標も会社の目標の一部を担ってもらっているだけに挑戦的なものを要求せざるおえない。もちろん、個人の能力や考えのあるので本人が納得の行く目標を立てて、モチベーションを上げてもらう必要がある。

目標の度合いと給料査定を連動させる

 目標を達成したら給料が上がり、しなかったら給料が下がるような会社だったとしよう。大抵の人は明らかに達成可能が目標を立てようとします(毎日適時に出社するとか)。全くもってアホらしい目標にしかなりません。メンバーもモチベーションは上がらないし、挑戦的とは程遠いものになってしまいます。  難易度が高ければ高いほど給料の上がり幅が高いような会社だったとしよう。それでも大抵の人はまぁまぁな目標を立て用途します(今回達成した9割くらいの目標とか)。そこそこの目標になりそうです。今まで通りにやっていれば達成できるようなものになりそうです。  達成したかに関わらず挑戦した内容による会社だったとしましょう。目標と関係ありません。給料査定と連動しているしないと明言してあげた方がいいでしょう。

Googleではどうしているのか

re:Work 公正な給与制度を設計し運用する を読む限りでは、職業に応じて市場価値によって決めるとあります。転職しても同じくらいの給料で働いていると思える会社であれば、転職のリスクは下がりそうです。

個人目標設定

1年程度前から弊社では個人目標設定が義務付けられるようになった。この制度は、四半期に毎に目標を立てて、達成度合いによって半年毎に給料に反映されるというものです。

どういう目標を立てるべきか

 弊社だとOKRを設定している。OKRは簡単に言えば今期の会社の目標です。全社のOKRを達成するために部毎のOKRを立てて、部のOKRを達成するためにチーム毎のOKRを立てて、チームのOKRを達成するために個人目標を立てることになる。

 チームの目標を達成するためとはいえ、個人個人は得意不得意があるため、ある程度担当が割り当てられる。ただし、1人が目標を達成できなくてもチームの目標が達成できるようにしなければ、部のOKRが達成できず、引いては全社のOKRが達成できなくなってしまう。そこで、それぞれの個人目標の一部をオーバーラップさせるように個人目標を立てるようにする必要がある。

 社員は会社の都合だけで一方的に押し付けられた目標を立てても、それぞれが成長したい方向性に沿ってないとモチベーションが下がる。方向性を汲み取った上で全体で整合性のある個人目標を設計していき、合意をとる必要がある。

個人目標の合意をとる

それぞれの方向性を常に把握する必要がある。目標面談があったりするが、その時にやりたい多い人や全くない人がいるし、その時の体調が悪かったり、ハイテンションになっていたりもする。そういう場合は適切な目標が立てれない場合が多い。1回だけ目標面談だけで汲み取ることはほぼ不可能とも言っても良い。

達成を支援する

個人目標と言っているが実際に個人で達成することは難しい。少し難しい目標を立てているのである程度の支援が必要がある。オーバーラップさせている人でもいいし上司でもいい。少なくとも目標の進捗確認は定期的に行うべきではないかと思う。

目標を公開すべきか?

現状はされていないが、個人的には公開された方がいいのではと思う。互いに支援ができないし、チーム開発での最適行動から外れることを行なった場合に「個人目標のため」と言われると何ともできなくなる。

北欧行っている5日目

日本食が恋しくなってきた。

 

持って行ったけど必要なかったものについて書こうと思います。

 

現金

全く使うことなかった。全てクレジットカードで支払いができた。野外マーケットや公衆トイレでさえクレジットカードが使えた。クレジットカードの限度額さえ気を付けていれば、持って行く必要はなさそう。

 

トイレットペーパー

紙ヤスリのようなものは使いたくないと言うことで持って行ったものの一度も使うことなく途中で荷物がいっぱいになって捨てました。

 

ボードゲーム

暇つぶしのために持って行きましたが、ツアー中は暇なんてないし、バス移動やホテルではさっさと寝てしまっていたので不要でした。

 

コート

北欧は寒かったり暑かったりする予報だったので念のため持って行きましたが、一度も使わなかった。日が当たると暑く、影に入ると寒かった。現地の人たちは半袖だった。

 

大型モバイルバッテリー

携帯4回分を充電できる大型のバッテリーを持っていたが毎日充電していたので不要だった。一度も使っておらず只々重りだった。せいぜい携帯一回分を充電できるようなもので十分だ。

北欧に行っている3日目

現地時間の22時ですがまだ明るい。フィンランドです。

 

フィンランド式サウナの話をしようと思います。ホテルにあったから行ってきた話です。

 

サウナ発祥の地のフィンランド。各家庭にサウナがあるとかないとかいうレベルでサウナが一般的らしいのです。当然のようにホテルにもサウナが備え付けられています。

 

ホテルのサウナには、水とタオル2枚と水着を持ってバスローブを着て行くべきだった。日本のサウナにはサウナを出たところに給水設備が備えられていることが多いが、フィンランドだと期待しすぎない方が良い。水道水は飲めるらしいけど少し怖い。

サウナには全裸で入るが、併設されているプールには水着が必要。サウナに入るとプールに飛び込みたくなるので持って行った方がいい。できれば前述の理由で着脱しやすいものが好ましい。

 

日本の方が本格的ではないかもしれないが良いところがある。適当な場所に給水施設があったり、出てきたところにコーヒー牛乳が売ってたりする。この体験は他ではなかなかない。

北欧に行っている 2日目

時差が7時間ほどあるので月が綺麗と行っている時間に昼だったりします。まぁそれどころか10時くらいまで明るいのでうっかりすると寝不足になったりします。

 

2日目ということで今日は持ってくればよかったと言うものを書こうと思います。まだ2日目なので後で追加するかもしれません。

 

単眼鏡

双眼鏡でもいいのですが望遠鏡を持って来るのを忘れた。視力が残円な人なので遠くのものが見えない。ヨーロッパの天井付近の彫刻がぼやけてしょうがないので持って来たかった一品。

 

ツアーで来ているがたまに昼食が自由行動で昼食や夕食が付いていなかったりするので、そういう時に欲しかった。スプーンはまだあるが、箸はまずないので持っていけばよかった。