Home > 開発

開発 Archive

ArtIME 日本語入力開発ストーリー(1)


Art IME 日本語入力 – A new IME

(2/14 公開しました。https://market.android.com/details?id=jp.codedesign.android.artime

軽量日本語入力ソフトウェアのFabriccaのパブリッシュが11/21。それから3ヶ月の開発期間を経て、この度、後継IMEをリリースします。
Art IMEは、基本機能を押さえた上で、Wikipedia連携・カーソルパッド・デザインテーマなど今までのIMEに無い機能が満載です。 数日の間にマーケットにリリースしますのでしばらくお待ちください。

また、先だってA3Winterには登録を済ませているのですが、マーケットに登録する前に今回の開発について少しブログでまとめようと思っています。IMEというAndroidの中では少し毛色の違う開発対象に対して私がどのようにアプローチしたのか、その時考えたことなどを五月雨に公開していきます。

1. 開発のきっかけ – 真のギークではない

なぜIMEなのか・・・。
いま振り返るっても、IMEの開発が戦略として良かったのかどうか分からないのですが、とにかくIMEを作ることにしよう、と決めたのが、手もとのメモによると2010年10月16日でした。今から4ヶ月前です。
この経緯を語るにあたって、外せないのがA3でルックアンドフィール賞を受賞した「つぶやき文庫」。これで周りの環境もだいぶ変わり、Android界でも名を馳せている方々との交流や、日本Androidの会での活動もできるようになったのですが、その一方で、一応の代表作である「つぶやき文庫」はダウンロード数が思ったほど伸びません。それも当然で、普通に考えればこのアプリケーションは「日常を豊かにはするが、日常を便利にするものではない=普段使いにはならない」ので、目には止まってもダウンロードまでは至らないんですね。実際のところ、私自身も目新しいとは思っても毎日起動するアプリではないと思っていました。それに比べると、活躍されている方々のアプリは普段から使われるものばかり。これからも様々な方との交流を続けるに当たって、私にも「これは」というアプリケーションが必要と感じました。

ただ、その1本は1本でいい、ということも知りました。代表作が何本もある状態は個人ではメンテナンスも難しくなり、結局のところ利用者のためになりません。では何を作るか?いろいろ考えたのですが、最終的には、

  1. 現状Androidで使いにくいと思われる点を改善する
  2. 誰もが普段使うアプリケーションをターゲットとする
  3. 世界にも出せるアプリケーションにする
  4. 差別化のため、iPhoneではできないアプリケーションにする

という観点から「ソフトウェアキーボード」 と「メールクライアント」のどちらかにしよう、と絞りました。本来上の観点から行くとメールクライアントを選択するのが妥当なのですが、ここで迷った上に「自分が作りたいものを作る」という点から「ソフトウェアキーボード」を作る、と決めています。というのも、、、

私は普段からiPhoneの方ばかり使っています。Androidはキーボードがどうしても慣れないのです。ですので、まずはiPhoneの操作感に近いキーボードを作ることを第一の目標としました。

(続きます)

ArtIME 日本語入力 について

【本ページは ArtIME 日本語入力のマニュアルです】

日本語入力

A new IME

ArtIME 日本語入力は美しいユーザインタフェースと
インタラクティブ性を兼ね備えた、
新しい日本語入力用ソフトウェアです。

高速な変換機能を持つOpenWnnをベースに、
かつて無いデザインやWikipedia との連動など、
ソフトウェアキーボードの新しい利用法をご提案いたします。

ArtIME 日本語入力の開発にあたってのストーリーをエントリーしています。
詳しくは本ブログのトップページから御覧ください。

1. インストール

インストール方法は2通りあります。

  • Android Marketもしくはそれに準じるマーケットサイトからダウンロードしてインストール
  • ArtIME.apkを直接インストール

どちらの場合も、ご利用のAndroid端末本体のマニュアルもしくは該当するソフトウェアの利用方法をご確認ください。

2.有効化

本ソフトウェアはIME(Input Method Editor)あり、インストールしただけではご利用いただくことが出来ません。以下の手順を行うことで、ArtIME 日本語入力を有効化することができます。

・インストール後、ArtIME 日本語入力を起動してださい。

・「設定方法の説明へ」ボタンを押してください。

・「設定画面を開く」ボタンを押してください。

・「言語とキーボードの設定」の、「Art IME 日本語入力」の右にあるチェックボタンを押してください。

・Android端末本体のバックボタンを押し、中央の入力枠を長押しして、「入力方法」を選択し、「Art IME 日本語入力」を選択してください。

以上で、有効化は完了です。

3.使い方

有効化が終わった時点で、キーボードはアクティブになっています。
  • 日本語を入力する。
    キーボードの地球マークを数回押すか、地球マークを長押しして、「日本語テンキー」もしくは「日本語ローマ字」を選択してください。

    日本語入力のできるキーボード
  • 英語を入力する。
    キーボードの地球マークを数回押すか、地球マークを長押しして、「English(US)」を選択してください。

    英語の入力できるキーボード
  • Wikipedia自動検索
    ArtIME 日本語入力は、最初のキーボードデザインをWikipediaに設定しています。 文字を入力すると、Wikipediaにある項目であれば自動的に検索して表示します。

    Wikipediaで気になった検索があったときは、この状態で「ABC」などの文字選択キーを長押しすると、ブラウザを起動してWikipediaの該当ページにジャンプします
  • マッシュルーム
    Simejiに代表されるIMEと同等に、マッシュルーム機能が利用できます。文字を入力したのち、変換前に地球キーを長押ししてマッシュルームを選択してください。

  • カーソルパッド
    テンキー状態の場合はスペースの上の■が表示されているキーを、QWERTYの場合はシフトキーを長押しすることでカーソルパッドがき起動します。カーソルパッドの機能は以下のとおりです。
    ・カーソルパッドをなぞるとカーソルを移動できます
    ・ダブルクリックで選択を開始し、シングルクリックで解除できます。
    ・下のcut / copy / pasteでそれぞれ文字列のカット・コピー・ペーストが可能です。
    ・カーソルパッドを終了する場合は右上の×ボタンを押してください。

    カーソルパッド起動時
  • 設定画面およびキーボードデザインの変更について
    地球キーを長押しし、設定を選択すると、各種設定が可能です。
    キーボードのデザインは7種類ありますが、「ウィキペディア」以外のキーボードではWikipedia検索機能は動作いたしません。

    ブロックやハートのデザインがあります。

バグ・質問等ありましたら、
Twitter: @takahashi_ken
もしくは、本エントリーのコメントに残していただければ幸いです。

PopupWindowのonTouchを拾う

http://groups.google.com/group/android-developers/browse_thread/thread/0e87ca412e3c6baf

によると、PopupWindow上をonTouchでタッチ位置を拾うためには、backgroundにdrawableオブジェクトが設定されている必要がある。

どうもバグっぽいですが。

Popupキーボードの研究その1

多分読んでいただいた方にはわからないような内容なんですが、自分のメモとして。

英語圏以外の方がキーボードを使うとき、「a」キーになんかしらaに似た違う文字を入れたい時、
キーを長押しすると出てくるポップアップがあります。
これは、キーの長押しで実現するのですが、たとえば

<Key android:codes="**" android:keyLabel="a" android:popupKeyboard="@xml/popup" android:popupCharacters="abcde" />

とすると、ポップアップにa b c d e と並べてキーボードを作ることができます。
ですが、このa b c d eの入力コードは結局xml/popup.xmlに依存するようなのです。
同対処できるのかはまだわかりません。API仕様を読んでいる最中です。

ExifInterface.TAG_GPS_LATITUDEには何を入れるのか?

カメラで撮影した画像にEXIFで位置情報をつけようとした場合、
ExifInterface.TAG_GPS_LATITUDE/TAG_GPS_LONGITUDE に
Stringを入れる、というところまではわかったのですが、そのStringにサクッとGPSの情報を入れても
動きません。

http://www.mailinglistarchive.com/html/android-group-japan@googlegroups.com/2010-05/msg00112.html

で、誰も答えてませんが、正解は

http://developer.android.com/intl/ja/reference/android/media/ExifInterface.html#TAG_GPS_LATITUDE

“num1/denom1,num2/denom2,num3/denom3″

とありました。

これは分かりにくい!

具体的には、「北緯38度52分15.56秒」だったら、
「38/1,52/1,1556/100」と入れます。

    String latlong2GeoFormat (double latlong) {
        // doubleからintへ変換
    	Double _latlong = latlong;
    	int num1 = _latlong.intValue();
    	double num2d = ((_latlong - (double)num1) * 100);
    	int num2 = (int)num2d;
    	double num3d = ((num2d - (double)num2) * 10000);
    	int num3 = (int)num3d;

		// フォーマット num1/denom1,num2/denom2,num3,denom3
    	return String.format("%d/1,%d/1,%d/100", num1, num2, num3);
    }
こんな感じで。

素敵なカメラの使い方(呼び出し方)

ただカメラを使いたいだけなら

Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(intent,0);

でいける、と知って驚愕。研修資料にはちゃんと実装するように書いちゃったよ…。

つぶやき文庫不具合・バージョンアップ(v1.1b)について

コメントで強制終了するという報告を受けて、調査したところ、
フォト蔵側のサーバメンテナンスで画像が取得できず、
404が返ってきたときに画像キャッシュから画像を読み込む処理のところで
Exceptionを出すようになっていました。

現在は、404で返ってきた場合は画像を出さないか、
過去に画像がとれた場合はそれを繰り返し表示するように暫定版をだしています。

ご迷惑をおかけして申し訳ございません。

※追記
v1.0を下記に起きましたので、不具合が取れない場合はこちらをお使いください。

http://codedesign.jp/Pocketful.apk

第7番目くらいのIME「Fabricca」リリース

さて、昨日新しいアプリをリリースしました。

Fabricca BETA

Fabriccaはシンプルな設定と美しいユーザインタフェースを持つ、軽量な日本語入力用ソフトウェアです。高速な変換機能を持つOpenWnnをベースに、ユーザのつかいやすさを追求しています。
Fabriccaは現状透明なデザインを基調としていますが、今後はテーマによって着せ替えができる機能を実装していきます。また、今後のバージョンにはユーザの要望を取り入れる予定です。
本アプリケーションはβ版であり、試用期間を設けての2010/12/31までの限定配布の予定です。ご要望等はTwitter(@takahashi_ken)まで。
ということで、今後デザインを詰める方向で展開していきますが、使い勝手もどんどん上げていく予定です。いま考えているものとしては、
・変換キーで次の候補へ移動する機能
・リバースキーで変換した候補を元に戻す機能
・カーソルキー用画面の実装
・英語キーボードでの変換抑止機能
くらいですかね。もちろんテーマ機能も付ける予定で。

Android のデフォルトで持つアイコンをXMLで指定するには

http://www.taosoftware.co.jp/blog/2008/11/android_5.html

にあるような、Androidが持っているシステムアイコンをXMLで使う場合

android:icon=”@android:drawable/ic_menu_add”

というようにします。覚書。

まさかのつぶやき文庫バージョンアップ

Android Application Award 2010 Springでルック&フィール賞を受賞した「つぶやき文庫」が、なぜか今頃バージョンアップしました。

Q: なぜ今頃?
A: 次のA3に向けての腕鳴らしです。

いや、別のアプリを黙々と作っていたのですが、ここらでそろそろ自分のアプリの整理をしておこうかと思いまして。

v1.1 変更点

  • 下記項目にて設定変更が可能となりました。
    • 文字を移動させない設定(On/Off)
    • 自動で次のTweetに行かない設定
    • ハッシュタグの変更
    • フォントサイズの変更(Small/Medium/Large)
    • 同時に読み込むTweet数の変更(20/50/100:少ないと最初の読み込みが早くなります。)
    • 設定のリセット
  • 読み込み時にダイアログを表示しました。
  • 画像検索がヒットしない場合でも、できるだけ表示されるようにしました。
  • 一部動作が不安定な部分をFIXしました。
  • その他パフォーマンスの若干の改善をしました。

是非お試しください!

ホーム > 開発

検索
フィード
メタ情報

Return to page top