Opened 13 years ago

Closed 12 years ago

#2279 closed Enhancement (wontfix)

Add DHT status indicator

Reported by: User294 Owned by:
Priority: Normal Milestone: None Set
Component: Transmission Version: 1.72
Severity: Trivial Keywords: patch-needed
Cc: tiennou7@…


At least affects GTK+ and Qt clients (but same idea can also be used for other kinds of clients as well, possibly with some changes).

It could be a good idea to put somewhere little indicators reflecting state of DHT (i.e. reflecting if it has started successfully and port is firewalled, etc). Same goes for TCP connectivity as well.

It could look like this: Green indicator: everything is fine. For DHT this means that it has bootstrapped OK and it has detected that there is no firewall or NAT blocking DHT port in incoming direction so there is unrestricted DHT operation. For TCP connectivity this means that inbound TCP connections were found - i.e. port is open as well.

Yellow: limited connectivity - for both DHT and TCP means that there is problems accessing ports from outside but connections made via outcoming packets/connections are successful so client will work but it's efficiency will be reduced due to this fact (client can't take part in DHT and\or haves troubles communicating clients behind NAT or firewall where inbound ports were not forwarded).

Red: No connectivity at all. I.e. for DHT means that no answers recieved at all or failed bootstrap due to lack of peers, etc. For TCP this means there is no downloads at all - client haves no networking.

Probably there should be 2 indicators - for DHT and for TCP-based communications. Many other programs have something similar and this makes life easier - you can easily check client's and network's "health" in a few seconds.

Attachments (1)

dht-indicator.diff (69.8 KB) - added by tiennou 12 years ago.
DHT indicator

Download all attachments as: .zip

Change History (9)

comment:1 Changed 12 years ago by livings124

  • Resolution set to wontfix
  • Status changed from new to closed

The port status can already be determined from the preference window. This info isn't important enough to have displayed at all times.

The DHT part of this ticket overlaps with #2147.

comment:2 Changed 12 years ago by User294

  • Resolution wontfix deleted
  • Status changed from closed to reopened

Ok, I'm agree about TCP port. But maybe you can add information about DHT state somewhere? Sometimes (when tracker not responds, etc and I'm getting such issues quite often) it is critical to know if DHT started and operates properly (i.e. port available from outside, bootstrap successful, etc). Right now I'm feeling a bit blind when using Transmission. And using netstat or sniffer instead of torrent client's UI to figure out what DHT does and how it performs sucks a way too much, don't you think so? So initial setup of DHT or troubleshooting an anyhow complicated network environment is harsh and user-unfriendly. Right now I need to apply a decent amount of efforts to check if DHT is started and runs properly. That's bad...

comment:3 Changed 12 years ago by livings124

  • Resolution set to wontfix
  • Status changed from reopened to closed

What's described in #2147 should be enough. There has to be a balance between utility and bloat in the interface. We can't show every status and option without it becoming a huge mess of an app.

Changed 12 years ago by tiennou

DHT indicator

comment:4 Changed 12 years ago by tiennou

  • Cc tiennou7@… added
  • Keywords patch added
  • Resolution wontfix deleted
  • Severity changed from Normal to Trivial
  • Status changed from closed to reopened
  • Summary changed from It could be good idea to add DHT and ports states indicators to status bar in clents. to Add DHT status indicator

I hope such a small addition won't be considered as bloat ;-). The added patch adds a small colored orb (port-checking style) in the bottom right corner of T main window, with a tooltip indicating DHT state and known nodes.

comment:5 Changed 12 years ago by livings124

  • Resolution set to wontfix
  • Status changed from reopened to closed

While I do appreciate this, this is bloat. There's little value with this indicator - not much can be done with it short of what can already be done with the port checker.

comment:6 Changed 12 years ago by User294

  • Resolution wontfix deleted
  • Status changed from closed to reopened

I will be evil enough to give it another try.

I got poor speeds and strange seeding issues and was not able to quickly understand what's wrong. It has turned out that I forgot to forward proper port after re-configuring router to work with a new ISP.

I believe this small feature worth of small bloat because it will help users to see if their network in optimal condition or if there is some problems. This is worth of doing it because:
1) Firewalled TCP port leads to very poor download speeds and may cause certain issues if there is only few peers in swarm or user is an initial seeder, etc. This leads to users blaming transmission for poor speeds, makes network as whole worse, etc
2) Firewalled UDP port causes DHT not to be fully functional. So while it somehow works, for network as whole this is bad because it causes more load on unfirewalled nodes since it's rather up to them to index publishes and take part in DHT operations. So I believe such behaviour have to be discouraged.

So let's retry: some small indicator can both give user idea if network is okay and encourage to use best possible settings. For example uTorrent does this and it hardly can be called as "bloated" (at least in terms of it's code size).

Last edited 12 years ago by User294 (previous) (diff)

comment:7 Changed 12 years ago by charles

  • Keywords patch-needed added; patch removed

comment:8 Changed 12 years ago by livings124

  • Resolution set to wontfix
  • Status changed from reopened to closed

I stand by my original statement. This overcrowds the main window with what, in the end, is more confusing than helpful/useful. Perhaps #2147 might be of interest, however.

Note: See TracTickets for help on using tickets.