E61の初期のファームでEmakiを使っている時に最初に気がついたのですがエディターに文字をペーストするとプログラムが落ちます。その時は深く考えなかったのですが、自分で作ったプログラムでも同じ現象が発生したので調べたところKIS000354 – Application panic when using Ctrl+V (paste)という文章がForum NOKIAで見つかりました。
E61ファームウェア・バージョン1.0610.04.04でエディターにpasteするとWSERV 66というpanicが発生する。それでSolutionの所にはなんとSwEvent capabilityが必要と書かれています。うーむ、バグのwork aroundでcapabilityの付与とは、、、 まぁ、本当の対策はファームの更新なんでしょうね。
山根博士のブログにビッグニュースが載っています。何て書いても、パーム飲茶を見ている人の方が多いでしょうから、すでに記事は読まれていることと思います。
管理工学研究所の松茸がBTキーボードと一緒に販売されたときに、何故に海外版のS60 3rdデバイスで動かないのだと嘆いた人たちに対する回答が得られました。来年発売予定の+J FOR S60によりFEPだけではなくトータルな日本語環境が構築できることになりそうです。以下、画面などを見て感じたことです。
標準ブラウザでYahoo Japanを表示させているということはエンコーダーも作りこんだということですね。まあ、そうしないとE-Mailとか完全対応にならないですしね。
N95(中国版)のサンプル画像を見ると半角カタカナを表示させているのでフォントも組み込んでいるようです。しかもソフトキーの表示を見るとデバイスの言語は中国語になっています。うまく日本語と中国語が共存しているとうれしいですね。それにしても、漢字の変換候補を表示している画像、もう少し賢そうに見えるところを選んだ方が良くないかなぁ。 🙂
無茶な値段に成らない限り、私も買ってしまうでしょう。色々と選択肢が増えるのはありがたいことです。フリーな環境作りと有料版と両方あるって悪いことではないと思います。

S60 C++ SDK向けにEseries SDK Plug-inが11月1日にリリースされました。これによりE61やE90向けのアプリケーションのテストが容易になります。
さっそく導入して試してみたのが上のプログラムです。E90の横長画面を生かして左半分にリスト、右側にエディターを配置してみました。余談ですが、これがS60 UI designの作法に則っているかどうかは不明です。おそらくE90の組み込みアプリケーションでリストの右に情報が表示されるものはPreview popupという別の手法を使っています。
深い意味はありませんが、Emulatorを日本語モードにすると、まだ見ぬE90日本語版?
このモードで上のプログラムを走らせるとAKNFEPでパニックになってしまうのは何故だろう?
E61 モードのエミュレーターもあって、キーボードもE61風のものになっています。
それにしても、私の本物のE90は何時になったらやってくるのか。eXpansysのE90在庫状況が本日再び20個になっていますので、少しは期待できるかも。
10日ほど前にeXpanysさんにE90を発注しました。しかし「ご注文処理状況の追跡」によると、いまだ倉庫間輸送中になっています。一緒に注文したE90のケースは何日か前に「倉庫間輸送中」から「有り」に変っています。
今回のE90はアメリカのブツだそうです。「初めにお読みください」によると定期便の頻度は「英国・週に二便」「米国・週に一便」とのことです。普通に考えれば、一度は定期便に乗るチャンスがあったはずなのですが、、、何かの都合で一便パスされちゃったのかなぁ。
eXpansys頑張ってくれ!! 今回オーダーされた他の方たちはどうなんでしょう?
Nokia S60 3rdアプリケーション開発に必要な情報源のまとめです。C++を知っていてもSymbianのソースコードを見ると面食らいます。UIに関しては違ったプラットフォームで開発を始めるときには、それなりの準備が必要です。ということで、S60 3rdでプログラミングを始めたばかりの私が参考にしている情報源の紹介です。
[ Symbian OS/C++ プログラマのための Nokia Series 60 アプリケーション開発ガイド ]
私にとっては、ほとんどバイブルと言っても良いでしょう。高いですが、その値段に見合う価値があります。対象はS60 2ndなので、S60 3rdとの違いを別の情報で補う必要があります。ただしAPI、フレームワーク等「中身」に関しては、ほとんど差がないのでサンプルコードもルーチン単位では活用可能です。
文中のサンプルコードのダウンロード先URLが既に存在していません。サイモンを書いていた頃は仕方なく本文中に出てくるコードのみを参考にしていましたが、本文読んでいると後はコードを見れば分かります、みたいな所も多く困っていました。探してみたらForum Nokiaのココにサンプルコードが置いてありました。
[ DIGIらいふ〜スマートに行こう!〜 ] wikiサイト
M-FEPのま〜さんのwikiサイトです。Symbianの開発情報がまとめられつつあります。開発環境の構築手順、ケイパビリティと認証、開発者証明についてなど必読です(苦労の跡が伺えますm(__)m)。
[ PC View – S60アプリケーション開発ガイド ]
S60の開発を解説した連載ものです。S60 2ndからS60 3rdへの移植に関する情報は貴重です。
[ Symbian OS開発の勘所 ]
S60ではなくSymbianを解説した連載です。最初に書いた「面食らう」部分を分かりやすく独特な口調で説明しています。モバイルデバイスを以下に堅牢に作り上げていくかというSymbianの思想を学ぶのに最適です。
[ Forum Nokia ]
ご本家です。SDK等の入手先でもあります。押さえておくべき所はForum Nokia WikiとDeveloper Discussion Boardsでしょう。Googleで検索してもこの二つに行き着くことが多いです。
[ NewLC ]
S60に限らないSymbianの情報源です。コラム、サンプルコード、フォーラムなど幅が広いです。Symbian Signedの変更などもかなり前に情報が掲載されていました。
[ Google Code Search ]
ソースコード専門の検索エンジンです。すごく役に立ったというわけではありませんがS60のAPIとか検索かけて、それなりにコードが見つかります。
[ SDK ]
SDKにも色々と情報が付いてきます。SDK Help以外にもSDKを導入したディレクトリーにPDFドキュメントやサンプルコードが沢山入っています。SDKのバージョンによって内容は様々です。
[ 普通的生活工作室 – Crabide.c++のメモ ]
最後に私個人の覚え書きを紹介しておきます。
SMS送信時に送信内容をファイルに保管するようにしました。
SMS送信に先立ち保管するためのフォルダーの設定が必要です。v1.12導入後、初めてのSMS送信を行う際にフォルダーの設定画面が現れます。予めKKJSetup にて設定し置くことも可能です。フォルダーの既定値はE:/KKJConv/Sent (ソニエリはE:/Document/KKJConv/Sent)です。設定に先立ちファイルマネージャーなどでフォルダーを作成しておく必要があります。
送信済みSMSは’SMS送信/送信済みSMS’で参照出来ます。送信済みSMSの内容を漢字入力画面に上書きコピーすることも出来ます。
全ての機能を使いSMSを送信すると沢山の確認メッセージが出てしまいます。jarファイルに、ちゃんとした署名が出来れば良いのですが 、今のとこ為す術無しです。署名なしでの機能拡張は、このあたりが限界かもしれません。
解説およびダウンロードは以下のURLからお願いします。
http://www.nkozawa.com/wiki/index.php?KKJConv
[ その他の変更 ]
– ファイルの読み込みにて改行のみが続く時に一つの改行になってしまう不具合の修正。
– コピペ画面から漢字入力画面への文字列の上書きコピー機能の追加。
– ユーザー辞書の保管フォルダーの既定値をSonyEricssonデバイスに限りE:¥Document¥KKJConvに変更しました(新規導入にのみ影響します)。
[ 制限事項 ]
– ファイルダイアログ(ユーザー辞書の辞書ファイル、送信済みSMS保管フォルダーの指定)がM600iでうまく動いていないことが分かりました。原因を調査中ですが、うまく行かない場合はテキストフィールドに直接フォルダーをキーインしてください。
E90にて350件ほどのアドレス帳エントリーがある場合に「名前の確認」に30秒近く要するとの連絡をいただきました。S60のMIDPの作り込み部分に起因する問題と思われますが、何かしらエントリー数の限界値を超えると極端にパフォーマンスが悪化するものと想像されます。
根本的な対策はありませんがKKJConvのSMS送信における電話番号検索の使用例を説明することにより、それぞれの環境において最適な実行方法を見いだしていただければと思います。
実行例 1 – MIDPの組み込み機能による電話帳検索を使う
– SMS送信にてメニューを表示しAdd from contacts(携帯電話の機種より異なります)などのメニューよりデバイス組み込みの電話帳機能を呼び出し目的の電話番号を得る。
– 「名前の確認」を実行し電話番号に対応した名前を確認する(ここで実行せず「送る」の中での自動実行に委ねても良い)。
– 「送る」を実行しSMSを送信する。このとき「名前の実行」機能が未実施の場合は自動的に名前の確認を行う。使用した電話番号とあて先の名前は「良く使うあて先」のリストの先頭に挿入される。
– 次に同じあて先にSMS送信を行う場合は「良く使うあて先」から選択する。
この方式の利点: 本物の電話帳なので使い慣れた方法で検索等が出来る。
この方式の欠点: 「名前の確認」で時間を要するケースがある。(現在の所NOKIAで電話帳のエントリーが多い場合に発生を確認している)
実行例 2 – KKJConv組み込みの電話帳を使う
– SMS送信にて「電話帳」を呼び出し一覧からあて先を選ぶ。この場合、電話番号と名前を同時に取得するので「名前の確認」の必要が無い。
– 「送る」を実行しSMSを送信する。使用した電話番号とあて先の名前は「良く使うあて先」のリストの先頭に挿入される。
– 次に同じあて先にSMS送信を行う場合は「良く使うあて先」から選択する。
この方式の欠点: 簡易電話帳なので検索等の機能が無い。電話帳の全てのエントリーが(おそらくは)MIDPのメモリー空間に展開されるのでMIDPのメモリー使用量が増えるまた実行時間もそれなりに大きくなる。
後はKKJSetupにて、一切のPIM電話帳機能を使用しないようにするという選択肢もないわけではありません。
SMS送信機能を少々強化しました。v1.10では電話番号を検索しSMSを送るだけでしたがv1.11では自前のコードで電話帳をアクセス出来るようになりました。詳しいことは下に書いていますが、注意点だけ読んでもらい実際に使ってもらえば大丈夫だと思います。
[ その他の変更 ] – 順番が変ですが忘れないように最初に書いておきます。
– SonyEricssonのデバイスでAlt+OK長押しでコピペし、漢字入力画面に戻った時にKKJSetupでスキップしている入力モードが設定されてしまうバグの修正。
[ SMS送信機能の変更点 ]
– SMS送信をスレッド化した。 内部的な話ですが表面的な挙動も少し変わります。v1.10ではSMS送信が終了したところで画面の制御がユーザーに戻って来ましたが、v1.11ではSMS送信を開始してすぐにユーザーが画面を操作できるようになります。もちろんエラーが発生すればメッセージで知らされます。
– SMS送信完了メッセージ。スレッド化にともなう変更です。SMS送信が完了した旨を知らせるポップアップを出すようにしました。KKJSetupにより、これを抑制することも出来ます。
– 独自の電話帳検索機能搭載。自前のコードで電話帳にアクセスし電話番号を引き出すことが出来ます。良い点は、電話番号と名前が同時に取得できることです。電話帳の一覧をメモリーに展開することになるので大量の電話帳エントリーが有る場合、動作的には優しくないかもしれません。KKJSetupにより、このメニューを隠すことも出来ます。
– 名前の確認機能。これはv1.10で使用したMIDPの組み込み機能による電話帳検索を補うものです。組み込みの電話帳検索では電話番号のみしか取得できません。その後で名前の確認を実行すると対応する名前を取り込み画面に表示します。
– SMS送信時の自動的な名前の確認。名前の確認が出来ていない電話番号に送信を行うと、最初に名前を自動的に取得します。KKJSetupにて、この機能を抑制することが出来ます。
– 良く使うあて先の表示。SMS送信に使用した電話番号と名前を10件分だけリストする機能です。固定したSMS送信先を使う分には、電話帳からの検索の必要がなくなります。
[ 注意点 ]
– SMS送信を開くと前回使用した送信先の電話番号と名前が出ます。ここで組み込み機能の電話帳検索を行うと電話番号だけが更新されます。そのため、表面上は電話番号と名前が食い違った状態になってしまいます。SMSの送信は電話番号に対して行われますので、そのまま送信してもかまいません。名前の自動確認により良く使うあて先には正しい名前が入ります。気になる場合は、名前の確認機能を使い送信前に正しい名前を表示することも出来ます。
[ ダウンロードと解説 ]
http://www.nkozawa.com/wiki/index.php?KKJConv
lumさんのページにてS60のPythonで書かれたプログラムが公開されています。その中の「絵巻」が面白いとピードラさんが紹介されているのを見て、さっそく試してみました。
最近、携帯端末のメモアプリとか文書管理アプリについて思いを巡らせていまして、ほんの数日前にEBtという面白いコンセプトのプログラムがZaurus向けに公開されているのを知りました。この絵巻は、それを拡張したものであるということです。これは、試してみなければなりません。
まだ数枚のテスト的な文書を入力したりMP3を添付したりしただけですが大きな可能性を感じます。文書管理というとカテゴリー分けというのは固定観念だというのを思い知らされました。ツリーではない自由なリンクによって一つ一つの文書が関連づけられていくのは、かなり快感です。こればかりは、実際にやってみないと分からないかもしれません。カテゴリーの変わりに大項目としての親文書を置いてつないでいくことも出来るでしょう。またアイデアのタネを思いつくまま書き込んで行き、関連することがらをリンクしながら大きな内容に育てていくことも可能でしょう。wikiの概念を思い出す方もいらっしゃるかも知れませんがwikiの場合はリンクがwiki nameに限定されているので少し違います。
細かい説明は各所でなされているので調べてみてください(すいません手抜きで^^;)。
それにしてもPythonもすごいです。これだけのことが出来て安定していれば、あえて面倒なSymbianのC++の世界に足を踏み入れなくてもアプリケーションが書けますね。署名からも解放されますしフリーウェアはPythonで書くという方向性が出てくるように思えます。MIDPから足を洗ってPython修行しようかなぁ。 😛
ボタンの速打ちをするとSimonが落ちてしまうことが分かりました。ビープが鳴っている間に次のボタン押下でビープを鳴らそうとして落ちていました。
Simon v1.1.0 にてボタン押下の処理の中で前のビープをキャンセルするようにしました。
Simonのページの実行ファイル、ソースコードとも更新いたしました。