Friday, January 21, 2011

21 January 2011

Continued with the implementation of data sending today. We were gonna have both the client and the server in the same class, which was not what we have done before. What we did before was to have the server in one project, and the client in another. This made things a little confusing for us at first.

We did some careful port over of the codes, separating them under client and server pragma marks. Once that was done, we only had to do some debugging here and there to get the data sending to work.

We then worked on the loading of the models on the client side after the server has selected a model. We then met with the issue of our cells in the table view not being loaded fully before our method to retrieve the model to be downloaded was called.

Then Kevin came in and told us to work in another direction, which is to not show the table view at all and do the downloading in the background, minimizing the amount of user interaction required. Gonna have to get that done on Monday.

Thursday, January 20, 2011

20 January 2011

Back to Bonjour today. After the discussion with Kevin yesterday, we decided to bring over the Bonjour implementation that we have done before.

Since we have not touched the Bonjour implementation for quite some time, we had some problems at first while trying to port over our codes. Fortunately, we did some cleaning up of our codes before, and there were comments to guide us in recalling what the various different methods do.

We managed to get the setting up of the server and connecting to the server done today, and will be working on the sending of data tomorrow.

Wednesday, January 19, 2011

19 January 2011

Spent the day trying to figure out how to load up 2 eaglViews in our application at the same time. Did lots of debugging and reading up on the documentation for the OGLESTools library, but still could not find an answer.

The app first crashes at the part where we do the function call for GetWorldMatrix. I found another function that can be called - GetWorldMatrixNoCache. This solved the crashing when we attempt to get the world matrix. However, the app now then crashes when we try to do the drawing of the models.

We brought this problem up to Kevin, and we all decided that more research should be done. I went back to the POWERVR forums and posted our query. In the meantime, while we are doing this research, we would be porting over the Bonjour implementation that we have done before to this app.

Tuesday, January 18, 2011

18 January 2011

Started working on the comparison feature for our application today. We are able to instantiate another eaglView inside our current view. However, when the drawing of the model in the second eaglView starts, the program crashes when it tries to execute the codes in the c++ library that we are using.

Hence, we suspected that it was the c++ library's problem, but we cannot say that we are sure though. Then, we tried the same thing on an older project that we have. For this project however, we were able to do the proper drawing of the model in the second eaglView. Would have to spend some time looking further into this tomorrow.

By the way, Zac's iPhone app just got approved today. Go search for it on the iTunes app store! Just type in "photo album scrapbook" and you'll be able to find his app.

Monday, January 17, 2011

17 January 2011

We continued with fixing and implementing several interface features today. First, we did the fix for multiple downloading of models from the Dropbox repository. We were actually working on the fix to properly display the right UIButtons when download is completed.

Then we moved on to implement the swipe to delete feature in the UITableView for the list of downloaded models. This also makes thing more efficient when we want to test the program. This way, we would not have to uninstall the application from the simulator.

The next thing we did was to change the display of the labels to show something similar to the UICallOutView. Since the UICallOutView in the SDK is not documented by Apple, we did not want to take the risk of having this application being rejected when sent for reviews in the future.

Hence, we worked an alternative approach, which is to make use of custom buttons. We would create an image similar to the UICallOutView in Photoshop and apply that image to the button. Zac and I struggled a little here and there with Photoshop, but we managed to create the image in the end. Oh and a note, in order to implement some paddings for the text in UIButtons, there is this function:

[nodeButton setTitleEdgeInsets:UIEdgeInsetsMake(10, 15, 20, 20)];

Kevin then came in at the end of the day, and we discussed on what to do next. We decided to remove the "show all labels" feature since we already have a table view that shows all the nodes' names.

To do:
- Model Comparison
- Mirror Effects (multiple iPads on the same network, Bonjour)

Fix multiple download. Fix delete. Do callout view. Photoshop problems.