Pages

Tuesday, October 20, 2020

Week 7: Parser complete

The parsing setup is fully functioning. I still have to run extended tests but everything looks great so far. Users will upload their forms, the data will be parsed and sorted for upload, then added to the database without the need for intervention. I still have to address the process for uploading data from new locations, but this shouldn't be much of an issue. I will be finishing up some of the smaller things within the code and once testing is complete, I should be able to throw anything at it and keep it working as intended. The next steps are to work on user authentication and accounts, along with a method to store uploaded information that includes the document for backup and the audio files from surveys. As this project continues to move forward, it will be harder to post screenshots of completed work if we want to protect the integrity of the system since it may one day be public facing. I will do my best to include relevant media but it will be tough!

Week 6: New form and reference table

I ended up recreating the bat data form so that it is parsed in the order needed for upload, and to clean things up a bit. The database now has a reference table that will be used to compare against submissions. When a user selects a location, all other relevant data to that location will be auto populated in the new entry. This keeps the number of items on the submission forms minimal, reducing the risk for errors. I am becoming much more comfortable with MySQL. Using a query, I can scan the reference table to see if a location matches the user's selection, then pull all data from the matching row.

Friday, October 9, 2020

Week 5: Steady progress

Not much to report this week except progess is still underway. The reduced form fields in the PDF means that code will have to fill in missing information based on the location selected by the user. The biggest struggle right now has been finding the appropriate PDF creation system, since not all of them operate the same. It is important that the PDF creator allows drop-down menus that are compatible with the parsing system. As of right now, the drop-down menu included in the current PDF is not visible to the parsing system, so I will likely have to resort to paid software such as Adobe Acrobat Pro to fix this. I have gotten better at working with SQL queries through PHP. It is quite powerful to request information from a large database instead of having it stored locally. I hope that in the future, I can lay groundwork for a system that will request infromation from the database and be used to create reports or generate charts. I will be working with Matt on goals for the system and other features that I can implement. Looking forward to the future of this project!

Wednesday, September 30, 2020

Week 4: Form design

Matt pointed out that the PDF forms from last week had a lot of fields to fill out. This can create more opportunities for a user to enter the wrong data. As a solution, the forms will now ask for location only, and the rest will be populated automatically with code that references a categories table. I am still working on a better way of counting bats, since PDFs can be difficult to make dynamic (I also don't have the pro Adobe suite).
I have made some progress on the app this week as well. It has been fun to work on and I am learning a lot. I think this approach may be possible, since the mobile platform would be fully dynamic and worth setting up developer accounts for. The user coold select locations or species from menus, add or subtract rows for species, and use more. An app would allow uahtorized users to view graphs and statistics about the existing database if they wanted to.
Other than that, my research proposal came out okay although I was behind by a day or two. Normally I am on top things but the past week has been a bit too much work. I may have to modify my approach but I plan on observing assets and drawbacks of the current methods of data collection and get user feedback. I hope to then test the methods for susceptibility to error by including randomized test cases or scenarios that are likely to occur. The last bits of the project would be to modify the methods to better suite surveyor's needs and repeat the testing process.

Thursday, September 24, 2020

Week 3: Prototype application

After reviewing some of the form functionality last week, I have been messing around with making a data entry application on the side. I am figuring out how this will work with an air gapped network for now, but I have decided to build the prototype layout first and work on that a bit later. I have plenty of other features I would want to implement that make the data entry experience much easier for the user, but I don't want to give out too much information yet.

Building the skeleton of the application 


Using Flutter makes this build very intuitive and easy from my end, and will help me stylize the forms to make it visually appealing for the users. When ready, deploying to Android is no problem, but publishing an application for iOS requires a developer license plus the application is made available to the public. Access control would be needed here but that is something for another time.

Thursday, September 17, 2020

Week 2: Database and form progress

This week I was able to work on a new form for data entry to the bat database. The existing PDF had issues with tab order, which also controls the order of parsed elements placed into the array. PDF designing applications will arrange tab order based on the first element being the lowest index, with the most recent being the highest index. With tab order fixed, it is easier to navigate using the tab key and also simplifies the code for parsing documents. The only requirements to fill out the form are Adobe Acrobat which is present on both Android and iOS.

For now this method is a temporary solution. There are easier methods of filling out forms without the need to manually fill each entry and reduce the risk for errors or other issues. I currently have the submission page set to that it rejects uploads that do not have the appropriate forms filled, prompts users to check their form data, and try again.


The existing data from previous surveys has been uploaded to the database and resides in a central table. I am working out a system where submissions are added to the table and flagged for review, so that acceptable entries can be verified.


Tuesday, September 8, 2020

Week 1: Ozone update, BATMON, and more

Hello again!

It;s nice to be getting back to work. I am grateful to have been given this internship opportunity again. I had a blast last semester and know it will be just as good this time around.

Over the summer I worked on my ozone project and came to a dead end. The equipment within my price range is not going to be suitable for getting any sort of useful readings. Although it's unfortunate that I cannot proceed with it any further, I have other things that I can work on. I gained a wealth of knowledge throughout the research and build process so although I am moving on, I feel this experience had so much value for me. Working on this project helped me better understand the process of pursuing ideas from scratch and how to compose a research paper. For now, this will go in the archives.

Database table entries created from a PDF parsing script!

So far in this first week, I was able to pick up where I left off last semester with the BATMON project (PHP, HTML, MySQL). I am really excited to have this going again! I took a slightly different approach to uploading data and implemented some measures to prevent injection attacks (server will not be public but always good practice). After some reworking of the structure I was able to get the system generating new database tables for each upload, which is the foundation of what needs to be done! Next step will be to add data to an existing table that holds all previous survey records. Retaining uploaded documents, storing audio files, features for registered users, and some input validation are next on the to do list. I need to thoroughly test things before adding more complexity so working in small steps is the best approach right now. So far so good!

Over the summer I did some work on an augmented reality project using Unity (C#), which I plan on developing throughout the semester. I also got invested in learning to use a development kit called Flutter, which is a project from Google designed to allow software development in one language (Dart) which can then automatically compile to both iOS and Android. I believe integrating the two would make a custom applicatin interface with AR capability a simple and seamless process.

In other news, I am serving my final semester on the ASCEND team, assisting with special projects and working on the video streaming system. The spring launch was cancelled due to COVID, but we have rescheduled a launch for this October! The work being done this semester will not be deployed until sometime in the spring so the pace is a bit slower than usual. I find it nice that I can still be part of the team and have a bit more flexibility for other things that I need to work on (like this stuff!).

I wish everyone good luck this semester and to keep moving forward no matter what!