Hatena::ブログ(Diary)

yagutaの日記 このページをアンテナに追加 RSSフィード

プロフィール

yaguta

dev.yutaka@gmail dot com

2010-11-13 アプリ関連の情報のまとめ先を変更しました

アプリ関連の情報のまとめ先を変更しました

| 23:50 | アプリ関連の情報のまとめ先を変更しましたを含むブックマーク アプリ関連の情報のまとめ先を変更しましたのブックマークコメント

domo Todo, Textforce, Quickclipなど、拙作の iPhone/iPadアプリの情報は今後は http://domoapps.wordpress.com/ にまとめていきます。

よろしくお願いします。

トラックバック - http://d.hatena.ne.jp/yaguta/20101113

2010-10-24

Textforce Ver1.0をリリースしました

| 21:57 |  Textforce Ver1.0をリリースしましたを含むブックマーク  Textforce Ver1.0をリリースしましたのブックマークコメント

Dropbox, ATOK Padと連携するテキストエディタ、Textforceをリリースしました。


アプリの詳細な機能、使い方についてはマニュアルをどうぞ。

ダウンロードはこちらから:Textforce


Textforceの開発にあたって何人かの方にご協力いただきました。アイコンなどのグラフィックスデザインは domo Todo+に引き続き、Ho_lyさんに協力していただきました。Ho_lyさん、ありがとうございました。また、ベータ版を試してみていただいてご意見・フィードバックをいただいた皆さん、ありがとうございました。


アプリの特徴や開発裏話について、hiro45jpさんが記事を書いてくれています。hiro45jpさん作の Safariと Textforceを連携できるBookmarkletも公開していただいています。

http://iphone-diary.com/?p=7923


記事中にもありますが、hiro45jpさんには仕様面でさまざまなアドバイスを頂きました。ATOK連携にしても Bookmarklet連携にしても彼とのやり取りからできた機能です。ATOK Pad連携を 1タップで起動できるようにするなど、利用者の視点で使いやすくなる方向に誘導してくれました。

アプリの開発に集中しているとどうしても利用者の立場を忘れがちです。そこを hiro45jpさんが上手に補正してくれました。それも単に使いやすくするにはどうしたらいいかだけでなく、アプリ開発者の側に歩み寄ってアプリとしてのコンセプトや柔軟性まで考慮してくれながら。。アプリ利用者の立場とアプリ開発者の立場と両方を理解されている彼だからこそできたことですね。

それにしても、hiro45jpさんとのやり取りの過程はエキサイティングでした。オンラインで、しかも真夜中のやり取りにも関わらず、交わしたアイデアがコードとなって動いていく。。目の前にはいないのに、一緒にモノづくりしている感覚がある、本当に楽しい時間でした。hiro45jpさん、ラブ!


最後に次バージョンについてです。次はディレクトリ作成、リネームを優先して実装する計画です。少しずつですが、継続的に、改善・改良していければと思います。

kenken 2010/10/27 16:21 マニュアルのページを見ましたけれど、
このアプリ、タイトル検索や複数ファイルの全文検索などはできないのでしょうか?
また、無いとしたら、今後、実装する予定はあるでしょうか?

yagutayaguta 2010/10/27 22:05 将来バージョンでの対応を検討しています。よろしくお願いします。

tostos 2010/10/28 20:42 一覧に表示されるファイルは「ファイル拡張子」の設定で制限されますが、このような制限を掛けずに、任意の名前のファイルを一覧に出す方法はありませんか?

Dropbox に置いた Makefile を開きたかったのですが、拡張子が「無し」というのは登録できないようで・・・

yagutayaguta 2010/10/30 16:56 すべてのファイルを表示させると画像や動画など扱えないファイルまで表示されるため、設定で追加するようにしています。
拡張子なしのファイルについては表示できるような設定を考えてみます。

tostos 2010/11/13 20:26 アップデートして、拡張子無しのファイルも開けるようになりました。対応して頂いて、ありがとう御座います。

トラックバック - http://d.hatena.ne.jp/yaguta/20101024

2010-07-22

domo Todo+ Ver.4.1 Retinaディスプレイ対応

| 22:30 | domo Todo+ Ver.4.1 Retinaディスプレイ対応を含むブックマーク domo Todo+ Ver.4.1 Retinaディスプレイ対応のブックマークコメント

domo Todo+ Ver.4.1をリリース

domo Todo+ のダウンロードはこちらから

Retinaディスプレイ に対応した Ver.4.1をリリースしました。この他にいくつかのバグフィックスをしています。


注意: 一部のアイコンデータの位置が中心からずれて表示される場合があります。次回のバージョンアップで調整する予定です。


関連情報

domo Todo+ のダウンロードはこちらから

紹介記事

マニュアル

Tips

iPhone BBS: domo Todo+ スレッド

利用者アンケート

たろうたろう 2010/08/09 20:50 こんにちは。
domo todo 使用させてもらってます。
とっても便利です。
ipadも使用しているので、ipad版のリリースを期待しています。
その予定はありますか?

biostbiost 2010/09/21 19:04 こんにちは。
domo todo+便利に使わせていただいています。
ありがとうございます。
私はcalengooも使っていて、calengooでは標準カレンダーのデータを表示することができ、追記や削除もできます。標準カレンダーのデータを使うことで、Pushでgoogleカレンダー同期ができます。
domo todo+も同様にできれば素晴らしいと思っています。
開発の参考にしていただければと思い、コメントいたしました。
失礼しました。

yagutayaguta 2010/09/21 20:41 たろうさん、回答が遅くなりすみません。見落としていました。iPad対応は今のところ予定していません。期限なしタスクをiPhoneとiPad間で同期出来ないなどの理由からです。

biostさん、ご利用ありがとうございます。標準カレンダーとGoogleカレンダーの同期でできないでしょうか。

biostbiost 2010/10/05 18:14 すいません。
私の説明が足りなかったのかもしれません。
標準カレンダーとGoogleカレンダーは常にPushで同期されているので、calengooからは標準カレンダーのデータを書き換えるだけで、同期操作をせずともGoogleカレンダーと同期できます。
これがdomo todo+でもできるといいなぁと思っています。

yagutayaguta 2010/10/05 18:21 アプリを起動しなくても常に自動的に同期する様な処理はベンダーアプリには許されていません。標準アプリだからこそ可能な機能になります。

biostbiost 2010/10/05 18:44 はい。calengooはGoogleカレンダーと直接同期しているわけではなく、標準カレンダーのデータを表示して、編集できるようなのです。

yagutayaguta 2010/10/05 18:51 それはpushで同期しているわけではなく、アプリ実行時に標準カレンダーのデータにアクセスしてるという話ですよね。
オフラインでも最新データにアクセスできるという意味で、要望されていると解釈しました。
残念ですが、今のところその機能の実装予定はありません。

biostbiost 2010/10/05 18:57 そうです。
つたない説明でご迷惑をおかけしました。
回答ありがとうございました。

yagutayaguta 2010/10/05 19:01 こちらこそ十分に理解できず、お手数おかけしました。
また何かありましたらよろしくお願いします。

トラックバック - http://d.hatena.ne.jp/yaguta/20100722

2010-06-24

iOS4 アプリケーションの状態遷移

| 23:21 |  iOS4 アプリケーションの状態遷移を含むブックマーク  iOS4 アプリケーションの状態遷移のブックマークコメント

※7/1: キーとなる状態と遷移の説明を追記しました。


iOS4 からアプリケーションマルチタスク動作が可能になりました。これに伴い、iOS4 ではアプリケーションに新しい状態やイベントが追加されています。ここでは、iPhoneAppProgrammingGuide 4.0 2010-06-04 版 [1] を元にして、新しいアプリケーションの状態遷移をまとめてみます。(まだ、理解しきれていない部分もありますが、自分の理解のまとめという意味でひとまず)


注意:ここで言うアプリケーションの「状態」とは、UIApplicationStateが表す状態や、[1] の P29 Table 2-3にある Application statesとイコールではありません。Launchingや Terminating、Active, Inactive状態のスーパー状態としての Foreground状態など、iOS4で追加されたイベントや仕様を理解しやすくなるように拡張したものです。


f:id:yaguta:20100624231054p:image

図1 iOS4アプリケーションの状態遷移


図1は iOS4アプリケーションの状態遷移を表しています。図は UMLで記載しています。遷移アクションの willXXX, entryアクションおよび exitアクションの didXXXは UIApplicationDelegate で定義される delegateメソッドです。アプリケーションはこれらの delegateメソッドを定義することで状態の変化を検知できます。


以下は状態の一覧です。

State概要
Launchingアプリケーションの起動状態。初回の起動後は Foreground状態に遷移する。VoIPのようにバックグラウンド処理のために iOSから起動された場合は Background状態に遷移する。
Active画面のタッチイベントなどユーザ操作を受信し処理可能な状態
Inactive着信やSMS受信などシステムからの割り込みがあるとこの状態に遷移する。アプリケーションは動作可能だがタッチイベントなどの受信はできない。
Executingバックグランドタスクを実行している状態。タスクを完了すると Suspendedに遷移する。何もタスクがない場合は即座に Suspendedに遷移する。
Suspended休止状態。この状態のアプリは何も処理を行っていないが、アプリが使用しているメモリは保存されており、アプリ再起動すればすぐに復帰できる。ただし、システム全体のメモリが不足すると、事前通知なく自動的に killされる
Terminatingアプリケーションの終了状態。従来の iOS3のようにマルチタスク動作しない場合にのみこの状態に遷移する。

図のうち、Background状態と Background状態を出入りするイベントを取り除くと従来の iOS3におけるアプリケーションの状態遷移になります。つまり、Background状態とそれに関連する状態遷移がマルチタスク動作のキーということになります。次にこれらキーポイントについて見ていきます。


Foreground状態から Background状態へ

iOS3においては Foreground状態からの遷移とはアプリケーションの終了を意味します。この場合、アプリケーションは図1 の Terminating状態に遷移し、一般的なアプリケーションは willTerminateアクションにより終了を検知し、データ保存などの後処理を行ないます。

iOS4においてマルチタスクに対応したアプリケーションは、Foreground状態から Background状態に遷移します。この場合、willTerminateメッセージが通知されることはありません。willTerminateで行っていた後処理は、didEnterBackgroundアクションのようなSuspended状態に遷移するよりも前のタイミングで処理します。Suspended状態に遷移するとアプリケーションは一切の処理を実行できなくなり、メモリ不足になると通知されることなくアプリケーションが終了してしまうためです。


Background状態から Foreground状態へ

アプリケーションが利用するメモリや UIオブジェクトBackground状態である間も保持されます。このため、単純に元の Foreground状態に戻すだけであれば、アプリケーションは何もする必要がありません。画面やメモリは Background状態に移行する前のものにそのまま復元されます。

しかし、多くのアプリケーションにとってはこのような単純な復元では不十分です。アプリケーションBackground状態である間に、iOSシステムやユーザの設定、クラウドサービスの状態は刻々と変化します。たとえば、多言語対応したアプリケーションであれば Foreground状態に復帰したタイミングで言語環境の設定が変更されていないかを監視し新しい言語で画面をアップデートすべきです。位置情報を利用するアプリケーションクラウドサービスのクライアントアプリケーションも同様に、最新の状態に追従することを求められるでしょう。


Background状態のサブ状態とバックグラウンド処理

Background状態では、まずバックグラウンド処理を実行する Executing状態となり、処理が完了すると Suspended状態に遷移します。バックグラウンド処理が何もなければすぐに Suspended状態に遷移します。

バックグラウンド処理を行うには、バックグラウンド処理の開始と終了をアプリケーションからシステムに明示的に宣言する必要があります。この宣言がないと、何か実行中の処理があったとしても強制的に Suspended状態に移行されてしまいます。beginBackgroundTaskWithExpirationHandler:メッセージがバックグラウンド処理の開始を、endBackgroundTask:メッセージが終了を表します(メソッドの詳細は Programming Guideを参照)。iOSではバッテリー消費や CPU負荷を軽減するため、バックグラウンド処理可能な時間には、10分という制約があります。endBackgroundTask:メッセージがなくても、この規定時間を超えたアプリケーションは例外ハンドラがコールされたあと Suspended状態に移行します。(強制終了される?)


以上、iOS4におけるアプリケーション状態遷移のまとめでした。

2010-06-22

domo Todo+ Ver.4.0 iOS4対応

| 21:31 | domo Todo+ Ver.4.0 iOS4対応を含むブックマーク domo Todo+ Ver.4.0 iOS4対応のブックマークコメント

domo Todo+ Ver.4.0をリリース

domo Todo+ のダウンロードはこちらから

iOS4 に対応した Ver.4.0をリリースしました。マルチタスクの他にも iOS4で追加されたローカル通知機能に対応しています。


以下が新機能の一覧です。

1. 高速アプリ切替

2. バックグラウンド同期

3. アイコンバッジの自動更新

4. 残タスク数を毎日リマインド通知

5. タスクのリマインダー設定にローカル通知を追加


1. iOS4から追加された機能で、アプリ間の切り替えやアプリの再立ち上げが高速になります。iPhone 3GS以降でのみ利用できる機能です。


2. Google Calendarとの同期処理をバックグラウンドで実行する機能です。同期中に別アプリに切り替えても、同期処理は中断されず継続されます。こちらもiPhone 3GS以降でのみ利用できる機能です。


3. domo Todo+のアイコンバッジは、期日切れ/今日が期日/soon設定されたタスクの数を表しています。この値は毎日自動更新します。iOS3までのプッシュ通知と違い、iPhoneオフラインでも更新できます。


4. 残タスクの数を毎日、指定した時刻に通知します。

f:id:yaguta:20100622212101j:image


リマインド機能はアプリ内の設定画面から設定できます。(設定項目は iOS4でのみ表示されます)

f:id:yaguta:20100622212102j:image


リマインド時間は 3種類設定できます。通知サウンドのオン/オフは、設定項目のSound Effectと連動します。

f:id:yaguta:20100622212103j:image


5. タスクごとのリマインダー設定にローカル通知を追加しました。従来は SMS/E-Mail/Alert(iPhone標準カレンダーのポップアップ通知)の三つのみでしたが、このバージョンから ローカル通知を選択できます。この機能は iOS4以降で有効です。


以上、Ver.4.0で追加した新機能の紹介でした。iOS4の仕様、制約などでいくつか制限事項などありますが、それらについては別途、紹介したいと思います。


関連情報

domo Todo+ のダウンロードはこちらから

紹介記事

マニュアル

Tips

iPhone BBS: domo Todo+ スレッド

利用者アンケート

トラックバック - http://d.hatena.ne.jp/yaguta/20100622