カテゴリー別アーカイブ: TODOアプリ

ToDo Nest の正式版をリリースしました

ブログの更新がご無沙汰していましたが、やっと ToDo Nest の正式版をリリースしました。
https://play.google.com/store/apps/details?id=link.ensoft.android.todo

HP はこんな感じになりました。
https://todonest.com/
todonest_hp

ヘッダ画像の枠内にある HOME と POLICY のボタンがスクロールすると上に固定されるようにしているのですが、どうやらスマホだとぎこちない動きになるようで、今度修正したいところです。

今回リリースするにあたり、国内のプレス配信は ドリームニュース、国外(というかアメリカだけですが)のプレス配信は ValuePress! に頼んでみました。ドリームニュースは「ブログ掲載オプション」とかいうのがあり、ゴールドプランの50ブログで申し込みしています。宣伝して頂いたブロガー様には深く感謝いたします。

Bookmark this on Delicious
Bookmark this on Digg
Pocket

複数の言語リソースを ToDo Nest β に追加しました

言語選択

言語選択


機械翻訳と独自の用語辞書を使用して60言語くらいの言語リソースを追加しました。言語リソースの機械翻訳は Google Translator Toolkit を使えば概ね実現出来ることなのですが、ファイル数が多いのと、機械翻訳のクセを回避する等でやりくりする反復作業の手間を考えると、Webで作業するより手元に翻訳用のプログラムがあった方がいいので、Google Translate API を使用したプログラムを作って翻訳を作成しています。

用語辞書を作成するに当たっては、言語の人口やスマートフォン普及率を加味して、13言語(日本語、英語を含む)くらいは手作業で調べて作成、それ以外は一応統一感はあるように自動で用語辞書を生成させています。用語辞書とはいっても、タスク、タグ、ファイルなどの機能名と、親タスク、サブタスク、それと、リリース後に追加予定の機能名くらいです。

実際のリリースはもうそんなに遅れないとは思うのですが……、なるべくはやくしたいのですが、6月中は無理そうな気がしているところです。

前回の記事はかなり前なので、あれから他に修正が入ったところとしては……表面上は細かいのが多いですが……テーマに赤ベースのものと、緑ベースのテーマを追加したのが……まぁ、わかりやすいです。それと言語変更と連動してサンプルデータを変更した言語に更新する機能も追加しています。

Light - R テーマ その1

Light – R テーマ その1

Light - R テーマ その2

Light – R テーマ その2


Light - G テーマ その1

Light – G テーマ その1

Light - G テーマ その2

Light – G テーマ その2


技術面では、Google Translate API のクセやバグデータについて、Google Translate API とストアと Android の言語コードの違いについて、どうやって用語辞書機能を実装したか、算用数字が異なる言語について、RTLについて等いろいろネタはあるのですが、一応一般向けの記事なのでここまでとします。

Bookmark this on Delicious
Bookmark this on Digg
Pocket

テンプレート機能(繰り返しタスク等)を ToDo Nest β に追加しました

今回追加したテンプレート機能で、初回リリース時のメイン機能が全て揃った形となります。正式版リリースまでには、データ移行用の機能を追加したり、HPを作ったり等の残作業があるため、正式版リリース時期はもう少し先となります。

前回アプリの記事を投稿したのは……3ヶ月前なので、あれからかなり修正が入っているのですが、大きな変更点を挙げると以下のようになります。
・テンプレート機能(繰り返しタスク等)を追加
・Android6対応(Doze のalarm対応、Runtime Permissions対応)
・RTL対応(アラビア語やヘブライ語などの右から左に記述する言語の対応)
・日付変更時刻(内部処理で当日の判定に使用)の設定を追加、24時間制以上の日時表示(30時間制等)に対応
・タグでの絞込検索でNOT条件を追加(長押しで選択)
・ファイルとタスクを関連付ける機能
etc…

こうやって挙げてみると当人としては、あれ、テンプレート機能以外はそんなに工数(時間)が掛かる機能じゃないような?という気もしたりしましたが、事務や創業融資の資料作成等で時間も掛かっていますし、念入りにチェックもしていますし、アプリで使用しているライブラリのバージョンアップはトラブルが伴うためかなり手間の掛かる作業ですし、開発環境ソフトのトラブルやサーバトラブルで時間を取られることもあったので妥当だと思います。

ちなみに RTL対応は前回のバージョンでは良く出来ていたのですが、ライブラリのバージョンアップ(Android Support Library v22.2 → v23.2.1)をした際に、フローティングラベル(TextInputLayout)の箇所が出来なくなってしまいました。外側の ViewGroup や TextInputLayout、EditText それぞれの設定値をやりくりしてみましたがどうにもならず、保留することにしています。やろうと思えば、動的にラベル(hint)を取得して、RTLかどうかでラベルの先頭に制御文字(‏)を付けたり外したりすれば良いとは思うのですが、そこまでコードを汚くしてまで対応するのは馬鹿馬鹿しいので、大人しくライブラリ側のバグが直るのを待つとします。というか、怪しいISSUEとその対応を見つけました。22.2.1 でどんな修正が……、こっちは 22.2 でRTL対応は出来ていたはずなのに。

それはそれとして、Neuro:On が昨日届きました。昨日はアプリのバージョンアップ作業で忙しかったのでセットアップはしていなかったのですが、今日から試しに使ってみる予定です。詳細は後日投稿します。

Bookmark this on Delicious
Bookmark this on Digg
Pocket

Android アプリ ToDo Nest βをリリースしました

前回の投稿がプレオープンベータだったのに、次の投稿でフェーズが変わってしまうのはちょっと面白みに欠ける感じではありますが、投稿がなかっただけでプレオープンベータ期間中もバージョンアップはしていましたのでご了承ください。

https://play.google.com/store/apps/details?id=link.ensoft.android.todo.beta

前回とURLを見比べると少し違いがあります。
前回のURLのディレクトリ構成が /apps/testing/ だったのに対して今回は /store/apps/ になっています。
つまり、今回はストア上では普通にリリースしたアプリとして扱われます。

前回のプレオープンベータから変わったところはかなりあるのですが、大きな変更点を挙げると以下のようになります。
・アニメーション関係の調整
・通知関係の調整
・完了タスク画面の追加
・作業時間記録機能の追加
・英語と中文(簡体)の言語を追加
・アプリアイコンの変更

アニメーションは綺麗に見えないものは廃止、もしくは改善させたりしています。そのため最初と比べるとかなり挙動が違います。

通知関係はスマートウォッチを活用できる方向性で調整しています。もしかしたらブログに書いていなかったかもしれませんが、moto 360 (2nd-gen じゃない方)は結構前に購入しています。

完了タスク画面は既に完了済みのタスクを参照できる画面です。ToDo・タスク管理系のアプリだと完了したタスクは参照出来ないアプリが割りと多いので、これは意外と大きなポイントとなります。

作業時間記録機能は、開始、一時停止または完了ボタンなどで時間を計測する機能です。計測した時間はタスク詳細画面と完了タスク画面で確認できます。一時停止や完了はスマートウォッチからでも行えます。通知に完了ボタンを表示する設定になっているアラームを使った際は、作業時間記録の開始もスマートウォッチから行えます。

それと表示言語を、日本語以外に英語と中文(簡体)を選択出来るようにしています。

アプリアイコンは発注したのが出来上がったので変更しています。
ついでにアプリページのトップ画像も変更しています。
オープンベータをリリースするに至るまでにアプリページも正式版リリースレベルに修正しています。↓こんな感じになっています。

ToDO Nest アプリページ

ToDO Nest アプリページ

ちみに英語の方がストアの「簡単な説明」に記述出来る文字幅(文字数は同じ)が少ないため、その分下にあるスクリーンショットを1画面内に入れることが出来たので、英語バージョンにしています。

Bookmark this on Delicious
Bookmark this on Digg
Pocket

Android アプリ ToDo Nest プレオープンベータを開始しました

いままで TODOアプリ(仮名) とか書いていたアプリを一般公開しました。
一般公開とはいっても、以下の URL からのみアクセス出来る形式となっています。

https://play.google.com/apps/testing/link.ensoft.android.todo.beta

特徴としては、深さに制限なくタスクへ親子関係や先行後続関係を設定出来ること、ドラッグ&ドロップ対応、タグ付け対応、テキスト入力は全て音声入力対応、通知(Notification) の詳細な設定が出来ることなどです。
ただし、わりと前衛的なアプリのため Android5 以降専用となっています。
とにかくスマートフォンでの使いやすさを重視して作っています。

このプレオープンベータの URL は検索にヒットしないので、拡散出来るなら拡散しちゃって頂けると助かります。
このBLOGじゃなくてプレオープンベータのURLの方ですのでそこのところ何卒よろしくお願いいたします。

なお、素材関係(アプリアイコン、アプリページの画像、等)は未発注で自分で適当に用意したものなので、少しクオリティは低いですが、今後変える予定でいます。
それと、プライバシーポリシーページが未作成ですが、そもそも現状はインターネット権限すら付いていないのでご安心ください。

ちなみに今後のリリースまでの作業は、以下のものを予定しています。
・完了タスク一覧画面追加
・各言語の文字列リソースの準備
・課金APIの検証及び実装
・オープンソースライセンス画面を追加
・タスクとファイルの関連付け機能を追加
・新しいアプリアイコン、アプリページ内画像の準備
・アプリHP作成、プライバシーポリシーページの作成
— 以降はオープンベータ
・バックアップとリストア機能を追加
・繰り返しタスク機能を追加
etc…

Bookmark this on Delicious
Bookmark this on Digg
Pocket

TODOアプリ(仮名)プレオープンベータについて、あとダークマテリアルテーマとか

通知関係は実装出来ているのですが、前回記事を投稿した段階では着手予定ではなかった機能に着手してしまったため、ちょっと遅れ気味です。
通知に音楽も指定で出来るようにしたのですが、その実装の際に、ファイル指定の実装をすることになったため、オープンベータではまだ公開する予定ではなかったファイルを取り込む機能(Evernote のようなイメージですが、暫くオフライン限定機能です)の実装を進めてしまったためです。

既に機能的には最低限は使えるレベルには達しており、公開したいところなのですが、アプリページのデザインなどの課題があります。
なので、オープンベータの前に、アプリページのデザインなどが出来ていない状況であることを理解して頂いた上で試用出来るフェーズとして、プレオープンベータを実施したいと考えています。

プレオープンベータは、Google Play での実際の立ち位置はオープンベータになります。
詳しく書いてもくどくなるだけなので、簡潔になにを伝えたいかというと、後日、プレオープンベータの URL を公開します。
その URL からアクセスした場合にのみインストール出来る予定です。

取り敢えず、今回作った通知関係で実際に設定する画面の画像を載せておきます。
ダークマテリアルテーマが影もしっかり表示されて、なかなか様になっていたので、ダークマテリアルを選択しておきました。

ダークマテリアルテーマ - 通知設定

ダークマテリアルテーマ – 通知設定

Android5 から追加になった、可視性(Visibility)、優先度(Priority)が設定出来るようになっています。
これらは OS 側が自由に解釈するので、優先度をどれに設定したらどういう動作に、可視性をどれに設定したらどういう動作になると断言は出来ないですが、現状自分が把握しているものでは、可視性は、public はロック画面にも表示、private はロック画面に通知だけ表示でテキストは非表示、secret はロック画面に非表示になります。
優先度を high にして、振動か音も用いるとヘッズアップ形式の通知になります。(いきなり画面の手前に表示します)
当然、スマートウォッチ(moto360, sony SmartWatch3 など)の表示にも関わってきます。

Bookmark this on Delicious
Bookmark this on Digg
Pocket

TODOアプリ(仮名)、クローズドベータ版を製作中です

製作中というか、既に Google Play には内輪向けに公開していて、少しずつ機能追加しているところです。
このアプリの最大の特徴は「無制限にタスクへ親子関係を設定出来る」です。
単純に設定出来るだけではなく、登録後の親子関係の再編成も容易に出来るようになっています。また、先行後続の関係も設定出来ます。
GTD(Getting Things Done) を意識し、ボトムアップ視点でタスクを閲覧する画面と、トップダウン視点でタスクを閲覧する画面、両方を用意しています。
タスクはドラッグ&ドロップで並び順を自由に移動できる上に、タグの組み合わせで絞込表示を柔軟に出来るスマートリストになっています。

売り切りタイプではなく、今後も機能拡張で成長させていく予定の一大プロジェクトのため、かなり入念に作りこんでいます。
OS側のフォントサイズ変更に対応、アプリ側の設定での言語切替対応、画面回転対応、テーマ切替対応(ライト系、ダーク系レベルで切替可能)などです。
なお、アプリ側の設定で言語切替するのは、コスト上の問題で翻訳を多くは用意出来ないためです。日時表示の書式はOS側の言語設定に合わせています。
動作確認では数万件のデータで確認し、ユーザが実用範囲内でどんなにタスクを追加しても、問題なく使える十分な性能を確保しています。

UIは当然マテリアルデザインです。
スナックバーからUNDOも実行出来るようになっています。

とまぁ、難易度が高い機能は概ね実装して出来上がってきてはいるのですが、最低限必要だと考えられる通知(アラーム、ノーティフィケーション)機能が未実装で、現在実装中です。
通知機能はかなり重要なところで、Android5 から仕様が変わり、優先度(Priority)や、可視性(Visibility)等が設定出来るようになっています。
Android5 では本体のボリュームボタンを押すと「なし, 重要, すべて」の項目が出てきますが(機種によってカスタマイズされているため異なる場合があります)、その設定で、通知の設定状態に応じて表示を制限させることが出来るようになったのです。また、制限されなかった通知に関してはスマートウォッチ(moto360, sony SmartWatch3 など)に表示することになります。
その機能を存分に扱えるようにアプリ側でもいろいろ設定出来るようにする予定です。

ただ、設定項目が単純に増えるだけでは、アプリでタスクを登録するたびにそれを設定していては面倒になるため、設定の纏まりをマスタ化させる予定です。
そのため、通知機能関係だけで6画面ほど作成する予定となっています。

オープンベータとして一般公開するにはまだ調整すべき箇所が残っており、通知機能追加と最低限の調整でのみで見積もっても1ヶ月近くかかかりそうなのですが……出来ればもう少し早くしたいところ(早くマネタイズを始めないと開発継続が厳しくなってくるので)。

Bookmark this on Delicious
Bookmark this on Digg
Pocket

アプリ開発状況などの近況報告

しばらくブログを更新していなかったので、アプリ開発状況をメインに近況報告します。

アプリの開発は進めていますが、新しい試みを取り入れるとそれに連鎖して様々な問題が出てきまして、その対応に結構な時間が掛かっており、目に見える進捗はあまり進んでいません。ただ実際には着実に進んでいます。

とくに時間が掛かったのは、一覧表示する画面での内部データの更新とDBの更新とUIの更新のタイミング制御で、内部データは LinkedList を使っていれば比較的簡単なのですが、全てオンメモリだと沢山の行データを扱うとパフォーマンスが悪くなるので、ページング処理を実装しているのですが、UI側で更新可能な点が中々面倒で、その対応にかなり掛かっていました。
それと、UIの更新タイミングによって、少し妙な動きをしていたため、その調査や対応に少し掛かっていたりしています。
ただ、それらを対応したおかげで、スムーズな動きのまま大量データを扱えるようになっています。

フローティングアクションボタンも配置するだけなら大したことないのですが……まぁいろいろ工夫しています。

あと、うかうかしていると貯金が予定していた資本金を割りそうなので、そろそろ会社を作る予定です。
1年間運営したときの必要な手続き等をいろいろ調べながら、取り敢えず印鑑は作ったので、来週は実際の手続きを始める予定でいます。

コーヒーはついに豆で購入して自分でミルで挽くスタイルに変更することにしました。
この間の豆は澤井珈琲のものでしたが、今回はhonu加藤珈琲店で購入しています。
ミルはコーヒー専用にカリタのセラミックミルC-90を購入しています。
保存容器も今回凝ってみまして、山善のフードパックという電動の真空保存用ポンプがかなり安くなっていたので購入しています。
これらは、以前買ったコーヒーがなくなり次第使う予定です。

Neuro:On もちょっと進展があったような感じで、実は5月13日にメールが届いていまして、Neuro:On Customer Portal という購入者専用のサイトが出来ています。
注文状況を表示していまして、5月13日から今までステータスは出荷要請中で変化はありません。
まだしばらくは届かなさそうです。

Bookmark this on Delicious
Bookmark this on Digg
Pocket

TODOアプリとマテリアルデザイン

todo_material

現在開発中のTODOアプリはマテリアルデザインを採用しています。
今回はマテリアルデザインに焦点を当てて、ユーザーインタフェース(UI)の説明をします。

マテリアルデザインとは、Goolgeが発表したデザインの種類の一種で、紙とインクから着想を得たフラットデザインの進化版のようなものです。紙は重ねあわせを表現する影を取り入れて、触るとインクが落ちたような波紋が広がります。
そこからさらに細かいレイアウトのサイズ指定や、いくつか推奨されるアニメーションが決められています。
シンプルでエキサイティングでモダンらしいです。
さらに詳しく知りたい方は Google の Material Guidelinesを読んでみてください。

ただ、極力ガイドラインに沿うようにしていますが、ユーザビリティを重視して若干外れたこともしています。
タスク内のタグ表示はガイドライン上の最低フォントサイズを下回りますし、左右のマージンもあまりありません。限られたスペースでユーザに必要な情報を表示するためです。
タスク1枚の高さは通常時はガイドラインに沿っていますが、タスク名が長い場合最大で2行表示するようにしています。この際サイズがガイドラインから若干外れます。
ですが Android の設定でフォントサイズを変えた場合の対応は出来ています。

各UIについて

アクションバー(上の青いバー)ですが、こちらはスクロールによって隠れます。
アクションバーが隠れるのと同じタイミングで、ナビゲーションバー(下の半透明のバー)も隠れるようにして、より多くのタスクを見渡せるよういしています。ステータスバー(一番上の時刻やバッテリー等があるバー)は重要な情報を表示しているため隠していません。
また、ナビゲーションドロワ(左から出て来る画面遷移のためのメニュー)を開く際に左上の三本線がくるっと回転して変形しています。ほぼ見えてませんが。

ナビゲーションドロワもメニューを触ると浮かび上がり、波紋のエフェクトが入ります。

右下のオレンジ色のボタンはフローティングアクションボタンといいます。
こちらも触ると浮かび上がり、波紋のエフェクトが入ります。

タスクの一覧表示は、こちらも触ると波紋のエフェクトが入りまが、実装上の都合で浮かび上がりません。
しかし、スワイプによって裏にあるファンクションボタンを表示することが出来たり、左端の●が4*3並んでいる領域を触れることでそのままドラッグを開始させて並び順を変更することが出来ます。

裏にあるファンクションボタンも触ると浮かび上がり、波紋のエフェクトが入ります。
ここでキャンセルかチェックのボタンをタップすると処理した後にスナックバー(処理後一時的にポップアップしてくる黒背景のメッセージを表示するボタン付きのバー)というものを表示します。
スナックバーには UNDO のボタンがあり、それをタップすることで直前の処理を実行前に戻すことが出来ます。

UIの説明は以上です。
まだレイアウトも完成とはいえませんし、モックデータにスタブプログラムです。
これから UNDO の処理や差分バックアップの実装を想定したフレームワークを検討してそれから実際の処理を実装していく予定です。
一度に全てを実装するのは予算の都合上で無理なので、最初のリリースではナビゲーションドロワにあるタスク、プロジェクト、ファイル、タグ、完了タスク、設定を優先して実装する予定です。

なお、動画は予定していた撮影方法(screenrecord)ではエミュレータ(スマホサイズ)で使えなかったため、急遽実機(タブレット(Nexus9))で撮影しています。
Xperia Z が Android5にバージョンアップを予定しているので、そのうちスマホサイズでも撮影できるようになりますが、まだ出来ません。

Bookmark this on Delicious
Bookmark this on Digg
Pocket