Some thoughts on next developments

69 views
Skip to first unread message

Miguel Freitas

unread,
Dec 3, 2014, 11:53:53 AM12/3/14
to twist...@googlegroups.com
Hi,

I'd like to share some thoughts on stuff i'd like to implement or improve in twister...

Following the recent introduction of "getmentions" api in twister-core, i'd like to explore the possibilities for creating new user following "types".

Currently we have only two following types: public and private.

1) Public: the username is stored in public DHT and twister-core starts a torrent to follow this user. Public following are synchronized between computers (twister-html read back the listing from DHT)

2) Private: twister-core starts the torrent, but username is not announced to DHT. Therefore the posts appear in timeline but people don't know you are following him.

The interface for "Private" is actually awkward / poorly designed: there is no option to follow privately from the start, one has to public follow (propagates the name to DHT) and then change it to private (removes the name from DHT). So for a brief time window one will know about that.

So one obvious improvement here is to change the interface. Perhaps opening a box to inquire the following type would be the least layout disrupting, also allowing for more types:

3) DM/Mentions only: this is a kind of "mute", that is, the user might be too lousy so you want to follow him form mentions and DMs but not to polute your timeline. This is actually orthogonal to public/private setting.

4) Restrict charset: i'm not sure this should be a per-user setting or global one. The idea is to limit showing only latin, or russian or chinese posts.

Any other suggestions for following or per-user settings?

The above ideas only require HTML/Javascript coding. If someone wants to help it will more than welcomed ;-)

Then there is something i'd like to explore in twister-core: bandwidth limiting.

I've being noticing that sometimes twisterd saturates my upload link and it seems to be due to high DHT traffic. I still need to investigate if this is caused by some bug in other twisterd nodes (requesting too much) or if someone is aggressivelly crawling the network.

Either way, i was thinking about creating a new setting to limit the amount of bw that twisterd may use to serve the other nodes. This also improves / works as DDoS protection.

My idea is that DHT requests originated on your own host would always be allowed to go out, while replies to other nodes would be subject to bandwidth accounting.

Comments?

regards,

Miguel




Arco Mul

unread,
Dec 4, 2014, 5:20:54 AM12/4/14
to twist...@googlegroups.com
Hi,

I'm not really active on Twister neither did I contribute anything development related to Twister, so be aware this is just my opinion as an outsider. I do follow the Twister development already for a year and I think it is a great piece of software.

The thing is that I think the goal of Twister should be to get a bit more famous and make it more usable for people who really need it. Which are people in China / other countries where anonymity to express opinions and decentralization to evade IP blocking is really important.

Still the Twister website doesn't have an official easy to use Windows version, the only version which I think is quite good is the one of Swift, but that one states that it is unofficial so people are not likely to download it (since guaranteed anonymity is quite important for those people I think) With an unofficial client you never know what is in there.

Because of this MY opinion would be that a usable Windows / Mac version is more important then new features. In theory we want people to download / install the software, register like they would for any application, and just start using it (without any terminal windows in the background or browsing to a special url) Basically like Swift's version, but then guaranteed to be 'safe'.

I am wondering what your vision of this is Miguel / what your vision is to make Twister the go to tool to spread information in those countries.

I hope I am not starting a discussion which has been talked about for thousands of times already...

Arco

(Of course a mobile client would be even more important, but I understand that it is technically still really hard ;-)


--
You received this message because you are subscribed to the Google Groups "twister-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to twister-dev...@googlegroups.com.
To post to this group, send email to twist...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Miguel Freitas

unread,
Dec 4, 2014, 6:06:27 AM12/4/14
to twist...@googlegroups.com
Hi Arco,

I fully agree with you. In fact, i was already thinking that a good windows installer (one that turns twisterd into a windows service etc) could be a goal for leaving alpha to beta stage.

However I haven't used windows for a long time. I hate every time i have to open that windows xp VM to do something... So i'm not going to lead the windows installer development, neither i would compile it myself periodically to "guarantee it to be safe".

I think the deterministic build from a free software repository would be a good way to proceed.

I tried hiring a friend to develop this (using NSIS installer + NSSM service manager + webkit embedded) but he didn't complete the work, got busy with other jobs etc...

In the meantime, what i will look is improving this bandwidth / denial-of-service protection which should be a priority as well.

regards,

Miguel



Raja Shahja

unread,
Feb 9, 2015, 8:26:24 AM2/9/15
to twist...@googlegroups.com

#) Add Communities to Twister

#) A community should be like a torrent file, so that many can share it/join it.

#) And there should be no moderators nor owners for those.

#) Slashdot like mass moderation be implemented (but with 100% users voting), with individual ratings for each user per community.

Miguel Freitas

unread,
Feb 9, 2015, 8:37:31 AM2/9/15
to twist...@googlegroups.com
On Mon, Feb 9, 2015 at 11:26 AM, Raja Shahja <thinkta...@gmail.com> wrote:

#) Add Communities to Twister

#) A community should be like a torrent file, so that many can share it/join it.


The tricky part of having a single torrent where multiple users can post is how to "order" the posts.

I mean, posts are currently numbered in a monotonically increasing fashion, but that's not a problem when the user is the only content producer. The user agrees what his last post was and increases the number before posting a new one.

But if multiple users try to post at the same time, they may want the same post number for different contents. I don't know how to solve that.

So far, the only thing I've thinking that would work is for each user to still add post to his own torrent, but identified as a "group" post. The drawback is that all group members are required to join each other's torrent.

regards,

Miguel

Raja Shahja

unread,
Feb 9, 2015, 10:14:19 AM2/9/15
to twist...@googlegroups.com
The original Torrent files also have list of files, if this list  can be somehow updated, it should be possible to have one such file per user which in case of Twister could be used for user specific messages,

Sorry if i said something outrageous since  i am not versed with these technologies, i am just suggesting things that i had been wondering for many years.

Thanks for replying.

Miguel Freitas

unread,
Feb 9, 2015, 10:38:13 AM2/9/15
to twist...@googlegroups.com
On Mon, Feb 9, 2015 at 1:14 PM, Raja Shahja <thinkta...@gmail.com> wrote:
The original Torrent files also have list of files, if this list  can be somehow updated, it should be possible to have one such file per user which in case of Twister could be used for user specific messages,

Sorry if i said something outrageous since  i am not versed with these technologies, i am just suggesting things that i had been wondering for many years.


No problem...

Yes, the original torrent has a list of files and the hashes of every piece of these files. That's actually a more strict arrangement: you can't change this file list and you can't add new content to an existing torrent. Unlike twister, you have to know the hash for every piece beforehand. In twister we replace the hash of the piece with the signature by the torrent owner. So our torrent is allowed to grow, without knowing what content will be added to it.

regards,

Miguel

Julian Steinwachs

unread,
Feb 10, 2015, 2:28:39 PM2/10/15
to twist...@googlegroups.com
What you describe are hashtags. Except for ratings, but its easy to come
up with a scheme for that as well. The easiest way would be by adding a
"+1" for good or "-1" for bad to a reply. In facebook (at least a few
years ago) it also counted as "like"/+1 when you reshared a post. And
then it would need a website/client that ranks the posts by some kind of
+1/-1 metric. Integrating that into the main client is probably blowing
it too much. There is absolutely not need to add anything at the network
level.
Reply all
Reply to author
Forward
0 new messages