2011/01/25

KindleとPDF

Computer Vision: Algorithms and Applications をKindle DXに入れて読んでいるのですが、画像や数式、表が多いページに入るとページの読み込みに30秒近くかかることが多々ありました。(Amazonで買った電子書籍は快適に見れます。念のため)

AndroidのAdobe Readerでも同じページあたりでフリーズするので、ドキュメントの方に何か原因があるのでは、と考えました。

ひとまずUbuntuに最初から入っているドキュメントビューワで開いて、B5サイズのPDFとして再印刷をかけたら、元は20MBだったファイルサイズが90MBになりました。再印刷をかけた方もテキストの検索は可能だったので、画像として出力したためサイズが増加した訳ではなさそうです。

Kindleに入れて表示してみたところ、写真や数式が多いページでもスムーズに表示できるようになりました。なんだかあっさり解決してしまいました。


予想1:
元のPDFは何らかの圧縮がかかっていて、KindleやAndroidのそれほど速くはないCPUで解凍処理を行うのに時間がかかり、表示が遅くなったりフリーズしたりしていた

予想2:
Ubuntuで出力したPDFには圧縮がかかっていないのでファイルサイズが増えたものの、解凍の処理が不要になったのでKindleでも快適に表示できるようになった

実験:再圧縮したPDFと、元のPDFをZIPで圧縮
結果:どちらも19MB程度になった。
考察:元のPDFは圧縮が行われていて、解凍処理に時間がかかってた 


Android、KindleでPDFを読んでいる方で、頻繁にフリーズする場合は
PDFを再印刷するといいかもしれません。レイアウトが崩れても問題ない場合はePub等に変換してしまうのも一つの手です。

ではまた。

2011/01/11

冬休みの工作@Android の結果

今週の日曜日、ママチャリGPが富士スピードウェイにて開催されました。
朝はさすがに寒かったのですが、日中は快晴で、イベント自体は大成功で終わりました。

工作のほうですが、実際に出来上がったのは土曜日で、あまりテストもせずにレースに使用することになりました。

ひとまず実装した機能のまとめ:

送信側(自転車のかごに取り付ける側)の機能:
Androidのサービス機能を使い、1分間隔でGPS信号を取得し、現在地点とバッテリーの残量、現在時刻をSDカードに保存します。
登録してある番号からSMSがきたら、自動返信で現在地点とバッテリーの情報を返信します。

受信側(ピット側)の機能:
Mobile Atrasを使用してあらかじめ作成しておいた富士スピードウェイの地図画像上に、
送信側から送ってきた座標をプロットします。
「更新」ボタンを押すと、送信側にSMSを送って最新情報を返信するよう依頼します。

運用結果:
ある程度動作し、ピットロードで長い間待ち続けることは少なくなりました。
ただ、トラブルもあったので備忘録として書いておきます。
1. 電波の問題
  富士スピードウェイでは、電波強度が安定せず、アンテナが全部立ったり全部立たなかったりと、通信状態が不安定でした。今回のシステムでは、両端末とも電波の状態が安定していることを前提として作っていたので、更新ボタンを押しても返答が無い、というのが何回かありました。(送信側に再送処理をつけていませんでした)

2.SMS送信の上限数
 今回のシステムでは、送信側はSMSを同じ宛先(受信側)に繰り返し送信するものでした。AndroidはSMSを同じ相手に大量に送ると、確認ダイアログが出てユーザの操作待ちになるようです(今回は100件送った時点で自動送信ができなくなりました)。


今回はSMS送信の上限数がクリティカルな問題となりました。
レース後半にSMS送信の上限数に引っかかったため、後半は今までと同じようにピットで長い間待つことになりました。これは迷惑メール等の送信防止用の機能だと思うので、解除することはできなさそうな感じがします。。



他のチームをみると、トランシーバで通信しているところが結構ありました。
来年はトランシーバをつけるか、飲食店にある無線式の呼び鈴的なものをつけようかなと思います(最終コーナーに入ったら呼び鈴を押してピットに通知)。
また、トランシーバを改造して、GPSの情報をモールス信号みたいな感じで送りつづけるのもおもしろいかなと思ってたりもします。こっちは電子工作の範囲ですかね。。


なにはともあれ、 ママチャリGPはおもしろかったです。

ではまた。

2011/01/08

Kindle DXを購入しました

とうとう買ってしまいました。 Kindle DX。

1月4日に注文して、1月7日に届きました。早いぞAmazon.


前買った6インチKindleの箱と同じ形状ですが、サイズが大きくなってました。


開封したところ。開けるとそのままKindleDXが入っていました。上下の白いプラスチックの部分が保護用のパッケージのようです。



まずは充電してね、といった絵が表示されていました。


左からIS03,Kindle 6インチ、Kindle DXで同じ書籍の表紙を表示させています。
KindleDXは、6インチKindleの画面を2枚並べたぐらいの大きさです。








3つ重ねてみました。  やっぱりKindle DXはデカい。。。

文字の大きさを最大にすると、かなり文字が大きくなります。
小さな文字が苦手な人でも大丈夫なように作ってあるみたいです。
(Suicaは大きさの比較用です)



文字の大きさを最小にすると、かなりの量のテキストを同時に表示できます。




PDFの書籍を表示させたところ。
表示面積が2倍になってるので、6インチのときよりもかなり見やすくなっています。
これならPDFを読むのにも苦労しなくてすみそうです。






6インチKindleの新しいバージョンは日本語表示ができますが、
Kindle DXはまだ日本語表示ができません。
(フォントを埋め込んであるPDFは表示できます)
Kindle Storeで日本語の書籍を扱うようになったら、日本語にも対応してくれることでしょう。


ではまた。

2011/01/03

冬休みの工作@Android その2

冬休みも今日が最終日。
もっと休みがほしい。。。。


Androidで追跡プログラムを作っていましたが、現在のところ
・GPSモジュールを使用した位置情報の取得&SDカードへのロギング
・サービスモードでの動作(1分間隔でGPSモジュールを起動)
・Cメールで任意の文字列を発信
・Cメールの着信監視
の機能を実装しました。

GPSの消費電力実験も合わせて行いましたが、IS01の場合だと9時間でバッテリーが10%台まで減ることが分かりました。(1分間隔でGPSを起動させたので540回ほど起動したことになります。)

ママチャリグランプリは7時間耐久なので、ロギングだけであれば問題なさそうです。

あとは拠点へのメールでの通知間隔を決めれば、ある程度追跡プログラムとして形が出来上がりそうです。


受信側のプログラムですが、当初はKMLファイルを作ってOruxMapsなどに表示すればよいかなぁ と考えていたのですが、OruxMapsでKMLを読み込ませてもなぜか表示がされず。
仕方がないので受信側のプログラムに地図画像を読み込んで、Cメールで受信した位置情報を画面に表示することにしました。

地図画像の作成は、Movile Atrasを使用し、出力形式をGlopus にしました。Glopusにすると、地図画像(PNG)と、画像の位置情報(KALファイル。中身はテキスト)が出力されるので、それを読み込んで表示させる予定です。


ではまた。