macourtney / masques

Masques is a distributed social network.
36 stars 9 forks source link

Masques 1.0 Feature List #23

Closed macourtney closed 11 years ago

macourtney commented 11 years ago

Lets discuss what features will be included in the 1.0 release of Masques and which features will be bumped to the next release.

tedstein commented 11 years ago

Total agreement.

There is no way to launch if we try to do too much. Version one needs to be the minimal, clearly functional version. Here are my (quick and rough) thougths.

Non-negotiable (unless they are):

Wishlist:

Again, that is quick and dirty.

macourtney commented 11 years ago

My thoughts.

Features to include in this release:

macourtney commented 11 years ago

I forgot to add the following for the 1.0 release:

InvertedVantage commented 11 years ago

My thoughts as well;

1) Integrated framework for forum sorting of messages in group or multi-user conversations.

2) @ or # tagging posts.

3) Users should be able to create an image avatar of themselves.

4) Stream icons should flash if you get a message directed specifically at your or has you mentioned in it.

5) All private info should have the option to display/use or not to display/use.

macourtney commented 11 years ago

@InvertedVantage

1) Integrated framework for forum sorting of messages in group or multi-user conversations.

I'm not sure how this would work. Do you have an example? I don't think we have time to set up forums for this release.

2) @ or # tagging posts.

This might be difficult to write, but I'd like to get it in the next release.

3) Users should be able to create an image avatar of themselves.

This should make it in.

4) Stream icons should flash if you get a message directed specifically at your or has you mentioned in it.

If we can get 2 in, this shouldn't be a problem.

5) All private info should have the option to display/use or not to display/use.

Definitely want this.

InvertedVantage commented 11 years ago

I've got some more ideas that I'll post when I get time. One of the things I think would be a good idea is an integrated file sharing system/an easy to use map to see what files are shared, where on your computer, and with whom.

johnmn3 commented 11 years ago

A hard problem, but might be cool in a 2.0 or 3.0 release: Distributed Search!

macourtney commented 11 years ago

Distributed search is a good idea, but definitely not something we can get into 1.0. Also, what are we searching on? Webpages or public files served over the network? How do we make sure everyone keeps their anonymity? How do we keep spammers/SEOs out of the system?

InvertedVantage commented 11 years ago

My idea was that the program should have a built in function to see what files you're sharing (i.e., pictures), and with who - since everything is hosted on your computer, it would be very useful to have a directory view that easily displays where the files were located and who was able to view them. This is something that I think needs to be in anyway - otherwise users can end up forgetting where they put files on their computer or who has access to them.

Then, I was thinking that this could be expanded so that users could share files besides just images and media, and then link to others.

I wasn't thinking that any of this would be searchable, so not sure where that came from. :) If it was searchable then I imagine you would only be able to search your own files or files of your friends that have marked files as "searchable by friends".

InvertedVantage commented 11 years ago

Another idea; some user-set esoteric key combination to wipe all social contact data, and perhaps send them a message that it has been done. I see this as being an easy way to delete your online presence or keep your contacts away from prying eyes should your computer be seized.

johnmn3 commented 11 years ago

Well, assuming masques could provide Facebook-like blogging / website functionality, then a search interface would definitely make sense.

I've thought a lot about search on I2P. In my view, the best way to implement DNS on I2P or any p2p system is to get rid of the uniqueness guarantee and depend on a distributed search engine instead for name lookup. You may receive multiple results, but the search results page provides hints like popularity ranking, or "99% users click this result for this search term."

The problem is jumpstarting that web of trust. With masques, however, the is the potential for "1,000 likes" or 1,000+ upvotes because users expect that from a social media tool.

So if I do a search for macourtney, your destination, upvoted by 100s of identities that I previously upvoted, will show up at the top. I could upvote you too and that in turn imports your upvotes that you've made public and your votes would affect my future search results for other things, like "masques."

Distributed search and a distributed "like" infrastructure is likely no small task though.

John On Feb 7, 2013 12:01 PM, "Matt Courtney" notifications@github.com wrote:

Distributed search is a good idea, but definitely not something we can get into 1.0. Also, what are we searching on? Webpages or public files served over the network? How do we make sure everyone keeps their anonymity? How do we keep spammers/SEOs out of the system?

— Reply to this email directly or view it on GitHubhttps://github.com/macourtney/masques/issues/23#issuecomment-13246108.

tedstein commented 11 years ago

Good conversation. I will write up my responses in just a moment.

But a quick reminder: our goal with this ticket is to come up with a managable list of features, so we can make open source p2p encrypted social networking a reality.

johnmn3 commented 11 years ago

Regarding anonymity, what is masques anonymity story?

I'd think user's should be able generate and use throwaway identities quickly and seamlessly. A la incognito.

Various safety models should be socialized and usable, including: public identity, hidden location; hidden identity, public location (geotagging); hidden identity, long term identity; hidden identity, short term; public identity, but only to trusted peers, like family, not publicly searchable; all public, all searchable, real identity; etc

Per destination identity: automatically use my private, but real identity when visiting my mom's page; use my public but anonymous identity when searching and browsing political action groups.

I think the implications of search on anonymity depends on what kinds of anonymity models a user is allowed to implement.

John On Feb 7, 2013 12:01 PM, "Matt Courtney" notifications@github.com wrote:

Distributed search is a good idea, but definitely not something we can get into 1.0. Also, what are we searching on? Webpages or public files served over the network? How do we make sure everyone keeps their anonymity? How do we keep spammers/SEOs out of the system?

— Reply to this email directly or view it on GitHubhttps://github.com/macourtney/masques/issues/23#issuecomment-13246108.

tedstein commented 11 years ago

My thoughts on v1 feature set:

Users/Groups/Permissions

Messaging

Files

Stream

Friend Management

Identities and locations (what you send as a friend request)

Database

Installer

Auto updater

Profile

tedstein commented 11 years ago

John,

Check out these:

They answers a lot of your questions. For anything unanswered, could you create a new ticket here? Or a new page on the wiki?

Glad to have your enthusiasm, and please don't read this as discouragement. I just want to protect this ticket as a feature list for the v1 release.

Cheers.

tedstein commented 11 years ago

I have a strong thought on search: No, on v1.

We have the directory for people to use at http://findmasques.org/directory. We can improve it and build other tools to help people find or be found. For v1, I view this as done through the web.

An I2P directory should be easy and helpful too.

One search thing we haven't talked about: searching the history of your stream and ims.

tedstein commented 11 years ago

John,

This is probably the most helpful for your questions (other than the home page of http://findmasques.org ):

http://wiki.findmasques.org/doku.php?id=identities_and_destinations

johnmn3 commented 11 years ago

Ted, absolutely and apologies for derailing the v1.0 discussion.

I think I'm in favor of the list you provided for a v1.0 goal set. I'm still learning how masques is set up and I'll probably have more valuable input for v1.0 soon.

John On Feb 8, 2013 1:50 AM, "Ted Stein" notifications@github.com wrote:

John,

Check out these:

  • wiki.findmasques.org
  • findmasques.org

They answers a lot of your questions. For anything unanswered, could you create a new ticket here? Or a new page on the wiki?

Glad to have your enthusiasm, and please don't read this as discouragement. I just want to protect this ticket as a feature list for the v1 release.

Cheers.

— Reply to this email directly or view it on GitHubhttps://github.com/macourtney/masques/issues/23#issuecomment-13279027.

tedstein commented 11 years ago

John: welcome aboard!

tedstein commented 11 years ago

Oh. One more thought: drag and drop?

Matt, how easy/hard is this given our GUI choices?

johnmn3 commented 11 years ago

Regarding messages / posts, what are the content options? Plain text? Rich text? Markdown? HTML? Will there be a rich text editor built in?

Will users have a profile page served up from the destination? Or is it more of a contact card stored locally? Will there be any "pages," so to speak?

John On Feb 8, 2013 1:46 AM, "Ted Stein" notifications@github.com wrote:

My thoughts on v1 feature set:

Users/Groups/Permissions

  • We need a solid set of tools to manage permissions on an either per friend or per group basis. Usability and clarity is key.

Messaging

  • E-mail and instant message styles. Forums, lists, etc. should be held off until v2.

Files

  • Files (any type of non-executable[?]) should be able to be sent via "im" or "mail" or just as a file.
  • http like, not bittorent like.
  • Files should be either available to a group, friend, or just public. (Question for Matt: how to do public)
  • Avatars for users, once we have file infrastructure.
  • Files can be grouped. The most easy to understand example is a photo album.

Stream

  • Thumbnails of images, click to open or save.
  • Other files can only be saved, at least for v1.

Friend Management

  • Easy way of seeing pending friend requests, and accepting or rejecting.
  • Way to give your friends nicks or override their avatar with some image you like more.
  • Easy way to assign friends to groups, see which friends are in groups, create groups, move friends around, etc..

Identities and locations (what you send as a friend request)

  • Only one identity and only one location at first.

Database

  • Encrypt database, as in other ticket.
  • I like Inverted Image's self destruct idea. Scary though.

Installer

  • Likely an IZPack installer. Up to Matt, is my thought (I don't know anything about installers).

Auto updater

  • We need one.

    — Reply to this email directly or view it on GitHubhttps://github.com/macourtney/masques/issues/23#issuecomment-13278963.

tedstein commented 11 years ago

what are the content options? Plain text? Rich text? Markdown? HTML? Will there be a rich text editor built in?

That is a really good question. I was imagining plain text, but I do love markdown. HTML seems heavy.

I think we create a new issue for this conversation (I am about to) and decide that for v2. But I think that v1 should be plain text.

Will users have a profile page served up from the destination? Or is it more of a contact card stored locally?

The latter. Specifically, it is an H2 db file: a database of the public keys of your friends' identities and destinations, plus a bit of meta data.

Will there be any "pages," so to speak?

Not sure what that means. Check out the wireframes: https://github.com/macourtney/masques/issues/21

Does that answer your question?

johnmn3 commented 11 years ago

About pages. Go the twitter route, and be primarily a social messaging platform? Or go to the Facebook route and allow for landing pages and more control over presentation? Like "click here to get to my repairs/website." And maybe three paragraphs about the history of an organization. On Feb 8, 2013 2:24 AM, "Ted Stein" notifications@github.com wrote:

That is a really good question. I was imagining plain text, but I do *love

  • markdown. HTML seems heavy.

I think we create a new issue for this conversation (I am about to) and decide that for v2. But I think that v1 should be plain text.

Will users have a profile page served up from the destination? Or is it more of a contact card stored locally?

The latter. Specifically, it is an H2B database of the public keys of your friends' identities and destinations, plus a bit of meta data.

Will there be any "pages," so to speak?

Not sure what that means. Check out the wireframes: #21https://github.com/macourtney/masques/issues/21

Does that answer your question?

— Reply to this email directly or view it on GitHubhttps://github.com/macourtney/masques/issues/23#issuecomment-13279717.

tedstein commented 11 years ago

Oh, Masques is different. At least for now.

Masques is a way of sharing messages and files without corporations and governments spying on you. Masques is a way to communicate with friends, family, journalists, co-workers, doctors, fuman rights activists, etc. in privacy.

Masques is just a tool for sharing with networks of friends. Privately.

Masques is not a place to create a profile about you, or even present an image of you to the world. (Particularly in v1.)

Did that clarify?

tedstein commented 11 years ago

Ummm, maybe the above comment is wrong. A text box with space for a paragraph or two or three, as your "profile" would be trivial. What do others think?

macourtney commented 11 years ago

I agree with you Ted we should focus on connecting and communicating with friends and family and not as much on setting up pages for promotion.

That said, it would be trivial to add a text box with space for a paragraph or two as a profile. We could even add an image like Facebook does.

macourtney commented 11 years ago

Drag and drop is not as easy in Java/Clojure as they would like you to think, but it is possible. I don't think it's something we can do for version 1.0.

tedstein commented 11 years ago

My vote then:

Yes on profile (text field + image). Simply too easy to do and some people will want it. Bad.

No on drag and drop. It might be a v1.1 or 1.2 thing; I don't see it as a major release type feature, but lets launch this thing before worrying about it.

InvertedVantage commented 11 years ago

Since you have a feature in the v1.0 feature set to be able to share all sorts of files (I agree), I'll bring attention back to my previous suggestion; that the program should include some way of easily viewing what files you have shared, where they are located on your computer, and who they are shared with. I was initially thinking an circle-line diagram on an infinite screen (you can click and drag circles around, and when you click on them, a bunch of circles, sub menus, fly out and orientate themselves around it), but now that I think about it in detail that would be hard to use once you got a lot of friends.

While you can create user names easily on the fly, it's kind of pointless in this system; the only way you can access any content is if it's shared with you, so you'd have to get approval for almost every group request and friend join.

That's another addition to v1.0, btw, is group permissions; allowing automatic join or requiring users to go through an approval.

tedstein commented 11 years ago

I agree on file management features. I want them mad easy to understand.

Just FYI, it seems that 1.0 will not include drag and drop. I want to make drag and drop a priority for 1.1 though.

I updated what I am considering to be the current feature list:

https://github.com/macourtney/masques/issues/23#issuecomment-13278963

I think we are pretty close to calling this roughly nailed down and moving the feature list to the wiki.

macourtney commented 11 years ago

I want to point out that permissions are group based not user based. Thus, you would give permission to a group to download a file. If you wanted someone to have access to the file, you would add them to the group. If you only wanted one person to access a file, you would create a group with just them in it (this could be done automatically).

The circles thing sounds like an interesting way to browse the network. You could see the connections between friends and click on them to get a better look at what they are sharing with you. That kind of interactivity could be a Facebook killer. :)

tedstein commented 11 years ago

Hmmm....

Love the interface idea.

Permissions based on groups? Maybe each friend needs to be a group of one?

Put simply: I need to be able to share a file with one person, or a group of people. And it has to be just as easy.

johnmn3 commented 11 years ago

Wondering: Have OStatus and Tent.io been investigated for their features? To see what lessons have been learned and what good ideas should be stolen?

John

On Fri, Feb 8, 2013 at 10:00 PM, Ted Stein notifications@github.com wrote:

Hmmm....

Love the interface idea.

Permissions based on groups? Maybe each friend needs to be a group of one?

Put simply: I need to be able to share a file with one person, or a group of people. And it has to be just as easy.

— Reply to this email directly or view it on GitHubhttps://github.com/macourtney/masques/issues/23#issuecomment-13325144..

tedstein commented 11 years ago

Moved this to the wiki, since it seems pretty close to complete.

http://wiki.findmasques.org/doku.php?id=v1_feature_set

tedstein commented 11 years ago

John, here is the anonymity story:

http://findmasques.org/node/10

Please feel free to ask questions there.