summaryrefslogtreecommitdiff
path: root/doc/roadmap
blob: f8c417275a71b3ebda7dbf0c5ff7583cad2cb863 (plain)
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
Roadmap
-------

This is a roadmap of tasks for different versions of the
[Laconica](http://laconi.ca/) software. It's meant to help answer the
question, "Is Laconica ever going to have such-and-such a feature?" or
"When will Laconica do such-and-such?"

Release 0.1
-----------

This was an internal milestone release, mostly for developing the core
functionality.

+ login
+ register
+ settings
+ upload avatar
+ change password
+ settings menu
+ disallow login if user is logged in
+ disallow register if user is logged in
+ common_current_user()
+ common_logged_in()
+ session variable for login
+ post notice
+ logout
+ subscribe
+ unsubscribe
+ subscribe links on profile
+ header menu
+ footer menu
+ disallow direct to PHP files
+ common_local_url()
+ configuration for DB_DataObject
+ date formatting
+ new notice redirects to notice page
+ date in shown notice links to notice page
+ common_redirect()
+ configuration system ($config)

Release 0.2
-----------

Another internal milestone. Bumped up from cruddy caveman HTML to a
borrowed design from [OSWD](http://www.oswd.org/), added a lot of RSS
generation, and more careful form validation.

+ design from Open Source Web Designs
+ add H1 to each page
+ add H2 for each page section
+ default to public stream
+ default avatar
+ default HTML type
+ set Content-Type
+ show current values in profile settings
+ save profile URL in profilesettings
+ save profile URL on registration
+ require valid nicknames
+ reject empty notices
+ validate registration form results
+ validate profilesettings form results
+ validate newnotice form results
+ remove validation code from classes
+ use only canonical usernames
+ fix layout of textarea
+ make notices into "big links"
+ RSS 1.0 feeds of a user's notices
+ RSS 1.0 feeds of a user's notices + friends
+ RSS 1.0 dump of a user's notices
+ RSS 1.0 feed of all public notices
+ deal with PHP quotes escaping
+ source link in footer menu
+ public stream link in top menu
+ dump, fix, undump database

Release 0.3
-----------

First public release (theoretically). Added distributed subscriptions,
"fancy" URLs, and a new graphic design for stoi.ca.

+ YADIS document link on showstream
+ YADIS document
+ subscribe remote
+ add subscriber remote
+ server side of user authorization
+ server side of request token
+ server side of access token
+ OAuth store
+ log of consumers who ask for access
+ receive remote notice
+ send remote notice
+ receive remote profile update
+ send remote profile update
+ subscribe form for not-logged-in users on showstream
+ pretty URLs
+ doc action
+ about doc
+ help doc
- FAQ doc
+ privacy doc
+ source doc
+ roadmap doc
- contact doc
- add a way to stick variables into documents
+ FOAF document for user
+ license in RSS feeds
+ TOS checkbox on register
+ registration instructions
+ login instructions
+ profile settings instructions
+ avatar instructions
+ password change instructions
+ fix spacing on notices
+ fix spacing in profile
- limit entry in textarea to 140 chars
+ add a next page link to showstream
+ add a next page link to public
+ add a next page link to all
- AGPL notification
- Check licenses of all libraries for compatibility
+ @ messages
+ Automatically linkify URLs in notices
+ themes
+ theme per site
- only local notices in public stream
- only local notices in public RSS
+ graphic refresh on all
+ graphic refresh on avatar
+ graphic refresh on doc
+ graphic refresh on login
+ graphic refresh on newnotice
+ graphic refresh on password
+ graphic refresh on profilesettings
+ graphic refresh on public
+ graphic refresh on register
- graphic refresh on remotesubscribe
+ graphic refresh on shownotice
+ graphic refresh on showstream
+ graphic refresh on subscribed
+ graphic refresh on subscriptions
+ graphic refresh on userauthorization
- update default theme to use new, more semantic, HTML
- subscribe/unsubscribe on subscriptions page
- subscribe/unsubscribe on subscribed page
+ correct use of views menu in settings
+ correct use of views menu in streams
- INSTALL file
+ content negotiation for content type

Release 0.4
-----------

- jQuery for as much as possible
- microid for profile page
- format times per user
- timezone preferences in Profile settings
- email notification on subscriptions
- content negotiation for interface language
- user preference for interface language
- gettext
- tinyurl-ification of URLs
- set Last-Modified
- XML sitemap generation
- email confirmation for registration
- email options
- change cookie handling for anon users to be more cache-friendly
- content negotiation for encoding
- If-Modified-Since support
- Vary
- site logo
- check license compatibility for remote subscribe
- optional FOAF URL in openmicroblogging exchange

Release 0.5
-----------

- content negotiation for charset (iconv?)
- license per notice
- use only canonical email addresses
- allow mixed-case usernames
- allow non-latin usernames
- store canonical username for comparison and fetch
- theme per profile
- email newsletter
- RDF dump of entire site
- delete a notice
- plugins and hooks and other extensibility
- RDFa for stream pages
- RDFa for subscriber pages
- RDFa for subscribed pages
- # tags
- L: location
- hreviews
- stay logged in between sessions
- use RSS as a subscription
- license per attachment
- forward notices to Jabber
- receive notices from Jabber

Release 0.6
-----------

- URL notices
- image notices
- video notices
- audio notices
- forward notices to other IM
- forward notices to mobile phone
- receive notices from other IM
- receive notices from mobile phone
- machine tags

Release 1.0
-----------

- OAuth for third-party tools (desktop, other sites)
- Twitter-compatible API
- Pownce-compatible API
- include twitter subscriptions (push and pull)
- include Pownce subscriptions (push and pull)
- privacy
- Wrap DB_DataObject with memcached caching layer
- login throttle to prevent brute-force attacks
- form token in login to prevent XSS

Post-1.0
--------

- Atom Publishing Protocol
- "Universal" public feed
- global registry (LDAP at openmicroblogging.net, maybe?)