While Ryan and Leonard are busy doing the 3D loader application on the other side of the room, I continued working on the multi-user function together with Ming Hong and Wilson. After much testing and debugging, the whiteboard finally supports multi-users. However, we found another problem:

blue laser: 2nd laser on screen
red square: 1st marker created
blue square: 2nd marker created
Test case 1:
The first marker was created by the 1st laser on screen and the second marker created by the 2nd laser.
Results 1:
All functions working well.
Reason:
1st laser created the first marker and 2nd laser, the second marker. Hence, working fine.
Test case 2:
We let 1st marker idled off and released the second laser on screen and shine it again before it idle off.
Results 2:
The laser that appear again could no longer control the marker on screen.
Reason: 1st marker idled off, left which 2nd marker on screen. Second laser released and appear again, second laser is now first laser. Hence, could not control the marker on screen.
Test case 3:
We then switch the lasers; 1st laser controlling 2nd marker and 2nd laser controlling 1st marker.
Results 3:
The lasers could not drag or draw using the markers
Reason:
The markers can only be controlled by lasers with the same index.
The problem exist because the codes used for check the dragging and drawing are separated we have to combined all the codes into a patch in order to solve this problem. Just before we are about to leave the company for the day, we found out how to use persistent memory in Quartz Composer.
03 Feb
Wilson was asked to join Ryan and Leonard in the 3D loader application and I will continued working on the multi-user function. We started debugging on where we had stopped yesterday and we found out that the multi-user function is working when we had combined all the codes into one javascript patch. However, the markers seems to be stacking onto each other we cause the marker to break and appear to be buggy. Thanks to Ming Hong, the problem is solved in no time.
After that, we tried running the Quartz Composer file on Cocoa to fix the overlay problem. We found that the x-coordinates is abit off as compared to the orginal Quartz Composer file and we also managed to solve the problem of the overlay.
04 Feb
I did a couple of testing on the multi-user function once i reached the office to make sure that it is working well. After that, we work on the "Clear All" function when toggled on/off and we found out that the GL Quad in Quartz Composer is actually drawn using 2 triangles leaving a gap in between. Hence, whenever we toggle on/off there will be a diagonial stroke in between.
Ming Hong then tried using 2 triangles with 1 of them overlapping but the problem still persist. Hence i suggested Ming Hong to create a triangle greater than the screen itself so the stroke could not be seen.
We then updated Kevin on the progress. Kevin found that its a little unnatural for the users to write as their have to write it in one stroke. He suggested to create a radius from the point it stop drawing so that when the laser is released and appear within the radius again, the user could still continue to draw.
05 Feb
We continued working on the function where it check the radius for drawing. We then left for NUS to attend a talk for poly students.
06 Feb
We tested the function where it check the radius for drawing. After that, we updated Kevin on the progress. Kevin find it hard to drag the marker and draw. so we increase the dragging and drawing area of the marker and then we update him again.
Everything seems good except it is quite irritating that we might end up drawing instead of dragging because we could not accurately point to the dragging area. Hence Kevin suggested a timer that would disable drawing from a certain radius after a certain time. He also suggested a few more functions which could improve the application.
- When laser is shined, a new marker is created
- Changed the area of the "Clear All" function.
Reflection:
This week, I learned that working on Lightdraw making its application multi-user is never easy as the Operating System was designed for single user. After a few month working in IHPC, I've learned what is a good application, having good functions is not the only thing, the simple user-interface, the ease of use all plays a part in it. Even though I have not got a chance to work on the 3D loader application yet, but as long as we keep each other updated, I think I could catch up with them in the shortest time.
No comments:
Post a Comment