bp2008 / pingtracer

Graphical pinging and traceroute application. Ping Tracer continuously pings each network host between your computer and a given destination, helping identify the source of connectivity problems.
MIT License
289 stars 30 forks source link

Feature Request: Make it apparent that the "Host" field is a dropdown or has a history #33

Open ScottBeeson opened 2 years ago

ScottBeeson commented 2 years ago

I think ideally this could just be a combobox control? I am not a programmer, but I am a prolific user of tools. I had no idea you could click the Host label. I assume the blue is supposed to indicate a "link"? This is not standard UX. A combobox with autocomplete functionality would be much preferred.

image

bp2008 commented 2 years ago

Yeah the blue color was supposed to hint to the user that they could click it. I know it isn't standard, or expected by anyone to work that way. But at the time, the app was only for me and this meant I didn't need to re-layout the UI. Kind of like how the "Prefer IPv4" checkbox is positioned on top of the border of the Graph Options section; I didn't need to re-layout the UI this way.

I've been trying not to sink any more time into PingTracer 1.x development. It is not a very good foundation. Tracing the route is embarrassingly slow, dns lookups are done synchronously which is also slow, it is pretty broken on linux with mono, the traced route has no way to update itself if your traffic starts taking a different route, a lot of more-advanced monitoring situations require multiple instances of the app, which both overwrite each other's host history ... I could go on ... point is, to fix all these things would require rewriting almost everything.

So some time ago I began designing version 2 that would solve all these problems. But I stalled after getting this far. Too many other demands on my time.

image

I'm not sure how intuitive this graphing method is anyway. The idea is, ping response time is represented by color. The left edge of a graph is the first host on the route, the right edge is the last host, and it fills in like a waterfall so the newest path trace is drawn across the top, and when a new row is added it pushes down the previous rows. It was my intent to label each graph and make it so that clicking on any of the waterfall graphs would bring up a different view where each host is labeled and you could pan to see all the available history (much like the classic pingtracer 1.x UI).

It was also my goal that you'd be able to monitor another process, so for example if you were having trouble with a multiplayer game, you could select that game's process and PingTracer2 would find out what remote hosts the game was communicating with in realtime and create graphs for each host. I think this capability would be incredibly useful, but I could find no existing tool that does anything like it.

image

ScottBeeson commented 2 years ago

Very cool. The processes feature would be killer.