Yahoo!ニュースを表示するウォッチフェイスを作りました

f:id:Red-Comet:20150821212835j:plain

以前作ったNewsWatchよりも一画面に表示できる文字数を格段にアップしたほか、通信周りを最適化し、さらに文字色変更機能も追加して完全に別物になったので、アップデートではなく新作となりました。

おおよそ120記事を起動時または10分に1回に取得して、トップニュースから1つずつ表示します。表示速度も任意で切り替え可能。

ニュースに興味がなくて飛ばしたい時は、腕を振るとランダムに異なるニュースを表示します。

ダウンロードはこちらからどうぞ↓

Y-NEWS

開発メモ

こちらのページでヤフーニュース全取得のRSSを配信されているのを流用させていただきました。

http://deno-blog.com/post-1053/

「利用される方は、このページの広告をクリック頂けると今後のメンテナンスの励みになります。」とのことですので、良かったら協力のほどよろしくお願いします(^^)

全文取得の罠

JSONで持ってくるタイプのウォッチフェイスは何個か作っていますが、これほど容量が大きい物は初めてです。そこでうっかりしていたのが記事の取得タイミング。setIntervalのたびに本文を持ってきてしまったので、6秒ごとに5メガバイトという無茶苦茶な通信量になっていました。おかげで1日に2GBも使ってしまって通信制限を食らってしまうという(^_^;) 道理でこのところiPhoneが重いと思った。

あわてて修正して、リリース版では起動時または10分に1回だけに取得。それをメモリに置いたまま、任意の項目だけをPebble本体に送るようにしました。本文の表示に向かない部分を切り落としたりして、だいぶ常識的な数字になっていると思います。

睡眠は大事

背景色と文字色変更が欲しいという要望を受けて、それを聞いた時は簡単にできるかなーと思っていたら起動するたびに画面が真っ黒になってしまうというトラブルが。ローカルストレージに格納してある数字をPebbleに送る際に、switchの例外処理が働いてしまっているようです。これが深夜までかかっても原因がわからないという。

ところが翌朝起きてすぐ、javascriptからkeyを送る際にparseIntするのを忘れていたことに気づいて5分で修正出来ました。睡眠って大事ですね―。

スクリーンショットが撮れない

日本語表示フェイスを作るにあたって困ったのが、Pebbleのスクリーンショットを取れないところです。エミュレータは日本語に対応していないし、Cloudpebbleの機能もScreenshot failed: internal watch errorで使えないし。

仕方ないのでストア用の写真は、iPhoneで写真を撮って、それを144×168に切り取って使うという苦肉の策で対応。

中の人も把握している不具合だというし、早いとこ解消してほしいなあ、と思っていたら、今回のバージョンアップのおかげで修正されたっぽいです。これは地味に嬉しい\(^o^)/

f:id:Red-Comet:20150821220633p:plain

非公式日本語パックを入れていると着信があった時に再起動してしまうという不具合があったりしましたが、非公式なのにきっちりサポートしてきて対応がなかなか素早い。小さい会社は小回りがきいていいのかな。これからも頑張って欲しいです(^^)

こちらも要望を受け付けたいんだけど

メールで「株価で似たようなのは作れないのか」という問い合わせを受けまして、色々と試行錯誤していたのですがちょっと難しいみたいです。

自分のNewsWatch系はGoogleスプレッドシートから情報を取得しています。米国株なら=googlefinance("コード")を使えば一発で取得できますが、日本株の場合はユーザー定義関数を使ってYahooファイナンスから引っ張ってこなければなりません。

その仕組み自体は全然簡単なんですが、東証に上場している全企業について処理をさせてみたところ、「てめー負荷かけすぎなんだよ!」とGoogle様からお叱りをうけてしまいました(-_-;)

自分が持っている銘柄をスプレッドシートで管理して、それをPebbleに表示させるのなら余裕ですが、誰でも使えるようにするのはちょいと厳しい。自分のサーバがあればまた別なんですが、という感じですね。

ただここらへんも、こちらのスキルが上がればいずれは実装できるようになるかもしれません。前回のNewsWatchの時も「本文が24文字しか表示できない」などと言っていましたからねー。上手く行ったら作ろうと思います。

ぐぬぬ

そういえば、Appstoreを覗いていて、久々に入れてみようと思えたウォッチフェイスがUTデザインさんのもので「ぐぬぬ」と思いました。その後でこんなツイートを見るという。

スタイリッシュかつクール。もうね、完敗ですよ。数少ない日本のPebble Watchfacer*1の一人として尊敬しつつ目標にしていたのですが、そうとは全く知らなくても作品だけで「いいね!」と思ってしまったのは、完全に負けであるな、と。お気に入りですよ、と。

自分はどうしても性格的に、ビジュアル的なものよりも内部構造を作りたくなっちゃうんですが、こういうのを見てしまうとカッコいいやつが作りたくなりますね~。次はもっとワールドワイドに受け入れられるようなデザインのものを作ろう!

*1:そんな用語はない