qgmap-0.2.4 リリース

qgmap の 0.2.4 をリリースします。 →ダウンロードページ

0.2.3 からの変更点は以下のとおりです。

  • メモリ使用量の削減
  • ズーム In/Out で位置がずれないようにした
  • POI検索でキーワード指定をしない時は全てを表示
  • POI検索で検索対象指定が効いていなかったバグを修正
  • POI検索時、件数が200件以上だった場合は最寄りの200件程度を表示 (周辺検索)
  • POI検索中にプログレス表示を追加
  • POI検索ダイアログでフォーカスの移動に上下キーを使えるようにした
  • ’S’ キーでPOI検索を起動
  • SL-A300で、センターキーとOKキーに Zoom In/Out を割り当て

今回の修正は sugarware さんのご意見による改善が多いです。ご意見ありがとうございました。

POI 検索ダイアログでの挙動が結構変わっているので、改めて使い方を説明したいと思います。

POI検索ダイアログ
POI検索ダイアログ

まず、検索するには「検索:」のところにキーワードを入れて「検索」ボタンか、OKキーを押します。キーワードを入れなかった場合は、全てを表示します。

「検索:」の入力欄にフォーカスがある状態で↓/↑キーを押すと、フォーカスを「対象:」/「検索結果」に移動することができます。

「対象:」 では検索する対象を選びます。チェックマークをタップするか、SPACEキー、SL-A300ならセンターキーでチェックをトグルすることができます。ここでOKキーを押しても検索することが可能です。

検索対象が複数ある場合は上下キーで対象を選びますが、一番上の項目を選んでる状態でさらに上を押すと「検索:」の入力欄にフォーカスが移動します。逆に、一番下の項目でさらに下キーを押すと検索結果にフォーカスが移動します。

検索結果も「対象:」のリストと同様、一番上の項目で上キーを押したり、一番下の項目で下キーを押すことで、それぞれ「対象:」、「検索:」 にフォーカスを移動できます。

検索結果を選んでOKキーを押すと、そのPOIの場所へジャンプします。

フォーカスが当たっている部分毎に動作をまとめると以下の様になります。

「検索:」の入力欄にフォーカス

OKキー … 検索を実行
上キー … 検索結果へフォーカスを移動
下キー … 「対象:」リストへフォーカスを移動

「対象:」のリストにフォーカス

OKキー … 検索を実行
スペースキー … チェックをトグル   (SL-A300ではセンターキーも)
上キー … リストの選択の移動。一番上の項目では「検索:」の入力欄へフォーカスを移動
下キー … リストの選択の移動。一番下の項目では「検索結果」リストへフォーカスを移動

「検索結果」のリストにフォーカス

OKキー … 選択しているPOIの位置へジャンプ
上キー … リストの選択の移動。一番上の項目では「対象:」リストへフォーカスを移動
下キー … リストの選択の移動。一番下の項目では「検索:」の入力欄へフォーカスを移動

文章にすると分かりにくいかもしれませんが、使ってみると直感的なフォーカス移動ですぐ馴染めると思います。

 

また、0.2.3 では 1000 件を越える検索はエラーとして検索できませんでしたが、0.2.4 からは地図の中心から近い順に 200 件程度を表示するようになっています。 1000件では表示するまでに待つ時間が長いので 200 件に縮小しました。さらに、待ち時間を紛らすためにプログレス表示も実装しました。

検索数が多い時の警告表示
検索結果が多い時の警告表示

これで最寄り検索ができるようになりました。POIデータとしては全国区のデータを入れておいて、近くのPOIだけ調べるということが可能になりました。

 

あと大きな変更は、キー割り当ての変更です。

POI検索はキーに割り当てられていなかったのですが、’S’キーに割り当てました。

また、SL-A300 では、センターキーと OK キーで Zoom In/Out ができるようになりました。 これで SL-A300 では地図の閲覧だけなら物理キーだけでできるようになり、使い勝手がよくなったと思います。

iPod touch 買いました

今日、予約していた iPod touch が届きました。

今まで携帯音楽プレーヤは初代の iPod nano を使っていたのですが、右しか鳴らなくなってしまいました。イヤホンのプラグを挿してある方向に力を加えると聞こえるようになるので、多分イヤホンジャックのハンダクラックだと思います。

その nano が壊れたのが、ちょうど新型 iPod touch が発表される前日・・・偶然にしては出来すぎのような・・・。

新型 iPod nano もよかったのですが、Zaurus 以来 Netwalker 位しか最近のガジェットを買っていなかったので、時代についていくために iPod touch にしてみました。

9/15に上海から配送されて、今日届きました。

iPod touch 到着
iPod touch 到着

ダンボール箱に梱包されています。

ケースはこんな感じ
ケースはこんな感じ

ケースは最近の iPod と同じく、透明なプラスチックのケースでした。


表面はピカピカです

当然ですが、開けたてなので指紋もなくてピカピカです。


裏面もピカピカ

裏面も鏡面仕上げでピカピカです。ケース買わないとすぐ傷だらけになりそう・・・。

 

iPhone も iPod touch も持っていなかったので、iPhone OS(?) はちゃんと使うのは初めてです。

さっそく使ってみた第一印象は、「画面がとにかく綺麗」でした。

解像度が高いためだと思いますが、フォントがクッキリハッキリしていてとても見やすいです。

qgmap のライバル(?) GoogleMaps も使ってみました。

・・・・。

ライバルなんて言ってごめんなさい (^^; 足元にも及んでないですね。


SL-A300 (qgmap) と iPod touch (GoogleMaps)

せっかくなので SL-A300 と並べてみました。

ちょっとせつない気持ちになりますが、7年前に発売された端末にしては、結構頑張ってるのではないでしょうか。

iPod touch と比べてみても、Zaurus って機能的には技術の進歩によるレベルの差こそあれ、あまり変わらないような気がします。

音楽も聞けるし、動画も見れる。Webブラウザもあって、メールも読み書きできるし、アプリも追加できる。目の付け所はよかったんだと思います。

一番の違いはAppleならではの UI, User Experienceへのこだわりでしょうか。あとはビジネス向けか一般向けかの違いとか。

時代の流れや、技術の進歩もあるとは思いますが、早く生まれすぎたような気がします。 もう少し違っていればまだまだ Zaurus も生き残っていたかも知れません。

 

iPod touch を色々いじっていると、ふと液晶と金属のボディの間に何かが挟まっているのを見つけてしまいました。


何か挟まってる!

どうも接着剤のようです。こいつのせいでその周辺に数cmに渡ってスキマがあいてしまっています。ホコリとか詰まったりしそう・・・。

他にも開封直後なのに画面のガラスと金属ボディの間にある黒い樹脂が削れているところがありました。(3枚目の写真の本体の右の長辺の真ん中やや上にある白い部分がそれです)

一番最初の写真に写っている、クリアケースの回りをくるんでいた白いビニールシートも、梱包する際無理やり入れたのか、端がクシャクシャになっていました。

Apple らしくないような気もしますが、Assembled in China だから仕方ないのでしょうか。

ちょっと残念です。

qgmap-0.2.3 リリース

先日の 2 周年記念のブログエントリには多くの方から暖かい言葉をいただきました!ありがとうございました。

「ぼくがんばったよ!ほめてほめて!」みたいな小学生レベルの自己満エントリで今思うとちょっと恥ずかしいですが、大人な皆様が空気を読んで褒めてくださったので(笑)、読みながら照れ照れニマニマしてしまいました笑顔

皆様からご褒美をいただいたので、お返しといっては何ですが、qgmap の 0.2.3 をリリースします。  →ダウンロードページ

0.2.3 での修正点は以下のとおりです。

  • SL-A300に対応
  • POI検索結果に現在地からの距離を追加

今回はSL-A300 対応がメインです。SL-A300をお持ちでない方にはほとんど変化ありません (^^;

SL-A300対応はダイアログのサイズを固定値で設定していたので思いのほか手間がかかってしまいました。

qgmap が SL-A300 に対応!!
SL-A300に対応!!

ほとんどの機能は SL-C シリーズと同じように使えますが、一部機能は動かないものもあると思います。特に GPS, PHS 関係は動かない可能性が高いです。

スライダとか SL-A300 では操作しづらいので UI はまだまだ改良の余地ありですね。ブースカさんのアイデアの画面下部に大きなボタンを配置するというのもまだ手をつけられていません。

また、SL-A300で使用する際の注意点が3つあります。

  1. iso や rom イメージを使う場合はモジュールのインストールが必要
  2. 他のアプリの高速起動を切ること 
  3. SDカードを挿入していること

まず、SL-A300 で iso や rom イメージを使う場合は、tera さんの実用工房このエントリから miscfs-modules_a300_arm.ipk をダウンロードしてインストールする必要があります。

SL-Cシリーズでは iso はカーネルに組み込まれているんですが、SL-A300は組み込まれていないため、後からインストールする必要があります。

2つ目は qgmap が結構メモリ食いなため、他のアプリの高速起動が有効になっていると、「メモリが足りません」といったメッセージが表示されてしまいます。一応、地図画像のキャッシュサイズなどを減らしたのですが、付け焼き刃で全然効果がありませんでした。省メモリ化は今後の課題ですね。

3つ目はPOIのDBファイルを /mnt/card/qgmap-poi.db 決め打ちで置いてしまっているため、SDカードが必須になっています。SL-A300 はバックパックをつけない限り SD カードしか地図を置く場所がないので、大丈夫だとは思いますが、SL-C シリーズとは挙動が違うところです。

 

SL-A300対応の他のもう1つの変更点は、POIの検索結果に現在地からの距離を表示する機能を追加したことです。

POI検索の結果に距離を追加
現在地からの距離を表示

せっかくなので SL-A300 でスクリーンショットをとりました笑顔

緯度経度から2点間の距離を求めるのエントリで書いた公式で距離を求めています。また、初期状態で距離の近い順に表示されるようになっています。

矢印は「地図上の方向」を示しています。「方角」を示しているわけではないので注意してください。例えば、日本から真東に進むと赤道に交わり、いずれ南半球に到達しますが、上記検索結果の真東は同一緯度を表します。まぁ、qgmap を持って太平洋を横断とかしない限り気にする必要はありませんがあっかんべー

 

いままで一応メモリ使用量を気にして開発してきたんですが、 SL-A300 は SL-Cシリーズよりもさらに空きメモリが少ないんで、かなりキツキツギリギリですね。メモリ関係を見直す必要がありますね。

ただ、qgmap on SL-A300 は SL-C シリーズよりも表示が早く、キビキビ動作するので気持ちいいです。画面がQVGAと 1/4 なのと、回転処理がないので描画の負担が軽いためでしょう。このままでは私の SL-A300 は本当に地図専用デバイスになってしまいそうです笑う

ぷちのいず 2nd Anniversary!!!

えー、突然ですが、おかげさまで "ぷちのいず" も今日で2周年を迎えました!(パチパチ)

おめでとう!ありがとう!笑顔

何事もあまり長く続かない私が2年もの間、休み休みですが続けてこれたのも、ひとえに皆様の応援のおかげです。 ありがとうございます。そしてこれからもよろしくお願いします。

サイトを立ち上げて、しばらくは Google で 「ぷちのいず」で検索すると「ぷち/の/いず」と分割されて検索されていましたが、今ではサブページ(?) まで表示されるに至りました。

Googleの検索結果
Google での検索結果

なんかサブページのチョイスがいまいちですが、こんなへなちょこサイトではもったいないくらいの好待遇です。

さて、サイトを立ち上げて2年。公私共に(?)いろいろありました。

ちょっと独りよがり的に振り返ってみましょう。初めに謝っておきますが、今日のブログは私が思い出に浸るエントリーです。すいません。

次の図はGoogleAnalytics でとったセッション数をグラフにした物です。


セッション数の推移

図中のアルファベットはイベントを表しています。各イベントの内容は次の通りです。

イベント一覧

A 2008/09/13 qgmap-0.0-aplha1 公開
B 2008/10/14 qgmap-0.1.0 公開
C 2008/11/06  GW-CF54Gドライバ公開
D 2008/12/12  GW-CF54G WPA対応
E 2009/01/24  qgmap-0.1.4 公開 (GPS対応)
F 2009/03/19 WifiConnect 公開
G 2009/05/23 qgmap-0.1.8 公開
H 2010/01/02 qgmap-0.2.0 公開
I 2010/01/24 4GB SDHCドライバ公開
J 2010/02/06  32GB対応 SDHCドライバ公開
K 2010/02/15 3桁機用SDHCドライバ公開
L 2010/03/23 SL-A300用SDHCドライバ公開
M 2010/08/15 qgmap-0.2.2 公開

うーん。懐かしい。

グラフの 2 つの大きなピークは、GW-CF54G ドライバの WPA 対応と SDHC ドライバの公開ですね。この2つは確かに気合い入れてましたね。帰りの電車の中で SD ドライバのアセンブラを解析したり。これができたら世界初!と思いながら頑張ってました。大変だったけど楽しかったです。WPAの接続ができた時も、SDHC 8GB が認識した時も鳥肌がたったのを覚えてます。

また、この様に出来事を並べると、WifiConnect がちょっとかわいそうですねぇ。未完のまま放置されちゃってます。まだ需要があるなら開発しないとですね。もう忘れかけてるのでキャッチアップに時間がかかりそうです。

qgmap に注目すると、記憶では初公開から 0.1.0 公開まで結構間があったような気がするんですが、1ヶ月程度だったんですね。その中で 7, 8 回リリースしているなんて、今から考えると尋常じゃありません。よほど暇だったんでしょうねあっかんべー

まぁ、そんな働きぶりだったせい(?)か、"冬の時代"を迎えてしまいます。会社が無くなってぷーたろーです。今思えばいい経験になりましたが、当時はちょっと心穏やかじゃなかったですね。幸い今の会社に拾われたので助かりましたが、リーマンショック真っ只中だったので、就職できてなかったらと思うとゾッとします。

このブログも入社の審査の際にプラスポイントだったようで、「ぷちのいず」に人生救われました。エンジニアなら技術系のブログなりソフトなりを書いて Output しているとアピールになるようです。

と2年間を振り返ってみましたが、 なんかサイトを立ち上げたのはずーっと前のような、でも早かったような不思議な感じです。

これからも細々とまったりと無理せず続けていこうと思います。よろしくお願いします。

Emacs テクニックバイブル

今回は最近買った本の紹介です。

私は開発する際のエディタに主に emacs を使用しています。emacs はクセが強いため、慣れるまでは大変ですが、強力にカスタマイズできるため慣れると手放せなくなるという中毒性の高いエディタです。特に仕事柄、コードを読むことが多いのですが、emacs + gtags.el がないとコードを読む気になりません。

ただ、基本的な操作は不自由なく使えているのですが、あまりの多機能+奥深さぶりに私はほとんどの機能を使いこなせてません。多分 emacs の実力の 10% も使えていないと思います。あっかんべー

emacs lisp (emacs を拡張するためのマクロの言語)を分かっていないせいか、カスタマイズとかスクリプトの導入が面倒なんですよね。。。

そんな私が欲しかった本が最近発売されました。「Emacsテクニックバイブル ~作業効率をカイゼンする200の技~」という本です。

Emacs テクニックバイブル買いました
Emacs テクニックバイブル買いました

まだ途中までしか読んでいないのですが、実用的なスクリプトが多数載っていて、インストール方法や設定方法も書かれているので lisp が苦手な私でも簡単にカスタマイズできそうです。

というか、スクリプトを自動でインストールする仕組み (M-x install-elisp-from-emacswki) があることすら知りませんでした。こんなに簡単にインストールできるなんて・・・。

開発に実際に役立ちそうな物があるので1つ1つ試して行きたいと思います。

特に開発系で気になった物 (or 実際に使っているもの) は以下です。

  • 13.2 summarye.el バッファのサマリを表示する
    → ファイル内の関数一覧表示は便利そう
  • 13.5 M-x ediff-files, 13.6 M-x ediff-merge-files
    → これはたまにお世話になってます。マージの時便利
  • 13.10 M-x which-func-mode 現在の関数名を常に表示する
    → 便利そう。使ってみよう
  • 13.12 ipa.el ファイルに直接書き込まずにメモをする
    → コードリーディングの時に重宝しそう。メモ間でジャンプできるのもいいな。
  • 13.15 gtags.el
    → これなしでは生きていけません
  • 13.16 fold-dwim.el 複数の折畳み・展開コマンドに統一的なインターフェースを提供する
    → hideif.el とかアウトラインモードとか使ってみたけどキーストロークが覚えきれなかった私にはピッタリかも。

うーん。emacs は奥が深いなぁ。

もっとカスタマイズして効率的に開発できるようにしたいな。 そうすれば qgmap のリリースも早くなる・・・かも? (^^;