Threads — an idea for an App.net client

For those of you who don’t know, App.net is like Twitter but for money. No, wait, that’s not how we’re supposed to introduce it — it does other stuff too, like file hosting and chat rooms. And there are free accounts now, so it’s not only a paid service. Hmm, let’s try that again…

App.net is a service where users can post short textual messages, which will show up on the stream of any user who follows them. A message can have some annotations — either standard ones, like location or the app they posted with, or custom ones defined by an app author. Messages can also be posted to channels, which are like private rooms for particular participants. So even if the starting point was something like Twitter, App.net is more extensible by developers and can do more things.

One feature I like about App.net is how well it handles replies. On Twitter, a post can only count as a reply if it contains the @username of the person whose post you are replying to. Not so in App.net — you can even reply to a post without mentioning any usernames, and the service will track the whole conversation in order so that users can read it from the beginning.

I’ve had a design in mind for an App.net client that I’ve been calling Threads. It’s based on web forums, so I guess it could be a web app. I’m posting about it here because in all seriousness, I’m not going to have the time to write it in the near future, so if someone else wants to take this idea and run with it, be my guest.

The main view of the app shows your feed, but organised by thread. That is, it lists all the posts in your feed that are not replies to another post. They’re listed in the order of their latest reply (most recent at the top), so if someone replies to a conversation, the opening post for that conversation jumps to the top of the list. The number of replies in the conversation are prominently shown next to the post, as is the username of the most recent replier.

Click on a post, and you get to view the thread. It shows you all the posts in the thread, in chronological order, oldest at the top, just like a web forum. I’d also imagine it would remember which posts in the thread you had already read, and make their background colour look faded or something, so when you come back to a thread later you can find your place.

For each post in the thread, if it’s in reply to the post immediately above it, that’s fine and not confusing. But what if it’s in reply to a post from further back? In that situation, the parent post is quoted inline, in a smaller font, like how the Quote button works on most web forums. This happens automatically.

Messages that are posted through Threads can have a bit of extra metadata. For example, if you start a new thread (i.e. make a post that is not a reply), it’ll let you type a subject as well as the body text. This subject will be saved in a private annotation, so that Threads (and any other client that cares to) can display that when displaying the list of threads, rather than having to display the text of the original post.

A reply posted through Threads can let the user choose which bit of text (if any) to quote. Remember that when displaying normal messages, it quotes no text if the reply is to the last message in the thread, or it quotes the full text if it’s a reply to an earlier message? Well, if you reply through Threads, you can override it in either direction, or even quote a subset of the message. Again, the quote text is stored in an annotation.

A user would be able to flag favourite threads in order to follow them, and there would be a page showing all the flagged threads. Another would list all the threads you posted in. Any settings, such as flagged threads, would be saved in your ADN account.

When viewing the list of threads, you could choose to view just threads started by people you follow, or all threads participated in by people you follow (even if started by someone else). 

That’s about it. I have a few more ideas, but this is the general gist of it. Again, if anyone wants to make this, feel free (just let me know!).

Update: I’ve just been clued in to TreeView, which does a great job at displaying a thread. (It displays it hierarchically, rather than chronologically with quoting like I described, but that’s still not a bad way to view them.) If only they’d add the thread list page!

Previous
Previous

Auto-boxing with performSelector:? Nope, but KVC works.

Next
Next

Omni Frameworks Part 2: Using the Document Picker