mootoh / milpon

an iPhone application for Remember the Milk.

milpon / TODO.txt
100644 285 lines (235 sloc) 11.692 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
2009-01-16
   UICoderz IRC での会話より。
   "独自UIを使うなら、その利点が明確でないと行けない"
 
2009-01-15
UI から、また手をつけていくといいんじゃないかな。
 
- Page Control の Navigation を違和感ないものにする in TaskVIew
- Overview を表示するのが遅い
- AddTaskView の整理
- quick add task
- sync 中にlist view をスクロールしても死なないように
- API call で sleep(1) してるのをやめて、より精密な時間管理をし、レスポンスを速くする
- 横スクロールで次の日のタスクを見る
* list view でも priority, due date を変えられるように
2009-01-15: won't fix: UIが複雑になるし。
- DB migration を自動化する
- task attribute を編集後に list view に戻るとソートが変
- design the ReviewView
- completed task をどう見せるか (Review)
- sync Lists modified on the web.
- activate URL button
- activate recurrence image
 
2008-11-26
+ TaskView の notes を UIPageControl を使って複数表示できるようにする
> 2008-11-26: done.
- 'edit bits' をつかい、'dirty field' を消す
 
2008-11-19
- ProgressView: progressが進行中に別スレッドから起動されたら、
進行中のスレッドを止めてから動かす
 
2008-11-03
+ AddTask View を table じゃなくする
2009-01-15: done.
 
2008-11-02
- use NSNumber instead of NSInteger
- API キーをどう隠すか
- base64 とかで encode しちゃえばいいんじゃね。
- XOR してしまうとか
 
2008-10-30
- NSString で int をラップしてるとこを、 NSNumber にする
 
2008-10-22
- auth にミスったときのメッセージがまちがってる。 (#7)
成功したときのものが表示されてしまってる。
! sync したあとに チェックボックスに入ってることがある (#9)
+ ConfigView に all reload を入れる
> 2008-10-24: 入れた
+ 要望をすぐメールできるようなフォームを仕込む (#10)
2009-01-15: メールを送るためのボタンをつけた
+ PendingTask も一覧に出す (#4)
> 2008-11-18: 入れた
+ かわいい牛 or ミルクのアイコンを募集する (#1)
2009-01-15: 2件きた。
- AutoReleasePool を活用してメモリ消費をへらす (#11)
- メモリ消費を計測する (#12)
+ チェックボックスがおかしくなる
スライドしたときに、チェックボックスの状態が reuse されてしまってる。
状態がオンメモリにあるオブジェクトのものを見ているからでは ?
> 2008-10-22 fixed: Cellのインスタンス変数をみていたからだった。
 
 
2008-10-22 最初に認証を出す画面の完成度を上げる
* back navigation button を消す
> 2008-10-22 fixed:
+ "Setting" というタイトルを変える
というかナビゲーションバーを隠したほうがよいか
> 2008-10-22: ナビゲーションバーはそのままで、タイトルを 'Setup' にした
+ ツールバーを隠す
> 2008-10-22 won't fix: 隠さずにいく。
+ xib ファイルを消す
> 2008-10-22 fixed: SettingViewController.xib を消した。
+ ボタンのタイトル、アクションを状態ごとに変える
> 2008-10-22 fixed: 細かくした。
 
 
2008-10-21
! too long to sync: (#13)
RTMSynchronizer::syncCompletedTasks で、もともと completed なタスクも
completedにしようとしてめちゃめちゃ時間がかかる。
dirtyフラグみたいなのを用意しといて、ローカルで編集があったものとそうでな
いものとを区別できるようにすべき。
# dirtyフラグを task テーブルにつけるんだったら、 (#14)
pending_task テーブルは不要になるか。
+ completeButton が小さすぎて押しづらい。
2008-10-22 fixed: 24x24 にした。
+ priority Bar は、UIView を addSubview するんじゃなくて、
なんか線を描画するだけにしたい。
> 2008-10-21: やってみた。あまり速くなってない?
+ drawInRect で、 selected な Cell の文字色がうまくセットできてない。
> 2008-10-22: ひとまず、selected な背景色をなしにしといた。
必要だったらあとで reopen する。
 
 
2008-10-20
+ DB table の completed は CHAR(24) じゃなくて Integer で OK
> 2008-10-22 won't fix: OKじゃない。RTMがもってるデータはCHAR(24)だった。
+ due date の表示が切れる
> 2008-10-20: fixed
! AddView と EditView を統合する (#15)
+ [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
としてるのにクルクルと表示されない。
> 2008-10-21: 実機だとOKだった。
+ authが終わってすぐに sync しようとしても auth が設定されていないためか、
sync されない。
> 2008-10-22 fixed: RTMAPI.setToken してOK
+ update ボタンが返ってこない
> 2008-10-22 dup: 2008-10-21 #1 の件だった。
 
 
2008-10-19
+ show build version (#16)
> 2008-11-14: OK
- DRY up RTMStorable:remove (#17)
SQL文のtableを parameter 化するだけでまとめられる。
- RTMStorable を protocol にする (#18)
defaultの実装とかあれだし。
+ locked List は Add のときに選べないようにする。Sent とか
> 2008-10-19: Sent だけ除外するようにした。
- 繰り返しの実装 (setRecurrence) (#19)
- MenuView の Cell にかわいいアイコンをつける (#20)
! sync, upload, addTask したあとに、View を redisplay する (#21)
> 2008-10-22: sync, upload のあとのは実装した。
+ Cell を選択状態のときにはtextを白抜きにする
> 2008-10-22 fixed: 選択状態を見せないようにした。
- ListView のときにも、task count がおかしくなる。 (#22)
Cell の view を update しないといけないのか。
+ task name のフォントサイズ、小さいとやっぱし見にくい。
> 2008-10-25: fixed.
- Smart List は sync しないでもよいか。(あとでやる) (#2)
+ Task List のスクロールが遅い。
> 2008-10-25: fixed.
- touch をつかって、スライドしたら complete ボタンがでるようにする (#23)
 
 
2008-10-18 mootoh
+ use loadView instead of drawRect
> 2008-10-20 won't fix: View なので drawRect を使う。
+ RootViewController を AppDelegate にくっつける
> 2008-10-20: done.
+ TableViewControllerをつかわない
datepickerにつかいたいから
> 2008-10-19: fixed.
+ loadView で [super loadView] すること
> 2008-10-20: done.
- AddTask で 入力中に submit すると crash する (#24)
- UserDefaults をつかって auth を get/set (#25)
- due date の選択は、[today, tomorrow, others] とかできるとよい。 (#26)
+ hide bottom bar
> 2008-10-18: RootViewController を導入し、
View hierarchy を整理することで対応した。
 
2008-10-17 mootoh
+ AppDelegate, AddTaskView を modal でつくるときに、
bottom bar を hide したいんだけどできてない。うまく効かない。
> 2008-10-18: できた。
 
 
2008-10-16 mootoh
+ AddTaskView
name, list を指定して upload できるようにはなった。:
まだ View にのっけていないものとして、
. tag (#28)
. note (#27)
がある。tagについてはすっぱり忘れていた。
 
 
2008-10-15 mootoh
+ Task last_sync
replaceTask のときは、ぜんぶを入れ替え直すので、last_sync は使わずに
getList するようにする。
ただし、getList が成功したあとの timestamp は 次の sync
で使うのでローカルにとっておく。
+ add Task
ローカルに add した Task は、 sync されるまでどうやって保持しておくべきか。
task_series や ID がないので、そのまま table にはいれづらい。
=> pending table をつくるという手がある。task, task_series をあわせもつような。
> 2008-10-21: pending_task table をつくった。
 
 
2008-10-12 mootoh
- exceptions (#30)
例外は投げずにエラーを使うようにしよう。
 
 
2008-10-12 mootoh
+ List View
スクロールすると、まちがった Cell がレンダリングされてしまう。
なぜ? drawRect がおかしいのか?
> 2008-10-21: fixed.
 
 
2008-10-12 mootoh
+ Auth
認証の画面は Safari 呼ばずに WebView を使えば、シームレスにつながる。
> 2008-10-21: done.
 
- Actinos:
ナビゲーションとして、何を用意すべきか。
 
. add
. setting (初回だけでよい?)
. sync (バックグラウンドで自動でやるからよい?)
. change sort order
 
これらを、どうボタンにして配置するか。
 
 
2008-10-10 mootoh
- RTMAPIAuth.m (#31)
callback はひとつにまとめられる。
単に値をとりだすだけのものならば。
 
+ task sync
offline 時に施した変更を、 bulk update するのに 'dirty' flag のようなものを
使うことを想定していた。
だけれど、同じエントリに対して name を変え、次に tag をつけ、といった具合に
複数の操作をされた場合にはどうしたらいいのだろう。
transaction queue のようなものを持てばよいんだろうけど、ちょっと大袈裟だ。
最初のリリースでは、オフライン操作としてできることを絞っていればよいか。
2009-01-15: edit_bits で解決することに。
 
2008-10-07 mootoh
- RTMTask
aux な情報は常に持たなくても、必要に応じて DB から
取り出してくるようにしてもよい。
 
Web API から取れる情報すべてを Model クラスのフィールド
として持つ必要はないということだ。
DBには入れてもよいけど (入れなくてもよいけど)、
メモリの節約という意味では、そのとき必要なもの以外は
メモリに展開しない戦略の方がよいはず。
 
そうなると、場面場面で必要となる情報はなにか、ということを
ちゃんと洗いだすのが大事になってくる。
 
 
2008-10-07 mootoh
+ RTMAuth
DBでエラーが起こったときに、例外を投げるようにした。
呼び出し側でハンドルする必要あり。
> 2008-10-12 dup 例外は極力つかわないように。
 
+ RTMList
taskCount は、SQL の count() をつかえるし、
task_series ではなく task をつかうべき。
>: つかうようにした。
 
 
2008-10-05 mootoh
+ なぜ、 ViewController initWithStyle が呼ばれないのか?
> 2008-10-22: nib ファイルをつかってたから。:
+ TabController と NavigationController とのつなぎかたが
まだ完全に理解できていない
> 2008-10-22 wont fix: TabController は使わないことに。
 
 
2008-10-04 mootoh
+ care about offline HTTP request. (#32)
2009-01-15: done.
+ use RTMAuth to wrap secret information.
> done (2008-10-06):
+ use dictionary to pass many arguments packed.
> done (2008-10-22):
+ use array instead of set to order collections (Task, List, ...).
> done (2008-10-06):
- treat database error handling (#33)
+ AppDelegate initLists をなくす
> done (2008-10-06):
+ RTMTask を proxy として RTMTaskEntry と RTMTaskSeries の DB access
> done (2008-10-13):
 
 
2008-09-29 mootoh
+ known bugs
[RTMList taskCount] の SQL が失敗する...
> fixed: iPhone simulator に入っていた rtm.sql のテーブル構造が古かったから。
 
 
# vim:set ft=changelog: