Home Up Java Resources C++ Resources .NET Resources DevHood Search

Journal Entries, Week #13

 

Quick jump to: alio, beowulf,  jamesmcd, jkdot, jsegars, lipinski, localguy, othello,  rjmorgan, ryanaip, thewang, tjice, wrprice, swong.

 

----- ALIO -------------------------------------------------------------------------------------------

Status of Milestone: 95%

  • Gains made:
    • Behaviors that make decisions based on attributes are proven functional through testing hard coded people and items. Spiffy.
    • Worked with UI group to allow the spaceAdapter to have access to demographic attributes as well as statistical knowledge from each store.
    • Wander method is working if a bit cumbersome (TJ is helping to fix this).
  • Obstacles:
    • Fixing the builders for the person factories to add attributes from the info created from choice 3 of the mall wizard.
    • Creating items with pre-made attributes to be interacted with.

What is the status of these problems?  Have they been overcome?  If not, do you have a proposed solution for them?

 

Development Process

  • Working Stuff:
    • Communication between groups is great. People are letting their needs known and those needs are being met in a timely manner. Props to us.
    • Coding parties are fun.
  • Not working stuff:
    • I thought I heard that we have a working simulation of a pocket pc without a connection. Is it implemented for real?
      I’m not sure what you mean here.

 

  • Proposal for change:
    • Not much time left so unfortunately we can’t implement stuff and say that “this is for later” if it is possible to implement then we should do it now.
      This is a bit vague.  Be specific!   What problems exactly are you trying to solve here?    I don’t see how this relates to your “not working stuff”.

 

----- BEOWULF -----------------------------------------------------------------------------------

 

  • Status of Milestone
    • Gains Made: The GUI is not frantically updating every few milliseconds now and is displaying a number of things more smoothly.  Most of the functionality of the test view is now in the main view.  The “add item” toolbar button was added, and you can select where products are placed in the mall.  The renderer has advanced quite a bit.  People now go to the correct doors, move smoothly, and have additional icons based on what they are doing at the time.  Perhaps the most exciting work done this milestone was on the pocket PC where the GUI and renderer are now up and running.  Work with the AR group proceeded well to get the web service methods setup.  Hopefully these can be implemented with minimal effort at this point.
    • Obstacles: Illness prevented me from working as much or as well as I would have liked the last week and a half.  Aside from that, there were no major obstacles.
      Make sure your co-workers know your health situation.   Re-tasking may be needed.
    • Proposed Solutions: Find cure for the common cold.
  • Analysis of Development
    • Whats Working: It will be good to get all of our work documented.  The most recent development on the pocket pc is pretty exciting.  It will look even better when we get the web services running and can watch the pocket pc duplicate what is on our screen in the lab.  This was an important achievement that will turn some heads when we demonstrate the product to the customer.
    • Whats Not Working: This might not be the best time to try to get new features implemented.  We probably have enough on our hands wrapping up this last week, and it is not a good time to accidentally break someone’s code. 
    • Proposed Changes: We should probably just try to get existing features working how they are supposed to.  Catching exceptions and validating user input would be nice so that the customer can actually get the mall running without us having to holding his hand.

Nice journal.

 

----- JAMESMCD ---------------------------------------------------------------------------------

  • Status of Milestone:
    • Gains made:  Lots of little things.  This last milestone was all about being around and flexible to make fast changes to the code. SW: This one too! Specific gains were implementing the final system of how doors will work.  People can now see spaces on the other sides.  Also, TJ and I made it so doors get drawn in the correct place.  A connection scheme was also further finalized and the adapter to the model for use with web-services was written.
    • Obstacles encountered:  I’ve never pulled this one before, but time.  It’s the end of the semester and profs are piling the work on.  That made if very difficult to not only complete your tasking, but also to have the time to be around and make these sudden changes.  Constant changes to a lot of aspects of the project also got in the way as things you were not expecting changed on you. 
    • Solutions proposed:  Better balance between in-class work time and noodle/water fights.  Better communication about what will happen when.  Perhaps a more definite timeline should be developed for feature implementation.
  • Analysis of the development process:
    • What’s working:  The noodle/water fight was the greatest thing ever in class.  Not only did it give us a chance to go nuts, but it has given us something to talk about with one another other than 410.  This improves working relationships and, though I may be speaking only for myself, makes me less irritated by the people I work with.  A lot of people have really been coming through in the end, implementing many new, and necessary, features very quickly.  I have been very happy with this effort.
      The mental state of the programmers is a very important issue, considering that programming is fundamentally a creative venture.  The relaxed atmosphere promoted by many software houses is a deliberate construct aimed at improved productivity.
    • What’s not:  Motivation and enthusiasm.  No matter how many water fights we have it’s still the end of the semester, people are sleeping very little and they have tests staring them in the face.  This can be a major drain on you motivation to do work, especially since we’ve been working on this project all semester.  A lot of the excitement has gone out of it.  Now it’s just the regular grind.
    • Solutions:  Get a really firm set of things to do in the next week+ and stick to EXACTLY that.  Then people know what they have to do by when and they can settle themselves on getting it done.  They may not be happy, but it will get done.

Nice journal.

 

----- JKDOT ----------------------------------------------------------------------------------------

Milestone:

 

For this milestone I worked mostly with Jeff on the connection to the server and with Brian on the toolbars and Menu. I also offered some support to the AR group for the PocketPC implementation.  Continuing discussion with TJ and Will about the concept for the PocketPC interface implementation. 

 

Gains Made:

 

  • Helped make decisions about what should go where in the PocketPC interface
  • Debugging in the client code
  • Testing of client and manager code with the server
  • Discussed how the statistics and demographics should be generated and displayed in the interface.

 

Obstacles encountered:

 

  • Major time crunch because of project commitment for another class
  • Some adapters were not ready earlier this week, so we were unable to implement some of the testing with the server and updating information in the model.
    Stub code!   Don’t wait for even more complicated code just to test your stuff.

 

Solutions proposed:

 

One less project in another class would have helped tremendously.  Just more time would have been nice. 
One never has “more time”.    The trick is to learn to be maximally efficient with the time you do have.

 

Development Process:

 

What seems to be working:

  • Communication seems to be working.
  • TJ’s rendering magic – zooming and nifty animations!
  • Group collaboration of information

 

What doesn’t seem to be working:

 

  • No time left at all to do any major revisions (if needed)
  • Because of the time crunch, new code revisions are coming “hot off the press” as other groups need it.  It’s somewhat unavoidable, but then other groups have to stall and wait until the code is ready.  (This was just a minor setback)
    Use stub coding to avoid stalls and use re-taskings to take up slack.

 

 

Proposal for change:

 

Looking back, it seems that we did many things in an organized fashion to get us to this point.  However, since we did have to amputate some features because of lack of time and other problems of higher priority coming up, if this was done again, the team should spend more time evaluating the features and making more realistic decisions.  For a couple of the features, though realistic at design-time, we just didn’t think that they would get sidelined. 

What may be helpful next time:

  • Create a sub team that works on documentation continually through the development cycle.
  • More frequent small design reviews.
  • Tasking could be more of a total team effort than just an individual group thing. This would increase the awareness between groups of what the problems and capabilities may be.
    One has to be careful of “micro-managing”.   Other groups are interested in the result of the tasking, but not necessarily in the process of making those tasking decisions.

 

Nice journal.

 

----- JSEGARS -------------------------------------------------------------------------------------

Gains Made

This week was continuation of most of the work from last week.  Further refinements were made to the GUI so that values within control only update when they are dirty rather than control updating each time.  I also worked on displaying demographic attributes through the DemographicAtt property that Gilbert and Ali created.  The final part of my milestone was working on the PocketPC UI.  I was able to build Kijana’s mockups in Everett (with some modifications) and create the methods for updating controls in the UI once the WebSpaceAdapter is hooked in.
To what level has the code been tested?  It is important to know whether it is just “theoretical” code or if it has actually been tested with some sort of stub adapters.

 

Obstacles

My biggest obstacle this week was difficulty in finding a place to work on the PocketPC project.  There wasn’t a SourceSafe repository set up and a very limited number of machines had Everett installed.  I was eventually able to access TJ’s machine and work on the project he created but for a while I was wondering if I would be able to get any PocketPC work done.

 

Development Process

 

What's Working

Intergroup communication has been very strong as the project has wound down.  We’ve had some last minute needs come up in the UI (IMallClientAdapter and DemographicAtts) and the model group has done a great job of providing the needed functionality.

 

What's Not Working / Change

I mentioned this in the obstacles section, but the lack of any Everett install on a publicly accessible machine has made development difficult…that and the missing CDs ;).  The PocketPC stuff has been pretty last minute but not having a source control or a centralized source location makes development more difficult than it should be.

 

Nice journal.

 

----- LIPINSKI -------------------------------------------------------------------------------------

Milestone:

 

·        Configuring the model and GUI to run in separate processes, communicating through the NetHub. (E.g., write controllers for them.)

·        Make the factories run as an application used to launch stores.

·        Figure out which new adapters are needed for the PocketPC and implement them (work the AR group on this).

·        Implement MallClientAdapter if there’s time, but the PocketPC functionality is the priority.

 

Gains Made:  Ryan and I did got everything done, and then some.  With Jim we got a GUI application made, to hook into the current model.  We also retooled the adapters to make this work, and Ryan made the IPocketPCAdapter, specifically for the pocketPC.  Ryan and I also redid the Wizards, and set them to appear on startup.  With this, was also having the Wizards configure the factories.  I made an instantiation of IMallClientAdapter, it now just needs to be passed to the Client UI.  I also made stores run by themselves and add people to them.

 

Obstacles Encountered:

·        Algorithm for determining whether to add people each turn.

·        The Wizards don’t seem to work as they are described in their API.

 

Solutions Proposed:

            Probability of appearance is (MaxPeople – peopleCurrentlyinMall)/ MaxPeople.  This is thanks to Theo.  The Mall will always contain at least one person, since probability is 1 in that case.  Furthermore the probability of adding people once at MaxPeople is 0, capping the population.  I’m open to further suggestions if anyone has any.  In general, this probability should be encapsulated as some sort of strategy.  One could imagine a probability that was also affected by the time of day, for instance.     Theo’s self-limiting probability is nice, theoretically, but not very realistic.   People going or  not going to a mall because the current number of people in it is only a small effect.

            I rigged the Wizards to disable the back button on the first panel.  Previously if you pressed back, an exception was thrown.  The API suggest  ways to disable the back button, but they don’t work. 

 

Development Process

 

What’s Working: Pretty much everything in the model is ready.  The only thing is actually finishing setting it all up.  We have the factories, we have the model working, and we have behaviors.  We need to tie in the advanced behaviors and  adjust the factories for them.

            Hitting Jim, even if it was with a blunt, foamy object.

 

What’s not Working: We still don’t have a “final product” defined yet.  We’ve all written about that for the past 3 Journals, but nothing’s happened. The UI still has a ton of little things that are “off.”  There are menus with nothing in them.  There is no help section.

 

 To Change: We need to take the next class period and actually put down what we can accomplish.  I don’t know what exactly the plans are with the menu, but we need to get the UI in shipping state.

 

Nice journal.

 

 

----- LOCALGUY ---------------------------------------------------------------------------------

Milestone:

  • Gains Made:
    • I cleaned up some of the AR group’s code and commented where it was lacking.  I plan to go over it a little more in depth over the weekend.
    • Will and I attempted to create the proxy class for the Model group’s SpaceAdapter class and ran into problems since the Model was trying to return interfaces and special types.  The proxy class for web services has no idea how to reconstruct an unknown interface type, so our proxy generation was failing. 
    • I looked into changing the icon of the NetHub to something besides the generic windows icon.  It proved to take some time because I had to understand how the icons were set up.  I would change the icon and add it to the code, but nothing seemed to change.  I’m still not entirely sure how everything worked, but I ended up deleting lots of the size options for the icon, leaving only two, and the icon started working.  I know it’s a crappy icon, but I haven’t had time to make it look really nice yet.
    • Will found some errors in my code, and I helped him clean them up.
  • Obstacles Encountered:
    • We assumed that the Model group was only using base types for the PPCSpaceAdapterClass and they assumed that we could create a proxy class for any type.  This miscommunication cost us at least 3 days of work.  Supposedly the issue has been resolved, but it could have cost us any kind of results for the PocketPC.
    • The final project for Comp421 is taking a lot of my time this week.
  • Solutions Proposed:
    • Even if it seems redundant, we must make sure that all the groups are on the same thought level when we are implementing things that affect multiple groups or deal with interfacing between the groups.  Jim, although he complains about it a lot, has been very good at this. J

Development Process:

  • What seems to be working?
    • Some of the final goals of the project are done and more are being completed every day.
  • What seems to not be working?
    • I never really got tasking for this Milestone, so I was confused about what I was supposed to do.  While I understand that we did not have tasks because the AR group was either trying to figure out what needed to be done or waiting on other groups, it really does hamper how much work I am able to do.
      Arrggghhhh!!!!!
    • Despite all the talk about the importance of communication, it appears there was a miscommunication between the Model and AR groups concerning the PPCSpaceAdapter class.
    • It seems that the we can never get all of the AR group to show up to our weekly meeting.  I have been a culprit in the past, but it really hurt this week since we needed everyone there to discuss what remained to be done with the PocketPC.
  • Proposals for change:
    • Tasking need to be done, even if the group goal is vague making the tasking vague.
    • Communication was a real problem over the past week.  Both within the AR group and in the team as a whole.  In part I think this is because everyone is busy with the end of semester crunch, but communication is critical as the project comes to an end, and we have to make sure we are all on the same page.

Nice journal.

 

 

----- OTHELLO -----------------------------------------------------------------------------------

·        Milestone Status:

 

o       Gains:  So, the adapter layer is implemented now.  I’m in the process of making a Pocket PC test of the adapter layer, to make sure that the information is transporting correctly.

 

In implementing the adapter layer, we’ve found out that many types don’t reappear the way that we’d expect them once returned from a proxy generated by the WSDL tool.  Other types, like System.Drawing.PointF are unavailable on the Pocket PC (and for some reason, we couldn’t get WSDL to generate a proxy of that type, though we could generate proxies for our own customized Serializable types).

 

Ryan and Will implemented an adapter layer that used C#’s rectangular array abilities, and the ability to composite arrays of arrays.  However, when returned by the WSDL proxy, the arrays would all be one-dimensional.  This leads us to question exactly what was going on under the hood, and at what order were the array elements returned.  Some of the composited arrays didn’t have the size of the arrays stored as data fields (since they’re inherently a field in the object, in the C# type).  If composited arrays are converted to a one dimensional array, with their elements immediately after each other, it would be impossible to reconstitute them with the multidimensional size data again.

 

Thus, I rewrote the adapter layer (the PPCSpaceAdapter class, which wraps around any SpaceAdapter, and is shared via Remoting as a Web Service), to return one-dimensional data, and to rearrange the data so that they can be reconstituted into multiple dimensions.

 

Mostly, for our data we were lucky, though this isn’t as “elegant and extensible” as I had hoped.  But then again, protocols never are.  The storage mechanism is pretty simple.  The actual data types for the multidimensional occurrences are in floats or strings.  Luckily, float captures a large range of ints and can convert back without error.  If it really becomes a problem, I know for a fact that the int-part of the float is at least 16 bits, so we can always store the high 16 bits of the int size in one float, and the other lower 16 bits in the next float, and thus get the full functionality.  Since we’re using SOAP already, the efficiency issue is pretty much moot, and writing support for that wouldn’t be hard at all. I thought about using the actual float with the same binary equivalent as the int (since both are 32 bits), however I suspect that SOAP might not have strict floating point requirements by default, so the binary representation of one float value might change between processors.  If that’s the case, since x86 and Pocket PC processors aren’t the same, then we shouldn’t count on binary compatibility by default.  I know that in Java, you have to label a block with “strictfp” to force the absolute IEEE-adherence, otherwise it allows particular float operations to be done in fashions that might be faster for whatever processor it’s running on.    One can also convert an int to a string and back to an int without error too.

 

Thus taking advantage of ints being stored as floats or strings as needed, the multidimensional arrays of strings/floats are stored in this order:

 

(1) the number of arrays in this 2d array, that are being encoded back to back

(2) the arrays encoded, back to back, with the size of the arrays encoded as the first piece of data before the actual array data.

 

The size of the output array is first made by making a sweep across the outer array (of the multidimensional staggered array) and counting the sizes of elements of the arrays inside (without traversing them).  This isn’t very expensive, and is done so that I can allocate the output array’s size first, before populating it (the number of data elements required to store the inlined size data is also considered).

 

Thus, the WebSpaceAdapter (which wraps around the WSDL proxy, WebSpaceProxy) reconstitutes the data into multidimensional arrays on the other side, with operations that are relatively cheap (float to int conversion, and string to int parsing).  Since this is encoded in SOAP (plaintext protocol), then we know that storing the int sizes temporarily as strings in a data array isn’t expensive, since the data came in already in plaintext characters, so there’s no “ToString()” being called on the client side.

 

Some of the data arrays are presorted before the arrive on the Pocket PC (using the Array.Sort() method, which I think is either a good implementation of quicksort, or a mergesort implementation).  It makes sense to sort the data on the faster machine, prior to transferring it across the wire, since it doesn’t change the data size and make it longer to transfer across.  With the sorted data, the UI then can blindly populate the GUI in the order provided, and not have to worry about fields appearing in different order over time.  This would be more efficient if the model’s backing collection guaranteed a sort order, but as far as I know, most of this is backed in hashtables, not in sorted dictionary structures.

 

So, right now, I’ll most likely make a PPC client that asks a SpaceAdapter for values.  I don’t know if I’ll hook it into an actual mall or store, depending on the stability of the mall development and how much someone can quickly explain how to instantiate a mall / store space.

Good stuff, though I think, a bit to technically detailed for a journal, which is supposed to help people get an overall understanding.  This information should be incorporated into the main documentation.   A lot of this info is white paper type stuff – an issue we really haven’t discussed.   A main job function of many AR-type groups is the generation of white papers.

 

o       Obstacles:  The reconstituting of types as different than the original types is definitely a curve ball.  Though I think we handled it pretty well.

 

o       Proposed solution:  I think we’ve implemented the best solution possible, to make sure that our types and objects are either not transformed across the wire, or transformed in means that we understand.
For completeness, the other side of the coin is that transformations are encapsulated such that one doesn’t care how the transformation is done.

 

·        Development Process:

 

o       What’s working: Big coding sessions in Symonds, as always.  Communication is nice, and it’s nice to see that there’s fundamental understanding of how integral it is at this time.
It’s nice to see that people have gotten Lesson Numero Uno for Comp410.  J

 

 

o       What’s not working: Load distribution is always hard/uneven, but crunch time is definitely a time where it can be expected to be bad.

 

o       Proposals for change:  Finishing this course will be nice…. :-P

 

Nice journal.

 

 

----- RJMORGAN --------------------------------------------------------------------------------

·        Status of the student's milestones

o       Gains made 

This past week I was successful in converting the NetHub GUI into a small tray icon, and I was able to include useful information about the NetHub (port, services, etc).  The Nethub is now much less obtrusive (and much less likely to be closed by the user!), so users will focus on the MallSimulation.

o       Obstacles encountered

Midweek I was informed that the model group wanted to receive events that were triggered by the user for a particular zone.  This required adding methods to the HubLink and exposing the HubLink to the NetHub process.

o       Solutions proposed

Will and I were able to rush it and take the steps necessary to get the requirement completed by Friday.  In the future earlier notice would be helpful for ensuring that development is completed on time.

·        Analysis of development process
 

o       What seems to be working

It seems that the project has come together well, through the tireless efforts of our group.  I’m very happy with the way we have worked together to ensure that the PocketPC milestone was met, as I had major doubts that we would be unable to finish it.

o       What seems to not be working

The AR group’s tasking was never completed, which made it difficult for me to point to specific things we accomplished or failed to accomplish.  To be fair our requirements changed frequently throughout the milestone, especially for the web service, but we needed to be more proactive about getting an initial tasking and revising it.

o       Proposals for change

I propose that we all give ourselves a pat on the back for a job well done throughout the semester.  All of my other proposals have been addressed well, and I’ve run out of things to complain about (except the lab time).

Nice journal.

 

----- RYANAIP ------------------------------------------------------------------------------------

Development Status

Lots of things got done this week, but there’s still more to do…

 

  • Running the Model and GUI in different processes: We created the remote GUI infrastructure to allow a GUI to connect to a store running on a different machine.  Just run the RemoteStoreViewer application.

    I also created separate projects so that an executable builds for each application (store manager, mall manager, remote viewer, and net hub) on each build.  Visual Studio has some minor bug associated with the current building mechanism – see the workaround in my listserv e-mail.
    Is this an officially documented bug?   If so, could you post it?   If not, the fact that you are doing something very ordinary with regards to rebuilding a project, that it seems odd that such a bug wouldn’t have been caught.   Something smells of a misconfiguration to me.
  • Factories and Wizards: The wizards are now the default windows that appear when running the mall or store managers, so both can be used to start up the system.  (And all of the required functionality is in the gui’s, so we don’t need the test view anymore.)  Work still needs to be done in aborting the factories correctly, and Ali is continuing to work on providing more functionality in configuring the factories with the wizard (e.g., setting demographics).
  • Pocket PC Adapters: The Pocket PC adapter is written, and the AR group has generated the ppc side (wsdl-generated) code.  Thanks to Theo’s work in figuring out how the remoting/web-service thing works on the Pocket PC, this part wasn’t too bad.  Once the UI group plugs their GUI into the adapter we provided, we should be set.
  • MallClientAdapter: As we predicted, we didn’t have enough time to implement the mall client adapter.  It’s on the list for the beginning of next week.

 

For the most part, all of the functionality of the model has been implemented.  What’s left is to bug-proof the code and help the other groups integrate the model functionality into their parts of the project.

Process Analysis

This is the time when the rapid development of the XP process makes things difficult.  As we tie everything together, there are places where the system isn’t quite as extensible as we’d like it to be or where little bugs creep in.  Some of these things probably wouldn’t be there if we’d taken a little more time at the beginning of the semester.  I assume that’s where things like experience and unit tests help – although unit testing distributed systems is something that no one has quite figured out how to do.

The question is how much additional testing would have fixed a priori.  I believe that it may have pointed out some issues if done well, e.g. if the tests did a good job of  looking at flexibility issues, some redesign may have been forced earlier.   On the other hand, a big problem with XP is its inability to foresee large quantum changes in the code.   Up front design is needed for this.   It’s all about “programming with your eyes open”.  

 

In general, though, I think we’re in good shape.  Everyone’s working hard and communicating well.  We just need to keep working to get it done.

 

(Also, Dr. Wong’s computer seems to expose more bugs than anyone else’s…)

 

Nice journal.

 

 

----- THEWANG ----------------------------------------------------------------------------------

Gains made:

·        Completed the Statistics classes.  They are stored in the Model.Statistics namespace.  Basically, each demographic (ethnicity, wealth, etc.) has a DemographicStats object that compiles statistics for a particular space.  Therefore, one can [there is missing verb here]  the number of purchases or people entering a room grouped by ethnicity or wealth or whatever else will be made up.  Probably the most useful methods:

o       Void AddDemographicGroup(string groupName) – adds a new demographic group the particular demographic (i.e. Slovenian).

o       Void IncrementPerson(DemographicAttribute att) – increments the number of people that have entered the space of the particular demographic group.  If the group is not found, it will be created.

o       Void AddPurchase(DemographicAttribute att, PriceAttribute price) – adds the purchase by the particular demographic group to the stats.  Again, if group is not found, it will be created.

o       I smell a Flyweight Design Pattern here.

·        To get the statistics (for the UI group), the SpaceAdapter has a method DemographicStats GetDemographicStats(string demoName) that will return the demographic stats corresponding to the demographic (ethnicity, wealth).  Come to think about it, it would be easier to return an Ienumerator over the Stats class.  So there will be a method:

o       IEnumerator GetStatsEnumerator(string demoName) – returns an enumerator over the Stats class.

o       The stats class has the following properties: NumPeople, NumItems, TotalSales, DemographicGroup.  Those are pretty self-explanatory.

·        There is also a DemographicAttribute now that extends Aattribute.  New demographics should instantiate this class.  See the class for details.

·        The stats and new attributes only need to be inserted by the factories.

 

Obstacles encountered:

·        I lost some code in sourcesafe.  Pretty sad.  I got it back though.

·        It seems a little late for a lot of the abstraction that should have been done (i.e. there doesn’t seem to be any way to use the abstraction at runtime.  Like adding new demographics dynamically or new attributes.

 

Solutions:

·        Just write stuff that works.  Don’t bother writing abstract stuff that won’t be able to be used unless some of the model’s structure is reworked.  This is a standard XP mantra.

·        Need to test a lot.   Also a standard XP mantra.

·        Write the factories.  That will determine whether the model code works or not.

 

Development process:

 

What’s working:

·        If nothing else, at least the gui looks good.  That’s what’s really important J

·        Actually the model is coming together pretty nicely, too. 

 

What’s not:

·        Not much.  It’s time to just stick our faces in the computer and put everything together.

 

Solutions:

·        Write code and test it.

 

Nice journal.

 

 

----- TJICE -----------------------------------------------------------------------------------------

 

·        Milestone Status:

 

Gains:  I have started on the Pocket PC implementation.  The basic GUI is finished.  We just need to plug in the Web Service Code and things should be on their way.  Code that I had last week was magically overridden, and bugs were introduced.  But I have fixed these.  I have worked a bit on behaviors.  I have implemented a zoom in/out feature on both the client and the server applications.  The rendering system has been totally revamped.  Now people are more than just little red circles.  They are circles with expressions now.  The change in a person’s appearance is based on the behavior that is dominant at the time.  This required me to change some code in the behaviors and revamp my animation system. 

Watch the level of coupling here.    It’s really easy to create tight couplings when doing this kind of stuff.

o       Obstacles: The only obstacle I am facing currently is the fact that I cannot get anything from the space proxy on the pocket pc.  This journal is a bit late because of that.  I have tried this out and things don’t work.  Your journal doesn’t have to be filled with successes.   The point is to document where you are, wherever that is.

 

o       Proposed solution: I have posted to DevHood.  I will contact the AR Group tomorrow and try to iron out these kinks.  I don’t really know where this problem is lying, but hopefully we can nip it in the butt.

 

 

 

·        Development Process:

 

o       What’s working:  Communication is good.  We seem to get better at this with time.  Everyone seems to know it’s crunch time and is acting accordingly.

 

o       What’s not working: Well I’m a little disturbed that people check out more classes than they actually change.  And when they check the code back in, they override changes made by o