2012年12月14日金曜日

張り切って何も出来ていないです


年末。
さすがに忙しいよ。

申し訳ないですが、年明けくらいまではアプリ開発に手が回りそうにありません。
ちょっと見たら要望?バグ?みたいのがいっぱいコメントにあった。

遅いのとかごめんよ。
あーー、なんだか超絶放置してるみたいで申し訳ない。
落ち着いたらまたやります。

3以降が出ないって購入したのにって事かな?
メールください。
解除キー渡すから。もしくは再チェックしてみて。

あとは、、全部見れていないけど直メールくれた方が対応しやすいです。
今のところ対応って言っても「ごめんね忙しいんだ」っていう返信しかかけないけど。。。。
説明で解決できることなら説明しますね。


あ、、、良いお年を~~~^^
(今年はもうログインしないつもりかぁ~~)

2012年11月9日金曜日

[FlipClip]メニューアイコんちょっと綺麗にしました。


ちょっと時間が空いたので、メニューアイコンきれいにしました。
自分で使っててヤッツケ感がすごかったのでずっと気になってた。。。
※まぁ、変更したところでヤッツケ感は拭い切れなかったんですけどね^^

前は、フリーのアイコンを指定範囲塗りつぶししてたんですけど、今回は画像処理で色みを変えました。
なので、前よりはきれいになっているはずです。

うーん、なんていうか、パキッと感が無いのはなんでなのでしょうかね?
サイズの問題かなぁ。

アイコン弄ってると他の開発者さん尊敬しちゃう。
コーディングもできて、アイコンとかも作れて、万能じゃぁないですか!
僕はアイコンなんて作れない。
フリーのやつの色変えたりする程度しか。

そんな感じ。
またしばらく殻に閉じこもります。。。

2012年11月6日火曜日

[FlipClip]Chrome対応しました


Chromeいまいち使いにくくて使ってなかったので気づきませんでした。
すみません。

で、対応なんですが、上部のURLバーは対応できました。
ブラウザ内部はWebkitじゃなくて、独自実装していると思われ、アクセシビリティイベントが取得できませんでした。
※自分とこのOSが提供している機能くらい自分とこのアプリは全対応しろよ!!

なので、ブラウザ内部の入力ボックスではFlipClipは反応しません。
SPモードメール同様どうしようもないです。

あ、あとAUメール端末がなかなか手に入らず確認遅れています。
こちらも併せてすみません。

しばしお待ちを。

とりあえず、不都合部分だけを先に。

\(^o^)/オラに自分の時間を!!!

2012年11月2日金曜日

本職に追われてます



ごめんなさい。
要望等いろいろもらっているんですが、本職の方が激忙しくなってきたのでちょっと更新止まります。

2012年10月23日火曜日

プログラミングについて


ちょっと思ったこと。
仕事でやるプログラムと、趣味(ってわけじゃないけど)でやるプログラミングって全然書き方違うんです。
仕事のばやい、みんなで作業するんで、あんまり自分勝手には作らない(作れない)んですね。
自分がプロジェクト抜けた時に、スムーズに引き継ぎとかできるようにね。
「おいおい、あいつのとこだけ書き方違うから読みにくいぜ!」とか「こいつ、勝手に部品作ってやがる!」とかありがちですから。

だから、コーディング規約みたいなものを使ってプログラムの書き方のルールを決めます。
僕の場合、導入前のプロトとか作ることが多い(ルールを作る側)ので、自分勝手にやりがちだけど(汗)

単純に書き方のルールから、各種ネーミングルール、共通部品をどうまとめるかのルール、そのたもろもろ。
要するに、だれが見ても瞬間で違和感なくコーディングできるように(メンテナンス性を上げる)っていうこと。
メンバの入れ替わり激しい現場多いから。

メンテナンス性を上げるために、フレームワークを作る。
重要な処理とか処理フローの枠を牛耳っておかないと、何かあった時に全改修あああぁぁぁぁぁぁとかっていうことになっちゃう。

また、メンテナンス性を重視していくと、時にはパフォーマンスを犠牲にすることもあります。
パフォーマンスを無視してるわけではなくて、妥協できる部分でメンテナンス性を優先させるってこと。

ちょっとくらいパフォーマンス悪くなっても、可読性を上げておく。
→言っても、そんな悪くならないですけどね。

ちょっとくらいパフォーマンス悪くなっても、共通部品にまとめておく。
→仕様変更時の修正箇所を集約したいし。

ちょっとくらいパフォーマンス悪くな・・・・・・・・


というように、お仕事の場合メンテ重視にコーディングをすることが多いです。

だから、Androidアプリ作り始めのころ、僕のアプリ共通のフレームワークみたいなもの作ったり、メンテ重視でいろいろ手探ってたんですけど、これは全部ボツになりました。
なんでかというと、「ちょっとくらいパフォーマンス悪くなっても」が致命的だった。
「ちょっとくらい」はAndroid(いろんな端末あるから)にしたらちょっとじゃなかった。

結局のところ、メンテナンス性とか、可読性とかよりも省メモリ・省電力・高速化・アプリサイズを小さくとかいう事に重点を置くようになりました。
プログラムも僕しか見ないから、可読性なんか悪くても良い(ってことはないけど)し、メンテナンスも機能の切り分けだけできていれば大したことないし。

同じものを作るのにも、いろいろなアプローチがあって面白いなぁ。
良し悪しはないので、臨機応変にやるしかないんでしょうけど。


で、何をこんなこと書いているのかというと、仕事で「ソース読みにくくなったよね」って言われたから。。
ごっちゃになっちゃってんさ。

ごめんなさい関係者さま。
このブログのことは知る由もないんでしょうけど。クックックッ。

2012年10月19日金曜日

[SwipeStarter]質問への回答(だからここに書くなって)


■フォルダの反応が遅い件
フォルダの表示ですが、アプリ設定のその他設定に「アイコン取得方法」という設定があります。
これは、フォルダやドロワーで、とりあえず外枠を表示してしまって、アイコン取得を非同期(後追い)にするという設定です。
以前、同様に遅いという意見をいただいた際に、この設定を付けました。
→ぱらぱらと表示されるのが気持ち悪いという意見もあったので、ユーザが選べるようにしてあります。

この設定はどうなっていますかね?
もし、このチェックが無ければ、チェックしてみてください。

先にフォルダの外枠とアプリの名前が表示されて、そのあとにアイコンがぱらぱらと表示されるようになると思います。

※チェックを外している場合、この時一番最後に表示されたアイコンのタイミングでフォルダを表示している感じです。


■タスク履歴を縦に
マーカーの場所にってことですよね。
出来たらやります。
設定画面とかどうするか決めないといけないので。

2012年10月18日木曜日

[透けテルっっ!!]アップデートしました。


メニューボタンが無い端末用に、電話番号表示領域の長押しに設定画面割り当てたら、移動が難しくなっちゃったみたい。
ふちしか認識しなくなちゃったってことですね。

せっかくだから、全画面タッチ移動可能にしちゃいました。

それだけ。

2012年10月17日水曜日

[FlipClip]アップデートしました。


先日のブログに書いた内容で、メニューの表示方法とトリプル・クアッドの判定のところ。

アイコンが汚いのは、僕のアプリという事で、勘弁してください。
有料でこのレベルかよ(呆)というのは、肌で感じているので言われなくてもわかっています。
時間があれば綺麗にします。

あと、SPモードのところコメント欄に追記しておきました。
基本的には、無料版を使ってもらって、お金を払ってもいいかなという場合だけ買ってください。
すみません。


2012年10月15日月曜日

[FlipClip]おっ、久々に要望来た!


トリプルクリックは、長押しの場合実行しないようにしていました。
なんでかというと、ダブルが抜けるから気持ち悪いなぁと思って。
で、ダブルでマッシュルームにしたんですけど、そんなアレみたいですね。

長押しのときもトリプル・クアッドを有効にするように修正しようか。
うーん。長押し、ダブル、トリプル、クアッドを選べるようにしようかなぁ。
そっちの方がいいかな。
あ、長押しでマッシュやられると貼り付けできない症候群になっちゃうんだった。
長押しはマッシュなしか。。。
あーーー、ちょっと美しくないな。

ダブルタップ起動チェックボックス:長押しかタップかを選択
デフォルト起動アプリ:長押しorタップで起動するアプリ(クリップボード・定型文)
トリポー:トリプルタップで起動(なし・クリップボード・定型文・マッシュ)
クアッド:クアッドタップで起動(なし・クリップボード・定型文・マッシュ)

これだ!
これで実装進めよう。


SPモードメールアプリはユーザー補助機能を実装していないため、イベントを取得することができません。
これはどうにもできないです。docomoに文句言うしかないかなぁ。
ユーザ補助機能ってなんなのかを考えた方がいいぜdocomoさん。

作った会社が違うのは知ってるけど、要件を伝えきれていないdocomoの責任と思います。


メニューが小さいとのことでしたので、メニュー表示方法を何パターンか選べるようにしましょうかね。
・表示しない(複数タップ起動使えばメニュー無くても良い気がしてきた)
・ボックス(今の)
・アイコン横一列
 クリップボードの場合:(前ページ・定型文・閉じる・マッシュ・次ページ)
 定型文の場合:(クリップ履歴・閉じる・マッシュ)

こんな感じ?
会社でうまくアイコン作れるかなぁ。


まぁ、あさってあたりには更新できるように頑張りまーっす!

※定型文のフォルダ化はちょっと待っててください。
 うまい見せ方を探してるんだけど、なかなかないんです。

これがうまくいったら、定型文は履歴に表示しないようにしたい。
切り分けをね。ちゃんと。

[FlipClip]アップデートしました


エラー報告対応しました。
タップ起動時、長押しで表示されるトーストがnoclipになってしまうところを直しました。

ClipboardManagerがdeprecateになったからかわからないけど、getText()がnullで返ってくることがあるみたい。
→ICSだけかな?前からかな?検証端末無いから未確認ですけど。

貼り付けたら特に問題ないみたいなんだけど、ここが変わっちゃったので、対応しました。
もし取得できなかったら保持しているリストの先頭を取得するように。

こんな感じです。

※あと2段階くらいバージョンアップさせたいなぁ。
 特に構想もないのだけれど。

[SwipeStarter]アップデートしました


アプリ起動時のバイブパターンと強さを変更できるようにしました。
・パターンはマーカー詳細設定から行ってください。
・強さは、アプリ設定から行ってください(タッチ時と共通です)。

シンプル版も対応しました。
もう忘れないように同時にアップすることにしました。

あと、シンプル版のバイブパターンでバイブなしが漏れていたので追加しました。




--僕が認識している要望一覧--
フォルダ内のアイコン移動。
フォルダ表示位置が見たい。
フォルダ一覧の並び替え
マーカー無効でマーカーごとに設定できるように
マーカータッチから反応するまでの待ち時間設定(1秒とか?)
マーカーにタッチクルクル起動アプリのアイコン表示・文字表示
除外系の長押し選択をタッチにしたほうが使いやすい。
回転させない
フォルダのアイコン変更
フォルダのアプリ文字なし(ドロワーもかな?)
バイブなし端末でもタッチしていることがわかるように

※順不同・対応順上記通りではありません。

2012年10月10日水曜日

[SwipeStarter]セッテイガキエチャウ件


何件かメールもらいました。
共通しているのは、設定全消えっぽいです。

以前ブログに書いたPreferenceの論理破壊は起こっていないみたい。
何だろうなぁ。

おそらく書き込みがバッティングしてると思うんだけど。
バッティングしそうな使い方していないんだよね。

むむむーん。
最後の手段使うか。
もし万が一に設定の値が変わったとき用で、設定クリアロジックを埋め込んでいるんだけど、消してみようかな。
※最初に断わっておきますが、僕が意図的に値を変更しない限り、このロジックに入ることはありません。
 でも、設定を消してるのはここだから、なんかの拍子に入っちゃってる?のかな?
 プログラム的に言えばありえないんですよ。
 if(false){
  設定クリア
 }
 falseの部分は設定ファイルから読み込んでるけど、こんな感じのロジックだから。

一応、次の更新で消しておきます。

あとは、タスクから起動できないアプリを起動できるようにしてみた。
あとは、、、結構重いからもう少しガッツリ時間が取れてからw

2012年10月9日火曜日

携帯落ち着いちゃったな。


現状で意外と不自由しなくなってきてしまった。
不自由しないと新たなアプリ開発できない(ネタが無い)。

スマフォ(携帯)でよく使う機能といえば
・電話
・メール
・その他(ゲームやRSS、地図等)

電話を簡単にかけられるように
 →透けテルっっ!

その他が簡単に起動できるように
 →SwipeStarter

メール
 →??無いかな
  しいて言えばFlipClipとかのクリップボード系か。

メールについてちょっと考える。
基本G-mailだからそんなに不自由していないもんなぁ。
SPモードは話にならないし。

何が不自由か。
Toの選択:メアドか名前途中まで入れると自動で一覧出るからOK。
入力内容:クリップボードとマッシュルームがあればほぼ問題なし。
絵文字&デコメ:ほぼ使用しないので問題なし。
添付ファイル:うーん。あまり必要としない。



やっぱないじゃん。
あー、入力速度が描画を追い抜いたとき、ちょっとイラッとするかなぁ。
これ何とかなるか?
要ROOTだな。
てか、アプリでどうにかする問題じゃない気がする。


そんなことより、要望を消化しなさいと言われそうだ。
ちょっとモチベーション落ちてるんだよね。
なんでかな。
自分が必要としない機能だからかな。

ダメだな俺。

鼻水つらいから、今日はおとなしくしておこう。

[透けてるっっっ!]アップでーろしました。


メニューボタンが無い端末の場合、数字が表示されるところを長押しで設定画面を表示するようにしました。

メニューボタン表示されないのかな?
 :←こんな感じの。

確認できる端末が今手元になかったのと、説明するのがめんどくさいから修正しちゃいました。
他は特に変えてません。

風邪ひいた。
皆様お体にはお気をつけて。

2012年10月4日木曜日

[SwipeStarter]アップデート


ステータスバー常時表示のトグルショートカットを作成しました。




です。
おいおい、さぼりすぎじゃね?ってのは無しで。。
すみません。
いろいろバタバタとしていて、全然手がついていません。
私事なのでアレですけど。


で、コメントに有ったものの回答(他、見過ごしてたらごめんなさい)。

安定しない件
端末再起動後に自動起動しないとのことですが、ちょっと原因がわからないです。
SD移動とかしてなければ自動起動するはずです。
でも、SD移動できないと思うから、これはないかなぁ。
マーカー無効にチェックで自動起動するとのことですが、チェックを付けると付けていない時よりも通るロジックが多くなるので、これで動くようになるっていうのもよくわからないんですよね。
プログラム的に言えば、これは無関係です。
たまたま?
自動起動アプリが多い場合、どういう順序で起動するかは端末によると思うので、めちゃ遅くに起動してたって事でもないんですよね?
むーむむむむ。よくわかりません。
結果自動起動したから良い??


ハードキーが遅れる件
此れも、僕の持っている端末で再現しないんですよね。
うーん。
特にウェイトしてることもないので、なんだろう。
shellにコマンド投げてるんですけど、そのコマンド側で滞留しているのかなぁ。
もちっと調査します。とはいえ、再現しないことには、、、なんですけど。


Simple版のapkを更新していないことに気が付いた。
いつからだろう。
テストしようと思ってて、忙しくなっちゃったから忘れてました。
しばらくテストして、アップします。

2012年10月2日火曜日

[FlipClip]ちょこちょこ機能追加


無料版・有料版ともに、ダブルタップ起動の場合、長押しで現在のクリップ内容をトースト表示するようにしました。
貼り付けを押す直前に内容を確認できなくなっちゃっていたので。

※今のところ強制表示にしていますが、要望があればON/OFF設定つけましょうかね。


有料版だけですが、トリプルタップとクアッドタップで定型文表示とマッシュ一覧表示を割り当てられるようにしました。
もちろん、何も割り当てなくてもOKです。


修正内容はこんなもんです。
要望が来ている定型文のフォルダについてはしばしお待ちを。
というか、どうやって表現しようかまだ案が固まっていません。

2012年9月25日火曜日

[FlipClip]Android3.0以上の対応


techboosterさんのとこの記事にあったのを自分の端末が生姜パンだったから見ないことにしてたの忘れてました。

Android3.0以上の場合、クリップボードマネージャにリスナーを設定できるみたい。
なので、3.0以上の人しか利用できないけど、「リスナーを利用」オプションを追加しました。

今までのと何が違うのかっていうと、クリップボードに値が貼り付けられたイベントを取得して値を保存します。
こうする事によって何が良いかっていうと、、、

①アラーム(タイマー)によるクリップボード監視処理がなくなる。
②連続コピーしてもすべてクリップ出来る。

あら、いいことづくめ。

フリーもプロも実装してあります。
僕のところでは今のところ特に問題なく動いているみたい。
連続コピーチョーきもちーーー!!(そんなでもない)

ハニカム、アイスサンド、ゼリービーンの方はお試しあれ。

例によって、死に「にくい」サービスで実装しているので、もし死んじゃったらごめんなさい。
設定のチェック付け直しで再起動します。

画面ON/OFFのブロードキャストで行こうかと思ったけど、なんか無駄にコスト高くなりそうだし、消費メモリもほぼ最低限なので常駐させることにしました。

※余談ですが、死ににくいサービスは僕の端末で死んだことはありません。


2012年9月24日月曜日

マネタイズについて


ちょっと、前の記事書いてたら思ったので書いておく。

有料機能を無料で利用するとか、広告を非表示して使うとか、良く言えば抜け道・裏ワザ(良くもないか)みたいなもんですけど、サービス提供者にとっては「おいおいまじかよっ!」てなことになるので、あんまりやらない方がいいですよね。
僕は、気に入ったアプリは有料があれば買うようにしてます。開発者の気持ちわかるから。

有料なしの広告だけっていうのは、広告切ってます。(ごめんなさい)
せっかくいいアプリなのに広告が台無しにすることもあるから、ぜひとも広告なしバージョンを作ってほしいですね。
インターネット接続の消費電力がでかいってことは、もう周知の事実だから。
※似た機能で作れそうなものは自作してるけど、そうでないものもあるので。

そもそもアプリ作れる人なら、広告切ることができるなんて知ってるだろうし、そういう人数も考慮済みなんじゃないかなぁ。
少なくとも、僕の無料広告アプリは、そういうことをされても別にいいと思っている。

僕はといえば、最初は広告入れたアプリよく作ってたけど、最近は入れなくなった。
・利用者の立場になったときの、広告のうざさがアプリの便利さを上回ることがある
・インターネット接続権限が付いちゃう(何もしてなくても怪しまれるね)
・利用中の消費電力を削減するため(せっかく省電力省メモリで作っても広告に台無しにされることがある)
・無料版と有料版を作るのがめんどくさい(管理がめんどい)
・広告解除のアプリ内課金を作るのがめんどくさい(アプリ内課金あんまり好きじゃない)


なので、最近のマイブームは「無料版」と「機能増強の有料版を作る」です。

無料版はあくまでお試し版。
基本機能が思いついたら、さくっと作って公開。
たどりついた人にちょっと利用してもらって、要望や意見を取り入れながらオプション追加等で改善していく。
 →ありがたいことに、いろいろ要望いただけるので。
落ち着いてきたら、要望を拝借することもありますが、有料機能を検討→公開。

最近の開発は大体こんな感じの流れ。

ただ、有料機能に入れる前に無料に盛り込みすぎてまぁいっかってなっちゃうのもある。
「透けテルっっ!!」とか。


そんなこんなで、僕のマネタイズに関する気持ちを振り返ってみるとこんな感じ。
2011年の7月からアプリ開発やり始めたから、もう1年ちょっと経たけど、いろいろ考え方が変わってる。

一発当ててやるか!
広告と有料ってどっちが儲かるんだ?
(うひゃひゃ、アプリ売って金儲けじゃぁ!期)
 ↓
売れないし、広告収入しょぼいぜ。
こんなのあればいいのになぁ。。よし、じゃぁ作るか!
(完全自己満アプリ製造期)
 ↓
要望だと!そういうのが来るのか!
よーしおじさんに任せときな!
(要望に応えるのが楽しくなってくる期)
 ↓
広告なんてうっとうしいばっかりでこっちのメリットもなんもないぜ!やめだやめだ!
無料版で基本機能作ったら、要望を重視したアプリを作ることにする!
(他人任せ期)
 ↓
やべー要望めっちゃくる。
自分の意見が取り入れられるとうれしいんだね。
喜んでもらえてこっちもうれしいよ。
対応できないものについてはごめんなさい。
みんなの意見をすべて取り入れるのは無理なんだぜ!
(風呂敷広げすぎたと後悔期)
 ↓
あー、やっとアプリ落ち着いてきた。
自分が欲しい機能はもうとっくに出来ちゃってるから、様子見するぜ。
(サボってた本職の方のツケがまわってくる期)
 ↓
下手に流行ると対応がめんどくせーな。
知ってる人たちだけでこっそりやりたいな。
ちょっと詳しい人たちを相手にしたいな。
(わがまま期)
 ↓
クソっ、オープンソースにしてメンテやめようかな。
(対応放棄期)
 ↓
よし、いったん忘れる。
(ふりだしに戻る期)
 ↓
あーー、ここがマジ使いにくい。
そうか!この機能を本来の意味とは違うこういう風に使えば!
なんか新しいの出来たぜ!
新しい機能のアプリ考えるの楽しい。
(抜け道探し期)
 ↓
ちょっと落ち着いてきた。
逆に本職が忙しくなってきた。
たまってた要望やらないとなぁ。
(今)


最初は手軽にお金儲けしたいなぁって感じだったけど、あれだけがんばって息子のおむつ半月分くらいにしかならないので、金儲けの線はあきらめた。
※お金にならないのはセンスがないからだという事は自負しておりますので、突っ込まないように。
売り上げは、息子のおむつ代としてありがたく利用させていただいてます。

金儲けっていうよりは、自分の技術を安売りしないように有料版も作っています。
最近は積極的なマネタイズを考慮していませんが、それでも有料版を買っていただけるとありがたいです。
だって、リアルマネーは活力に直結するでしょ?


あ、いや、違う。
買ってアピールしたかったわけじゃない。
無料でもそこそこ使えるようには設計してるつもりなので、まずは無料版を^^

[instadroid]ごめんなさいね


※最初に言っておくと、このアプリをメンテナンスする気はありません。

あんまりよくない評価が多いです。
なんだか、出来の悪い開発者みたいなので、ちょっくら言い訳しちゃおう。

此れ、僕が使いたくて作ったんですけど、僕も今は使っていません。
オフィシャル版使ってるから。

まず、結構勘違いされている方が多いんですけど、instapaperはAPIを利用するのに月1$のお布施が必要です。
APIって何?っていうと、フォルダの一覧を取得したり、登録されている記事の一覧を取得したりする機能のこと。
くわしくはこの辺を読んでね(http://www.instapaper.com/api/simple

で、これは僕がお金を払えば何とかなるものでもなくて、利用する人(ログインしてる人)が払わないといけない。
というInstapaperへのお布施による機能利用制限が入っています。

だから、本家Instapaperアプリも有料だし、ほかの開発者が作成したアプリもちゃんと使いたかったら別途instapaperにお金払ってね^^っていうの多いし。

ただ、無料で利用できるAPIもあります。
・フォルダ一覧取得
・Read Laterの中身の一覧取得
・Read Laterに追加

これが、無料でInstapaperアプリを作る上での制限になります。
逆に言うと、無料ではこれしかできないのさ。

あれ?でも「Instadroid」ってフォルダの中身見れんじゃんね?
ふふふ。。そりゃ、ほら、あれですよ。
通常のInstapaperページダウンロードして、正規表現で無理やり中身取得してますから。
 ↑
カンのいい方はお気づきでしょうが、HTMLダウンロードしてるなら、そのまま表示した方が早いです。

何でこんなことをしているのかというと、無料でどこまで出来るのかっていうチャレンジみたいなもんです。
もちろん、ページの解析に多くのメモリを使うことになりますし、正規表現で取得しているので変なタイトルのものがあると、解析に失敗するかもしれません。

このアプリ結構グレーだと思っています。
このアプリが流行ると、Instapaperのマネタイズをモロ妨害してしまうから。
だから(ってわけでもないんですけど)あんまり優秀なアプリにしたくないです。

というのも、以前、Android版Instagramが来る前に、似たような仕組みでInstagramの検索と表示アプリ作ったんですけど、Googleにrejectされたので。
これは、時期が悪かったのと、外人に広まって僕の稚拙な英語を勘違いしてアップロードできねーじゃねーか!これは詐欺だ!!なんて叩かれまくったからなんだけど。
多分、不正なアプリ報告を一定量されたんだろうなぁと思いつつ。
(アイコンにUnofficialって書いておいたのに。。ぐすん。)
おかげで外人クレーム耐性ついたからまぁいいか。


そう、愚痴っぽくなったけどバツイチなんです。
不正アプリ何個送り出すとアカウント凍結されるかわからないけど、びくびくしてます。



というか、オフィシャルアプリ出たから公開停止しようかなぁなんて思ってたの忘れてた。
もうちょっと派手になり始めたら消そう。(ならないと思うけど)

[SwipeStarter]スクリーンの輝度設定が反映されない


「SwipeStarterを入れているとスクリーンの輝度が反映されませんっ!」っていう質問が幾つか来たのでここに結果を報告します。

結果から言うと、SwipeStarterはシロでした。

[確認方法]
SwipeStarterの自動起動をOFFにして端末再起動→これでSwipeStarterは完全に起動していません。(不安なら、設定バックアップとってアンインスコしてください)
この状態でご指定のアプリにてスクリーン輝度の設定を行い、正しく反映されないことを確認。

SwipeStarterが起動していない状態でも同様の現象が起こるという事は、SwipeStarterは関係ないという事です。
※そもそも、輝度設定の権限を持ち合わせていないので、SwipeStarterが設定を上書きするという事はないと思いますが。


質問をいただいた何名かの方から指定された「結果が正しく反映されなかった輝度設定アプリ」については、ここでは紹介しません。
ただ、「Display brightness」というアプリを入れていただき、確認してもらったところ、正常に輝度設定が行えたようです。

「Display brightness」
https://play.google.com/store/apps/details?id=rubberbigpepper.DisplayBrightness

ここからは調べてもいないので想像ですけど、
・アプリによって挙動が違う
・輝度設定が繁栄されない端末はICS(とのことでした)

であることから、おそらく輝度設定のロジックがICSになってから変わってしまったのではないかと思います。
過去にも、無音バイブ設定でアイコンが2個表示されるようになったりとかいう修正されちゃったりとかもあるので、結構濃厚?

開発者泣かせですね。

まぁ、「Display brightness」では出来ているんだから、きっと出来るんでしょうね。
輝度設定アプリ開発者さま。がんばってください。



あ、でも、もしかしたらSwipeStarterで関連があるかも知れないっていうのが2か所だけあるので書いておきます。
・ICS以降でステータスバー上にマーカーを配置
・「アプリ設定」→「マーカーの表示レイヤー」をON

これをすると、マーカーの表示レイヤーがスクリーンロックよりも前になります。
これは画面のちらつきを抑えるため&ステータスバーより前にマーカーを表示するための設定なのですが、もしかしたらこのレイヤーの位置が悪さをする可能性がなくもないような気もしなくもないです。

僕の端末では特に干渉していないようでしたが、このあたりのレイヤーが表示されていることを感知して画面輝度を調整するようなOSチューニングが入っていた場合は影響しちゃうかな。
→そんな必要あるのか?できるのか?って感じですけど、、、
 できるできないは置いといて、たとえば、スクリーンロック表示時に自動で輝度をある程度明るくしてあげるような機能とか。

常に生きているプロセスは、マーカー表示プロセスだけなので、強いて言うなら、おそらくレイヤーの位置かなぁって感じです。
個人的には、レイヤーの位置で輝度に影響が出るなんてことはないと思っています。

ですが、仮に、SwipeStarterを終了させたら問題なく動くんですけど~!っていう場合があれば、おそらくこれです。
この場合、マーカーの表示位置を後ろに下げるわけにはいかないので、対応は出来ないです。
OSカスタマイズしたメーカーを恨んでください。(ウソ)

最後は投げやり開発者。
すみません。

2012年9月21日金曜日

[タップマッシュ]作りました。


FlipClipのタップ起動を作った時に思いついた。

ダブルタップしたら、マッシュルーム一覧を表示。
マッシュを選択して戻ってきたらクリップボードに保管。
長押しで貼り付け。

マッシュルーム対応IMEを使っていない人向け。

ステータスバーから起動するよりは早いよね。

※注意※
FlipClipと干渉します
FlipClipの有料版の機能でもあるので100円で売ります。
https://play.google.com/store/apps/details?id=tora.mamma.tapmush

ここにたどり着いてる人には野良であげます。
https://www.dropbox.com/s/b2cis3s4w4bpuhz/TapMush.apk

設定は、例によってユーザ補助から行ってください。

2012年9月19日水曜日

[FlipClip]ICS以降向け修正しました


経緯:ICSで貼り付けダイアログの仕様がかわっちったので悩んでました。
[変わっちゃったクソ挙動]
 長押し後、5秒程度すると、貼り付けボタン(?)が消えちゃう
 1文字でも入力されていれば、入力項目タップで貼り付けカーソルが表示され、貼り付けカーソルをタップすると貼り付けボタンが表示される。
 1文字でも入力されていない場合、タップしても何も出ない。
 入力項目によって貼り付けのインターフェースが違う(?)←これ良くわからない。

悩みまくったんだけど、貼り付け関連で取得実行できる機能が超微妙。
で、苦肉の策で思いつきました。

ダブルタップでクリップボード表示ならいい?

軽く実装して使ってみたら、まぁまぁ許容範囲内。
長押しとダブルタップの違いをこんなに顕著に感じるとは思わなかった。
じゃ、これで!ということで、クリップボード表示の手数が1手増えちゃうけど、ダブルタップ表示設定を追加しました。

設定画面の「ダブルクリックで起動」のチェックをつけてください。

入力項目の上で、ダブルタップすればクリップボード(これは今までと変わっていないんだけど)が表示されます。
あとは、適当に選択して、入力項目長押し→貼り付けでいつも通りです。

うーん。
これが限界カモ。

アプリレベルで実装できる限界でございます。

でも、悔しいからもうちっと精進します。

2012年9月18日火曜日

携帯が暴走しました


気づいたら電源落ちてて、数十分で40%位電池減ってるの。
おいおい、なんだなんだと。

アプリのせいかなぁとか思って調べてたんだけど、全然おかしいところなくて、ついに壊れたかと思って落胆。
ハード回り全然わからないんだよね。くっそ。




と思ってたら、正しく充電できなくなって(USB抜いても充電中だったり、さしても何も反応しなかったり)、ステータスバーにある電池アイコンが点滅し始めた。


これは!!!!!
USBの端子逝ってんじゃん??
そのくらい無知の俺でもわかるぜベイベー。

そういえば、息子がヨダレマミレにしてたなぁと思い返してみる。

想像では、よだれによって端子が錆びてしまい、錆が変な接触をしているために、充電がうまくいかない。
そして、状況によっては放電(詳しくないのでわからないけど)してんじゃね?と。
※そんなもんで放電なんかしねーよとかいうツッコミは置いといてね。そっち系無知なので。


よしよし。そういうことなら。

ここに取り出しましたるは、精密ドライバと細かい目のサンドペーパー。

磨きました。

治りました。

めでたしめでたし。

基本的なことを忘れていたよ。
「まずは物理層を疑え」

2012年9月14日金曜日

[電池消費削減アプリ](訂正)通信遮断の省電力効果について


適用後のBatteryMix見てたら、WIFIのつながり具合が不定期っぽいから、なんだろうなぁと。
BatteryMixの監視間隔が10分おき&時刻更新のインテント取得してたのに、レシーバで処理書いてなかった orz.

BatteryMixの監視間隔が10分おき
WifiのON/OFF間隔がばらばらだなぁと思っていたんですが、10分おきだと、引っかかる時と引っかからない時が出ちゃいますね。
1分おきにして計測しなおしました。


時刻更新のインテント・・
※此れに関してはググればいっぱい出てくると思うので省略しますが、「アラームを利用している場合、時刻の自動同期が走ると現在のアラームが消えるので、再設定しなきゃだめよ」って事。
夜中ずーっとWifiがONになっているところとかは、アラームが消えたっぽい挙動ですね。
レシーバに処理入れました。

これらに気づいたのが遅かったので、12時間で計測。(今までのは24時間)

アプリ適用後



[あらためてまとめ]
大して変わらなかった。
気休め。

2012年9月12日水曜日

[電池消費削減アプリ]通信遮断の省電力効果について


--おさらい--
JuiceDefenderの動作に興味が出た。
3Gがメインみたいだから自分で作ることにした。
3Gは端末でOFF、アプリでWiFi定期OFFして通信を遮断。

あの後少し調整して、まぁ落ち着いたかなというところまで来たので、インプレッション!

さて、どんな効果があるかな。
   :
   :
   :
   :

ということで、BatteryMix。
以前


アプリ適用後




以前の方は、ほぼ使わないで計測&OS2.3だから微妙だけど、大目に見てください。
結論から言うと、横ばい時の消費電力は大して変わっていないかな。

計測し始めると、USBつなげない(充電されちゃう)からアプリ開発止まるんですよね。
まぁ、それはさておき、特に目立った改善は見当たらずって感じでした。

[まとめ]
メリット:
端末の省電力はほぼなかったが、WIMAXルータ側のスタンバイ時間を調整すればそっちの省電力になるかな?

デメリット:
省電力効果は大して見込めない
アラームで指定時間おきにWIFIをONにしたりしているから、常に裏で動いちゃう。
メールが最大で指定時間遅延する。
これが原因かわからないけど、謎の気づいたらシャットダウンしてた事件が発生した。


ということで、自分で省電力を考えてちゃんとやっていれば、あえてこれをやる必要はなさそうです。
僕は、WIMAXルータの省電力になるかもうちょっと導入しておこうかな。

2012年9月11日火曜日

Preferenceの論理破壊のコメントもらったので、どういう動きになるか試してみたよ。


[インストール直後]
---------------------
設定ファイルなし
---------------------

取得値
-autoboot:初期値(false)
-repeat:初期値(あああ)
-offset:初期値(かかか)


[値を設定]
---------------------
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="offset">かきくけこ</string>
<string name="repeat">あいうえお</string>
<boolean name="autoboot" value="true" />
</map>
---------------------

取得値
-autoboot:設定値(true)
-repeat:設定値(あいうえお)
-offset:設定値(かきくけこ)


[1つをあえて破壊]
---------------------
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="offset">かきくけこ</string>
<null name="repeat" />
<boolean name="autoboot" value="true" />
</map>
---------------------

取得値
-autoboot:設定値(true)
-repeat:初期値(あああ)
-offset:設定値(かきくけこ)


[復旧]
---------------------
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="offset">かきくけこ</string>
<string name="repeat">あいうえお</string>
<boolean name="autoboot" value="true" />
</map>
---------------------

取得値
-autoboot:設定値(true)
-repeat:設定値(あいうえお)
-offset:設定値(かきくけこ)


上記のように、破壊された設定値は読めなかった(まぁ当然ですね)が、ほかの値は正常に読めていました。
nullを設定した値に関しても、初期値で取得されます。

ということで、論理破壊が起こった場合は、その項目についてのみ設定がぶっとぶ(初期値に戻る)事がわかりました。
で、論理破壊が起こるとすると、コーディングミスがほとんどだと思います。
→コメントでももらいましたが、クリアされたインスタンス変数を設定しているなど。

これは、治せます。(というか、治します。)

論理破壊の判断基準としては、設定全消しではなくて、項目単位で消えるはずです。
もし、お手持ちのSwipeStarterで、だいたいこの項目とこの項目が消えるぜっ!ってのがあれば、ご連絡ください。
※すいませんが、プログラムを見直した感じだと、この落ち方をする個所はないように思えたので、場所の特定には至っていません。
 また、僕の端末でもこのような設定消去が起こったとこがないので、あたりも付けられず。。。。
 ごめんなさい。。

-備忘録-
putStringでnull設定しても、nullっていうノードができるのね。
イメージとしては<string name="xxx" />みたいになると思ってた。
ノード名=型名でした。
指摘もらってよかった。たくさん勉強になった。

2012年9月7日金曜日

自分用にいくつか作った


もろパクリだから公開予定はないんだけど、こんなアプリを作ってみた。

[強制マナーアプリ]
Androidのマナーモードは着信にしか反映されないから、マナーモードにしてても、youtubeとか見ると音が出ちゃう。
ずっとこれが嫌で、アプリ2個くらい入れて対応してたんだけど、ちゃんと動かなくなったのを機に自分で作ろうかなぁと思って。
ついでに、近藤さんのも取り込んで、間違えて音量ボタン押しても、強制的にマナーになるように。
※基本マナーモード運用なので、これは必須だった。

*機能*
マナーモードの定義を設定
 |マナーモードになったとき、どの音量をOFF(音量0)にするのか
 | ・着信音量
 | ・メディア音量
 | ・通知音量
 | ・アラーム音量
 | ・システム音量
 └バイブレーション あり/なし
強制マナーモードの設定
強制マナーをショートカットでトグル切り替え

自分の希望通りには動いている。
※例によって強制マナー以外をあまりテストしていないが。。


[電池消費削減アプリ]
巷でJuiceDefenderがやたらと流行っているようで(RSSにものすごい頻度で流れてくる)、入れてみようと思ったけど、主に3G?みたいな印象を受けた。
私はWimax運用につき、基本3Gは端末でOFFってるので、あまり意味がないかなぁと思った。
あと、あの過剰な権限付与に不信感しか覚えなかったので、導入は断念した。
でも、ディスプレイOFF時の通信を遮断するっていうのは、とても効果がありそうな気がしたので、ちゃっちゃと作ってみた。

*機能*
ディスプレイOFF時にWifiを切断し、指定時間のインターバルでWifi接続
定期ON間隔の設定
画面OFF後、定期WifiON後のWifi有効時間の設定


15分間隔でWifiをONして30秒間有効の設定でしか確認してないけど、端末スタンバイ(DeepSleep)になるし、Gmailも受信する。
(Spmodeは知らん。普段使ってないから。)

昨日作ったから、省電力に貢献しているかどうかはわからないけど、もうちょっと常用してみようと思う。
何度かメール受信はしてるけど通知をしない時があって、これは標準Gmailアプリの問題かなぁと放置している。

--雑談----------------------------------------
JuiceDefenderのコメントで「超改善しました!」みたいなのをよく見るけど、今までどんだけ裏通信アプリインストールしてんだよと思う。
と同時に、何も知らない人たちに、ここまでわかりやすい「改善結果」を見せる事の有効性を改めて考えさせられた。(考えただけで、見習おうとは思わないけど。。そもそも、僕のターゲットはちょっと詳しい人を狙ってるから。)
このあぷりがすごいんじゃなくて、お前らの使い方が・・・(なんでもありません)
コメント見る限り、そこそこ自分でいじくってる人とかには効果が薄いんだろうね。「逆に・・・」みたいなのも見かけるし。
通信切るわけだから、メールもリアルでは来なくなるしね。

でも、通信遮断の省電力効果を試してみたくなっちゃう。そう、開発者ならね。
--雑談----------------------------------------

あ、話題がずれましたけど、上記アプリ欲しかったらあげます。メールください。
欲しい人が多くなったら、どこかに野良アップします。

2012年9月5日水曜日

環境構築秋田


やっと本職の方の設定90%完了。
何年も同じ仕事していると、ローカルのリソースが増える増える。
なるべくサーバに置いてたつもりなのにな。

内職の設定今日の午後には終わるかな。

明日から、アプリ改修開始できるといいなぁ。


今日からやれって?
今日は、ベルギービールウィークエンド東京2012じゃないか!!

Buy me a beer

2012年8月31日金曜日

仕事がひと段落したと思ったら


仕事で使ってるマシンのリース期限が切れたとの事で強制環境再構築。。。orz

全部か。。。。
ものすごく大変とだけ書いておこう。

まず、お仕事の方の環境構築でだいぶ時間取らる。
その後、内職用の環境構築。

あぁぁぁ。。。
YOU鬱。

まぁ、でも週末だから良しとする!!
と言うことで、最近ぜんぜん更新できなくてすみません。

やる気はありますが、諸事情によりぜんぜん進まないんです。
またしばしAPP更新とまるかも。

2012年8月30日木曜日

[FlipClip]フォルダか・・


どうやって作ろうかな。
Windowsのスタートメニューみたいになっちゃうか?

というか、定形文ってどのくらい使われているんだろう。
自分の場合、せいぜい3つ4つくらいなので、フォルダも何も必要ないんだ。

フォルダが必要ってことは、数十件は登録して有るんだろうなぁ。
オーバーレイでタッチ認識にしているから、スクロールが使えないので、1フォルダ内の件数にも制約が出ちゃう。
うーむ。

ICSの問題(問題ってほどでもないけど)もあるし、ちょっと本格的に考えようかなぁ。
一覧を現在のタッチポイントの下に出して、、、ってそもそも別アプリからだから、タッチ位置取れないか orz

どーしよっかなぁー
仕事がひと段落したから、今がチャンスなんだけどなぁ。

よし。得意の課題にしよう。

2012年8月28日火曜日

[透けテル]アイコン消したい人多いなぁ。


僕も、オニじゃないので野良アプリ置いておこうかな。
https://github.com/ToraMamma/suketell-stray

ただーし、一切メンテしません。
そのあたり理解した方のみ利用してね。

2012年8月27日月曜日

[透けテル]色追加。そして、アイコン無理だって。。。


色追加しました。
FlipClipのコピーだけど。

また、暇を見つけて追加しようかな。
黄色のリクエストもあったしね。

で、ステータスバーアイコン。
やんないよ。
なに言われても。

マーケットにも書いてあるけど、アイコンなしで通知って出来ないの。
厳密に言うと、アイコンを表示しない状態で通知は出来るけど、空白になります。
そんな状態で表示して欲しい?
たぶん、「隙間が空いています!!!ダサいのでアンインストールします!!!」なんて言われるんだ。

※無料の広告なしアプリなので、アンインストールしていただいたほうが助かります。


右寄せにしても良いけど、実質アイコン1個分スペース食うからね。
他にアイコンなし右寄せとかアプリとか入れると、アイコン表示スペースドンドンなくなるからね。
アイコンあり右寄せが有った場合、先に起動したほうが内側に来るから、順序によってはスペース空くからね。
どうせ、俺のせいになるんだろ?

インターネットアクセス権つけて、皆様の大切な個人情報を収集する為です!とかって書いてみようかな。
(そんなことはしないんだけれども。)


あーーー、ワガママBoys & Girls鬱陶しいなぁ。
なんか、善良な無料広告なしアプリに「~~だったらアンインストールします!」なんて脅迫めいたこと書く神経が分からない。
まぁ、こちらとしては「どうぞどうぞ^^」だけど。


※スルー力の無い開発者とお思いの方もいると思いますが、無礼な奴がどうしても許せないのです。
 マーケット上ではスルーしてるから、こっちに愚痴を書いていると言う言い訳も添えて。

2012年8月24日金曜日

[SwipeStarter]バグかぁ。


まぁ、バグって思うよね。
でも、たぶん、おそらく、プログラムじゃどうにも出来ない問題もあると思うんだ。

■設定が消える
設定はAndroid標準の設定ファイルとデータベースの2種類で保存しています。
設定画面の内容はAndroid標準の設定ファイルで、フォルダの中身とかドロワーのフィルタとかはデータベース。
たぶん設定画面の事と想像。
で、消えるって言う表現が良く分からないんだけど、たぶん設定が全部ぶっ飛んでるんだと思うんです。
たとえば、「この設定だけ毎回書き換わる」とか言うのであればバグだと思うし、全員なるはずだから。
で、ぶっ飛んでると仮定して、ぶっとぶ可能性は何があるかなぁというと
・設定保存中にプロセスを消されたり(タスクキラーとか)
・設定保存中に電池ぶっこ抜いたり
・設定保存中に・・・・
って言うことだと思うのね。
このアプリは非同期保存はしていないので、設定画面作業中になんかした場合かなぁ。
Android標準の設定ファイルはXMLっていうテキストファイルなんだけど、設定を保存する=ファイルの読み書きが行われているって事なのね。
ファイルの読み書きが遅い端末の場合、保存中に・・・って事が起こりやすくなる。(と思っている)
たぶん、このアプリに限らず、設定が多めのアプリではなりやすいかなぁ。

なるべく設定中の問題がおきないようにはしてるんだけど、やっぱ100%って訳にはいかない。
手動で削除できないように、アプリ履歴に表示させない。
その代わりアプリ内で確実にプロセスをキル。
でも、プロセスとしては動いてるから、そういうアプリ使えば見えちゃうのね。

と言うことで(ぜんぜん解決していないけど)、対応方法は「設定中はなるべく安静にしてね^^」です。

※あくまでも僕の想像です。
 動作的にそういう動きじゃねーよと言うことが有ればご報告ください。

解決方法として、設定ファイルを小分けにしてファイル読み書き速度を上げるってのも考えられるんですが、ちょっと大掛かり過ぎるので、時間ががっつり空いてからかな。


■買ったはずの・・
購入情報は上でいうところのデータベースとAndroid標準の設定ファイルの両方で管理しています。
コレは、何回も確認しに行かないように、認証情報をDBに保存していて、SwipeStarter側はAndroid標準の設定ファイルに保存しています。
で、アプリで見てるのはAndroid標準の設定ファイルの方なのでぶっ飛んでたら毎回表示されちゃうかな。
購入履歴ボタンで再確認すれば戻ると思います。


と、アプリ開発者が何とかできるバグ(プログラムに含まれる誤りや不具合)とそうでないバグ(端末や使い方による環境に依存した問題)があると思います。
アプリを購入してもらって(してなくても)使ってたら、なんかおかしな動きをする。
ユーザにとっては、それはすべてバグなんですよね。
私は良く分かっています。
でも、すべての要因がプログラムにあるわけではないという事も覚えておいて欲しいです。

携帯電話っていう身近で老若男女が使う物に、個人が作ったプログラムが簡単に乗る。
ココまでがものすごく簡単だから、アプリの問題はすべてアプリってなっちゃう気がする。
もちろん、プログラムバグもあったりすると思うけど、基本的にはプログラムバグは全員同じ現象が起こらなければならない。※基本的にはね!違うこともあるよ

Androidって、同じOSバージョンにもかかわらず、端末によって違う動きをしたりする。
コレは、メーカーカスタマイズのせいだと思う。
メーカーカスタムのせいで動かなかった場合、それは環境依存バグでどうにも出来ない(どうにかできることもあるけど確認にものすごく時間がかかる)

あと、やっぱりパソコンみたいなもんだから、OS云々よりスペックも結構関係しそう。
※こんなこと書いたら低スペックマシンでもギャー、みたいな事言われそうですが、一応低スペックマシンでもちゃんといける様に考えてますよ。
 ただ、所詮プログラムでAndroid標準の設定ファイルの書き込み速度を上げるのは無理なので、と言う意味です。



と、言い訳みたいなことをだらだらと書いてみましたが、纏めます。

直せるバグなら直します!!!!
2行で状況を察するのは無理です!!!!

ICSケータイ復旧完了


昨日、飲み会もそっちのけでTitaniumから復旧してた。
いやー、Titanium便利だね。こういうときに改めて思うわ。

あ、で、昨日/dataがぶっ飛んだって書いたけど、よくよく考えてみたら、リカバリモード中だったからマウントされていなかっただけっぽい気がしてきた。
焦ってとりあえずオデンしちゃった。。原因分からずじまい。
ちょっともったいない事したな。

まぁ、でも飲み会で連絡手段がないってのも困るから仕方ないけど。
で、icsなんだけど、FRしたらなんか結構良い感じ(安定感が増した)になってるっぽい。

まだ、謎のフリーズと若干のタッチパネルイライラがあるものの、描画速度とかはそこそこ上がっている気がする。

開発者メニューからウインドウアニメ・トランジションアニメをOFFか0.5倍にするだけで、だいぶ体感違うよ。

わしはカスタムロムがあまり好きではないので、コレで何とか頑張ってみる事にする。
貼り付けダイアログの問題ももう少しなんとかしたいしね。
このダイアログ、galaxy固有のじゃないよね?周りにはS2とS3の人しかいないから確認できず。

そろそろ新しい端末かうかなぁ。
ただ、オレが買いたい端末の幅はだいぶ狭いんだよね。
※初代Xperiaの影響でボタンはハードボタン「メニュー-ホーム-バック」に並んでいないと気がすまないのです。
 Xperia悪路?アーク?もしたかったけど、バックとメニューが逆になったので仕方無しにS2にしたので。
 NEXUSみたいにソフトキーを設定で入れ替えるって言うのもありか。(ソフトキーもあまりスキじゃない)
 
ううぅぅぅ。結構わがままだな。

2012年8月23日木曜日

端末逝った



原因不明
/data全部ぶっ飛んだw

再起動したらぜんぜん起動しなくて、なんだろうなぁと調べてたら、bootインテント貰って起動する奴がことごとく死亡してるくさい。
エーーーと思って、リカバリモードの画面からadbで接続したら。。。/dataの容量0byte 0byte 0byte 0byte
( ゚д゚ )

0byte orz
ナンデ・・・

ナンデ・・・なんで・・・・
うわーーーーーーーーーん

現在仕事そっちのけで復旧作業中。

もう嫌になってきた。


あ、とはいえ、なんか設定いじくってたらまぁまぁ使えるようになってきたので、ちょっと認めなおしてたのに。

まぁ、復旧頑張ろう。
飲み会までにどこまで持っていけるか。
あと一時間か。

めんどくせ。

[FlipClip]およよ、ICS貼り付け方法。。。。


ダイアログじゃないのねorz
長押ししたところに「貼り付け」がちょこっと表示されるみたい。
表示位置を右下とか左下にしておけば問題ないか。

って言うか、ちょっとしたら消えちゃうのねorz
体感4秒くらい。

おいおい、ちょっと待ってくれよ。
そういう変更ってあり!?

消えちゃったら消えたでも良いけど、クリップボード残っちゃうジャン。。。
非表示用のイベント取得できないジャン。。。

何か対応考えますが、ICSにアップグレードする際はお気をつけください。


まだ、ちゃんと見てないけど、気が付いた点です。

2012年8月21日火曜日

GalaxyS2 ICS しょっぺーなー


しょっぺーうわさは目にしてたけど、ICS端末が無いのはちょっと痛かったので無理して入れてみたけど、、、

やべーよ。
使いにくいよ。

もちろん良い面もあるんだけど、常用端末にこれはちょっと無理だよドコモさん。
ストレス溜まる。。

このまま放置かなぁ。
修正パッチ出ないかなぁ。

なんか、カスタムカーネル開発者さんも撤退?したみたいだし、、、はぁ。
そりゃ新端末買うよね。もう1年以上前の端末だもんね。

いっそ、JB Nexusに移行するか。。。


あーーーーーーーーーーーーーーー、盛大にはやとちったぁーーーーーーーーーーーー!!!

2012年8月20日月曜日

[キーボードモニタ]スミマセンでしたm(_ _)m


コメント貰っているのぜっんぜん気づいてませんでした(汗)
別に無視してたとかじゃなくて、本当に気づいていなかった。。

まぁ、それはともかく、WI-FI設定画面が閉じちゃう問題ですけど、僕の端末では再現しなかったです。
となると、端末固有のDialog作っているのか。。。。

端末依存になっちゃう。。うぅぅ。
一応、WI-FI設定のダイアログを無効にしてみたけど、直るか分かりません。。
ごめんなさい。

そろそろ、ON/OFF無効設定作ろうかな。
どうしても動かない場合、設定画面からアプリ指定してもらえれば動かないように。

端末固有とか、有料アプリとかで対応できないのが5個になったらやろう。

あ、後やっとGalaxys2をICSにしました。
ICS端末復活。

ICSで履歴呼ぶとホームが落ちると言う奴の調査をします。

[透けテル]やべー超難問来た。


かっこいいアイコンってどうすれば良いのw
オレはメンタリストじゃないから、あなたのかっこいいと思うアイコン分からないよ。。

いっそドラゴンとかにしてみようかな。
と言って無視する悪い開発者。


あ、通知アイコン変更機能とか作ったら喜ばれるかな。
うーん、でもアイコン参照でストレージ見るのか。
となると、権限増えるな。

(いろいろ)めんどくさいな。


無視かな。
悪い開発者だな。

心を入れ替えて頑張ろう(次から)。

2012年8月16日木曜日

ZZzzz...


お盆休みボケで頭が働いていないから、今後作りたいアプリメモ

・マナーアプリ
 ①Androidのマナーって音楽となんかが対応されていないから、マナーモードで音楽も消音するように。
  →何をマナー対象にするか選べるのが良いな。
 ②基本ずっと音消しているので、強制マナー欲しい
  →近藤さんの奴とかあるけど、音楽に対応してないはず。
 ③時々youtubeとか見たりするので、強制マナーをさっと解除したい
  →ショートカットで強制マナーのトグルとかかな。
 ④イヤホンつけたら音楽だけマナー解除
  →自分は使わないけど、音楽プレイヤーとして使っている人には必要かな?

・youtubeアプリで開く
 ①ブラウザで埋め込みのyoutubeをアプリで開く
 ②長押しからの共有かな?
 ③こんなアプリありそうだな。
  →そっちをまず探そう。
 ※xScopeだとはみ出すんだよね。
  コレが地味にストレス溜まる。

昨日のよる、なんかこれ有ったら便利なのにって思ったのに、眠すぎて忘れた orz
また思い出したら考えよう。

以上。

お盆休み終了


体がだるい。
もう当分休みないなぁ。

頭を仕事モードに切り替えながら、対応をつづけます。
しばしお待ちください。

2012年8月10日金曜日

よっしゃぁぁぁーーーーお盆休みだぜぇぇぇ!!!!!!


と言うことで、更新滞ります。
あしからず。
もう仕事が手に付かないw

※休みすぎじゃないかって?
 細かいことは気にしない気にしない。
 一休み、一休み。

2012年8月9日木曜日

面白いメールが来た。


おとといくらいかなぁ、「アンドロイダー公認デベロッパーへのご招待」(w)ってメールが来た。

たぶん「透けテルっっ!!」が載ったからだと思うけど、「アンドロイダー公認」ってどこまで通用するんだろうね。
これ、公認デベロッパが○ウェア作って、アンドロイダーで紹介されたとしても、別に何もしてくれないんでしょ?
ユーザは、「アンドロイダーに載っているんだから、安全だよね!」って感じで信じちゃうよね。
○ウェアを薦めた罪は大きいと思うけどなぁw

あ、コレは僕が○作りますよって訳でもなんでもないので、ご安心を。
※基本的に他人の情報なんて微塵も興味ないので。

まぁ、公認とか言っちゃうくらいだから、紹介前にだいぶしっかりレビューするんだろうね。
頑張ってくださいアンドロイダーさん!!

と、話がずれたけど、僕のアプリ、基本的に「あんまり紹介されたくない」んです。
コレだけ言うと御幣があるかも知れませんので、断っておくと、「紹介するな!」でもないし、基本的には「紹介してもらえると嬉しい」です。
便利だって思ってくれる人が居るだけで作った甲斐あるなぁって思う。

ただ、僕の開発・改修スタンスは、「なるべくすべての要望を受け入れる」です。
アプリが急激に広まると、要望もバッティングするし、僕の対応が間に合わない。
あと、無礼者が沸く。

正直、自分としてはコアなファン(書いてて恥ずかしくなった)に手厚い対応をしてあげたい。

なので、「どうやってか知らないけど、僕のアプリまでたどり着いて、使って、気に入ってくれた人」と「紹介されてたからとりあえず入れてみた人」を区別したいのね。
大手で紹介されていなければ、後者は(あまり)流入してこないので、すべてのリクエストに対して「よーし、おじさん頑張っちゃうぞー!」になれる。

基本的に要望アップデート重視で考えているので、更新が増えます。
でも、そのあたりを理解してくれないじゃない。紹介から来た人って。自分で探したわけでもないし、なんか話題だから的な。
で、ぶーたれて去っていく。

じじいは悲しいぞよ。

でもあんなに言われていたSwipeStarterだって、もうだいぶ落ち着いたでしょ。
落ち着くんだよ。さすがにどんなアプリでも。終わりはある。

なので、悪い言葉使うと、落ち着くまで「にわか」対応したくないの。
※お客様は神様です。でも僕は無神論者です。

ユーザは開発者(アプリ)を選ぶ権利があるけど、開発者はマーケットに公開した時点でユーザを選ぶ権利はない。
しょうがないけどさ。

でもまぁ基本的には、スマホライフが便利になるようなアプリを作っている(つもり)なので、便利と思ってくれるならどんどん使ってください。
僕の作ったアプリの場合、要望出したもん勝ち的なところがあるので、アプリが落ち着く前にドンドン要望送ってください。

ぜんぜん言いたい事まとまらなかったけど、僕は物書きじゃないので、まぁよしとします。

結論:アンドロイダーの手中には落ちない。

2012年8月8日水曜日

[FlipClip]プロ版そろそろ出そうかな


いろいろ要望いただきまして、だいぶ完成形に近づいています。

free版との違い
・クリップボードの履歴が100件まで登録可能(ページングにて表示)
・クリップボード履歴の1ページあたりの表示件数変更(5・10・20)
・表示位置の変更(右・左・右下・左下)
・定形文
・マッシュルーム連携

基本的な利用方法はfree版と一緒です。

いろいろ悩んでました。
何がというと、マッシュルーム連携
以前にもブログに書いたんですが、マッシュルーム(他アプリ)呼び出すと貼り付けのダイアログが閉じちゃう。
これ、どうしようもないんです。
別アプリが起動した際に、元アプリ(貼り付けたい奴)はバックグラウンドに移動しちゃうので、もうだめ。
結果的に、マッシュルーム利用したいばあい
①入力項目長押し
②マッシュルームボタン押下
③表示されたマッシュルーム一覧から利用するマッシュルームを選択
④マッシュ側の処理。終わった段階でクリップボードにコピー
⑤元アプリに戻ってきたが、貼り付けダイアログは消えているので、再度長押し
⑥貼り付けでマッシュの戻りを貼り付け

はぁぁ。。。

こんなレベルで使いたいのか?って感じ。
その他のマッシュ呼び出しアプリ(大体ステータスバーにおいてあると思うけど)よりも長押し起動の分だけ手数が増えてる印象。

入力項目に自動的に貼り付けるってのも出来ない(自アプリかIMEでしか入力コネクションを保持していないから)。

何とか良い方法が無いかとだいぶ頑張ったけど、もう無理です。
※input textでshellから直接文字列送りこんだれと思ったけど、多バイト文字は送れないみたい。

ということで、一応、マッシュだけ起動のショートカットは用意しておいた。
SwipeStarter等で呼び出して使ってね。ちょっと手数減るかな。(もはや他のアプリと変わらんというorz)
※キーボードモニタ使ってると、マーカー消えてるけどw
 コレはいよいよ「マーカーOFF時にも消さないフラグ」を導入しなければならないかな。

そんな感じ☆

画面キャプチャ取れたら公開しようかな☆ウフフ☆

(現実逃避)

出来る出来ないはさておき、要望あればお気兼ねなく。

2012年8月6日月曜日

[SwipeStarter]対応順序について



すいません。
結構前後しちゃってます。

シンプル版への反映とかもあるので、完全に僕都合で順番決めちゃってます。
ごめんなさい。

でも忘れてないからっ!!!
キット実装するからっ!!!

[改善要望・提案・予定]
フォルダ内のアイコン移動。
フォルダ一覧の並び替え
マーカーごとの無効/有効
マーカータッチから反応するまでの待ち時間設定(1秒とか?)
マーカーにタッチクルクル起動アプリのアイコン表示
除外系の長押し選択をタッチにしたほうが使いやすい。
フォルダ表示位置が見たい。
個別バイブOFF

気長にお待ちくださいませ。

※FlipClipも進めたいんだけど、マッシュルームが・・・・
 良い解決方法ないかなぁ。
 いっそ削るかw

[SwipeStarter]マーカー一括設定


やっと、やっと実装しましたよ。

本当にお待たせしました。
さすがに、20個とかマーカーあると一括設定は必要だよね。

また少しだけでも便利になれば幸いです。

[SwipeStarter]タッチ時のくるくるについて



色とか変えられるようにしました。

起動アプリのアイコンを表示っていうのもあったんですが、毎回アイコンリソースを取得するので起動前に処理が重くなりそうだから、一旦保留にしています。
キャッシュしておけばアイコン表示もそんなに時間かからないかな?
もう少しやってみてから、追加してみます。

あと、くるくるが指にくっついてこない(タッチ箇所でくるくるしない)という意見をもらっているのですが、SwipeStarterの特性上、「今どこをタッチしているか」というよりは「タッチしているよ」を知らせる為のくるくるなので、位置を固定にしています。
動かそうと思えば動かせるけど、あんま意味ないっしょ?

[キーボードモニタ]バグとか言わないで


最初から完璧じゃないよって言ってるんだから、バグって言わないで。
気持ちが萎える。

まぁ、それはさておき

アプリ単位で除外設定できるようにしようかと検討中。
そうすれば、そのアプリでは動かなくなるけど、支障は無くなるかな。

うーん。
でも設定画面作りたくないなぁ。

悩みどころ。

2012年7月31日火曜日

[SwipeStarter]問題に対する解答。


マーケット、文字数決まっててあんまり長文書けないのでこちらに。
ってか、何人たどり着くことやら。。。

まぁ、それはさておき!

マーケットコメントから、2点ほど。

①たまにマーカーが消える。
コレはプロセスの問題だと思います。
プロセスには結構たくさん種類があって、全部知ってるわけじゃないから省くけど、SwipeStarter(マーカー部分)はFOREGROUND(前面で動作中)にしています。
その他のフォルダとかドロワーとかは、通常プロセスで起動して閉じる時にキルしてます。
まぁ、マーカーの話なので、ココははしょりますが、このプロセスって奴にも優先度があるし、絶対にキルされないってわけではないです。

ここから優先度の嘘っぱち(イメージ)ね。

システムプロセス
  V
ホームアプリ
  V
--通常プロセス--
 前面アプリ・サービス
  V
 背後アプリ・サービス
--通常プロセス--
  V
その他、今すぐにはつかわなそうな奴とか

だいたいたぶんこんな感じのはず。
暴走で有名なacore(Androidコア)はシステムプロセスかな?
※その昔、SwipeStarterもacore使ってたんですけど、暴走するって言うんでForgroundに変えました。
 コレがよく言い訳に使う、「僕の端末ではおきないんだけど、、、」って奴。
 人によって使い方はさまざまだし、その時起動しているプロセスまで一緒のことなんて無いだろうしね。

で、システムメモリが足りなくなってくると、優先度が低い順に殺していくのね。

なので、たまにマーカーが消えるっていうのは「その直前などにメモリを大量に喰いそうなアプリを起動している」っていう事じゃないかなぁって思います。
あと考えられるのは、システムのプロセスキルがバカになっているか。

たとえば、絶対に消えないアプリなんてのも作れないことは無いんだけど、ゾンビーは、なんか、ねぇ。

システムが「もう限界だから死んでくれ」と言ったら、「ハイ分かりました」と素直に従うアプリにしてあります。
なので、今のところこの現象に関しての対策は考えていません。
すみません。


②物理キーが動かなくなる。くるくるは動く。
コレもプロセスの話になるけど、マーカーのプロセスと物理キーのプロセス違うので、マーカーは死んでいないけど物理キーが動かないって事だと思います。

で、物理キーが動かない原因としては。。
・superuserで実行しているので、非Root端末の場合はエラーが出てる。
・連続実行の場合、プロセスクリア処理に巻き込まれている(物理キーを連続実行って言うのを想定していなかったのでこっちかなぁ。)

そういう状況下な?お便り待ってるぜ!

はぐらかしたわけではない。


ちょっと、こんな感じです。
引き続きなんかやります。

2012年7月30日月曜日

2012年7月19日木曜日

あぁぁーー忙しくなってきた。



本業のほうが忙しくなってきた。

むぅぅぅ。

ぴゃぴゃっとおわらしてswipestarterの要望追加したいのになぁ。

そういえば、galaxy nexusをJB化してしまったのでICS端末がなくなってしまった(汗)
S2のアップデート早く復活しないかなぁ。

もう端末増やせないからなぁ。
嫁さんに殺される。

2012年7月13日金曜日

[FlipClip]定形文とマッシュルームくらいは


定形文とマッシュルームくらいは実装したかったけど、マッシュルームが微妙。

結局、貼り付けダイアログが画面の一番前にいなければいけない(仕様)ので、オーバーレイからマッシュを起動させると、ダイアログが閉じちゃう。
閉じちゃうって事は、戻ってきた時にもう一回長押しをする必要がある。

他のマッシュ呼び出しアプリ使ったほうが手数が少ないね。
常用するかというと、、、まぁ使わないかな。

有料版で定形文だけってのもしょぼいので、もう一押しネタを考え中。

貼り付けボタンをエミュレートできないかなぁ。
そもそも、IMEしかエディットボックス弄れないからなぁ。
うーん。

クマった(o゚(エ)゚o)

仕事忙しいから、現実逃避。

2012年7月12日木曜日

[透けテルっっっ!!]おばぁさん。どうして連絡先読み込み権限をつけたの?





それはね・・・・・・・・





お前の大切な個人情報をインターネットの世界にばら撒く為だーーーーーーーーーーー!!!!!!!!

インターネット接続権限ないけどなぁぁぁーーーーーーーー!!!!!

ストレージへの書き込み権限もないけどなぁぁぁぁぁぁーーーーー!!!!!

他アプリへのインテントは電話と連絡先だけだけどなぁーーーーーー!!!!

どうやってばら撒いてやろうか。
ひっひっひっひっひw

がぁーーーっはっはhっはああああ。
はぁ。




漢字が読めない人にも分かるようにひらがなで説明も書いてあげたのに、それすらも読めないのね。

アプリに興味をもってくれたところまでは良しとしよう。
それならばデベロッパにも興味を持ってココまでたどり着いて来てくれ。

「権限厨」って言葉で片付けられちゃうのかわいそうだから、どこかで仕入れたその中途半端な知識を、もう一度見直す機会を与えようじゃないか。

まず、権限について。
権限はその機能を使っていても(もちろん使っていなくても)アプリの設定にコレを使うよって書いてあるってこと。
で、開発者はコレを書かないとその権限を使えない。
コレは、ユーザに「こういうことをするアプリですよ。」って教える為。

今回は個人情報の漏洩って言うところだけ説明するね。
「個人情報」に含まれる権限ってのは結構いろいろある。
・連絡先データの読み取り
・連絡先データの書き込み
・カレンダーの・・
・ユーザ辞書の・・・
・ブラウザの履歴とブックマークを・・
・ログの読み取り
などなど。

上記で分かるとおり、ただ読み込むだけでも権限を設定する必要がある。
そりゃそうだよね。大切な個人情報だもんね。

でも、ただ電話帳読み込んでるからって「キーッ」ってなるのは間違い。

電話帳を読み込むことが出来ても、それを外に持ち出せないと意味が無いんだよ。
そうでしょ?

で、考えなくちゃならないのが、権限の組み合わせ。
厳密に言うとちょっと違うけど、個人情報の読み取り権限だけのアプリだったら、たぶん何もしない。
っていうか出来ない。

個人情報の取得は出来ても、漏洩が出来ない。
だって、個人情報を端末の外に持ち出す権限が無いから。

牢屋の中で手帳拾っても使い道無いでしょ。
それと一緒。

漏洩のパターンとして何に気をつけなきゃいけないかというと、「インターネット接続権限」が一緒にくっついてて、インターネットを使って外へ情報を送信できる権限を持っている物。
たぶんコレは一番分かりやすい例。
でも、この組み合わせって結構ある。
なんでやって言うと「広告」。

アプリでよく見る「広告」はインターネットに接続して広告情報を配信しているから、「インターネット接続権限」が必要になる。
こうなっちゃうと分からないよね。

え?どうやって判断すんだって?

そういう場合は、権限の無い有料版を購入すること。

え?無料がいい?
わがまま言うな。

じゃぁ、信頼のおける開発者(オフィシャルとか)のアプリしか使わないこと

え?何を持って信頼出来る?
しらんがな。

そもそも、個人情報ガンガン抜き取って送信するアプリの説明欄にこんなこと書いてあったらどうなの?
「このアプリは個人情報を取得していますが、電話帳を表示する為です。また、インターネット接続権限は広告を表示する為です。」
コレは信用出来るってこと?
オレから言わせれば、「ちょっと何も考えなさすぎじゃw」だけど。

ちょっと考えてみよう。

アプリの権限説明はすべて事実が記載されているのか。
→事実を記載するような開発者は悪いことはしない。

じゃぁ各アプリでの権限説明は必要か。
→Playにはこのように書いてある。
------------------------------------------------------------
■連絡先データの読み取り
タブレットに保存されているすべての連絡先(アドレス)データの読み取りをアプリに許可します。
この許可を悪意のあるアプリに利用されると、データが他人に送信される恐れがあります。
携帯端末に保存されているすべての連絡先(アドレス)データの読み取りをアプリに許可します。
この許可を悪意のあるアプリに利用されると、データが他人に送信される恐れがあります。(※)
■連絡先データの書き込み
タブレットに保存されている連絡先(アドレス)データの変更をアプリに許可します。
この許可を悪意のあるアプリに利用されると、連絡先データが消去または変更される恐れがあります。
携帯端末に保存されている連絡先(アドレス)データの変更をアプリに許可します。
この許可を悪意のあるアプリに利用されると、連絡先データが消去または変更される恐れがあります。
------------------------------------------------------------
ココまでしっかり書かれているんだから、各アプリでの説明は必要なし。
連絡先データの読み取り権限があるのに、連絡先を利用するような機能が有るか無いかの判断くらい出来るでしょ。

たとえば、どこにもそんな機能が見つからなかった場合は聞いてもいいと思うけど。

(※) 読み取りに「送信される恐れがあります。」って書いてあんじゃん。orz
この書き方がすべて悪いんじゃね?コレだけだと送信なんか出来ねーよ。

ちょっと話を戻して、「中途半端な知識をもう一度見直す機会」のところを(こんな偉そうな事言ったんだから)纏めてみると
・個人情報読み込まれても、外に送信出来る権限がなければ無害。
・個人情報の読み込みと、外部への送信権限を持ったアプリの場合、開発者を観察する。(信頼のおける開発者かどうか自分で判断する)

です。
まぁ、個人情報を見られてるって言うモヤモヤ感も分からんでもないけど、ぶーたれる前にちょっと考えた方が良いよね。

お勉強になったかな?

はい。
ではこれらを加味して、「透けテルっっ!!」は安全でしょうか、危険でしょうか。


せーーーのっ!


「安っ全っですっ!」

はいよく出来ました。
もうくだらないコメント書くんじゃぁありませんよっ。


一応、その他漏洩の可能性のある権限ね。
「SMS発信権限」:電話回線で情報を送信
「SDカード等への読み書き権限」:コレだけだと何も出来ない(出来る)けど、たとえば、アプリ2個用意して1個は抜いてSDに保存機能、もう1個はSDから読み込んで送る機能をつければ、1個ずつはあたかも安全風。
・・・・っていうか、悪いことやろうとすれば、「ぬけみち」なんざ幾らでもあるわい。書ききれんわい。
なーんも権限無くても、もともと端末に入っているブラウザ起動時のURLにパラメータつけるだけで送信できるし。

上の纏めが完全に意味の無い物にw

2012年7月11日水曜日

[WaitCancelHome]この前の対応じゃ足りなかったorz


ホームのページがTOPにならないんだ。
そういうことか。

ぜんぜん気づかなかった。
自分のホームがそもそも1画面だから、ページ移動まで見てなかった。

GalaxyS2の標準ホームではTOPに戻ること確認できました。
すいませんでした。

一緒にホームボタンも直しました。

アプリ未着手要望一覧


要望頂いた皆さん。
忘れてませんよ。

[SwipeStarter]
フォルダ内のアイコン移動。
フォルダのフチの色
マーカーの一括設定(太さ、起動距離、色、透明度)
マーカーごとの無効/有効
フォルダ一覧の並び替え
フォルダ5×5追加
ドロワーの初期表示設定

[FlipClip]
色変更
サイズ変更
履歴削除(全削除・編集)


ココに乗っている物に関しては、何とか全部かなえますよ。
だめっぽそうな物はその場でお断りしているつもりなんで。

ちなみに、着手順は僕の気持ちです。
すいません。
1個に長時間悩むより、簡単な物をパパッと片付けたほうが気持ちが楽なので。

2012年7月10日火曜日

[キーボーモニタ]うぇぇぇん。改修多いよぅ。


敢えて言おう、バグでないと。

前にも書いたけど、入力項目へのフォーカスでキーボードのON/OFFを判断しているから、フォーカスをバンバン変更するアプリとかの場合、ちょっとおかしな動きをします。
後、センスの無いカスタムビュー名の場合(ひどい言い方だけど・・)それが入力項目とすら認識できないみたい。
S「ピー」モード(一部自主規制)とかひでーよ。
本文入力ボックスなんて、長押しイベントも飛んでこない。
→あ、コレFlipClipの話。

有料アプリは金払えば対応できるけど(買わないけど、無料の奴から想像して対応する)、プリインアプリはどうやっても出来ない。

あぁぁぁっぁぁぁぁぁ、こんなアフターケアのめんどくさいアプリリリースしなければよかったZ
まぁ、でも少しでもSwipeStarterユーザに喜んでもらえれば。

そして、最近ぱったりだったSwipeStarterの改修要望が急にがんと来た。
会社の仕事もがんと来た。

やっぱり、会社が一番なので、ちょっと更新滞るかも。
へんな動作系は何とか即改修やってみるつもりです。

敢えて言おう、バグでないと。
そういうアプリであると。

と言ってみたい。

2012年7月5日木曜日

[キーボードON/OFFモニタ]どうしようもない問題発覚


タレコミから発覚しましたが、初期表示で表示されていない入力ボックスの場合、入力ボックス自体が消えます(汗)

なんでやというと、基本的な動作はこんな感じ。
①あるアプリを表示します。
②キーボーモニタで判断した入力項目にフォーカスがあたります。
③「キーボードが表示されたよー」というブロードキャストで、それを受信したアプリ(この場合SwipeStarterのマーカーOFF)が動きます。
④一回SwipeStarterに行って処理(マーカーOFF)をした後、あるアプリに処理が戻ってきます。
⑤あるアプリが"再"表示されます。

このような動作になっています。

注目すべきは⑤の再表示。
全部バックグラウンドでやってるんですが、そういうものらしい。
再表示される時には、初期状態に戻リマス。

初期状態に戻ります。

初期状態に戻ります。

初期状態に戻ります。

初期状態に戻ります。

初期表示で表示されていない入力ボックスが消えます。

ためしにIME版の奴(以前ボツった奴)で試したけど、同じ挙動。
がっかり。

仕方が無いので、指定画面にある入力ボックスはマーカーON/OFFのブロードキャストを投げないっていう対応にしました。
悔しい。

すいません。

もし、このアプリの入力ボックス出なくなった~とかいう問題があればご連絡ください。
個別対応します。

個別対応ばっかりだなぁ。
こんなアプリマーケットに上げてよかったのか。。。

[FlipClip]について


■名前について
何でFlip?って

イメージとしては、テレビでよく使われる「フリップ」と語呂から。
「お手元のフリップに書き込んでください!」→クリップボードに書き込み。
「それではフリップを前に出してください!」→貼り付け前の一覧。

似たような機能(?)だと、「Windowsのフリップ3D」みたいな。
Alt+TAbで履歴一覧表示。

でも「フリップ」だけだと「めくる」とか「はじく」「ぽいと投げる」「さっと動かす」みたいで、なんかぜんぜん違う意味っぽくなっちゃってw
しかも、「FlipClip」っていう動画共有サイト(もうなくなったみたいだけど)があったとか、、あぁぁぁ、ってなりましたが、でももうめんどくさいからいいやって感じですw

一応ちゃんと考えたんで許して。


■見た目について
もうちょっとかっこよく出来ないかなぁ。

■動作について
基本的には5秒間隔のクリップ機能と、それを表示するってだけです。
ただ、この5秒間隔ってのがね。
コレも仕方が無い。
Androidからクリップボードの中身が変更になったよ通知が来ないから、基本待機して監視し続けるしかない。
5秒ってのも、他のクリップボードアプリ見てたら大体こんな感じだったから、バッテリに優しくと使いやすさの良い感じのところがコレなんだろうと。

ただ、すぐ貼り付けたいこともあると思うので、FlipClip起動時にも最新チェック入れておきました。
コレなら、5秒待たなくても貼り付けられる。

もう少し改善します。

自分の理想としては、バーっと5件くらい連続コピーしても全部履歴に残ってるくらい。
なんか良い方法ないかなぁ。

■マーケットの質問について
FlipClip、クリップボード経由じゃないといけません。
入力ボックスに直接文字を送信できるのはキーボードアプリだけなので。
コレは、、たぶんどうやってもキレイな抜け道は無いかなぁ。


■設定画面について
SwipeStarterでちょっと懲りたので、設定画面を作らないっていう暴挙に出ていますw
まぁ、そのほうがシンプルでもあるし良いかなぁと。


■注意点
アクセシビリティサービス使っているから、死なないと思うけど、死んでたら、アクセシ・・のチェック付け直してくらさい。

2012年7月4日水曜日

[SwipeStarter]シンプル版のアップデートしなきゃ。


次のアップデートはこんな感じ

アニメーションを利用削除
検索ボタン長押しでマーカーON/OFF
マーカー設定中のマーカー表示
キーボードON/OFFのブロードキャスト受信
マーカー単位の振動設定
振動強さ変更

SwipeStarterの対応~バグ改修終わって、落ち着いたらこっちにもと思ってて、、忘れてたわけじゃないんです。
あんまり頻繁に更新しないようにと思って、優先度が落ちていってしまった(汗)

実装は終わってます。
テスト中です。

しばしおまちを。

[キーボードON/OFFモニタ][FlipClip]少しだけ自動判別ロジックを入れてみた。


今のところ個別対応した物(超少ないけど)から、誤動作しない範囲の自動判別ロジックを考えて入れてみた。
今までのに比べれば、だいぶ反応するようになったはず。

ただ、やっぱりフォーカス設定を自前でやってる奴(と勝手に想像)はイベントが複数飛んでしまうことがある。
コレに関しては、前後0.5ミリsecでイベントを纏めて、、云々かんぬん見たいな処理を入れたほうがいい気がしてきた。
→ちょっと、次はコレをやろう。

あと、TYPE_VIEW_FOCUSEDとTYPE_WINDOW_STATE_CHANGEDの飛び方もなんかよくわからん。
順序は決まっていないのかね。
でも、アプリによってだから、K.I.T.T.アプリ側に何らかの設定をした場合に発動するんだろうなぁ。
これ、早く見つけたいなぁ。

そもそも、入力項目が必要なアプリなんてそんなに作ったこと無いから、いろいろ勉強になった。

過去形w

まだまだ、直しますよ!


2012年7月3日火曜日

[キーボードON/OFFモニタ][FlipClip]入力項目の判断更新を自動化できないかなぁ。


入力項目の追加を勝手に学習していくようにして自動化出来ないかなぁと思ってやっているんだけど、いいアルゴリズムが思い浮かばない。
FlipClipのほうはいけるかなぁ。
→でもちょっとこっちは後回し。(イベントいっぱい取得する事になるから電池の持ちが悪くなるのは目に見えてる)

キーボーモニタのほうは、ちょっと複雑なんです。
結局、こっちが想定していない入力項目(と思わしき)が来た場合、内部に保存しておいて、次回からは反応するようにってするんだけど、一筋縄ではいかない。
フォーカスでしか判断できないし、抜けたことの判断(今はViewが変わった)の順番にも寄るんだけど、ただ追加していくだけでは無理。

いい例が、指摘もあったけどGooglePlayの検索窓。
あいつの場合、フォーカスが移った後に検索候補を出すんだけど、それが通知の変更に負けるorz
だから、フォーカスで変えると検索候補が出なくなっちゃう。
なので、テキストチェンジで変えてるんだけど、コレもあまり万能でない。
結構苦肉の策。
だから単純に追加って言うのが難しいのね。


あと、今感じているのは、アクセシビリティサービスのイベントが飛んでくる順番がちょっと微妙。

galaxys2のMMS
通常の場合)
07-03 12:17:16.484: DEBUG: Window state change:com.android.mms.ui.ConversationComposer dispkey:false
07-03 12:17:17.934: DEBUG: Focus change:android.widget.EditText dispkey:false
07-03 12:17:17.934: DEBUG: send キーボードが表示されたよ
07-03 12:17:18.464: DEBUG: Window state change:com.android.mms.ui.ConversationComposer dispkey:true
07-03 12:17:18.464: DEBUG: Focus change:android.widget.EditText dispkey:true

たまにおかしい)
07-03 11:57:36.224: DEBUG: Focus change:android.widget.EditText dispkey:false
07-03 11:57:36.229: DEBUG: send キーボードが表示されたよ
07-03 11:57:36.829: DEBUG: Window state change:com.android.mms.ui.ConversationComposer dispkey:true
07-03 11:57:36.829: DEBUG: send 画面が変わったからキーボード消えたはず。
07-03 11:57:36.829: DEBUG: Focus change:android.widget.EditText dispkey:false
07-03 11:57:36.829: DEBUG: send キーボードが表示されたよ
07-03 11:57:37.029: DEBUG: Window state change:com.android.mms.ui.ConversationComposer dispkey:true
07-03 11:57:37.029: DEBUG: Focus change:android.widget.EditText dispkey:true

画面変更とフォーカスチェンジの順番がちょっとおかしい時がある。
この場合、同一ミリsec(11:57:36.829)に2つブロードキャスト呼ばれているから、どっちかが無視されちゃう。
だから、消えない時もあるし、消える時もある。

でも、コレってココまで来るとどうしようもない。
イベント少し纏めようかなぁ。

あと、Viewが変わった事でマーカーONにしろって投げるんだけど、履歴から戻るような奴(?)に関してはView変更イベントが走らないので、「ホームまで行かないと戻らない」みたいな事になることがあります。
これ、今調査中というか、何も飛んでこないから動きようが無い。
どうしようかなぁ。

例)MMS表示してバックで戻っているところだけど、ホームに戻る前にウィンドウチェンジが来ない。
07-03 12:24:42.519: DEBUG: Window state change:com.android.mms.ui.ConversationComposer dispkey:false
07-03 12:24:44.854: DEBUG: Focus change:android.widget.EditText dispkey:false
07-03 12:24:44.854: DEBUG: send DISP TYPE_VIEW_FOCUSED
07-03 12:24:45.244: DEBUG: Window state change:com.android.mms.ui.ConversationComposer dispkey:true
07-03 12:24:45.244: DEBUG: Focus change:android.widget.EditText dispkey:true
  想定ではココにWindow state changeが来るはず
07-03 12:24:48.999: DEBUG: Window state change:sx4s9xdw.stoichome.StoicHomeActivity dispkey:true

[キーボードIN/OFFモニタ][FlipClip]やっぱちょっと甘かったかなぁ。


動かないアプリ結構あったみたい。
ごめんなさい。

マーケット上で謝れってw

(マーケットの履歴部分とかの最大文字数が少なすぎて書きたいことぜんぜん書けないんだよなぁ。ほんと難儀。)
 →コメントに対して返信が出来る機能が公になったら、いろいろめんどくさいかも知れないけど、こういうところでは役に立つな。

話ずれた。

いやー、本とすいません。
自分があまりアプリ入れてないから、すげーいけんジャン!!とか浮かれてたけど、甘かったみたいね。

っていうか、エディットテキストのカスタムビューなんてあまり使われていないと思っていたけど、意外と多いのね。
ぜひ、皆さんで使いやすいアプリを育てていきましょう(責任転化)!

あ、あと、内容的にはほぼ一緒なので、「キーボードIN/OFFモニタ」で報告受けた物に関しては「FlipClip」に随時反映させていきます。


うん。
あ、あと、いがいと反応が早くてびびった。
やっぱ、作ってよかった。

2012年7月2日月曜日

[FlipClip]作った!!!


クリボ、だせー。
アンインスコ推奨w

こっちでしょ。
今回のは僕の望む形のアプリが出来た。

まだデザインとかちゃんとしていないけど(いつもそうだけど。。)何とか使える形にはなった。
ぜひ。


FlipClip
https://play.google.com/store/apps/details?id=tora.mamma.flipclip




この機能を利用するには、端末の設定画面から「ユーザ補助」→「FlipClip」をチェックしてください。

自動的にテキストコピーを10件分保持します。

テキスト入力ボックスで長押し貼り付けをする際に、ダイアログと同時にクリップボード一覧が表示されます。

クリップボードを利用しない場合、そのまま貼り付けを押下してください。
クリップボードを利用する場合、クリップボード一覧をタップすると、現在の最新クリップをタップしたものに置き換えます。
そのまま貼り付けを行っていただければ選択した物が張り付くはずです。

有料版で定形文やマッシュルーム対応を検討中。


ちなみに・・・

以前のブログ記事と比較すると
・ステータスバー常駐型クリップボード 6手
・一般的なクリップボードをランチャー起動 6手 or 5手
・マッシュ 4手
・クリボ 5手

となっていたが、今回のは
①入力項目表示
②テキスト入力エリア長押し(貼り付けダイアログの上にオーバーレイでクリップボード一覧表示)
③クリップボードから内容選択(現在の最新に置き換え)
④ダイアログを押下で貼り付け

キタ!!!!!!
4手w

ぜひ、一度使ってみてください。

アクセシビリティサービス関連で、使えそうなものをアプリ化してみるメモ。


①キーボードON/OFFモニタ
 先のブログでも何度か取上げたけど、キーボードのON/OFFを擬似的に判断してブロードキャストを投げる。

②現在表示しているアプリ
 ウィンドウフォーカスが移ってきたアプリのパッケージ名とクラス名が取得できるから、今表示している~~を送信できる。
 ちょっとやってみた感じ、ウィンドウフォーカスが毎回必ず来てくれないみたい。
 →タイムラグあり。

③入力項目の長押しブロードキャスト
 使い道は、、、、無いかな。
 うーーーん。。。貼り付けダイアログの前にクリップボードアプリ表示すれば、、!!!
 えっえっえっ、これものっそい使えるんじゃ?
 貼り付ける物をクリップボードで選択してから貼り付ければ、先にやっておく必要ないんだよね。
 ちょっとコレまともに考えよう。
 毎回出てくるからキーボード変更したいときとかコピーの時とかは鬱陶しいかもね。
 それこそ、オーバーレイでダイアログの上と下に出せばいいか。
 上がコピーで下が定形文とか。
 おぉぉ。いいんじゃね?
 なんか、「クリボ」よりいいの出来そうな気がしてきた。

④指定の通知が来た場合ブロードキャスト
 いる。。。かな?

こんなもんか。
③思いついただけでも、メモした甲斐があった。
さて作りますかーっと。

[キーボードON/OFFモニタ]作った!


公開しました。
キーボードON/OFFモニタ
https://play.google.com/store/apps/details?id=tora.mamma.edittextmonitor

この機能を利用するには、端末の設定画面から「ユーザ補助」→「キーボードON/OFFモニタ」をチェックしてください。
警告メッセジ出るけど、何も悪い事していないのでお気軽にw

どういったアプリかというと、
現在のフォーカスがどこにあるかを判断して「擬似的に」キーボードのON/OFFを判断。
キーボードがONの場合、"open.android.intent.action.DISP_KEYBOARD"ブロードキャストを投げる。
キーボードがOFFになると、"open.android.intent.action.HIDE_KEYBOARD"を投げる。

それだけ。
なので、このアプリだけでは何の役にも立ちませんw

■利用想定
僕が作成しているSwipeStarterなんですが、ディスプレイの最前面にマーカーと呼んでいるタッチポイントが配置されます。
最前面にある事により、現在どんな画面を操作していようが好きなアプリを呼び出せるっていうアプリなんですが、鬱陶しい問題として、「常に」最前面にマーカーが配置されちゃう。
いわゆる「誤爆」ってやつ。

で、要望として多いのが、せめてキーボード表示時にはマーカーを消してくれっていうもの。
今まで、コレがどうしても出来なかった。
※Androidからコレを判断する情報が何も提供されていないから。

で、IME(キーボード)に仕組みを実装してみたりしてたんですけど、結果ボツ。
→自分が普段使っているIMEを替えることにはものすごく抵抗がある為。

なんか使えるのないかなぁと資料あさっていたところ、このアプリに行き着きました。
SwipeStarterユーザなら使ってみる価値はあると思います(自画自賛)。
ぜひ。

■注意点
このアプリを利用する上で、注意点が一個あります。
動かない奴があります。
その時は、マーケットのコメ欄かメールで反応しないアプリ名を教えてください。
個別対応します。

~何で動かない物があるか~
入力項目にフォーカスが当たっているかを判断する為に、フォーカスが当たっている「クラス名」というのを見て判断しています。
「クラス名」って言うのは項目の名前みたいな物で、入力項目だよーとかボタンだよーっていうのが分かる。
基本的にはAndroid標準の物を使えるんですが、開発者はその標準の奴を改造出来ます。
改造した際には、そいつに名前をつけます(つけなきゃいけない)。
たとえば「hoge.hoge.MyCustomView」。
それがクラス名になります。
こうなると、入力項目かどうかを判断できません。
入力項目で無いと判断されると、動きません。
コレが理由です。

その場合は、「hoge.hoge.MyCustomView」は入力項目だよって覚えさせる必要があります。
→「マーケットのコメ欄かメールで・・・」

■開発者向け
こんなインテント欲しい人はそうそういないと思いますが、もし利用したければまにふぇすとに以下追記とレシーバを作成してください。
もちろん、「キーボードON/OFFモニタ」が有効でないと飛んでこないのでお忘れなく。



    
        
        
     
        
    

public class YourReceiver extends BroadcastReceiver {

 @Override
 public void onReceive(Context context, Intent intent) {

  if ("open.android.intent.action.DISP_KEYBOARD".equals(intent.getAction())) {
   //キーボードが表示された時の処理
  }
  if ("open.android.intent.action.HIDE_KEYBOARD".equals(intent.getAction())) {
   //キーボードが隠れた時の処理
  }
 }
}

2012年6月29日金曜日

[キーボードON/OFFモニタ]試用運転中


これ、意外といい感じになってきた。
電池もそんなに喰わない。
DeepSleepもちゃんと入るし。

ただ、ネックなのは下の2点
①「擬似的に」キーボードのON/OFFを判断している
②Viewのクラス名しか取れない

あくまで「擬似的に」なので、バックボタン等でキーボードを消した場合の判断が出来ない。
ただコレに関しては今のところそんなに不都合とは思わないかなぁ。
OpenWnnに実装した奴のほうが精度がいい(もちろんだけど)から、気持ち比較してしまう。
でも、まぁ許せる範囲。

問題は、こっち。
「クラス名」しか取得できない。
まぁ、人様のアプリの中の独自クラスのオブジェクトなんて取れるわけないから仕方ないんだけど、このアプリは今のフォーカスが入力項目にあるかどうかを判断=キーボード表示中としているから、現フォーカスが入力項目かどうかの判断が必須になってくる。
android標準の入力項目(以下)で作成されているアプリは問題ないんだけど、カスタムビュー作っちゃってると判断できない。
・android.widget.EditText
・android.widget.MultiAutoCompleteTextView
・android.widget.AutoCompleteTextView
・android.webkit.WebTextView

今、自分の端末でカスタムビューが確認できているのは以下
・SPモードメール
・instagram
・facebook
・G+

自分があんまりアプリ入れてないから参考にならないかもだけど、よく使いそうな奴らは試してみた。
絵文字出したり、ユーザ名を補完したりとかやっているのはカスタムビュー率高い。

コレをどうするかだよなぁ。
もう割り切って、動かないのがあったらコメ欄にアプリ名書いてもらうっていう状態で公開しちゃおうかなぁ。

まぁ、自分が使っている分にはぜんぜん問題ないので、来週頭にでも公開してみる。

2012年6月27日水曜日

[SwipeStarter]キーボード表示/非表示時のブロードキャストについて


すごいの思いついたからためしに作ってみた。
今調べてみたけど、まだこういったアプリは無いはず。

今日以降、類似アプリがアップされたらパクリねw
オレが一番最初~!

EditTextをモニタしてEditTextにフォーカスが来た場合IMEが表示されているものとして、先のブログで定義したブロードキャストを投げるっていうもの。
アプリ自体は以下リンクにアップして有ります。
https://github.com/ToraMamma/EditTextMonitor

上記リンクからAPKダウンロードしてインストール後、「端末の設定画面」→「ユーザ補助」→「EditTextMonitor」をチェック。
人柱結果報告 or 改善要望ある方は、メールで報告してください。


簡単に言うと、アクセシビリティサービスのフィードバックを元にキーボードの表示/非表示を判断するっていうものなんだけど、問題がいくつか。

①フォーカスがあたった際のViewオブジェクトが名前しか取れないため、カスタムView使われると判定できない。
→もうちょっと調査。
Twiccaでばっちり動くことを確認。
SPモード動かないことを確認。
②たぶん、電池ものっそい食べる気がする。
→今日から1週間とか使ってみて改善予定。

常用に耐えうる値をたたき出したらば、マーケットにあげようかな。

今のところ、結構いい感じの動きしてるw
お試しアレ!

2012年6月25日月曜日

[SwipeStarter]ICSのハードウェアキー


一応直してリリースした。
お待たせしました。(Root化をサボってたツケが。。)

OSバージョンアップに伴ってプロセスの取得方法が変更になってたみたい。
一応、NEXUSで確認したけど、大丈夫かなぁ。

あ、あとちょっと遅いかも。
高速版のコマンドが動かなかったので保留した。

要望がくれば直す(自分がICSじゃないからって)

でも、ちょっとまた仕事が忙しくなってきたので眠りにつこうかな。
バグ対応はするけど。

ドロン。

2012年6月22日金曜日

[SwipeStarter]やっとGalaxyNexusのroot化完了


たし蟹、ハードキーイベントが実行できないですね。
って、、、、いろいろと見てたけど、ぜんぜん動き違う。

これって、サービスからsuのプロセスでinputコマンド実行してるだけなんだけど、それがうまく反映されない。。


これがGalaxy S2のログ

DEBUG/su(18373): 10132 tora.mamma.swipestart.HardKeyEvent executing 0 exec input keyevent 82
DEBUG/su(18373):  using shell /system/bin/sh : sh
INFO/SendKeyEvent(18376): 82
INFO/InputDispatcher(2751): Delivering key to current input target: action: 0, channel '40ecb958 sx4s9xdw.stoichome/sx4s9xdw.stoichome.StoicHomeActivity (server)'


こっちがNexusのログ

DEBUG/su(3063): 10065 tora.mamma.swipestart.HardKeyEvent executing 0 exec input keyevent 82
DEBUG/su(3063):  using shell /system/bin/sh : sh
INFO/Process(3050): Sending signal. PID: 3050 SIG: 9
INFO/ActivityManager(213): Process tora.mamma.swipestart.HardKeyEvent (pid 3050) has died.



えっっ!
自分に投げてる??

コレはプロセスの問題かな。
来週だな、来週。

やってるよアピールはこの辺にして今日は帰ります。
よい週末を!

[WailtcancelHome]ごめんなさい!バグがあった!


ごめんなさい。

ウェイトキャンセルホームにバグがありました。
マーケットのコメントに「完全じゃないけど・・・」的なのが多かったので、何のことを言っているんだろうと思ったんです。

先日タレコミいただきまして、状況把握。
※この対応じゃなかったらごめんだけどw

ホームアプリの機能を利用中にホームボタンを押しても機能しない。
例)ホームのドロワー表示中にホームボタンでホームに戻らない。



コレバグです。
アクションの設定忘れ。
ごめんなさい。

ホームアプリはストイックな奴を使ってるので、ぜんぜん気づかなかった。

コレでいい感じになるはず!?

報告でした。

2012年6月21日木曜日

[SwipeStarter]IME表示時のなんちゃら


IME作ったけどショボイからボツって言うの、欲しいって人が何人かいるみたいだから公開します。
マーケットに上げるほどでもないんでココに↓
https://github.com/ToraMamma/OpenWnnKai

えーーーーーっと、ままOpenWnnですw
IME部分は何も弄ってません。

最新のSwipeStarter V2.89(まだマーケット更新していないけど(汗))では、コレの確認が出来るはず。
→今日も端末を忘れて確認できない為、明日アップしようかな。

このIMEの場合、IMEが表示されればSwipeStarterがOFFになってIMEが非表示になればIMEがONになるって言う動作をします。

出来ればこの実装を各IME作成者さまさま方に入れてもらえると、とっても嬉しいんだけど、IMEの表示・非表示のたびにブロードキャスト投げるので、コレを悪用されると、とっても鬱陶しいアプリが出来上がってしまうから無理かなぁw
あ、、でもそもそもブロードキャストを悪用すれば既存のままでも十分鬱陶しいのできるか。


さておき。

すべてのIMEにコレが実装されることを祈って、ソースコード書いておきます。

public class OpenWnn extends InputMethodService {

 ~略~

 @Override
 public void onWindowShown() {

  Intent i = new Intent();
  i.setAction("open.android.intent.action.DISP_KEYBOARD");
  i.addCategory(Intent.CATEGORY_DEFAULT);
  sendBroadcast(i);

  super.onWindowShown();
 }

 @Override
 public void onWindowHidden() {

  Intent i = new Intent();
  i.setAction("open.android.intent.action.HIDE_KEYBOARD");
  i.addCategory(Intent.CATEGORY_DEFAULT);
  sendBroadcast(i);

  super.onWindowHidden();
 }
}

祈ってはみたものの、IME表示状態を取得する必要があるのってオーバレイ系アプリだけの気がするから、まぁ、実装はされないんだろうね。
っていうか、このブログの認知度ww

まぁ気が向いたら、上のOpenWnnちょっと弄ろうかなぁとも思うけど、やり始めたらキリがなさそうなのでたぶん放置すると思います。

2012年6月20日水曜日

[SwipeStarter]ちょっといろいろやってる


いろいろ実装したけど、ちょっと確認できる端末が無い為保留中。


確認用端末を家に忘れてくるという失態。
もうやだ。
すみません。

2012年6月19日火曜日

[SwipeStarter]IME表示時のマーカー制御


よく、キーボードを表示している時だけマーカーを消して欲しいっていう要望が来るんですけど、結果的に言えばコレは出来ません。
キーボード表示時とキーボード消去時のイベントが取れないから。

指定アプリのときはマーカーを動かなく(消すんじゃなく無効に)するっていう機能の延長でキーボード表示時をいろいろやってみたけど、結局ぱっとしなかったのでボツ。
→延長でって言うかIME制御やってる時に指定アプリを思いついたんですけど。

IMEアプリ作って表示時・消去時にサービスON/OFFっていうのを作ったけど、日本語の変換がしょぼすぎて使い物にならなかったのでボツ。
→SwipeStarterのマーカーON/OFFのためだけにショボイIMEを使う気になれなかった。

他のIMEを利用するって言う前提で、IME表示時にマーカーを消すって言うのは出来たけど、再表示が出来なくてボツ。

ボツボツボツボツ。

あーもう。
いやになる。

IME ON/OFF時のブロードキャスト用意してくれ。
オーバーレイ系アプリ以外、普段使い道無いんだろうけど。

っていうか、危険だね。
オーバーレイも十分危険だけどw

何がいいたいかというと、「オレだってIME表示時にマーカー消したいよ!!」って事。

以上。

2012年6月12日火曜日

ちょっと仕事忙しくなってきた。


Androidアプリもちょっと行き詰っちゃったし。
というわけではないんだけど、急に本職のほうのマイタスクが増えた。

アプリ開発に割ける時間が少なくなってしまう。

来週には、NEXUSをRoot化してハードキー何とかしようかな。
と目標だけ立ててみる。

自分の端末でやりたいことが概ね出来てきてしまったからモチベーション下がってるのかなぁ。
Androidに飽きてきたのかも知れない。

おもちゃ欲しくなってきたなぁ。
次はwindows Phoneか。

2012年6月7日木曜日

省電力について


省電力に関して言えば、意外と、本来有るべき「電池は使えば使っただけ減る」「使わなければ減らない」って言うところが出来ていない人が多いと思う。
→「設定が」とか「端末が」とかは有るにせよ、知らないところでバカスカ電力喰うアプリを何も考えず入れているって事。

「設定が」ってところは、
①Androidの設定のうち、電池を喰らう設定を把握する
②必要のない機能はOFFにする

これだけ。

「端末が」ってところは、
①端末の本来の力を知ること
 たとえば、携帯何台か持ってないと無理かもだけど、初期化状態(必要最低限のアプリ)で同期系すべて止めてドンだけもつのかを知る。
 その段階でガンガン減ってるなら、プリインアプリ疑う。
 まず、この状態で満足いくところを見つける。

この状態まできたら、スタートラインです。おめでとう!
①モック状態から自分が必要な機能を追加していく。
 メールとかね。
 1個づつね。
 そうすると、どこかのタイミングで急に待機電力が増えるアプリがあるわけ。
 ※待機ね、待機。動かしたら電池喰うのは当たり前なんだから。
 そういうアプリは設定を見直すかアンインストールする。
 こういうのってたぶんタスクキラー使ってもゾンビーみたいに生き返ってくるから、諦めたほうがいい(仮)。

スマフォってアプリをガンガン入れられるから、ドイツがボトルネックなのかが分かりにくい。
超めんどくさいけど、こうやって1から端末の状態を見直していくしかないんだよね。


と、めんどくさい方法から書いておきつつ、消費電力一覧アプリとか、CPU仕様率アプリだとかが、いっぱいあるからそれを使えばもっと早い。
今自分がやりたい事(省電力)の為のプロセスを理解してねって事。

中途半端な知識のお方に設定だけしてあげたら、その時は喜んで帰っていくけど、2~3日したらぶーぶー文句言ってくる。
設定見直すと、使わない同期ONになってたり、アプリアホみたいにインストールしてたり。。。

知らなかったじゃスマサネーヨ。教えたよ。知る気がないならガラケーに戻りなさい。
はい。愚痴りました。
※注意※コレを書きたかったわけではない。

ココまで自分の力でやると、「あっ、このアプリ入れたら電池消費激しくなった!」って分かるはずよ。
そういう人とは、うまい酒が飲めそうだ。

バッテリーの餅について


餅つき大会。

いろいろと書いておきながら、画像もないとアレなので、一応載せておこう。

昨日のお昼休みから充電はずして、今日の朝起きるまで通常通り利用。

端末は、こんな感じ。
Galaxy S2
・デフォロム
・カスタムカーネル

端末の設定は、こんな感じ。
・3G:常時OFF
・WIFI:常時ON(モバルー使いなので)
・GPS:常時OFF(自分の居場所を晒すような・・・決してやましいことがあるわけではない。)
・同期:自動同期ONでGoogleアカウント2つ(メール・カレンダー・電話帳)

携帯として必須なメールアプリは、こんな感じ。
・SPモード:docomoメールWifi受信
・デフォルトのGMAILアプリ:Gmail2アカウント分受信

利用内容は、こんな感じ。
・1時間に1回程度、数分間Twitterチェック
・Facebookもチェック
・電話かかってきた(お仕事系で2本ほど各数分間通話)
・帰宅前に帰るコール(SMS)数通のやり取り
・帰宅中RSS残件流し読み(10分くらい)
・1時くらいに就寝
・6時くらいに起床

Twitterとか確認しながら、「あっ!スクショ取るんだった!」とパシャリ。

それがこのスクショ。

うーん、緊急時を想定してあまり使わなかったけど、なかなかいいんじゃない。

2012年6月6日水曜日

[SwipeStarter]フォルダ内アイテムの並び替え


結論から言うと、行き詰った。
どこにどうコレを実装するんだという点で。

■どこに?
設定画面?
通常のフォルダ画面?

通常のフォルダ画面の場合、すでに長押しメニューあるから使えない。
となると、設定画面か。

設定画面で編集専用のフォルダを開かせるか。


って言うか、そもそもD&Dである必要があるのか?
そうとなればフォルダ画面から長押しに並び替え追加でいけるな。

※結局どうしようかまだ決まっていない。


■どう?
並びかえってどうしたほうがうれしいんだろう。
たとえば、

123456

の5を1と2の間に持っていった時次の2パターンが考えられる。

①入れ込みパターン
152346

②入れ替えパターン
153426

入れ込みパターンは個人的にはあんまりスキくないので、入れ替えパターンか。


設定なしパターン忘れてた。
①入れ込みパターン
1 2 3 4 5 6 設定なし 設定なし 設定なし
 ↓
1 3 4 5 6 設定なし 2 設定なし 設定なし


②入れ替えパターン
1 2 3 4 5 6 設定なし 設定なし 設定なし
 ↓
1 設定なし 3 4 5 6 設定なし 2 設定なし

でもやっぱり、一旦決めたアイコンは動かしたくないだろうから入れ替えパターンだよね。

※結局まだ悩んでる。


■ユースケースは?
並びかえってどういうときにやる?
①フォルダサイズを変更したとき
②設定してたアプリ削除した時(やらないか)
③気分

まぁ、考えられるのは①かなぁ。
フォルダサイズの横を替えると、増えた(減った)分だけずれちゃうからなぁ。
自分だったらこのときは並び替えしたいと思うかな。
たとえば、右上にカメラとか右下にメモとかからだが覚えてるからね。

となると、設定画面からでいいのか。

※どこにの問題再燃


■結論

冒頭の行き詰まりは解消されない。

もう少し悩んでみる。
UIの変更ってユーザには結構大きな問題のはずだから。

2012年6月5日火曜日

携帯電話について


いわゆるガラケー(昔はコレしかなかったからね)持ちながらiPhone使って、iPhone超便利ーってなったんだけど、このとき自分がものすごい設定マニアだという事に気づかされた。
普段仕事ではWindows使ってるんだけど、コレをいじくるのって設定マニアとかそういうことじゃなく、ただの便利さの追求みたいなものと思ってた。

iPhoneってものすごく便利だけどなんか自分色に染められないというか、限界があるというか。
もちろん牢屋は破ったけど、それでもなんだかしっくり来なかった。

その頃Xperia出て、「なんだこの使いにくいのは」ってなりつつも、設定が豊富で時間が経つのを忘れた。
いろんなアプリ入れて設定したなぁ。
でも、それに比例して既存アプリの不満点がバキバキに出てきた。

携帯電話に求める物って、人それぞれ違うと思うけど、自分の場合はこんな三本柱
①電波
②料金を安く
③電池のもち

電波に関してはどこも一緒ってわけじゃないからアレ。

料金は、ワイの最大限を駆使して頑張ってる。

電池のもちは、、、コレですよ。
すげー頑張ってるアプリはもちろん多いんだけど、自分が気に入ったアプリで省電力が出来ていないのがあると「ぎゃーーー」って言いたくなる。

コレが僕がAndroid開発を始めた理由です。

通勤でRSS関連とSNS関連。
他は大体消しちゃった。

ゲームもほとんどやらない(ゲーマーなのでちゃんとしたゲーム機でやる)し、音楽も別で聴いてる。

結構電池持つようになってきたと思う。
バッテリーロガーアプリで2日は持つ計算。

昔は、夜充電忘れて寝ちゃったら、朝電池切れなんてざらだったけど、今は切れたことない。
幸せ。

話しずれた。
ってか、何書こうとしてたか忘れた。

思い出すのもアレなので、これでやめた。

アプリのアイコンについて


仕事中に内職しているということもあって、おおっぴらに絵とか書いてられないんです。
なので、基本ペイントで手書き、もしくはフリーのアイコン拾ってきて加工見たいな事をしています。

もっと見た目がかっこいいアイコンとか出来たら良いなぁと思うんだけど、難しい。
透過が精一杯。

かといって、家でやる気も起きないしw
それに付随して、本当にずるいと思うけど、なるべく絵の無いアプリを作るように心がけていますw

一回家でちゃんと時間作ってビジュアルを重視したアプリ作ってみようかな。
たぶんやらないな。

知り合いのデザイナーにアイコン作ってくれよぉーとお願い中なんだけど。

あ、あと、いいわけみたいだけど、画像ファイルをぶち込むとアプリの容量でかくなるからね。
それはオレの画像の作り方がへたくそなだけかもしれないけどね。

今後はもう少し凝ったアイコンとか作るように頑張ろう。

※意外と「アイコンがダサくて~」とか「アイコンがイメージに合っていなくて~」とか言う意見があまり来ないので助かってます。

2012年6月4日月曜日

Androidアプリ開発について


Androidアプリを開発するにあたって、気をつけていることが3つあります。
①不便・不満を解消する
②省メモリ
③省電力

■不便・不満を解消する
コレが一番の開発開始理由になりますが、自分が携帯をいじくってて「あーもうココがこうだったらアレなのになぁ」ってところを解消するようなアプリを作ります。
コレが以外に厄介で、むやみやたらに開発を開始してしまうといわゆる「パクリアプリ」が出来てしまうからです。
なので、基本的には同一思想のアプリがすでに存在していないかを確認します。

存在していたら、それらのアプリを片っ端から試します。
常用に耐えうるアプリかどうかしっかり見極めます。

そんなこんなでもどうしても良い感じのアプリが存在しない場合、視点を変えてアプリを作成できないか検討します。
※コレも難しいところで、たとえば「SwipeStarter」がパクリだってひどいメールで罵倒された(即アーカイブしましたけど)ことがありますが、スワイプをパクリと認識されてしまうと某スワパより良いアプリって絶対出て来れないしねw

たとえば、ツイッタークライアント作るとした場合、今あるツイッターアプリ全部試すよ。
そのどれにも該当しない画期的ですばらしいアイデアが出たら自分で作る。
→実際には「今あるツイッターアプリ全部試すよ。」が無理に等しいので絶対僕は作らないと思いますw

こういうとき困るのが、機能としてはすごくすばらしいんだけど、省電力実装がショボイ場合。
困っちゃうよね。


■省メモリ
常駐するようなアプリを作成する際には、省メモリ化にものすごい力を入れます。
初代Xperiaちゃんで痛いほど実感したから。

都度起動のその場アプリの場合はOSに任せてます。
→手抜きとかじゃなくてそれが本来あるべき姿だから。(という言い訳)


■省電力
常駐するようなアプリを作成する際には、省電力にもものすごく力を入れます。
やっぱ、携帯(と名のつく物)なんだから、必要に迫られた時は、最低2日はNO充電ですごせるくらいじゃないと、使い物ならないよね。

もちろん、普段は常に充電ケーブルさしっぱなしw
いざという時の話ね。いざ。

じゃぁ何かって言うと、アプリ使えば(CPUが動けば)電池が減るのは当たり前なんだから、携帯を使っていない時は極力CPUが動かないように作るって事ね。

アプリの動作を知っていないと気に入らない性格のようで、常駐するようなアプリは大体手作りしちゃってる。
もちろん完全な「パクリアプリ」もあるので、公開して無いのもあるけど。


まぁ、こんなところに気をつけてアプリ作ってます。
ちょっとまじめに書いてしまった。

2012年6月1日金曜日

Androidアプリ開発における雑感


自分が作ったAndroidアプリが有名になって、いっぱいダウンロードされるのは嬉しいんだけど、いっぱいダウンロードされると、いっぱい要望が来る。
「あーそういう機能があると便利だよねー」って思うものは御知恵拝借で実装させてもらってるけど、そうでないのも多くなる。
だいたい2000ダウンロードを越えたあたりから酷くなってくる。

具体的にはアレだけど、まとめてココに書いちゃおう。
「お前の為に作ってるわけじゃない」
「少しは調べる・やってみるという事をした方が良い」
「外人は上から目線」
「広告料はすずめの涙」
「英語圏じゃないところから英語翻訳してメール送ってこられても、なんのこっちゃで読めない」
「オレ普通のサラリーマンだよ」

ふー少しはすっきりした。

このブログのページビュー程度なら愚痴ってもいいよねw

[クリボ]作った。



クリップボードアプリの「クリボ」「クリボフリー」を作った。
どんな物かというと、IME(キーボード)型のクリップボード。

そもそも、Androidの標準で貼り付けを選んだ際に、過去10件分の履歴出せよって話なんだけど、、、

いろんなクリップボードアプリ(ステータスバー常駐型とかマッシュルーム型とか)使ってきたけど、マッシュルーム型が本当に使いやすかった。
ただ、今の自分のデフォルトIMEがGoogle日本語入力なので、マッシュが使えない。。

そもそも、何でマッシュルームが便利だったかって言うと、マッシュルームから戻って「貼り付け」が自動だったから。

いろいろやってみたけど、なんかピンと来なかった。
そこで、作っちゃえと。

コンセプトとしては最低限のクリップボード機能があり、貼り付けがなるべく少ない手数で行えること。

考えました。

■ステータスバー常駐型クリップボード
①入力項目表示
②ステータスバー引き下げ
③常駐アプリ選択でクリップボード履歴アプリ起動
④クリップボード履歴アプリから貼り付けたいものを選択
⑤入力項目長押しでメニュー表示
⑥貼り付け選択

■一般的なクリップボードをランチャー起動
①入力項目表示
②ランチャーを起動
③ランチャーからクリップボード履歴アプリ起動
④クリップボード履歴アプリから貼り付けたいものを選択
⑤入力項目長押しでメニュー表示
⑥貼り付け選択

マッシュルームが使えないIMEだと、最低でも6手かかる。
※Swipe系ランチャなら1手減らせるか。

ちなみに、マッシュの場合
①入力項目表示
②IMEのマッシュルームボタンでマッシュルーム一覧表示
③一覧からクリップボード履歴マッシュ起動
④クリップボードから貼り付けたいものを選択すると、自動的に貼り付け

※クリップ用のマッシュ1個だけにすれば1手減らせるね。

すばらしい。

さて、ではどうやって手数を減らすか。

ネックは入力項目長押しで貼り付けで2手。
コレを解消する方法はIMEアプリしかない。
→入力項目への文字入力はIMEアプリでしか出来ない。絶対。

まずは、マーケットに、こんなアプリがすでにないかをチェック。
無い。
あーあ。やっぱ作るしかないか。。。

じゃ、IMEアプリ作っかいうことで作成開始。
■ベスト
①入力項目表示
②入力項目長押しで貼り付けを選択
③クリップボード履歴一覧表示
④選択した物を自動的に貼り付け

貼り付けメニューの中身は弄れない(事も無いけど)からボツ


■手数(想定)
①入力項目表示
②入力項目長押しでメニュー表示
③入力切替を選択
④「クリボ」選択
⑤貼り付けたいものを選択すると自動的に貼り付け

くっそあと1手。。。
まぁでも出来そうだ。

---- 作業中 ----

出来ました。
っていう経緯。

よかったら使ってみてね。

[クリボフリー]
https://play.google.com/store/apps/details?id=tora.mamma.clipboardime.free

[クリボ] 100円
https://play.google.com/store/apps/details?id=tora.mamma.clipboardime

有料版では、クリップボード履歴の他、定形文とマッシュルーム起動が追加されています。

2012年5月30日水曜日

[SwipeStarter]アプリ一覧キャッシュが壊れる


アプリ一覧キャッシュは、端末にアプリがインストール、削除、更新されたという情報を受け取って自動で更新しています。
コレが、たまにおかしな動きをするみたいです。

たぶん、キャッシュ更新のサービスが同時に複数依頼されて、てんやわんやでごっちゃごちゃになってるんだと思います。

アプリキャッシュが最新でないと文句言われるし、かといって自動更新失敗(バグではなく)しても文句言われるし。。
おっと、失礼。

一覧系がおかしかったら、設定画面からキャッシュクリアしてください。

[SwipeStarter]マーカー再構築について


SwipeStarterでは、いくつかの場合マーカーの再構築を行います。
※無駄に処理をしているわけではなく、必要最低限で実行しています。

■端末からの回転要求を受け取った場合
端末が回転した場合、縦横のサイズが変わるのでマーカー再構築を行います。

■マーカーON/OFF
マーカーがON/OFFする際には再構築を行っています。

■設定画面にて設定変更
最新の設定を反映する為にマーカーの再構築を行っています。

これらのマーカー再構築要求が瞬間的に大量に来た場合、正しい順序で再構築が行われない可能性があります。
※必ず発生するわけではなく、端末の処理状況などの端末要因が影響します。
例)端末を横にしながらマーカーOFF
 本来であれば、「マーカーが横状態に再構築された後マーカーがOFF」されるはずだが、端末からのアクションが逆に送信されてきた場合、「マーカーをOFFにしたが端末横状態でマーカー再構築」という結果になる。

このとき、マーカーがOFFになるべきなのに、マーカーが横状態でONになってしまう。

※コレを端末依存問題とするのはとても癪ですが、プログラムは指示されたとおりにしか動けない(バグを除く)ので、端末の問題と書いておく。

もし、このような状況が頻発するようであれば、マーカー再構築をなるべく行わないような設定にすることをお勧めします。
※別にあなたの端末がしょぼいから処理追いついてナインだよ!といっているわけではない。

[SwipeStarter]マーカーの反応が鈍い


■ホームボタン押下直後の場合
Androidはホームボタン押下後のサービス(Swipestarterも該当)からの、アプリ連続起動が制限されています。
具体的には3~5秒の待機。

おそらく、裏で無限にアプリ起動とか言ういやらしいアプリ作られたとしても、耐えられるようにだと思うけど。

コレに関してはAndroidの仕様なので仕方がありません。
この待機を回避する為に私のほうでホームアプリを作成しています。
[WaitCancelHome]
https://play.google.com/store/apps/details?id=tora.mamma.waitcancelhome

このホームを中継することで、待機をキャンセルして実行できるようにして有ります。

2012年5月28日月曜日

アプリ開発について


基本的には自分が「不便だなぁ」と思ったことを解消する為に開発しています。

幸か不幸か、多くの方から改善案や要望をたくさん戴いています。
こちらについては、内容が僕の想いに沿っていれば、なるべく実装していこうと思っています。
一応、どうしても譲れない一線が存在してしまうので、その点についてはご容赦ください。

比較的簡単に実装できそうなところから手をつける悪い癖があります。

手厚いサポートを心がけていますが、表面上だけの可能性があります。にんげんだもの。

一応、本職の合間で開発しているので、不定期更新。
暇な時と忙しい時の差が激しいです。

外見は変わってないけど中身を美しくっていう改修が大好きです。

[SwipeStarter]有料アプリのお試しについて


マーカー1とマーカー2で有料アプリをお試し利用可能です。
じっくり試してから購入してください。
現状、アプリ内課金ではGoogleの仕様でキャンセル処理はありません。

※キャンセルできないからお試しマーカーつけているので有効活用してください^^

[SwipeStarter]無効アプリについて


無効アプリの判定は、現在起動中のアプリの先頭が前面で動いているかどうかで判断しています。
そのため、電話などのシステムアプリなどで正常に動かない場合がありますのでご了承ください。

[SwipeStarter]要Rootアクションについて


要Rootアクション(ハードウェアキー・スクリーンショット)は、すべてのマーカーで利用できるようにしました。
その代わり、機種依存のバグ改修とか要望ちょっと後回しにさせてください。

[SwipeStarter]アプリ一覧について


SwipeStarter内部で利用しているアプリ一覧(ドロワーや起動アプリ選択など)の読み込みには、表示高速化のため内部キャッシュを利用しています。
このキャッシュは端末へのアプリインストール・アンインストール・アプリ更新などを受信し常に最新の状態をキープするように作っています。
ただ、お使いの端末の状況により、処理が失敗する場合があります。
その場合、一覧が中途半端な状態で表示されたりします。

その場合は、「アプリ設定」タブの「開発設定」欄にある「アプリリストキャッシュのクリア」を実行してください。
次回一覧にアクセスした際に「loading」ダイアログが出てキャッシュを再構築します。

[SwipeStarter]ウィジェットについて


ウィジェットは表示方法に2種類あります。

①マーカーに指定されたウィジェットを1ページに表示
設定画面のチェックをつけない状態
SwipeStarterの初期状態です。
中心に設定されたウィジェットが表示されます。

※位置の移動やサイズ変更は出来ません。


②複数マーカーに設定されたウィジェットをすべて1ページに表示
指定した分だけのウィジェットをすべて1ページに表示します。
この場合のみ、位置の移動やウィジェットサイズの変更が出来ます。

※マーカーの小さい数字の順番に読み込むので大きいサイズのウィジェットは最初のほうに設定してください。
でないと小さいウィジェットの上に表示されて小さいウィジェットが隠れてしまいます。

※複数マーカーの場合、先頭に読み込まれるウィジェット以外はマーカーをOFFにしていても、自動的に読み込みます。