Dropbox

久しぶりにNOKIAなスマートフォンを購入しました。すでにマイクロソフトに売却された部門なのでNOKIAの携帯電話とは言いにくいですが、まだロゴはしっかりとNOKIAですしNokia Tuneも健在です。

購入したのはLumia 630です。私にとって初めてのWindows Phoneになります。大雑把にスペックを紹介するとSnapdragon 400, 4 core 1.2GHz, 液晶は4.5インチ(854×480), RAM 512MB, Storage 8GBです。それに加えて特筆すべきはDual SIMであることです。実は4G版+TD-SCDAM+RAM 1GBなLumia 638というのも有り、随分と悩みましたが、やはりDual SIMが欲しいということと格安であることから630の購入にいたりました。630と638は定価では200元(3200円強)の差ですが、630は値引きが大きかったです。ちなみにDual SIMですが同時に3Gを2回線使えるわけではありません。

まずは店頭で実機を触ってみました。スペックは控えめですが、十分にサクサクと動きます。大陸正規版においても言語設定やキーボードに日本語があります。またVPNの設定も存在していることを確認しました。この店では定価通りの999元で何もオマケは無しのようです。

Lumia630

ということでネット通販で購入しました。日常雑貨の通販で有名な1号店で798元(日本円で13000円ほど)でした。数量限定と思われるオマケパッケージも付いていました。オマケの中身は裏蓋(色は選べなくて、たまたま購入した本体と同じ黄色だった)、液晶保護シート、ボールペンのおしりに導電性ゴムが付いたタッチペンです。

このボールペン、作りはちゃちですが往年のノキアファンならよだれモノではないでしょうか? (無いか)

Lumi630Pen

ひと通り設定も終わり使い始めて2日目です。意外な事に(!)、結構使えます。設定や使えるアプリについても、これから書いていきます。

Asha303の中国版であるNokia 3030をしばらくメインの携帯電話として使ってみようと思い立ちました。所謂スマホは聯通のデータSIMが入っているSC-05DとiPod Touchで間に合っています。通話とSMS用の携帯電話は質実剛健なものを使ってみようということです。

問題は電話帳の維持管理をどうするかということです。手動でのバックアップ、更新であれば何かしら方法はあります。しかしWindows Mobile以来、ネットワーク越しに電話帳を同期する便利さに慣れているので何とかしたいと探した結果、見つかったのがPhoneCopyというサービスです。

Series 40の設定を見ていくとSync and backupという項目があります。この接続先としてPhoneCopyが使えます。PhoneCopyがサポートしているデバイスやOSは幅広くiPhone, Android, Mac OS X, Winodwsなどで電話帳の同期が可能です。機種によってはスケジュール、メモ、ToDoなどの同期もサポートされています。

設定等はサイトに詳しく書かれていますので、私が何を行なっているかを紹介することにします。

[ 電話帳 ]
– 元ネタはGoogleの連絡先をvCard形式でエクスポートしたもの。
– OS X Mountain Lionの連絡先にGoogleからのデータを読み込みました。電話番号の入っていないエントリーは必要が無いので、ちまちまと消しました。
PhoneCopy DesktopのMac OS X版をApp Storeより導入しました。PhoneCopyの新規ユーザー登録も、このアプリから行いました。詳しくは覚えていませんが、”連絡先”と”カレンダー”が自動的に同期対象になったと思います。カレンダーについては種別を選ばないと行けませんが、私は使用していないのでディフォルトのまま放置しています。

携帯電話上での電話帳の変更はPhoneCopyサイトには反映されますがGoogleには反映しません。もともとGoogleの連絡先が電話帳と一緒になったのはAndroidを使用するためだけで、本当は一緒にしたくなかったので、この設定で使います。

[ カレンダー ]
– PhoneCopyにログインし、カレンダーのページに行くとGoogleと同期するためのボタンがあります。これを押してGoogle側で承認すると自動的に同期されるようになります。

[ Asha303側の設定 ]
設定方法のスクリーンショットはPhoneCopyのサイトにあります。設定の基本情報はPhoneCopyのメインページ右側にあるAdd a new deviceを押すと表示されます。わたしの場合PhoneCopy側のデバイス設定画面でTimezoneをGMTにしないとカレンダーに設定したイベントの時間が正しく表示出来ませんでした。

Add a new deviceの設定情報で一度、携帯電話から同期を行いエラーが無ければContinueを押し設定を完了します。その後、携帯電話から同期を行うと初めてデータが反映されます。

[ 無料の範囲 ]
無料で電話帳、スケジュールなどの各データ件数が500件まで扱えます。デバイス数は2台です。ただしMac OS XやGoogleカレンダーもそれぞれデバイス数にカウントされますので、私の使い方だと無料の範囲を越えます。応援の意味を込めて有料会員になりました。


上海の南京東路にあるNokia旗艦店にPureVIew808を見に行ったついでに、ちょっと気になっていたUSBバッテリーDC-16を購入しました。お値段は278元でした。バッテリー本体に短いUSBケーブルが付いてきます。携帯電話への給電も本体の充電も、このケーブルで行うことが出来ます。ちなみに、このケーブルは充電専用ではなくデータが通るものです。

細かな仕様などについてはデータシート(PDFへのリンク)を御覧ください。私はThinkPadを思い出させるシックな黒を選びましたが他に白、シアン、明るい赤紫色(fuchsia)があります。カラバリを揃えたいくらいです。

使い方はとても簡単。携帯電話を充電する場合もチャージャー本体を充電するにも単純にケーブルを接続するだけです。試しにGalaxy Noteを充電してみたところ50%程度は充電可能でした。DC-16の容量は2200mAhに対してGalacy Noteの電池容量は2500mAhですので、こんなものでしょう。

本体には4個のLEDが付いています。マイクロUSBコネクターの下にあるバッテリー・マークの所を押すとLEDによりバッテリー残量を確認できます。また充電中はLEDが点滅し充電の状態も確認できます。

軽いので非常用の電源としてカバンの中に常備しています。滅多には使わないのですが、備えあれば憂いなしです。

今時は中華なバッテリーも性能的には問題ないようですし値段もかなりこなれています。敢えてノキアを選んだのは、デザインが気に入ったことと、やはり「愛」(© by 山根博士)ですかね。

Nokia Asha 303 (Nokia 3030)に対応したKKJConv v1.16を公開しました。

変更内容:
KKJConv 1.15aテスト版での変更内容に加えて

– 記号バネルでのカーソル移動をT,F,G,H,Bキーでも行えるようにした。
– 送信済みSMSを表示する画面を少しシンプルに変更。
– 最初に起動する際にAbout画面を表示させないようにした。
– SMS送信の際に改行コードを一般的なCRLFに変更してから送出するようにした。
– SMS設定保管の際に送信記録フォルダーの自動作成。
– SMS送信完了後のタイトルが送信中のままの場合が有ったので送信完了と表示するようにした。
– ファイルダイアログを表示前にファイルのダミーアクセスを行うようにした(Asha303対策)。
– ファイル保管の際にフォルダーが存在しない場合は自動的に作成出来るようにした。

ダウンロードなどの詳細につきましては、ブログ上部にありますKKJConvタブをクリックしてください。もしくは以下のリンクをクリックください。

http://www.nkozawa.com/wiki/index.php?KKJConv

また、OTAによる導入はデバイスから以下のURLを開いてお好きな辞書サイズのリンクをクリックして導入してください。小さいアイコンのパッケージは上のダウンロードページのみで提供しています。

http://www.nkozawa.com/kkjconv/

[ Asha 303固有の操作方法 ]

MIDP一般の操作について:
Series 40 Touch and Typeデバイスで、従来とは幾分違った操作方法になっています。他のデバイスのようなソフトキーがありません。メニューの選択は画面上に現れたメニューボタンをタップします。リスト形式など画面によってはアイテムの長押しによりコンテキストメニューを表示させる場合もあります。

漢字入力画面の編集:
画面をフリックすることによりカーソル移動が出来ます。やや操作性に難がありますのでキーボードによるカーソル移動も出来るようにしています。

  • Sym + T 上
  • Sym + F 左
  • Sym + H 右
  • Sym + B 下
  • Sym + G 中央ボタン
漢字変換:
スペースバーにより変換、Shift+スペースバーにて前の変換候補に戻る事が出来ます。加えて上のSymキー併用によるカーソル移動キーによる変換候補の選択も可能です。
ファイルダイアログ:
ファイル保管、読み込み、ユーザー辞書の指定、SMS送信記録の保管場所などで使用しているファイルダイアログは自前の物で元々操作が分かりづらいものでしたがAsha 303では、より分かりづらくなってしまいました。アイテムをタップしてオープン、タップして後メニューの選択あるいは長押ししてメニューを表示など色々と試してみてください。 なかなか良い操作方法が思い浮かびません、申し訳ないです。

 

Nokia 3030 (Asha 303) に対応したKKJConv v1.15b (jadファイルでは未だ1.15のまま)をテスト版として以下のURLにて公開しています。朝一番にv1.15aを公開していましたが、ちょっとバグっていました。

http://www.nkozawa.com/kkjtest/ デバイスから直接アクセスしてOTAで導入してください。

Nokia 3030 (Asha 303)向けの新機能:
– Ctrlキーが働くようになりました。漢字入力画面でCtrl+Cなどが使えます。KKJSetupのショートカットの指定画面も同様にCtrlキーが働きます。
– 方向キー(十字キー)の代替としてSymキーとT, F, G, H, Bの組み合わせを使用できるようにしました。

  • Sym + T 上
  • Sym + F 左
  • Sym + H 右
  • Sym + B 下
  • Sym + G 中央ボタン

として働きます。

その他、自前のファイルダイアログなどが正しく機能していない事がわかっていますので、それが解決するまではテスト版として公開していきます。

その他、未公開だった変更が幾つか含まれています。
– 漢字モードでもスペースは半角のものを使用するようにした。
– カーソルを上に移動しつづけた時、最後は文頭に移動、下に移動しつづけた時は最後は文末に移動するようにした。

KKJConvでエラーが発生するということで調べてみたところ、どうもMIDP実行環境側の問題のようです。

エラーが発生するのは次のようなコードです。

TextBox tb;
tb.delete(0, tb.size());

このコードはTextBoxの文字列を削除するためのものですが、TextBoxが空の時に左の写真のようにString Index Out Of Boundsというエラーが発生します。

deleteメソッドの第一パラメータはオフセット、第二パラメータは削除する文字列の長さです。

tb.size() が 0 の時の問題なので tb.delete(0, 0); のようにしてテストすると文字列が存在する時にはエラーは発生しません。言い換えるとTextBoxに文字列が存在しない時にdeleteを呼ぶとエラーするということです。一応、ドキュメントを確認しましたが呼び方には問題が無いように思えます。ましてやKKJConvの初期から存在するコードなので実績もおおいにあります。

回避策は簡単なので以下のようなコードに変更してKKJConvのエラーは回避出来ました。

if (0 < tb.size()) {
  tb.delete(0, tb.size());
}

Nokiaにバグではないの?と投げかけようと思いましたが、以前Forum Nokiaにあったバグレポートのシステムが見つかりません。もう一般開発者からのバグレポートは受け付けてないのかな?

既にAyamadoriさんがブログ「書くことないです。」に最新のNokia Series 40 Touch and Type端末のMIDP開発環境について書かれています。

私はQWERTYキーボードを中心に分かったことを書いてみたいと思います。

キーボード素直です。ずっとS60 3rdからフルキーボードのキーコードには悩み続けてきました。E7に至っては訳がわからないというのが正直な感想でした。それから考えると物足りないくらいに素直な挙動です。

E90などと違うのはCtrl+Cなどでコントロール・コードでは無く”C”そのものが返ってくることです。ただしCtrlキーそのものがキーコードを発生してくれるのでMIDPのアプリケーション内で処理可能です。また、CtrlだけではなくSymや数字シフトなどもキーコードが出ています。CtrlもSymキーもMIDPのCanvasでは何も働きませんので、逆に自分の好きなように役割を与えられるとも言えます。

カーソル移動キーが無い。「書くことないです」でも触れられていますが、方向キー、所謂10字キーが無いデバイスです。その代わりに画面を上下左右にスワイプすることで対応するキーコードが得られます。また左右のメニュー・キーもありません。これも画面のタップで代用します。S60 5thのタッチデバイスで表示される、あまり使いたいとは思わないゲーム・キーなバーチャル・キーボードは無くなったようです。

QWERTYキーで文字入力中に編集のためにスワイプというのは今ひとつな気もします。KKJConvではやはりキーボード操作でカーソルを移動できるようにしたいと思います。

液晶にタッチすれば何とか今までと同様の動作が出来ると思いきやダメなケースも見つかりました。Google Mapsは未だMIDP版が配布されていますが、これが全く操作不能でした。Google Mapsは画面を大きく使うためにCanvasをフルスクリーンで動作させています。検証はしていませんが、どうもこれが災いして画面のタッチが全く効きません。10キーだけは反応するですが、起動時に表示されたダイアログを消すことが出来なかったので、全く使い物になりませんでした。

Nokia 3030 (おそらくAsha 303と同じ)にChina MobileやChina UnicomのSIMを入れれば自動的にネットワーク設定が行われます(もしかすると中国国内版なのでプリセットされているのかも)。そのため何も考えなくてもNokia BrowserアイコンやInternetアイコンをタップすれば何かしら予め設定されているサイトに接続することは出来ます。

ところが、どう頑張ってもWAPの接続先しか選択できません。Preferred access pt.などというそれらしい設定を行なってもダメです。Internet Radioなどではちゃんとデータ通信用APNが選択出来るのでAccess pointの設定は出来ているようです。S60の設定も忘れかけていて、初めてのSeries 40でメニューを徘徊しても良く分かりません。そんな時見つけたのがGoGoSmartphoneBLOGの記事「Asha303のデータ通信設定」でした。いやぁ、助かりました。これを参考に自前でAPNとWeb接続の設定を行なって無事にInternetアイコンで希望のAPNに接続出来るようになりました。

以下私の行った設定例です。
< Access Pointの追加 >
– Settings/Configuration/Personal settings
– options/Add new/Access point
– Account nameは適当な名前を設定。わたしの場合は’CMNET’としました。
– Acc. point sett./Bearer settingsにてPack. data acc.pt.に cmnet と入力。他のフィールドはそのままでOK。(注: cmnetは本来China Mobileのアクセスポイント名ですがChina Unicomも同じ名前で接続できます)

< Web設定の追加 >
– Settings/Configuration/Personal settings
– options/Add new/Web
– Account nameは適当な名前を設定。わたしの場合は、ディフォルトのままMy webとしました。
– Use pref. acc. pt.はYesのままでOKです。あるいはNoに変更してAcc. point sett.に別途APNを設定することも可能です。

< Preferred access pt. の設定 >
– Settings/Configuration/Preferred access pt.にて先に作ったCMNETを選択します。

< Internetアイコンの設定 >
– Internetを起動しWeb settingsを開きます。
– Configurations sett./Accountにて先に作成したMy webを選択します。

以上です。

なんとなく勢いでテスト中です 🙂

ピードラさんがAsha 303をレビューされていますので本体の写真や感想などはGoGoSmarphoneBLOGを御覧ください。

左の写真の物は中国国内で正規販売されているNokia 3030という機種です。どうみてもAsha 303と同じです。搭載されているアプリ等が違う程度でほとんど同じものと思えます。

まだ数時間触っただけですが、現時点での感想やらKKJConvの対応について書いておきます。

[ KKJConv ]
ピードラさんからコピペ画面に「新規追加」するとエラーすることを聞いていましたので、取り急ぎ対応しました。詳しくは別途ブログにエントリーするつもりですが、どうもMIDPの実装そのものに問題があるようです。回避策は簡単な変更で済みましたので、とりあえずテスト版として以下のページからOTA導入出来るようにしています。

http://www.nkozawa.com/kkjtest/

デバイスから直接アクセスして導入してください。

漢字入力画面からCtrlキーが効かないとかカーソル移動キーが無くて不便(画面をスリスリするとカーソル移動します)なので、もうちょいAsha 303チューンを施したバージョンを作成予定です。

[ その他雑感 ]
– Series 40 なのでやはり自由度は低いです。KKJConv稼動したまま切り替えられるのはSMSアプリのみのようです。タスク切り替えなどは無いのでメールとKKJConvを行ったり来たりなどは出来ません。
–  やはりQVGAは見劣りがするかも。特に中国語メニューだと今時のデバイスと比べると文字が美しく表示できないので手に取った時のガッカリ感があります。値段が安くて無線LAN, Bluetooth, WCDMA搭載ですので、割りきって使ってやろうという人向きなのでしょうね。QVGAでもAngry Birdsは結構遊べます。用途しだいではQVGAで十分なのかもです。
– USBで充電出来るのは便利です。が、かなり時間が必要みたいです。数時間、ThinkPadのUSBに接続していましたがフル充電にならなかったです。

Nokia E7-00のKKJConv対応で、どうやっても解決出来無い部分が残ってしまいました(これはN97miniやN97から同じかも知れないです)。E7-00に搭載されているQWERTYキーボードがMIDPアプリケーションからどのように見えるかという問題です。

[ 改行キーでキーコードが発生しない ]

改行キーが何も役割を与えられていない訳ではありません。通常のMIDPアプリケーションで改行キーを押すと左側ソフトキーに対応するメニューが開くようになっています。タッチデバイスということで何かしらの配慮から、こうなったのかも知れませんがQWERTYキーボードとして使用する上では、かなり不自然で不便です。メニューの存在しない(正確にはリスナーを登録しない)テストプログラムも試してみましたが、やはりkeyPressed(int)やkeyReleased(int)でキーコードを得ることは出来ませんでした。

CtrlキーがあるE7-00ではCtrl+jで改行キーを代用出来るのですが、ここにも落とし穴(後述します)あるので’@’キーを改行キーの代用として割り当てています。

[ シフトモードが分からない ]

通常のシフト、数字記号用のシフト、あるいはSymキーを押すと通常の画面ではシフトモードが画面上部に表示されます。ところがMIDPでは、非フルスクリーンな表示でもシフトモードが表示されません。シフトモードは通常と同じく、一回押すとシフト、2回押すとシフトロックという動作なので、それを自分で把握して入力しなければ行けません。

E90やE63もMIDPではシフト状態の表示はありません。しかしながらシフトを押しても次に入力される英字には影響されず常に小文字が入力されました。つまりアプリケーションにシフト状態の管理が任されていました。それ故、何の表示もないことが正しかった訳です。またE63では数字記号モードはMIDPに入る前に効いていますが、それだけを使用者が自己管理すれば良かったので然程混乱することはありません。

[ 数字記号シフト、Symキーもシフトキーと同じキーコードが発生する ]

どれもシフトの仲間だからということでシフトキーと同じキーコードを割り当てたのかも知れませんが、それが役に立つ場面が思いあたりません。E90やE63では数字記号シフトは何もキーコードを発生しませんでした。それ故にシフト状態をアプリケーション内部で管理するということが容易に出来ていました。

KKJConvとしては、いっそのことシフト表示を止めてしまうかと思いましたが、今のところはシフト表示に合わせて大文字、小文字の相互変換を行っています。ロジックの都合によりシフトを押したままで英字入力が二文字目からは小文字に成ってしまいます。これも、致し方なしです。

[ Ctrl + 英字が効かない事がある ]

英字を入力する際、本体のシフトモードに応じてMIDPアプリケーションに渡されるキーコードが小文字だったり大文字だったりするのは構いません。ところが、Ctrlキーと英字キーを同時に押して発生させるコントロール・コードがシフトモードによって左右されています。シフトモードが大文字に成っている時にCtrl+Jが押されると、キーコードは’J’が発生してしまいます。E90, E63では常に期待どおりのコントロール・コードが発生します。特にE63では数字記号シフトにロックされていてもCtrl+jなら改行キーとして機能します。

Ctrlキーはもともと押下状態かどうかがMIDPアプリケーションでは感知出来ないのでKKJConv側では対処の方法がありません。

ps. 一縷の望みを託してForum Nokiaにてバグレポートいたしました。直ると良いなぁ。