Week 6
14/07/07 23:45 Filed in: Work
One thing that was left from the
previous week was fixing the ends, make them also have the
fisheye-rollover effect. Having this I could go ahead and work on
the layout for the vertical axis. First, I fixed the layout when we
were in the unfocused case; then I started working on the layout
for the focused case. The first problem encountered was with the
third number below the focus number: it was always shifted to the
left. (By focus number I meant the number that was selected and/or
rolled over; each focus number has two neighbours before and two
after that are also zoommed in with the fisheye effect).
By the end of the day, the layout for the fisheye-rollover vertical axis was almost fixed.
The next day I worked on fixing the spacing between the numbers. Then I implemented the different colors for the number under the cursor and its neighbours. I created new methods like colorFocusNumber/decolorFocusRolloOver, decolorUnfocusedCase; I wrote the layout for the other numbers that are not clicked, but the mouse rolls over them; and I designed the layout when you roll over a focus number (the first number below and above the focus number).
After talking to Sarah about the case when we roll the mouse over the focus number or its two neighbours, we decided that it would not make sense when:
1. you roll over the focus and have the first two numbers above and the first two below colored in blue and increased in size;
2. you roll over one of the two neighbours and have - again - the first two numbers below and above also colored in blue and zoommed in;
- it wouldn't make sense because rolling over a focused number already has the number and its two neighbuors with an increased size, it would be just the color that changes.
With this taken in consideration, a first draft of the fisheye-rollover-vertical axis was done.

Same Wednesday, after setting up the CVS, I moved to implementing the effect for the horizontal axis. Something very weird about the horizontal layout made me realize that it would have been probably better to have the action for the target names when clicking on them. So far, they were expanding only when one would click the dot and not the target name. Not having this clicking action implemented for the vertical axis, I didn't see the weird problem with the layout. So, I'm thankful to God for not having it implemented; it would have really confused me and I would have never finished implementing the special effect.

The weird bug was given by the way you were moving the mouse over the number. It made me think that it had something to do with exiting the number. I tried to modify the coloring methods and introduce different boolean variables at different places inside the code. None of them was working. Depending on the mouse movement the focus became either of the size of the other small number, or of the size of its two left and right neighbours, or - and this was the most confusing part - it was staying its own big-focus size.

Thursday was one of the most frustrating days of my internship, that far. I spent almost an entire day trying to fix the bug and at some point I even wanted to give up... By 3 o'clock in the afternoon, after playing infinitely many times and after trying to find a pattern in the mouse movement, I realized that the problem was given by the fact that if you were not entirely with the mouse over the number and maybe the arrow was a little bit over one of the blue numbers, the layout would not be displayed nicely. When you were clicking entirely on the focus number, everything was mixed.

The first thing I did to confirm my supposition, was to introduce two nodes: one called redNode and one called clickedNode. I put lots of if and print statements inside the code and in 20 minutes it was confirmed.

At the end of the day I was very happy that I didn't give up and I could fix the weird bug.
While Cecilia was playing with the layout and she was also telling about the weird thing, I've figured out that the problem would be solved if I had a box outside the number... this idea that came only then I think it was revelatory.
Before I went home I also finished a first draft of the fisheye-rollover-horizontal axis and I put it on CVS to have Sarah look at what I did that week.

The next day I realized that I left something behind: the case when you roll over the last number, but that didn't take too much to fix.

The next task was to work on the mechanism that would send information about the mouse click action from the X node (a number on the horizontal axis) to the corresponding GridNode (the corresponding column of dots).

After Sarah made some modifications to the architecture, I also finished setting up the environment for the moment when I'll be clicking a number or a target name and have the corresponding column, respectively row, selected.
Having the mechanism up, Sarah told me about the composites that I could use to create a box with spectra nodes; having this, it would be possible for example to select a SN name and have the corresponding row selected and with small spectra inside for all the phases.

On Friday I also enabled the click for the vertical axis; momentarily, when clicking on a target name it expands and increases the size accordingly; however, it doesn't select/zoom in the row.
The Piccolo toolkit uses the concept of composition in many examples on their website and next week that will be the starting point.
By the end of the day, the layout for the fisheye-rollover vertical axis was almost fixed.
The next day I worked on fixing the spacing between the numbers. Then I implemented the different colors for the number under the cursor and its neighbours. I created new methods like colorFocusNumber/decolorFocusRolloOver, decolorUnfocusedCase; I wrote the layout for the other numbers that are not clicked, but the mouse rolls over them; and I designed the layout when you roll over a focus number (the first number below and above the focus number).
After talking to Sarah about the case when we roll the mouse over the focus number or its two neighbours, we decided that it would not make sense when:
1. you roll over the focus and have the first two numbers above and the first two below colored in blue and increased in size;
2. you roll over one of the two neighbours and have - again - the first two numbers below and above also colored in blue and zoommed in;
- it wouldn't make sense because rolling over a focused number already has the number and its two neighbuors with an increased size, it would be just the color that changes.
With this taken in consideration, a first draft of the fisheye-rollover-vertical axis was done.
Same Wednesday, after setting up the CVS, I moved to implementing the effect for the horizontal axis. Something very weird about the horizontal layout made me realize that it would have been probably better to have the action for the target names when clicking on them. So far, they were expanding only when one would click the dot and not the target name. Not having this clicking action implemented for the vertical axis, I didn't see the weird problem with the layout. So, I'm thankful to God for not having it implemented; it would have really confused me and I would have never finished implementing the special effect.
The weird bug was given by the way you were moving the mouse over the number. It made me think that it had something to do with exiting the number. I tried to modify the coloring methods and introduce different boolean variables at different places inside the code. None of them was working. Depending on the mouse movement the focus became either of the size of the other small number, or of the size of its two left and right neighbours, or - and this was the most confusing part - it was staying its own big-focus size.
Thursday was one of the most frustrating days of my internship, that far. I spent almost an entire day trying to fix the bug and at some point I even wanted to give up... By 3 o'clock in the afternoon, after playing infinitely many times and after trying to find a pattern in the mouse movement, I realized that the problem was given by the fact that if you were not entirely with the mouse over the number and maybe the arrow was a little bit over one of the blue numbers, the layout would not be displayed nicely. When you were clicking entirely on the focus number, everything was mixed.
The first thing I did to confirm my supposition, was to introduce two nodes: one called redNode and one called clickedNode. I put lots of if and print statements inside the code and in 20 minutes it was confirmed.
At the end of the day I was very happy that I didn't give up and I could fix the weird bug.
While Cecilia was playing with the layout and she was also telling about the weird thing, I've figured out that the problem would be solved if I had a box outside the number... this idea that came only then I think it was revelatory.
Before I went home I also finished a first draft of the fisheye-rollover-horizontal axis and I put it on CVS to have Sarah look at what I did that week.
The next day I realized that I left something behind: the case when you roll over the last number, but that didn't take too much to fix.
The next task was to work on the mechanism that would send information about the mouse click action from the X node (a number on the horizontal axis) to the corresponding GridNode (the corresponding column of dots).
After Sarah made some modifications to the architecture, I also finished setting up the environment for the moment when I'll be clicking a number or a target name and have the corresponding column, respectively row, selected.
Having the mechanism up, Sarah told me about the composites that I could use to create a box with spectra nodes; having this, it would be possible for example to select a SN name and have the corresponding row selected and with small spectra inside for all the phases.
On Friday I also enabled the click for the vertical axis; momentarily, when clicking on a target name it expands and increases the size accordingly; however, it doesn't select/zoom in the row.
The Piccolo toolkit uses the concept of composition in many examples on their website and next week that will be the starting point.