| Date | Category | Details | Time Spent |
| Tue, May 2 | Coding | Met
with everybody in lab and helped finish debugging the renderer.
Considering my coding skills arent up to par as the others, I tried to
help by letting them know what the scnarios were for the demo script
(got that from the post from HCI) so we can make sure the ones we are
using for the demo looks eye pleasing and working. I tried to help Leon
in his annotations, though I was not very successful. Tried to look up
the errors he was getting and just look at his code to see if something
was awry with it. Helped out in testing to see if it worked also added
in data as a previous user for cycleingdetection if the professors or
dick martin wanted to see it work. Also sat with Jonathan and helped
him finish his presentation by looking it over for grammar mistakes,
making sure the comments from the professor in the dry run were taken
into account (though we tried to have a cartoon but time was not on our
side). | 9:00 | |
| Mon, May 1 | Coding | Went
and kept on testing on the modules. I trtied to help the best I can by
sitting besides Tabreez and Brian and looking over their code when they
were fixing it up. Unfortunately I was not as helpful as I wanted to be
mainly cause I do not fully understand how the renderer and the
customized browser which they wrote works. I also jotted down on paper
more test cases to try to see if cycling detection would be helpful in
the long run. | 6:00 | |
| Sat, Apr 29 | Coding | bug
fixes:
I noticed and fixed that in pages table the indexer indexes the urls as
training_manual/... instead of /training_manual/... I tested our
modules in the custom browser. Noticed that alot of keys were not
working. Jotted them down and had Jonathan notify them on Kiva. While
Jonathan was adding a module so that his dynamic smartlinks would save
and load from the database, I tested out cyclingdetection and the
entire appliaction to see what other bugs there are. At that time there
was the problem of the "closed window" button, resizing images, errors
when certain links were clicked on in the search/smartlink pane.
Tabreez came and I told them abotu it and he fixed them. Kept on
testing it and finding bugs and seeing where they came from. | 8:00 | |
| Fri, Apr 28 | Coding | Helped
fix bugs:
- home button not working (it linked to wrong path)
- right frames not going to login page (if user is not logged it doesnt
do antyhing)
- .html files not loading properly(instead of just .htm loading
properly) (there was one .html file while the rest were .htm, in the
renderer it only took into account .htm I realized that and told
tabreez about it)
- parameter into getSmartLink not being correct Also found more bugs, a
couple with dynamic smartlink (null pointer exceptions) printed out
variables to see what they were. It seems the mergelink module was
having some problems. Its input was correct so that means the cycling
detection and static smart links worked but and then it checked
duplicates correctly, but then when it tried to find the title of the
page and then return the page title it had a problem. I eventually saw
that there was nothing in the page table in the database. Tomorrow
we're going to reindex the page table along with other tables. Also ran
cyclingdetection a few times to see if the output was correct | 5:00 | |
| Thu, Apr 27 | Coding | Helped
Tabreez and Melanie debug the renderer. There were alot of places
wherer the paths were misaligned i.e. the rendere or the javascript was
looking for stuff from the manuals (iamges, html files, javascripts) in
wrong places. I also tested out the renderer to try and crash it. Found
a few bugs after coming back. I was actualyl just gonna try out the
cycling detection to see if it worked 100%, but found thee bugs instead
and also found where it was crashing: - clicking on the home button in
the lower frame gives an internal error - when I click on a search
result after clicking on a keyword it gives me an error saying the page
is not found (which happens cause its looking for the .htm in
home/aircraft3/Aircraft/rpcs/...) - And the parameter url in
getSmartLinks(String url) is always ..../html/(the folder the page is
in)/search.do another words RequestParser.getURLParameter(request) in
buildSearchPage in Renderer is ..../html/(the folder the page is
in)/search.do | 6:00 | |
| Fri, Apr 21 | Coding | Met
with Jonathan to finish debugging our modules along with the capturing
experience controller. I got stuck on how to test it with the tomcat
server or whatever server. Eventually installed tomcat on the machine
and I wrote a jsp file that used my function calls to see if anything
displayed (inculiding print writers all over) on the screen. Saw that
considering there's no controller cause we just added our code into the
tomcat directory and a jsp file my code just erminates after every call
of the jsp and does not save the state. After a tip from Tabreez that I
can debug my code in eclipse and check if values get stored correctly
into melanie's database, I started writing system.out.println along
with a main in SOSRecognition to see what my modules did. i saw that my
mysql syntax was incorrect and was not storing so I had to look up and
ask how certain syntax worked. I also found out that i cant use Insert
if I want to replace something in the mysql database, so I used Update.
There was a weird bug which took me about an hr and 30 mintues to
figure out. && was not working for me. Also another bug where
it said said 'name of the table' nto found but it was the wrong name
and I couldnt find why it was looking for that name for another nice
chunk of time. I printed out the two values that it was && and
they were both true yet when I had A && B it came out false so
it never went in a loop that I needed it to go into. That was very
frustrating. Eventually I got it to store and display correctly. I
tried out about 5 scenarios and decided since it was late (2:30) to try
out more tomorrow. | 10:00 | |
| Thu, Apr 20 | Coding | Went
to lab to start setting up for the integration part for next week.
Installed mysql on the machine in the lab. Fixed up my code to include
.equals instead of == for string comparison, array checking using
.length() mainly small stuff that as a hardware person I either forgot
or never really cared about since I took 211 4 years ago, changed my
triple array to use an object class. I deleted unused member variables
and function calls that I commented out or chose not to use. Pretty
much cleaned my code up to be compact. Kevin came by and set up the
master and slave on the lab's computer. I helped him find melanie's
database .sql file to generate it on the client machine (i.e lab
machine), looked over what he did to see if he was making a mistake.
Also talked with him on the possiblity of having sharing for the demo.
I gave the suggestion that since the slave cannot be written into ,
have a temp database and our modules (smartlinks modules) would check
both databases and store to the temp one. But then the problem arose
that another module needed to be made to check what is in the central
server and the temp database cause there may be duplicates. With
anotations its easier cause one only needs to add to the central
database and not care about different cases. | 4:00 | |
| Wed, Apr 12 | Coding | I
compiled my module in eclipse and gave me tons of warnings mainly for
database inserting and retrieving. I fixed that, I commented out the
database stuff and added println to say insert... and retrievie so I
can test out my module by manually inputting strings of urls. I made it
to println because i was told not to actually access the local database
yet with my module. I changed some loops that were redundant and that
seemed unneccessary. | 2:00 | |
| Tue, Apr 11 | Coding | continued
and finished implementing the module to store all the urls into the
database. Finished heuristics on rank comparing and add urls to
database if no hits also finished compare if the endOfPathUrl are the
same, if same increment rank. Also realized that I need a module to
store the urls of user temporary as a consideration of it being
endofpathurl because we wont know when the user pressed the button
until after he has gone to the url he wanted to. Compiled this and
fixed syntax error. Then edited the CapturingExperienceController to
add my class SOSRecognition. | 3:00 | |
| Sun, Apr 9 | Coding | I
started implementing a module in Java that would store when the path is
done (i.e. when the user presses "solved problem" button") the urls the
user cycled between along with the url the user went to when he/she
pressed the "solved problem" button. It checks whether the cycled urls
in the database are already in the DB or not. If not add it. If it is
then check the smartlinks columns to see if there is an entry in them.
If all columns are filled up compare rank and remove one with lowest
rank. If rank same remove oldest smartlink. If smartlink same as the
endpath of user then increment rank. Had to also look up about MySQL
databases and Java so I can insert queries into the database when
appropriate. Alot of conditions in the module but eventually its only
going to insert stuff in the database once, but deciding which case it
is took some time to implement | 3:00 | |
| Thu, Apr 6 | Coding | After
talking with Tabreez I went ahead and continued my implementation. I
did not change the method of my implementation (using triple array) and
searching through each [] but when it makes a hit then it stops
searching in the [] but then in the [][] and then to the [][][]. I hit
a snag trying to compare objects so I changed it all to a string array
cause the url from the httpservletrequest (or the input into the
module) will always be a string. Also started looking up a way to
measure how long a user has been on a page to see if the user is lost.
I also started reading up on XUl, firefox. | 3:00 | |
| Tue, Apr 4 | Coding | I
implemented a module that would compare what is stored in the database
with the urls the user cycled between. If there is a match return a
vector of urls (3 urls). Then I talked with Jonathan and I started
thinking maybe if there was a way for the Capturing Experience blackbox
to recieve a signal when the database (local and central will sync)
that my module does not need to always update the local database every
function call. Instead I would have a datastructure that would store
all the urls, solution urls, rank and when its time to sync, then I
store/compare it all to the local database. I used a triple array to
store the urls user cycled between, solution_urls, rank of
solution_urls. I had some problems usng objects and searching the
triple array with more efficiency, so I'm going to wait to talk with
someone from search group tomorrow in class | 3:00 | |
| Mon, Apr 3 | Coding | Instead
of just sending a signal that a user is cycling when a user is cycling
I thought of a way to send more Smart Links to be displayed which may
be helpful. I implemented storing the urls the user cycled between into
an array. If the urls the user cycled between was already in the array
then it would not be stored. After implementing that, I coded in a
module that would store the urls into the local database along with the
url that the user went to when he/she pressed the solved problem
button. This would all be done when the user presses the solved problem
button. I also started thiinking of how to implement a ranking system
because I only want at most 3 urls to be displayed when a user cycles
between certain pages. Cause tehnicially there can be n(n-1)/2 cycled
urls (counting the 2 urls cycled between as one unit) and then multiply
that by (n-1) which is about n^3/2. a tad too much unneccessary stuff
also it would look messy in the display pane to have too many links. So
I figured that every time a user presses the solvied problem button ,
my module would check if the url was a match with a url already in the
database. If there was an instance already stored increment by 1 if not
rank = 1 and add to the database. However when there are 3 solution
urls, delete lowest rank, if rank same delete oldest one (before I was
thinking of a timestamp, but i think this other way would work) which
is the first solution url (added into database left to right) | 2:30 | |
| Sun, Apr 2 | Writing Reports / Presentations | I
edited the sections I wrote for the report also considering Jonathan's
part had info that would be better for software modules, I used his
stuff and incorporated it to my parts. I added more diagrams and read
over the sections a few times making corrections where needed and added
more details for each module. | 1:00 | |
| Sat, Apr 1 | Writing Reports / Presentations | I
wrote all of the Functionality and Software Modules part of the report.
I had a bit of difficulty time writing parts that the HCI people did
because I was not sure implementation wise what they did. Had to look
through their code to ge ta better understanding of it. I also touched
up the dependency chart that I made throughout phase 2. I made a few
changes to it (switched user on module i.e. me for login page (well at
least the start of it) instead of Aashni also edited Leon's modules for
recording/annotations) and then I copied and pasted the diagram onto
the report section for task dependencies. I also write half page worth
of lessons learned and issues for Leon. | 3:00 | |
| Fri, Mar 31 | Design Engineering | These
would be done on the side/lower priority. Started thinking of different
approaches to cycling, information that may be useful to capture the
user experience. These are some of the things I want information of.
Things to keep:
how many times user used the tab button on a page (tab to right, tab to
left)
how many times user clicked on a keyword (but not neccessarily clicked
on a link of
the search results)
how long user has been on the page (timer)
ex: if long time on one page (blink solved problem button) if long time
(but not as long as above) on 3 pages staight, he/she may be lost. Also
I want my isUserLost module to see if a user is going from section to
section (or page to page that seem like they re unrelated ex: page5,
page 41, page 71, page 12, page 34, page 121). He/she may be lost. Also
I want to have links on the side if a user iscycling or lost instead of
just a font change or a rectangle box around a smartlink already
present. I was thinking of storing into the database when a user cycles
(the pages he/she is cycling between and the url when the user presses
"solved problem" button. So if a user is cycling between those two same
pages a new link may appear(though it could technically be the same ilr
as the other smartlinks (but we have a duplication module to take care
of that)
TO take into account scalability (cause a user can cycle between the
same pages as another user but have a different url when he/she presses
"solved problem" button, at most we would have 3 links, delete the
least viewed and earliest link (using time stamps). Delete least
vieweed, if view is the same for all three delete earliest link or
something like that
| 2:00 | |
| Thu, Mar 30 | Group Meeting | I
met with Capturing Experience and Search Group to talk about roles for
next phase, written report and integration. Our interface for capturing
experience will be ExpCaptureBlackBox Interface
handlePageRequest(request, response) handleSearchRequest(request,
response) boolean isUserLost() boolean isCycling() Vector getSmartLinks(url) We talked about changing the
way we use the datatbase so we do not need to store all the martlinks
everytime. I also asked the search team if I can get info like user
clicking on a link (how many times) | 1:00 | |
| Thu, Mar 30 | Coding | I
changed the login page to incorporate all the information that we will
use that was made up by Aashni (expert contact information). I took out
the picture cause with all the names and titles there was not much
spacing. Noticed some design issues like alignment and font size so I
changed that. I attempted to learn/write stuff for sesssions and to
setattributes(username, name) which would store the usernames in the
session. I discussed with Melanie regarding the sessions. She is more
experienced with this type of scripting so she wanted to do it, but we
discussed whats needs to be there and the type of checks that the
session needs to make like if the user accidently loged in as the wrong
user by clicking on the wrong name, how can he/she change her login
info or go back to the login page without closing and opening again. I
entered in the info for the users in the database (first name, last
name, years in service, titles). I implemented isUserLost() which
returns a flag if user is lost. Right now all I did was check if the
user has gone to the main page(tabloe of contents) several times in a
session. That may tell us that the user is not sure where some kind of
information is located. I also implemneted completePath (which runs
when user presses the "solved problem" button" which would reset the
queue for cycling and set the flag that comes from isUserLost back to
0. So now I have three .java files: SOSDetection.java
CyclingDetection.java UserLostDetection.java | 6:30 | |
| Wed, Mar 29 | Coding | Implemented
the new and improved cycling module. I mainly used for loops to check
through the queue. It would check first and then put the url from the
httpservlet request because considering the queue is 10 deep, when
something got evicted that url that got evicted may be one of the
matches. I want the queue to evict only after the cycling checks have
been done. I also checked to see if queue is empty, also (because i'm
using a for loop to go through the queue) checked if the match (when
the urls that is different from the httpservlet request is compared) is
not counted twice. I also noticed that this path is not counted: (A, B,
A, C, D, A, B)
cause my heuristics only sees it as cycling = true when the url from
the httpservletrequest is matched two times in the queue, so another
words it sees B and sees only 1 other instance of it in the queue and
returns cycling = false. So I fixed that by adding in another case
statement. I tested out my program manually by inputting strings of url
(ex: www.A.com, www.B.com, etc...)Once I saw that it worked (tried out
the 4 cases I have mentioned so far, including from last login) I
optimized the code to lessen the iteration and nested ifs. | 5:00 | |
| Tue, Mar 28 | Design Engineering | I
started designing the cycling heuristics.
After trying out different websites (to see what I did when I was
cycling) The examples I wanted to take into account are: (letters
represent pages)
(A, B, A, B, A) (A, B, C, B, A, B)
(A, B, C, D, B, F, A, G, B)
psuedo code for this is to compare the url from the httpservletreuqest
with what is in the queue. if there are two matches of it and if there
are two urls in the queue that are the same but not the url from the
httpservletrequest then cycling = true; Also the capacity of the queue
will be 10 deep.
| 2:00 | |
| Mon, Mar 27 | Writing Reports / Presentations | I
Found out in the dry run cycling definition is all wrong. I found a new
definiton of cycling: if a user has gone to 3 of the same pages and 2
(that is not the same url as the 3) of the same pages. Edited the
slides to change the definition of cycling. Tried to show it as a
diagram, but cause I just redsigned the whole thing, my diagram was not
as strong. I have to sit down and figure out how to implement this. I
will save my old code though because comparing the path to see which
url the user hit most can be useful in a different way. | 2:00 | |
| Sun, Mar 26 | Coding | Reimplemented
login page to take into account the resolution of user screen. I
personally use a very high resolution on my personal computer so when
someone sees the page the html page gets distorted and stretched. I
used percantages instead of pixels to define the size of my text, image
and positioning. From: DIV style="position:absolute; top:200px;
left:200px; width:100px;" to DIV style="position:absolute; top:1%;
left:10%; width:20%;". Also researched on using tables to help set all
the text and alignment. | 1:00 | |
| Sun, Mar 26 | Group Meeting | Met
up with Jonathan and Leon to work on the demo for the dry run. However
we forgot that no computers on campus have java 5 installed on it, so
we could not compile our code. We tried to use the server Melaine from
search group provided but we eventually just looked up what a javabean
is and how a .java can be used with jsp. We decided we needed somewhere
where we could put our code and it would compile all of our code.
Instead of worrying to compile it every time. I also showed Jonathan
and Leon different UI designs of the log in page. A problem came up
because the users do not have access to the arrow keys (hence disabling
them from using forms). | 1:30 | |
| Sun, Mar 26 | Coding | Implemented
two more designs, one with just clickable links of user names and
another of usage of radio buttons. Also changed the font of the title,
the sizes. The design with clickable usernames is the most basic one
where the user can just tab to their name and click the action button
(focus button). The design with the radio buttons cannot be used at
this time because user only has tab and enter, and forms like radio
buttons and checkboxes cannot be selected with just enter key. | 1:00 | |
| Sun, Mar 26 | Writing Reports / Presentations | Modified
cycling diagram. I changed the order of how the daigram runs. It now
shows, first input of queue, replacement of oldest in queue, comparison
of whats in the queue and then reset of queue. Also added a slide to
talk about the login page. Its goals and contents. The goal of it is to
identify the user. We want to use that info to track the user to see
which paths are from experts of what and who annotated something. Is
the annotation credible? | 0:30 | |
| Sat, Mar 25 | Coding | Implemented
in html a prototype of our login page. I made different UI designs and
tried out different fonts and placement of words. I put in a dropdown
box with a list of user names. I also made up user names for this (we
may just use these names for now). I also looked in the web and the
manuals for a picture that would be great for the front page. Also made
buttons that would link the user to either the training or procedural
manuals depending on their destination. I tried to have a hidden
dropdown box where when the user tabs on (user name) icon, a dropdown
menu would appear and thean disappear if the user is not on the icon.
Also researched on various methods on html/javascript impleemtnations
that may help. I put it all together and redesigned it for better
useability and design features. | 5:00 | |
| Sat, Mar 25 | Writing Reports / Presentations | I
made the slides for cycling module, expert contact information, goals
and lessons learned. For the cycling module I thought it would be great
to have a simple demonstration using a diagram on how it works. I
mainly used many custom animations to make that diagram. The diagram is
made up of 4 clicks. In the beginning its just an empty table (queue).
First click
shows storage of first url (fifo). Second click shows storage and
comparison (when module returns true).
3rd click shows what happens to the queue when its full and a url is
given (fifo). 4th click shows what happens when the solved problem
button is pressed (reset queue) | 2:00 | |
| Sat, Mar 25 | Writing Reports / Presentations | I
forgot to write notes for the cycling daigram slide. So I wrote notes
about what it does and when it does what on the bottom of the slide
where notes are held. | 0:05 | |
| Fri, Mar 24 | Staff / Leaders Meeting | Gave
a recap of what our group has been up to. Told the professor the
functionalities of our componenents: Links (called SmartLinks),
Cycling/Lostness Detection Module, Expert Contact, Recording Module. I
told the professor that we are a bit behind but mainly on schedule. We
hope to have some working demo by next week. The main modules that are
yet to be finished are static links(assoiation between manuals), expert
contact information and login page | 0:45 | |
| Thu, Mar 23 | Coding | I
met with Jonathan and worked on implementing the module that will be
put together all of our modules. We first made it as a static void main
but chanegd it to a class boolean. We had two cases (when the "founded"
button is not pressed and when it is not pressed) when it is not
pressed my module will be running (comparing and storing the urls in a
queue). If the button is pressed, the queue is reset. Also we fell in a
snag of how to store the paths of the path prediction module so all
users can use it (sharing among users). We came up with undirected
graphs, different algorithms and methods of how to solve it, but we are
still not satisfied. I came up with using the node of the end path and
the node where the smartlink will be presented and the rank of the end
path and store those three into a database which will be stored in the
central server. With these three info, the trie on other client
machines will search for the node of where the smartlink will be
displayed and add the endpath if there isnt one or add the rank to the
endpath if it already exists. We werent satisifed with this because it
does not take into account particular paths. Its more of a
generalization as we assume where the user is going. | 2:30 | |
| Wed, Mar 22 | Group Meeting | We
met in class to give updates on what everybody has done so far. I told
people that I finished the cycling module and is in middle of debugging
it and creating extra features of it like a timing detection. I found
out that some people have not finished what was on the dependency
chart. We also listed on what still needs to be done. Jonathan and I
will meet tomorrow to code the module that will put everything
together. I also reorganized what is Secondary and set a simple
timeline for next week on what needs to be done. If we can get a
working demo of most of our componenets if not all it would be great
for the presentation. | 1:20 | |
| Wed, Mar 22 | Coding | I
restructured my code to all be done in a class. Before I did alot of
the functionailty in a main file, but that was a mistake. I redid the
functions and simplified some of the coding with arrays, loops api
calls. I added comments so people would understand it along with public
class member variables to store the queue. I added a reset function
which will empty the queue when the session is finished (when the user
presses the "founded" button. Also I cut down on member variables and
tried out timing and httpserveletrequest functionalities. | 2:00 | |
| Tue, Mar 21 | Coding | Looked
up and tried out httpserveletrequest class. Found out I can save data
as an object so my cycling implementation can use previous gone urls.
Started to change my code to not save the data in the registry and save
it as part of the client webserver. Thinking of adding extra
functionality to detect cycling if user is on a page for an x amount of
time. For the cycling module it will highlight or somehow make the
static smartlinks more noticeable so a timer that will also signal this
would also be a good functionaility. | 3:00 | |
| Tue, Mar 21 | Group Meeting | I
met with search team member Tabreez to clear up client side web server.
I was unsure of his explanation over kiva on saving states. Also I
asked how the controller will work with regards to our modules. Also
asked about database implementations and how they work in regards with
a program and scenario | 0:30 | |
| Sun, Mar 19 | Coding | I
added storage functions to the queue that I made. The storage functions
use the pc's registry to store values. After implementing that I used
it to store a url when I receive a url from the http_serveletrequest.
Once stored it would be retrieved from the registry every time the
program is used and what ever is stored in the registry will be put in
the queue. My program now does this:
get an object from http_serveltrequest (A), store the object, next time
it is run,
get an object from httpservelet_request (B) store the object, next time
it is run, get an object from http_request (C)compare with stuff in
previous queueif same, rank the two pages store the object next time it
is run, get an object from http_request (D) compare with stuff in
previous queue if same rank the two pages store the object Once
rank(frequency) is three of coupled pages cycling counter is set to
1(signal to browser) When queue hits 10 long, delete head Also if
Founded button is pressed (flag set to 1) empty the queue. | 6:00 | |
| Sun, Mar 19 | Administrative Tasks | talked
with Wenshu and Aashni on their parts to clear things up. Also helped
Wenshu to get started on what he needs to do (how to associate between
the two manuals: use the search index of subject(titles)line to search
in the training manual. Those info needs to be stored in a mysql
database and be accesible to the browser. For Aashni she needs to
implement a mysql database on personnel info and find out how the
cookies for the session will be implemented by the search team so she
can get started on designing a log in system. | 0:45 | |
| Fri, Mar 17 | Coding | Continued
reading up on Java considering I forgot how to start it up. Afterwards
I wrote a queue that uses first in first out method. The queue can add,
remove objects. This queue will eventually store urls dynamically. I
tested it out and debugged to see if it will work for all cases. Then I
researched on how the best way to store the urls once I receive them
from the httprequest. Should I use a database, should I write to a
file. I eventually found an API known as a preference API that I may
explore. | 7:00 | |
| Thu, Mar 16 | Administrative Tasks | Started
thinking about the stuff that needs to be done by Capturing Experience
group, so I can get refocused after a long break. I made the changes to
the dependency graph that we made in our last meeting. Started emailing
with people to see how they are doing with their parts and setting up
times to code together for this weekend. Started looking up how to code
in Java | 2:00 | |
| Wed, Mar 8 | Administrative Tasks | talked
with those not in the meeting to make sure everybody is on the same
page before break. We talked about what needs to be done briefly and
that we would contact each other over break | 0:30 | |
| Tue, Mar 7 | Group Meeting | Met
with Leon and Jonathan to finalize each of our modules. We laid down
the plan on what needs to be done for each. Pretty much exact steps for
each module. We switched around assignments because of people's
preference. I developed the cycling module: cycling implementation will
have 3 functions: store the url, compare the url, delete the url. It
will be considered cycling if a user has gone to a couple of page three
times in a session. I also developed the db schema for the expert
contact info: user name, title, years in service, department, how to
contact? phone number?, field they are in | 1:30 | |
| Mon, Mar 6 | Group Meeting | Discussed
potential problems with Smart Links. Reorganized and fixed the schedule
to reflect the priority of modules. Discussed details of flow control
of what will happen when the user makes an annotation or cycles.
Briefly discussed the detailed software architecture. | 1:15 | |
| Sun, Mar 5 | Group Meeting | I
met with Wenshu to talk about the path predicition module. We will
start with a simple implementation. The implementation will be broken
down to two parts. First part will store the urls and a signal(flag)
that we will receive when the user clicks on the "Found Destination"
button. It will be stored as a tree with each path as a seperate node
and the urls as a the leaves. The 2nd part will compare the url that
the user is on to what is stored to detemine the path he/she is taking.
| 1:00 | |
| Fri, Mar 3 | Staff / Leaders Meeting | Gave a recap of what went on in the week.
- I finished up our dependency graph
- Jonathan and I made heuristics for our path prediction; however concern was that it may
be too complex (implement them if there is time)
- Added new features to our design
- button for the user to identify when he/she is finished (to determine paths)
- log in page where user can pick out who they are (used for annotating, SmartLinks, expert contact)
- Discussed storage space for the paths/SmartLinks
- Will have an implementation that will delete the recently used Path/SmartLink after a
certain amount are stored.
- prioritized our modules, dispersed workload evenly between group members
(Experiencing Capturing and HCI) and made a schedule on what needs to be done by
when
| 1:00 | |
| Wed, Mar 1 | Group Meeting | We
met in class and discussed what professor Dan and I discussed yesterday
and the new dependency chart I made. Changed some dates and what people
need to do because of time constraints fomr a couple of people for this
weekend. We talked about what we need from the HCI people. We need: -
input module for annotations (click here and then one can start to
record an annotation) - display of the annotation (append it to the
page? on a side page?), also with the annotations there needs to be a
display of users who entered an annotation, date (Capturing Exp will
get that the names) - a button or something (check box) where if the
user clicks/checks it, that determines when the user has finished
searching for what they have been looking for (as we talked about
today, a "I FOUND WHAT I'M LOOKING FOR" button. Once this button is
pressed our program will know when the user path has ended. -
SmartLinks (2 kinds, static (will be a direct association from
procedural to training manual) and dynamic (the links that will be
generated as the users click through different urls, these will also
need to display from whom did we get the SmartLink so users can
determine if SmartLink is reliable) The dynamic SmartLinks will use the
urls from the path found from the "I FOUND WHAT I'M LOOKING FOR" button
- Expert Contact (Will need to show user name/info of that person who
we feel is an expert in the page. This is for users to have the ability
to know who to contact if the user cannot find a solution in the
manuals/searches) | 1:30 | |
| Wed, Mar 1 | Preparing Specs | Was
told by Clive that our dependency chart was not specific enough, so I
went and broke down the modules even more and made more specific
timelines for when they should be down. By next week :
- Information about Sphinx will be fully known
- Information of personnel will be known - Outline of Cycling
implementation
- Outline of Path Prediction implementation
- Outline of Association between manuals implementation Then redesigned
our chart | 2:00 | |
| Tue, Feb 28 | Group Meeting | Met
to discuss about heuristics of path predicition module, table of
contents and association between manuals. We recapped what we discussed
on Monday about the heuristics of the path prediction. We talked about
storage issues. There are way too many paths even if the length of the
path is shortened to like 4 assuming there are a 1000 pages of html
from the procedural and trainig manual. We tried to solve this problem.
| 1:30 | |
| Tue, Feb 28 | Preparing Specs | I
met with professor Dan to discuss our problem regarding storage.
Afterwards, had to redsign our modules. We added a button(bookmark)
where the user will identify when he/she have found what the user was
looking for. We put the heuristics for the path prediction/table of
content for something to be done if we have time to do them. First have
a working protype with input/display annotation, expert contact info,
button to show us the path of the user, association between manuals and
cycling identifier. Redid the whole dependency chart to accomodate
these features and ideas. | 3:00 | |
| Mon, Feb 27 | Group Meeting | Met
during class to talk about our new dependency chart. Rearranged modules
and made the expert contact and annotation modules more specific.
Listed heuristics on how to do shortcut links (use length of time that
user is on page, length of path, depth in subtree, closing the window,
session ending). Also heuristics on how to do the Association between
modules. Figured out to use subtitles/subject lines to associate
between procedural and training manual. | 2:00 | |
| Mon, Feb 27 | Preparing Specs | Changed
Dependency chart: added more modules to expert contact and annotations
(a module for database design, getting the user info from Dick Martin,
having a way to compress the audio), added table of contents module
(that will be used for our path prediciton heurisitcs(subtree) and
might be displayed on the front page along with the table of content
that is already there)and rearranged a few other modules to make it all
fit on the timeline | 1:00 | |
| Sat, Feb 25 | Preparing Specs | Designed
an indepth dependency chart with more specific modules, dates and names
of those involved for the modules. Wanted to have 4 main starting
points: Annotations, Expert Contact, Shortcut links, Association
between Manuls links. From there broke those down to what needs to be
done. | 2:00 | |
| Fri, Feb 24 | Staff / Leaders Meeting | Leaders
meeting to recao week and. Asked Dick Martin questions regarding user
testing and personnel information. Talked about doing table of contents | 1:00 | |
| Thu, Feb 23 | Group Meeting | group meeting to discuss database schema, dependency graph, assigments, deadlines | 1:00 | |
| Wed, Feb 22 | Class | Discussed
our new architecture. Redistributed the work among Search and Capturing
Experience Teams. Also discussed more specificis of our dependency
graph. | 1:30 | |
| Wed, Feb 22 | Preparing Specs | redesigned our dependency graph to fit new protocols and deadlines. | 1:30 | |
| Tue, Feb 21 | Group Meeting | group meeting to discuss architecture.
We changed our server/client model | 1:30 | |
| Tue, Feb 21 | Research | Researched
on different companies that have tried annotation systems (mainly ones
who used pdas) to see how their server/ client worked and find out the
pros and cons of it | 1:00 | |
| Mon, Feb 20 | Preparing Specs | made a broad dependency chart for capturing experience | 2:00 | |
| Mon, Feb 20 | Class | Worked on making dependency graphs for the entire system | 1:20 | |
| Mon, Feb 20 | Writing Reports / Presentations | editing/writing the report | 6:00 | |
| Sun, Feb 19 | Writing Reports / Presentations | editing the report | 2:00 | |
| Sat, Feb 18 | Writing Reports / Presentations | Writing the report the overview, technology survey, attribute dependency chart | 5:00 | |
| Fri, Feb 17 | Staff / Leaders Meeting | Leader's meeting to have an overview on what happened past week and what needs to be done for next week and rest of phase II | 1:00 | |
| Wed, Feb 15 | Class | class (presentation for our group) | 1:20 | |
| Tue, Feb 14 | Writing Reports / Presentations | looking up different scripting languages so I can finish the scripting matrix | 3:00 | |
| Tue, Feb 14 | Writing Reports / Presentations | Preparing for the written report. Setting up what needs to be done. Dividing up the workload between our members | 1:00 | |
| Mon, Feb 13 | Class | class (Trinetra's presentation) | 1:20 | |
| Sun, Feb 12 | Coding | started learning more about php and mysql for implementation part of project | 3:00 | |
| Sat, Feb 11 | Writing Reports / Presentations | Worked on phase1 presentation | 3:00 | |
| Thu, Feb 9 | Group Meeting | Met together with Search group to discuss architecture | 1:00 | |
| Wed, Feb 8 | Class | class | 1:20 | |
| Tue, Feb 7 | Group Meeting | Meeting to discuss architecture design | 1:00 | |
| Tue, Feb 7 | Writing Reports / Presentations | creating slides for architecture presentation | 1:00 | |
| Mon, Feb 6 | Group Meeting | Meeting to discuss architecture. What needs to be in it and what it should does | 1:00 | |
| Mon, Feb 6 | Class | class | 1:20 | |
| Sat, Feb 4 | Group Meeting | Meeting to discuss Use Cases and project features | 2:00 | |
| Sat, Feb 4 | Research | Researched
on other software regarding speech recognizer, came up with use tasks,
updated slides from our product feature matrix presentation | 3:00 | |
| Fri, Feb 3 | Research | researching/find information on task recognition software | 2:00 | |
| Thu, Feb 2 | Group Meeting | Meeting in preparations for architecture presentation, asnwering questions that came up in class yesterday | 1:00 | |
| Thu, Feb 2 | Research | Reading research papers on user recognition | 2:00 | |
| Wed, Feb 1 | Class | presentation on product feature matrix | 1:30 | |
| Wed, Feb 1 | Writing Reports / Presentations | presentation setup | 2:00 | |
| Tue, Jan 31 | Research | Researched on tools that can be used to monitors user behavior | 7:00 | |
| Tue, Jan 31 | Group Meeting | meeting regarding preparation for product matrix | 1:00 | |
| Tue, Jan 31 | Research | Research on different data capturing methods and voice/text recognization methods | 3:00 | |
| Mon, Jan 30 | Class | class | 1:20 | |
| Mon, Jan 30 | Research | researched on detection algorithms | 2:00 | |
| Mon, Jan 30 | Group Meeting | Group meeting to discuss outline | 0:25 | |
| Thu, Jan 26 | Group Meeting | meeting to discuss ideas on what needs to be done next | 0:30 | |
| Wed, Jan 25 | Class | class | 1:20 | |
| Wed, Jan 25 | Research | researched different methods that people have developed to decipher between experts and novices | 3:00 | |
| Mon, Jan 23 | Class | class | 1:20 | |
| Mon, Jan 23 | Administrative Tasks | making groups | 1:00 | |
Time spent:Total: 221:45
Administrative Tasks: 4:15 Class: 13:40 Coding: 106:30 Design Engineering: 4:00 Group Meeting: 23:30 Preparing Specs: 11:30 Research: 23:00 Staff / Leaders Meeting: 3:45 Writing Reports / Presentations: 31:35 |