Tuesday, 26 June 2012

GSOC Week5 Report




Rebuild and debug Data Model

This week, the focus has been trying to adapt the app to fit the newly modified data model.The new version of the data model shares exactly the same name with the Android version.And the core data diagram is attached as below.






By rebuilding the data model, most of the task related to management of the data base has been shifted into the categories files, which aim to make the program more objective oriented.



Edit Detail Interface

In addition to the data base, the detail editing interface has been improved. Instead of using many text fields, a static table view is engaged to obtain the detailed information of a specific product.A screen shoot of the new product detail interface has been attached below.

The rotating dail is there for user to select a unit that already exists in the data base. For the rest of the entries, the virtual keyboard would pop up when clicking on the individual entries. User, then, would be able to key in specific information of a product.



Delete

Deleting list or entry is also enabled. when user swipes across one of the entries in the table. a delete button would appear. When clicked on, the corresponding entries would be wiped out.A screen shoot of the delete button is shown in the picture
Bugs or problems:some times the app is having trouble adding new units, and I am working on solving this problem.

Monday, 18 June 2012

GSoC 2012 Week 4 Report

The focus of this week has been trying to redesign the data base structure for the app so that cloud synchronization can be carried out.

However, some trouble has incurred.
I have been trying to make use of the core data service provided by iOS. Though the core data service is provided through making use of SQLite, the application will not have direct access to the SQLite tables. Everything is taken care of by using NSManagedObject.
Therefore, additional code has to be put in to convert the data base on iOS device into a single Jason string.
This can only be done after the format of the Jason string being finalized.

The solution for that, for now, is have a Core Data structure that is similar to the Android table. In that way, though the exact structure of the tables might be different, it might be easier to synchronize the data to a cloud.

Due to bugs, no code has been uploaded. 

New data structure should be ready to go by next week.

Saturday, 9 June 2012

GSoC 2012 Week 3 Report



GSoC 2012 Week 3 Report


Activities in the week

Fixing the bug within applying setting

There was a bug in week's  2 version of code, where the sorting order setting was not applied immediately after an adjustment.
This was fixed by setting the fetch result controller in view did load method. where checks the setting and set the sort descriptor.

Add sharing features

Sharing using SMS and email is added.
When user click the <share> button while browsing the list, a action sheet would pop over and ask whether the user wants to share by emailing or SMS.
Once one of the two options is selected, a SMS or Email editing interface would pop out with the list content loaded as default content of the message. User can then add recipients and modify the content as his/ her will.
Controller for SMS and email activity and interface is provided by apple as API, in package MFMailComposeViewController and MFMessageComposeViewController
by creating an instance of one of the controllers, and setting the default strings for the instance, a controller for SMS and email can be initiated. A interface for launching SMS or Email can be drawn on screen by calling on the instance.
The interface of the sharing related activity looks like this.



<share>button is added to the list



























Action sheet pop up after <share> button is clicked.








Message to be sent to intended recipient by user.


















Side note: It seems that testing of SMS is not available on Simulator. It might have to be tested on device.

Goals for next week

Fine tune on the interface.
Move on to data structure and database