annotate TODO @ 10881:6982a276095a

[gaim-migrate @ 12577] Last night it was requested that we try to enumerate some of the short range goals, and esp. the 2.0.0 blockers. this is my first attempt at this. please feel free to edit it where I am inaccurate or incomplete. This isn't so much a traditional todo, as I included some notes on how things should work or what ideas have been proposed. I tried to include vim folding stuff, but I'm not much used to that. I also used tabs to format. please don't start replacing them with all spaces ;-) committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Wed, 27 Apr 2005 15:27:36 +0000
parents
children 12083e75627f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10881
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
1 * conversation api {{{
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
2 * need to handle: {{{
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
3 * unnamed chats
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
4 * chats with the same name as a buddy
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
5 * jabber Messages (one off messages vrs a conversation with a backlog)
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
6 * multiple conversations with a single buddy (jabber, with thread tag)
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
7 * bugs
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
8 }}}
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
9 * notes: {{{
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
10 * (12:58:39) Robot101: user list always|auto|never
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
11 * topic only where supported by the protocol
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
12 * how do we log this? {{{
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
13 * rlaager's proposal: {{{
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
14 * the goal of logging is to be able to find something again.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
15 * you expect to see the logs for a person IFF they are in that conversation
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
16 * you don't really need to see the log of a chat before or after said person joined it
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
17 *if you did, you'd be looking at some other person(s)'s log
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
18 * so:
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
19 * each conversation has 1 or more logs associated with it.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
20 * when someone joins, a new log is opened to log everything that happens in the
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
21 conversation, but to that person's logs.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
22 * when someone parts, that one persons' log is closed
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
23 * this causes some duplication, the way to avoid this would be to close everyone's
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
24 log on a join/part and use a new file. we could then use links of some sort (hard
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
25 or soft) to "put" that one file in each user's directory. but this would
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
26 needlessly split the logs of someone who had been there all along. I think this
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
27 duplication is acceptable.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
28 * this would not solve the problem of chats with the same name as a buddy.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
29 }}}
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
30 }}}
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
31 }}}
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
32 }}}
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
33 * buddy list {{{
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
34 * we have not committed any gobjectification, so this is not a blocker for 2.0.0 until we do.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
35 * if we do, it is only a blocker to the extent that gaim needs to run. That is, we do not
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
36 *necessarily* have to gobjectifiy everything as long as we preserve functionality.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
37 * That being said, my understanding of the signals mess says that it is probly more work to
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
38 try to do this in stages than to start it or not start it.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
39 * This would require some sort of signal aggregation, as gobject signals are unique to the instance.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
40 * one way to do this would be to emit the signals from a non-descript buddy object. this would
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
41 most closely mimic the current functionality
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
42 * a second way would be to actually try to aggregate them in some way. I really don't know how
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
43 possible this is, but it would allow us to do things like set a pounce on everyone in a group
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
44 or define sounds on a per-group basis.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
45 * we could look at replacing the UI ops with signals/call backs
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
46 * bugs
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
47 }}}
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
48 * build targets {{{
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
49 * this is not a blocker
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
50 * we need build targets for libgaim, we need to test them, and make sure they work.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
51 * we ought to use our own build targets to build the executable itself.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
52 * due to the limitations of cvs, this cannot accompany moving files to other directories at this time.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
53 }}}
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
54 * status {{{
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
55 * Sean's segment of the UI needs to be finished. We need to have support for the (new) default case
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
56 of one global status at all times. we currently do not, unless that happens to be "online/present"
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
57 * Tim's modifications to Sean's ui should be included to allow exceptions. refer to gaim-devel
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
58 archives for this.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
59 }}}
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
60 * account editor {{{
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
61 * this is not a blocker for 2.0.0
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
62 * account editor is not intuitive, users do not find it.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
63 * Luke: my temptation is to get rid of this entirely, in favor of deryni's account menu. {{{
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
64 * at this point, tools->accounts is only used for add/delete account, modify account, and
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
65 enable account.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
66 * most users do not have the 15+ accounts that some gaim developers do. a menu scales well for
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
67 anything from 2 to n, n "small" accounts.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
68 * this would allow ready access to the buddy icon stuff, and account actions could go here
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
69 * status is handled as per the new api, status stuff need not go here beyond enabled.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
70 * the account modify dialog is already too big. this would let us split it, for instance
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
71 buddy icon need not be in it this way. Similarly, alias need not be in it.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
72 }}}
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
73 }}}
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
74 * Privacy {{{
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
75 * this is not a blocker for 2.0.0
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
76 * Privacy sucks. it doesn't handle many of the protocols in a way that users understand. notably
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
77 msn, but also yahoo, jabber, and icq.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
78 * We want to sync to the server as much as possible, entirely local-only privacy is not an option
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
79 except on protocols like irc that have no server-side.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
80 * We want to be as consistent across protocols as possible. this will require renaming things on
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
81 some protocols.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
82 * Bleeter suggests that we create a privacy.xml, remove privacy from blist.xml. He suggests
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
83 that each protocol define certain capabilities & defaults, with accounts.xml holding exceptions
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
84 to the defaults.
6982a276095a [gaim-migrate @ 12577]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
85 }}}