Today I did two things: update the alphabet after operations on graph in NPDA and TM editors, and show configurations along with the slideshow in NPDAEditor. Below is a demo video:
Demo of NPDA Configurations:
Online Babbling
Today I did two things: update the alphabet after operations on graph in NPDA and TM editors, and show configurations along with the slideshow in NPDAEditor. Below is a demo video:
Demo of NPDA Configurations:
Today I added NPDAEditor, whose UI is very similar to TMEditor I completed several days ago. For edit/delete edges I did the similar thing with TMEditor, just that the third column is for the user to type instead of choosing from L, S or R. Then I fixed several things in both files: users can now put in □ and λ by leaving an entry blank when creating or editing an edge; alphabets are not updated when users load files from local directories. One problem to fix is the alphabet does not update when users delete nodes using the right-click menu. I didn’t check but this is probably a problem for FAEditor as well. I will fix this tomorrow.
For the next step I’m going to improve the UI for traversal displaying in NPDA and Turing Machine editors. There are also some label position issues with both editors.
For the July 4th weekend I added the class database collected by CSA to the app. The database contains past students’ comments about classes at Duke. Since people in CSA wanted it in the app, I looked into this yesterday.
The ‘database’ is actually a Google form document. I downloaded as csv and then used an online converter to convert it to JSON, which can be read by iOS. To make the networking of the app consistent, I uploaded the JSON file to Parse instead of my own server. After getting the JSON asynchronously from the internet, I’m saving all of the ‘courses’ into the memory and load the UITableView. This doesn’t fill the memory because all information is just plain text.
I then classified the courses based on the first character of their class numbers and added an index list by the table view so users can go to courses with a certain starting letter by clicking on the index list. I also added a search controller with scope buttons, so users can search by class number, class name, professor of the class, or all of the above. Clicking on a search result or a normal course will bring the user to a detail view of the course, which presents all information we have about the course.
I really want to know how to let users ‘bounce scroll’ to the next class available. This will be very handy when they want to view the next or the earlier comment on the same class. Instead of going back to the table view, using only one gesture (scroll) will be a huge boost of user experience.
Since last time, there are several features that I added to the app:
TMEditor
Demo of TMEditor: