山陽新聞デジタル にて、家計簿 Zaim の「わたしの給付金」機能が紹介されました。
J-wave「PICK ONE」に家計簿 Zaim 代表閑歳がゲスト出演
家計簿 Zaim 代表閑歳が、1 月 17 日放送のラジオ J-wave 「PICK ONE」にゲスト出演しました。経済ニュースアプリ「News Picks」とコラボレーションのコーナーで、閑歳がニュースピッカーとして気になる話題をチョイスしてお話させていただきました。
http://www.j-wave.co.jp/original/stepone/
あいち産業振興機構と愛知県共催の基調講演に Zaim 代表が登壇予定
2018 年 2 月 22 日(木) に愛知県名古屋市にて開催されます、あいち産業振興機構と愛知県共催のセミナーの基調講演にて、Zaim 代表の閑歳が「個人で 700 万ダウンロードを超えるアプリを開発・起業! 〜アイデアの発見から実現までの軌跡〜」というテーマで登壇予定です。
詳細はこちらです。
トクバイニュース に家計簿 Zaim が紹介
トクバイニュース にて、家計簿 Zaim の家計プランナー綿島のインタビューが紹介されました。
FM Nack5「お金の世界の歩き方」で Zaim 家計プランナー綿島がゲスト出演
日本経済新聞に家計簿 Zaim が紹介
@DIME に家計簿 Zaim が紹介
毎日新聞に家計簿 Zaim が紹介
12 月 27 日付の毎日新聞朝刊にて、「挫折しない家計簿のコツは?」の箇所で、便利な家計簿アプリとして家計簿 Zaim が紹介されました。
家計簿 Zaim 「2017年の家計」の調査結果を公開
家計簿サービス Zaim 「2017年の家計」の調査結果を公開
2017年「わたしの家計を表す漢字」は『楽』に
〜 利用者の約 3 割は前年よりも家計の満足度が上昇 〜
700 万ダウンロードを超える日本最大級のオンライン家計簿「Zaim」を運営する株式会社 Zaim(本社:東京都 渋谷区・代表取締役:閑歳 孝子)は、このたび「2017年の家計」に関する調査を実施いたしました。
その結果、Zaim 利用者 817 名のアンケートから選ばれた「2017年の家計」を表す漢字は『楽』となりました。また、前年と比較し「家計の満足度が上がった」という回答が 3 割を超えた他、オンライン家計簿の長期利用者ほど貯蓄実感を持ちやすいことも分かりました。
調査サマリー
・Zaim 利用者 817 名のアンケートより、2017年「わたしの家計を表す漢字」は『楽』に
・オンライン家計簿を長く使えば使うほど貯蓄実感は上昇
・見直したい支出第 1 位は「食費」カテゴリ
(調査概要)
調査期間:2017 年 10 月 17 日( 火)〜 11 月 8 日(水)
調査対象:「Zaim」 利用者 男⼥ 817 名
調査手法:インターネット調査
調査の詳細
2017年「わたしの家計を表す漢字」は『楽』に
Zaim 利用者 817 名のアンケートから選ばれた「 2017 年の家計」を表す漢字は『楽』となりました。家庭の消費が冷え込んでいると言われていた 2017 年ですが、「1年前と比べて家計の満足度が上がった」と回答した方が 33 % となる等、家計簿の利用者は 家計管理を前向きにとらえた結果となりました。
オンライン家計簿を長く使えば使うほど貯蓄実感は上昇
2017 年、家計簿サービス Zaim を使っていて嬉しかったことの第 1 位は「毎月の出費が減った」という結果となりました。また、ストレスが減ったという回答も 23% を占め、金額の増減以上に家計に関する心理的インパクトがあったことがわかりました。また第 3 位に上がった「貯蓄が増えた」と回答した人の内「Zaim を使っている期間」が長いほど貯蓄実感が高いことがわかりました。
見直したい支出 1 位は「食費」カテゴリ
2018 年に向けて「年末までに見直したい支出」を質問したところ、圧倒的第 1 位は「食費」となり、「まだ無駄がありそう」「食べ過ぎだから」「メタボ対策」「お菓子食べ過ぎ」と、自身の健康面と関連付けて見直しをしたいという理由が挙げられました。
また、「いつも予算オーバーしてしまう」「年々上がっている」「上下が激しい」等の家計簿利用者ならではの、冷静な分析や振り返りも多く見受けられました。
Zaim は、日本最大規模のオンライン家計簿サービスとして、これからも家計簿を記録・分析するだけでなく、ひとりひとりの暮らしに対する多様性を理解し、前向きな気持ちで楽しく暮らすためのサービスを提案してまいります。
名古屋テレビ「ドデスカ!」で 家計簿 Zaim が放送
宝島社ムック「 徹底比較!クレジットカード&電子マネー&ポイントカード」に家計簿 Zaim が紹介
読売家庭版に家計簿 Zaim が紹介
クロワッサンに家計簿 Zaim が紹介
12 月 2 日になると iOS 11.0/11.1 が突然再起動を繰り返すようになった原因
何が起きていたのか?
既報の通り、12 月 2 日未明より一部の iOS デバイスが数十秒に一回再起動のような動作を繰り返し、操作不能になる OS の不具合が全世界で発生しています。Zaim もこの影響を受け原因調査と対策を実施しましたので、技術的に判明したことをこのエントリーで開発者向けに共有します。
なお、iOS 11.2 では解決していますので、まだアップデートしていない方は早急にアップデートをお願いします。
実際には OS が再起動していたわけではなく、SpringBoard と呼ばれるホーム画面などを管理している内部のアプリケーションがクラッシュを繰り返していました。
(時計アプリにも不具合があったようですが、こちらの現象は Zaim では確認できておりませんので、ここでは触れません)
なぜこのような状況になったのか?
Zaim アプリの場合 LocalNotification に「2017 年 12 月 1 日を開始日として、1 か月ごとに繰り返す通知」を登録した状態で 12 月 2 日を迎えた場合に SpringBoard がクラッシュを繰り返す状態になりました。
通知の登録手順については実にシンプルなもので、特に不自然なことはしていません。例えば「膨大な量の繰り返しを通知に組み込んだ」であったり「正常ではないデータを通知として登録した」といった、ロジック上の不備は発生していません。
具体的なサンプルコードは以下です。
let calendar = Calendar(identifier: .gregorian)
let timeZone = TimeZone.autoupdatingCurrentguard let date = DateComponents(calendar: calendar, timeZone: timeZone, year: 2017, month: 12, day: 1).date
else { return }let notify = UILocalNotification()
notify.alertBody = “alert”;
notify.alertAction = “view”
notify.repeatInterval = .month
notify.fireDate = dateUIApplication.shared.scheduleLocalNotification(notify)
上記のコードを iOS 11.0 または 11.1 をインストールした実機で実行すると、状況を再現できます。なお、アプリケーションを削除するか、設定から通知をオフにする以外に解決できませんのでご注意ください。
また、現象を再現するためのサンプルを作りました。以下よりお試しいただけます。
- Github: ktakayama/NotificationCrash
* サンプルを UserNotifications フレームワークにした方が望ましいかと存じますが、実際のプロダクションコードが UIKit のものだったので、これで説明しています。
なぜ 1 か月ごとの繰り返し通知を登録すると再起動を繰り返すのか?
アプリ開発者の方はご存知かと思いますが、App Store で提供されているサードパーティのアプリがどれほど工夫をこらしても iPhone を再起動させることは不可能です。不安定になるようなことをしたら、通常はそのアプリがクラッシュして終了です。
ではなぜ今回 、SpringBoard 自体がクラッシュする状態になったのでしょうか?
ここで、別の API の存在が重要となります。iOS 11.0, iOS11.1 では UNCalendarNotificationTrigger クラスの動作に問題があったことがわかっています。
UNCalendarNotificationTrigger は幸いパブリックな API なので、ドキュメントもあります。iOS の標準機能のひとつで、iOS 10 から使える新しい UserNotification フレームワークで通知を登録する際に利用します。
この中に、通知を予約するために「次の通知の日時はいつか」を取得する nextTriggerDate() というメソッドがあります。正常に動作している場合は日時が返却されるだけなのですが、12 月 2 日に以下のコードを実行すると、なぜか無限ループに陥ってるようで、結果が返って来なくなります。
let dateComponents = DateComponents(day: 1)
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: true)
trigger.nextTriggerDate()
以下はシミュレータで実行した場合のデバッグ情報ですが、CPU は常に 100%近くでメモリは急激に上昇していき、すぐに数 GB に到達します。モバイル端末の場合はメモリはそれほど多くないので、このコードを実行したらすぐにクラッシュしてしまいます。
推測を交えた結論
繰り返しのローカル通知は一度登録すれば、何もしなくても OS が勝手に指定期間に繰り返して通知を発行してくれます。つまり、個別のアプリでは nextTriggerDate() は実行していません。この部分は OS で担当しています。
推測ですが、SpringBoard では以下の内容で処理しているのではないでしょうか。
- 一定時間毎に該当時間の通知があれば通知を表示する
- 繰り返し通知がある場合は、次の通知の予約をするために nextTriggerDate() を実行する
すでに説明した通り、nextTriggerDate() を実行すると CPU 負荷が高まりメモリが圧迫されます。この処理は OS (正確には SpringBoard)が実行しているがために、ホーム画面がリスタートを繰り返してしまう結果になります。
なぜ nextTriggerDate がダメなのか?
これについては調査が完了していません。一部では macOS High Sierra で発生しているエラー「 Month 13 is out of bounds」に関連しているのではないかという憶測もありますが、確証には至っておりません。
- macOS High Sierraに2017年12月以降「Month 13 is out of bounds」というエラーメッセージが大量に発生する不具合が確認される。(AAPL Ch.)
- Month 13 is out of bounds(The Robservatory)
単純に 1 か月後の日付を取得するだけなら Calendar クラスのメソッドを使うと正常に動作するのでもっと別の仕組みを使っているか、気付いてないだけで別の問題があるのかもしれません。何かわかれば、こちらのエントリーに追記します。
let calendar = Calendar(identifier: .gregorian)
let timeZone = TimeZone.autoupdatingCurrent
let date = DateComponents(calendar: calendar, timeZone: timeZone, year: 2017, month: 12, day: 1).date
calendar.date(byAdding: .month, value: 1, to: date!) // ← 正常に取得できる
iPhone など Apple 社製端末の不具合の影響ご報告
2017 年 12 月 2 日(土)未明より「iPhone, iPad, iPod touch がスリープを繰り返す」という現象が発生いたしました。これは iPhone, iPad, iPod touch といった Apple 社製スマートフォン端末の OS「iOS」のバージョン 11.0 および 11.1 系で世界規模で発生した、端末本体の不具合の影響によるものです。
これに対し、弊社では独自に調査を実施し、ご利用者の皆さまに対応方法をご案内しております。
ご利用者様には、大変なご心配・ご迷惑をおかけしましたことは大変遺憾であり、引き続き Apple 社の対応に準じ、迅速に確認および情報発信をしてまいります。
以下に今回の現象に関する詳細をお知らせいたします。
現象の概要
- 12 月 2 日(土)未明に一部の端末において数十秒おきにスリープを繰り返し操作不能に近い状態になる障害が発生
- 発生する対象:iPhone, iPad, iPod touch に搭載の OS「iOS」バージョン 11.0 および 11.1 系において「便利ツール」の「アラーム」にある「月の開始日の通知」をオン にしていたユーザ
- 原因:上記 iOS バージョンにおける Apple 社製端末本体の不具合
弊社対応経緯
12 月 2 日(土)
- 06:24:障害を検知・調査開始
- 07:37:サービス内のお知らせ および 公式 Twitter にて検証状況と対策を共有
- 10:00:「繰り返し設定のあるローカル通知」を組み込んでいるアプリを iOS 11.1 以降の端末にインストールした場合に発生と確認
- 10:50:現象を回避するバージョンを Apple の審査に提出したことを Twitter で共有
- 10:57:障害の再現用アプリを開発者用に公表し Twitter で共有
- 17:53:Apple 社が iOS 11.2 を公開したことを確認
- 18:30:iOS 11.2 にて Zaim が正常に動作することを確認し、サービス内のお知らせ および 公式 Twitter にて周知
- 夜半すぎ:対象となる可能性のある全ご利用者さまに、現象回避のご案内メール送付を開始
12 月 3 日(日)〜
引き続き、対象となる可能性のある全ご利用者さまに、現象回避のご案内メール送付
回避方法詳細
この現象を回避するために、Zaim としてはご利用者のみなさまに以下の操作での対応をご案内しております。
すでにスリープを繰り返している現象が発生している場合
- iPhone, iPad, iPod touch 本体にある「設定」アプリを開く
- 「通知」を選択
- 「Zaim」を選択
- 「通知の許可」をオフにする
- iOS 11.2 にアップデートする(設定アプリ>一般>ソフトウェア・
アップデートを選択) - もう一度、設定アプリの「通知」から Zaim を選択して通知をオンにする
※ なお、Zaim 以外にもいくつか同現象が発生するアプリが報告されているため、お持ちの他アプリで通知をオフにすることも推奨いたします。
まだスリープを繰り返す現象になっていない場合
- iPhone, iPad, iPod touch 本体にある「設定」アプリを開く
- 「一般」を選択
- 「ソフトウェア・アップデート」を選択
- iOS 11.2 を選択してアップデートする
今後の対応
今後も以下の Twitter 公式アカウントにて情報を共有してまいります。
https://twitter.com/zaimjp
BS ジャパン「お金のなる気分」で 家計簿 Zaim が放送
ムック本「デジタル超整理術・仕事効率アップ編」に家計簿 Zaim が紹介
家計簿 Zaim 購買データを統計解析した 「夫婦の家計」調査結果を公開
家計簿サービス Zaim 購買データを統計解析した「夫婦の家計」調査結果を公開
「いい夫婦の家計簿」ミレニアル世代は夫婦でシェア
〜 オンライン家計簿への利用が盛り上がる 50 代 〜
650 万ダウンロードを超える日本最大級のオンライン家計簿「Zaim」を運営する株式会社 Zaim(本社:東京都 渋谷区・代表取締役:閑歳 孝子)は、このたび「いい夫婦の日」にちなみ、「夫婦の家計」に関する調査を実施いたしました。
その結果、「ミレニアル世代」主要層となる 20 代はその他年代と比較し、夫婦内で家計記録のシェアを積極的に行っていることがわかりました。また、既婚者の家計簿アプリ利用者では「 30 代後半から 40 代前半」に加え「 50 代」が多い傾向にある結果となりました。
調査サマリー
・オンライン家計簿既婚者の「 50 代」も多く利用
・家計に対する満足度が上がったのは「 30 代」既婚者
・「ミレニアル世代」は夫婦間の家計のシェアに抵抗なし
(調査概要)
調査期間:2017 年 10 月 17 日( 火)〜 11 月 8 日(水)
調査対象:「Zaim」 利用者 男⼥ 817 名
調査手法:インターネット調査
調査の詳細
オンライン家計簿既婚者の「 50 代」も多く利用
オンライン家計簿 Zaim の利用状況における既婚者の利用状況は、 30 代後半から 40 代前半が中心となっている他、50 代の利用も多いことがわかりました。スマートフォンを使い始める 50 代以上の世代は、紙の家計簿での記録習慣のある方も多く、アプリを中心とした家計簿オンラインサービスの利便性を体感していると考えられます。
家計に対する満足度が上がった「 30 代」既婚者
また、既婚者の家計の満足度を年代別で比較すると 30 代の満足度が一番高いという結果となりました。30 代は、結婚や出産など大きなライフイベントを迎える方が多く、それをきっかけに、Zaim を通じて改めて家計と向き合うケースが多いと考えられます。従来の家計管理とは異なり、Zaim では夫婦間で家計や貯蓄計画などを簡単にシェアできることも、今回の家計満足度のアップに繋がっていると考えられます。
「ミレニアル世代」は夫婦間の家計のシェアに抵抗なし
家計簿の夫婦のシェア率年代別比較では、圧倒的に「 20 代」いわゆるミレニアル世代主要層のシェアが多いことがわかりました。家計簿のシェア自体に抵抗が少なくリアルタイムに家計簿を夫婦間でシェアする「ミレニアル夫婦の家計術」が見える結果となりました。
Zaim は、日本最大規模のオンライン家計簿サービスとして、これからも家計簿を記録・分析するだけでなく、ひとりひとりの暮らしに対する多様性を理解し、前向きな気持ちで楽しく暮らすためのサービスを提案してまいります。