Hi, folks. I wanted to post a quick roadmap for the near future for
Laconica. As has probably been obvious for the last six months, I tend
to fly by the seat of my pants, so the following is pretty fluid. But
I'll at least give an overview.
First, once I figure out how to do it, I'm going to set up three
branches in the Git repo for Laconica. One will be for the 0.7.x series,
one for the 0.8.x series, and one for "trunk".
0.7.x will be the "stable" version of Laconica. It's going to focus on
the current functionality with bug fixes, performance enhancements, and
minor UI improvements. Here are some things that I expect to happen in
the 0.7.x branch:
* an API for groups
* commands for groups
* Support for OAuth in the Twitter-like API
* Support for using Twitter's OAuth API in the Twitter bridge
* Support for the Twitter search API
* Updating your status in Facebook updates your Identica status
(2-way bridge)
* Offline queuing for inbox updates
* Offline queuing for memcached invalidation
* Offline queuing for Facebook updates
* Offline queuing for Twitter bridge
* An "official" Amazon EC2 AMI
* Make the Javascript badge production-ready, and give instructions
on how to use it.
* Translation updates
* Code cleanup and documentation, trying for 0 phpcs warnings or errors
The "trunk" ("master") will be the production version of Laconica --
identical (!) to what we run in production on Identica. I will push bug
fixes directly to this branch (or cherry-pick from 0.7.x), and on a
regular basis (1-2 weeks) pull minor features or other changes from 0.7.x.
0.8.x will be the "dev" version of Laconica -- major feature updates,
and major structural changes. My hope is to release 0.8.0 at the end of
February or beginning of March. Here are some things I expect to have
happen in 0.8.x timeframe:
* Support for a hosted service -- setting up a new Laconica
instance, editing the instance's name and theme and so forth. The
actual hosted-service code will be AGPL'd, but it may or may not
be part of the Laconica package (it just might not fit in with the
rest of the code, or make sense).
* Multimedia sharing. This was supposed to be part of 0.7.x, but got
jettisoned. This will include an optional file-upload in the Web
interface, in-browser video and audio recording, posting with
email attachments, and an extension to the API for multimedia.
* Support for "real" queuing systems -- our offline queuing system
is based on a homebrewed system that's pretty inefficient. I'd
like to abstract out queues and make at least two implementations:
Homebrew, and STOMP. This would also be a good time to make a more
hierarchical queue system, and support adding things besides
notices (like profile updates, dms, subscription notification,
nudges) into the queue.
* Support for AIM. I'd like us to support AIM for notice input and
output.
* Support for IRC. Ditto.
* Privacy. We're going to have to deal with privacy at some point,
so it might as well be now. Private notices, private streams, and
private groups. This would probably also be the point at which we
deal with OMB notices' licenses (right now, we just reject notices
with incompatible licenses.)
* OMB 0.2.
* Statistics. As mentioned in a previous email.
* Profile page theming. You can set the background and colours on
your profile page and other "personal tab set" pages.
* Group page theming. Ditto, but for groups.
* Initial support for hooks. The hooks system will be set up and
some simple hooks will be enabled.
* More themes. Ideally I'd like to have 3-5 themes as part of our
tarball. Ideally we'd grab some free content layouts from OSWD
(http://oswd.org/), adapt them to the Laconica layout, and include
them.
* URL search. We'd extract the URLs from a message, longurlize them
to get the "canonical" url, and store the results. We'd expose an
API so that third-party users (especially commenting systems like
Tweetback) could search for notices that refer to an URL, and
could show them).
* Conversations. Each notice that is a reply, or that has been
replied to, would include a link to a conversation page, which
shows the tree of notices that are in reply to each other (up to a
"root" that is not in reply to anything). You may be able to post
replies in that page.
* PEAR::Auth for multiple authentication backends (like LDAP).
At some point as we're approaching 0.8.x release, we'd make an 0.9.x
branch and start dev of future stuff on there. To be honest, there are
only a few things I'd want to put in an 0.9.x branch: support for the
XMPP social PubSub system, support for MSN, maybe support for Activity
Streams. Possibly a calendar view of a user's profile, a
"delicious-like" view of posted URLs, and some more mapping features.
Many of these things could wait until after a 1.0 release.
I'd really appreciate comments or suggestions here; this is my current
thinking and I could probably be convinced to change it around.
Also, I'll happily include other features and fixes as contributions.
-Evan
_______________________________________________
Laconica-dev mailing list
[email protected]
http://mail.laconi.ca/mailman/listinfo/laconica-dev