BenFenner's OLV development diary (comments welcome).

OpenLogViewer is a cross-platform data log viewing application originally written by Gufi and new developed and maintained by Ben and Fred. Discuss all things OLV here!
Post Reply
User avatar
BenFenner
LQFP144 - On Top Of The Game
Posts: 360
Joined: Wed Jul 09, 2008 3:15 pm

BenFenner's OLV development diary (comments welcome).

Post by BenFenner »

It's about time to start this thread.

GitHub public repository: https://github.com/BenFenner/OpenLogViewer
Issue tracker: http://issues.freeems.org/
Latest Jar attached to this post is from 2012-09-14.

Recently completed:
  • test commit, change default size of options pane for better fit
  • add files for better line coloring
  • add graph position bar (does not resize yet but works otherwise) - renamed some classes/files to be more descriptive - create a new panel (EntireGraphicPanel) to house the original pane (MultiGraphLayedPane) and a new panel (GraphPositionPanel) below it - give some serializable classes versionUIDs (much more to go) - use existing log status enums instead of ints
  • make position bar work when playing the graph - make position bar display properly and immediately when zooming - general clean up
  • Eclipse Yellow Triangle Brigade (EYTB) on file InfoPanel.java
  • EYTB on file PlayBarPanel.java
  • YTB on file GraphPositionPanel.java
  • remove unused method and limit zooming to 50x instead of 51x since that seems like what Gufi was probably aiming to do originally
  • move play bar panel controls, graph position, zoom amount, and maybe more to the EntireGraphicPanel and access the graph position and zoom amount in a centralized way - fixed bug where graphing position wouldn't display properly when clicking around the beginning of the graph

Immediate future:
  • Get the position bar to scroll with the graph.
  • Allow click-dragging to move forward and backward through the log traces (with fun iOS-style inertia and bounce-back?).
  • Zoom in and out with the mouse scroll wheel (centered at the pointer location).
Last edited by BenFenner on Fri Sep 14, 2012 8:47 pm, edited 11 times in total.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: BenFenner's OLV development diary (comments welcome).

Post by Fred »

BenFenner wrote:It's about time to start this thread.
You're a legend! :-)
Immediate future:
  • Get the position bar to scroll with the graph. Agreed!
  • Allow click-dragging to move forward and backward through the log traces. Agreed.
  • with fun iOS-style inertia? Sure, but perhaps after some more important stuff?
  • and bounce-back? What is this? If it's the thing that doesn't let you move it almost off screen, then please, no, I hate that in the saleae app. Just let it stop like a car into a sequioa if it hits the end :-)
  • Zoom in and out with the mouse scroll wheel (centered at the pointer location). Agreed.
Additionally, in my opinion:
  • Record count for all log types in the data selectable like any other
  • Better defaut colours as per my suggestion a few mins ago in the other thread, even if just from a set list.
  • Moving the list of chosen items to be beside the graph with colours and values
  • Removing the 8/5 artificial limitations, either limit adds by size, or resize to fit when more added, min size driven by number present and space required for text, also freely adjustable width (independently for each), like columns in a spreadsheet would be great.
I think performance should be able to be better too, but I personally don't care about that at all as I use it very statically.

And I should add metrics for you/us :-) And release mechanisms etc. Sounds like you could be ready for a 0.1.0 release in the reasonably near future :-) Top work, Ben! :-)

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
BenFenner
LQFP144 - On Top Of The Game
Posts: 360
Joined: Wed Jul 09, 2008 3:15 pm

Re: BenFenner's OLV development diary (comments welcome).

Post by BenFenner »

Yes bounce-back is what I'm calling that feature (no idea what else to call it) and I actually think it adds something worthwhile. And that's not something you'd usually hear from me for something so superfluous. I won't work on it in the foreseeable future as not to waste time.

Inertia will happen, but is on the back burner. See revised timeline below.

Record count selectable and displayable as a graph trace like all the others. You're gunna need to explain why that's even desirable. I don't get it. I understand wanting to display the graph position in the mouse hover (eventually moved to right or left column) section and I can work on that eventually but why would we want it a trace? That's also going to be sort of complicated and ugly in code I imagine.

Better colors are on the menu. I'm going to split things up into immediate, short term, medium term, and long term goals. See below.

Moving the list of chosen graph traces beside the graph with colors and values is a big change I want to make that includes a lot of work to get even usable. So this will happen, but not right away.

The 8 "tracks" and 5 traces per track limitation and every thing about how that works I don't like and plan on changing. Again, not right away.

Performance (other than just coding decently) is going to have to take a back seat for a long while if I'm to get anything done. I'm going to make it work, then make it fast (if I have to).

Metrics, release mechanisms... All sound great, but just sounds like more work for me on an already tight schedule. =/

Zoom as mentioned in IRC. I can up the limit to 2,000 or whatever. That's fine. 50 seemed excessive already but no reason to limit it if you want more. Zooming out I understand is a huge advantage. I'm not sure how easy it will be since everything is based on 1-to-1 being the "standard" and dividing by zero doesn't work so well... =D



Immediate future:
  • Fix bug where log traces don't move when the graph is "played".
Short term:
  • Get the position bar to scroll with the graph.
  • Allow click-dragging to move forward and backward through the log traces.
Medium term:
  • Add inertia to click-dragging.
  • Zoom in and out with the mouse scroll wheel (centered at the pointer location).
  • Make color selection better possibly with hard coded colors.
  • Show graph position (record count) in mouse hover display.
  • Allow zooming in much more.
Long term:
  • Reorganize the way "tracks" are added, traces are added to tracks, colors are selected, and trace data is displayed to look more like every other similar tool out there.
  • Allow zooming out beyond a 1:1 ratio of data point:pixels.

Not-so-current screen shot:

Image
Last edited by BenFenner on Wed Oct 12, 2011 9:31 pm, edited 1 time in total.
User avatar
BenFenner
LQFP144 - On Top Of The Game
Posts: 360
Joined: Wed Jul 09, 2008 3:15 pm

Re: BenFenner's OLV development diary (comments welcome).

Post by BenFenner »

Recently completed:
  • Fix bug where log traces don't move when the graph is "played".
  • Get the position bar to scroll with the graph.



Immediate future:
  • Allow click-dragging to move forward and backward through the log traces.
Short term:
  • Zoom in and out with the mouse scroll wheel (centered at the pointer location).
  • Update *.bin log loading to match new specs.
Medium term:
  • Add inertia to click-dragging.
  • Make color selection better possibly with hard coded colors.
  • Show graph position (record count) in mouse hover display.
  • Allow zooming in much more.
Long term:
  • Reorganize the way "tracks" are added, traces are added to tracks, colors are selected, and trace data is displayed to look more like every other similar tool out there.
  • Allow zooming out beyond a 1:1 ratio of data point:pixel.


Current screenshot:

Image
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: BenFenner's OLV development diary (comments welcome).

Post by Fred »

Great! The scrolling and zooming work well with the scale thingy and the error that I noticed seems to be only an offset to one side, which it could have been earlier too. Much better :-)

One thing:

Image

When you zoom in, you need to insert more numbers earlier, ie, if the default spacing is ideal, then don't let it get to double, each time it equals or exceeds double, insert a new set in between. Feel free to make it even better than that by keeping whole numbers. The ultimate is of course steps of 1 with a major tick each at around 27 on a 1280 wide screen with full width viewing and max current zoom. There is no reason to stop there, though, you could go as low as 2 per screen which is about 15x more zoom than is currently allowed, or 750x, perhaps round up to 1000 or 2000 for good measure. Oh, I only now see that this is already on your list :-) Thinking about it more, the only reason to limit it is to avoid getting to the point where the user doesn't know where they are zoom wise. IE, make sure 2 points stay on screen at all times, let it limit to whatever value generates that, based on that, and nothing else. Arbitrary limits suck :-)

While writing that paragraph I noticed the code that grabs the marker position from your mouse is severely uneven resulting in being unable to grab the edge most line to centre. It should split the difference between two points and take you to which ever is closer. Zoom in fully and move mouse from side to side to observe this behaviour.

I like your plan. I'll probably get onto the freeems bin stuff tonight so that I can use it. I don't know if I'll just hack it in, or do it right. If I just hack it in, I dont' expect you to pull in the commit, just take it as an example of how it should be and then do it right in the proper way with the same outcome.

PS, did you touch the colours, or did I get lucky with them being optimal in my screen shot? :-)

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
BenFenner
LQFP144 - On Top Of The Game
Posts: 360
Joined: Wed Jul 09, 2008 3:15 pm

Re: BenFenner's OLV development diary (comments welcome).

Post by BenFenner »

Haven't touched colors, you got lucky.

The "snap cursor to closest data point" seems to be how Gufi coded things and maybe is a relic of the past that we want to get away from. For sure it should at least "snap" to an actual data point, instead of offset like now. I'll add that to the heap of things things to do. I did notice it.
Things aren't getting implemented or fixed so much as I'm sweeping through making huge architectural changes that just happen to fix things or implement things. After doing that a couple times, actually implementing new things is getting much easier.

When zooming in right now at 5x the data points get big so you can really see them. That's when the position scaling changes. I will make it so that is changes more often and all the way down to singles.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: BenFenner's OLV development diary (comments welcome).

Post by Fred »

Fantastic! :-) Re the snapping to data points, I think it's a great idea, but it's not snapping to the ones it should, ie, the centre for snapping left or right is really close on the right hand side of each point, at least it is at full zoom, do you see that too, does that make sense, are we on the same page? :-) PS, I got lucky again, same fields, same log file, I guess you were telling the truth with the "determined up front" thing ;-)
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
BenFenner
LQFP144 - On Top Of The Game
Posts: 360
Joined: Wed Jul 09, 2008 3:15 pm

Re: BenFenner's OLV development diary (comments welcome).

Post by BenFenner »

Recently completed:
  • Allow click-dragging to move forward and backward through the log traces.



Immediate future:
  • Allow zooming in much more.
  • Update position gradations more often as you zoom in.
  • Zoom in and out with the mouse scroll wheel (centered at the pointer location).
Short term:
  • Update *.bin log loading to match new specs.
Medium term:
  • Add inertia to click-dragging.
  • Make color selection better possibly with hard coded colors.
  • Show graph position (record count) in mouse hover display.
  • Do something with the way the cursor snaps to data points incorrectly.

Long term:
  • Reorganize the way "tracks" are added, traces are added to tracks, colors are selected, and trace data is displayed to look more like every other similar tool out there.
  • Allow zooming out beyond a 1:1 ratio of data point:pixel.
User avatar
BenFenner
LQFP144 - On Top Of The Game
Posts: 360
Joined: Wed Jul 09, 2008 3:15 pm

Re: BenFenner's OLV development diary (comments welcome).

Post by BenFenner »

Recently completed:
  • Allow zooming in much more.
  • Update position gradations more often as you zoom in.
  • Zoom in and out with the mouse scroll wheel (not centered at the pointer location).



Immediate future:
  • Add inertia to click-dragging.
  • Make mouse scroll wheel zooming behave like Saleae.
Short term:
  • Update *.bin log loading to match new specs.
Medium term:
  • Make color selection better possibly with hard coded colors.
  • Show graph position (record count) in mouse hover display.
  • Do something with the way the cursor snaps to data points incorrectly.

Long term:
  • Reorganize the way "tracks" are added, traces are added to tracks, colors are selected, and trace data is displayed to look more like every other similar tool out there.
  • Allow zooming out beyond a 1:1 ratio of data point:pixel.
User avatar
BenFenner
LQFP144 - On Top Of The Game
Posts: 360
Joined: Wed Jul 09, 2008 3:15 pm

Re: BenFenner's OLV development diary (comments welcome).

Post by BenFenner »

Recently completed:
  • Make mouse scroll wheel zooming behave like Saleae.
  • Fix a bug I've found where drag-scrolling doesn't work well when zoomed in and moving the pointer slowly.
  • Add inertia to click-dragging.



Immediate future:
  • Takin' a little break.
Short term:
  • Get horizontal scrolling (laptops with horizontal scroll on touch pad and certain mouses) to scroll the graph left and right.
  • Update binary log loading to match new specs. (Fred is working on this instead)
Medium term:
  • Make color selection better possibly with hard coded colors.
  • Show graph position (record count) in mouse hover display.
  • Do something with the way the cursor snaps to data points incorrectly.

Long term:
  • Reorganize the way "tracks" are added, traces are added to tracks, colors are selected, and trace data is displayed to look more like every other similar tool out there.
  • Allow zooming out beyond a 1:1 ratio of data point:pixel.
Post Reply