yea15000413-blog
yea15000413-blog
Untitled
13 posts
Don't wanna be here? Send us removal request.
yea15000413-blog · 7 years ago
Text
End of Project (08/05/2018)
I finished the report in complete today. I have taken this opportunity to reflect on the project. I think, overall, I conducted myself well throughout the project. However, it caused a large amount of personal stress to stick to the project plan. This was due to other commitments. However, experiences such as this, are a valuable experience; they teach you how much you can take on at any given time. This will be valuable if I decide to go into a freelance career, where it is your responsibility to turn down jobs and responsibilities if it would mean neglecting other responsibilities. Overall, I would say the project was very successful. The client was satisfied and I am proud of the project management, coding and research I have carried out.
0 notes
yea15000413-blog · 7 years ago
Text
Project Week 12 (30/04/2018)
I was not able to work on the report at all this week due to other commitments. I was disappointed that I was not able to.
0 notes
yea15000413-blog · 7 years ago
Text
Project Week 11 (23/04/18)
Due to other deadlines I was not able to do much work towards this project this week. I did however, manage to do a sizeable amount of the report over the weekend.
0 notes
yea15000413-blog · 7 years ago
Text
Project Week 10 (16/04/2018)
This week was spent fully implementing the findings from the data analysis into the application and website. It was nice to be able to see the end result of my research and see the real-world applications of my findings. Below are the build logs for this week.
 Build 1.00(Added cow number auto-population, user interface buttons, error message boxes, tab order and implemented UI)
Layout (Login Form)
Tumblr media
Layout (Main Menu Form)
Tumblr media
Switches panels relative to user input
 This is the final build of the application. As such, it was especially important to make sure this version did not contain bugs. As such, extensive testing was carried out on this build to ensure that all features worked as intended. The most challenging addition to this build was getting the correct panels to show up at the right time. In the past I have struggled with this. However, with the work done on the other applications that are part of this project, has given me experience at doing this. Thus, I am confident that I will be able to implement this quickly and effectively on future projects that I embark on. Again, the only remaining error occurs when all cows or all movements are deleted. However, talking to the client about this, it does not affect them as they will always have data in the database. As such, it does not affect them, and they would rather have the application in its current state now than wait to fix this minor error. Other than this all features work as intended, as can be seen below.
Tumblr media Tumblr media Tumblr media Tumblr media
Client Acceptance and Closure and Final Face to Face Meeting
The application and website are now fully built, so as far as the client is concerned the project has now come to closure. The final face to face meeting consisted of delivering the final application and website to the client and getting their acceptance and project closure. This went smoothly, and the client is more than happy with the provided work. They mentioned that they would use me again if they wanted updates for the program or additional programs made and would recommend me to others looking for programmers. This is valuable as a soon to be graduate looking for work in the IT industry. The letter is included below. Whilst I do not have to worry about looking after the client anymore, I do still have to worry about the associated report with this project. This is extremely stressful, as it is a long, complicated document that could potentially determine the classification of my degree. I started it this week, but am unsure on how long it will take me to complete due to other commitments.
Tumblr media
0 notes
yea15000413-blog · 7 years ago
Text
Project Week 9 (09/04/2018)
This week was spent finishing data analysis and starting to implement the findings from the data analysis into the application. I found the amount of data I gathered a bit overwhelming to analyse in the given time frame. This was not due to the number of participants, but rather the amount of metrics I was collecting data on. In future projects I will give myself more time to analyse data if I choose to study so many different metrics of data. Some of the findings from my analysis were as expected, however some surprised me. This was a very rewarding experience; to have your own research present things that you would have not thought were true.
0 notes
yea15000413-blog · 7 years ago
Text
Project Week 8 (02/04/2018)
Despite being busy this week, there is not actually much to report. The week has been spent gathering and starting to interpret the data from the research aspect of the project. This has been insightful, as throughout my degree I have read a lot of research but have yet to conduct any of my own. This has given me insight into research in general and might even aid me with analysing other’s research in the future.
0 notes
yea15000413-blog · 7 years ago
Text
Project Week 7 (26/03/2018)
This week was mostly spend building the website, testing the website and the application and creating user documentation. As a developer, I have a track record of becoming disinterested in programming jobs when it comes to finalising and creating documentation. As such I found this week to be quite arduous. However, I persevered and completed what had to be done on time; this is something I do not think I would have been able to do before starting my BSc course.
 This week also marked the start of my research. I started gathering an appropriate sample and testing this on appropriate testing conditions. This is going well, and it is enjoyable to see data being generated from a test that I designed.
 Finally, this week also marked another face to face client meeting. The main agenda for this meeting was to ensure that the client was happy with the backend functionality of the website and application, when used in person. The client said that they are happy with how each application functions, but wished they looked nicer. I assured them that the designs used were only placeholder designs and the final designs would be generated in a few weeks’ time once the research portion is complete.
0 notes
yea15000413-blog · 7 years ago
Text
Project Week 6 (19/03/2018)
I begun this week by finishing the backend of the movements application. I was happy to get this done, as this is the most important piece of software, as it is to be delivered to the client and used in their business; this will be used in a real-world scenario, where it is vital that it works. Additionally, I started to build the website associated with the application. I found this initially challenging as web is my weak point. However, as I worked extensively with PHP during the coding of the application, I felt more confident than usual. As the week went on I grew further in my web language skills, which I am very happy with. In the weekly update I sent the client an image of the website in its current state and they said they liked it and provided a few suggestions for how they wanted it laid out; this was as huge confidence boost. I also had a discussion with the client about aspects of the application. This can be seen in the application build logs. Build logs for the completed back end of the application are below.
Build 0.03 (Added navigation of records)
Whilst the scripts for the navigation are relatively simple, it is highly likely when programming anything, that there will be several small errors on the first compile of the code. An issue I ran into, is that unlike coding for web pages, you can’t see the error outputs when you are making PHP scripts for a C# application. This initially made diagnosing errors much harder. However, I eventually discovered that you can read the value of a C# break point. This allowed me to view the PHP error codes and quickly diagnose syntax errors.
Tumblr media Tumblr media
Using output to diagnose error
Tumblr media
Fixed code.
All features for this build now work as intended, as shown below:
Tumblr media
Build 0.04(Added saving, deleting and adding movements)
This is one of the largest updates for the program; it adds most of the programs functionality to it. An issue I found during the development of this stage of the program is that the client found the interactions when adding movements confusing. This was due to adding movements and editing movements both being handled on the same screen. To rectify this, I split the adding movements functionality onto a separate panel. This was very quick to do and required very little code and redesign but made the client very happy.
A bug was found during this build: the program won’t open properly if the database is empty. When I brought this up with the client their response was that this is not an issue; the database will always be populated. The main priority is delivering the program in a state that meets their purposes on time. As such, this is a feature that could be modified in the future after the deadline. Other than this, everything works as intended.
Tumblr media
Only one movement in database
Tumblr media
Adding new movement
Tumblr media
Movement is now added to the database
Build 0.05(Added cow editing and adding)
These features were easy to implement. The code is nearly identical to that used in the movements pages. This means it was just a case of duplicating the code and changing the relevant variable names in both the application and the queries.php file. As such this build did not cause any major issues.
Tumblr media
Adding new cows
Tumblr media
Editing existing cows.
0 notes
yea15000413-blog · 7 years ago
Text
Project Week 5 (12/03/2018)
This week was initially supposed to be the week that the research portion of the project was carried out. However, I was not able to gather a large and varied enough sample to conduct the research at this stage. This could have been disastrous for the project, pushing it past the deadline. Fortunately, the use of the agile software development strategy allowed me to move sprints around in the project plan to accommodate for this. I had to run it by the client via email who was busy at the time. This was stressful, as the lack of response meant I wasn’t sure if I could go ahead and reorganise the project. After a day the client responded to the email and provided permission to go ahead and make the change.
Tumblr media
As such, this week marked the start of coding the backend of the client’s application. This involved first designing pseudo code and then implementing it later in the week. Condensed logs of builds completed this week are below.
Build 0.01(Created Login form and connected to server)
The most challenging aspect of this application was always going to be determining how to connect to the server. In the end I decided to opt for running PHP scripts on the server which return relevant info to the application. This has a couple of advantages. First, it keeps code separated, which makes it much easier to manage, when adding or modifying features. Secondly, a determined hacker could decompile the Windows application and see the code inside. Therefore, it is a bad idea (security wise) to have server commands in the actual code of the Windows application. Currently the application returns a value based if the user input password is valid or not.
Tumblr media
Invalid password
Valid password, but does not have edit permissions
Tumblr media
Valid password, that has edit permissions
Tumblr media
Build 0.02 (Created Main Menu form and opening of Main Menu when Login is entered correctly)
Now that the database connection is established, it was very easy to build this build. All I had to do was tell the program to open the main menu form when the PHP script returns “true”. Everything works as intended, as shown below.
Tumblr media Tumblr media
0 notes
yea15000413-blog · 7 years ago
Text
Project Week 4 (05/03/2018)
This was a very busy week for me. Essentially, I had to finish designing and actually build the applications used for the testing phase of the application. This is on top of having to prepare for a face to face meeting with the client. Development of the of the applications went smoothly though. This is in part to the effective use of pseudo code and prior design work done in earlier weeks, which meant I was simply implementing what I had already designed. Overall, I am happy with how this process went.  Condensed logs of the application building process are provided below.
Build 0.01(Created form and added randomised form order array)
The code for this build was simple and therefore was fast to code without errors. The layout of this form will need to be rearranged before the final build, but as is, this is a functional design for building and testing. As can be seen in the below images, the form accepts user input appropriately and the frmOrder array is appropriately randomised to ensure a different order of forms each time the program is ran.
Tumblr media Tumblr media
Build 0.02(Created file creation and added second form (form1))
I decided to use the exact date as the file name for each log, to ensure that each log has a different name. This would exploitable in a public release application, however, this is a research application, which will only be used in controlled and monitored environments, so this solution is good enough and saved some time coding a proper file naming schema. One issue I ran into, however, is that dates are printed, by default, with “/” and “:” characters in. This caused a crash as it would think the file name is a path and not a file name.
Tumblr media
To solve this, I replace all of the “:” and “/” chars with “-“ chars. This gives an odd file name structure, however, each file name is unique and easy to organise, and this is all that is required for this application.
Tumblr media
The new form opens and data is passed through correctly, as seen below:
Tumblr media
Build 0.03(Added time taken to complete form)
This works as intended. By recording time taken to complete each form, I will be able to analyse which forms are the fastest for users of each device to use.
Tumblr media
Build 0.04(Added input accuracy using Levenshtein’s algorithm)
The addition of this feature was challenging and time consuming. However, despite the challenge, this was implemented without any significant problems. The only issue with the addition of this feature is that sometimes the values were generated correctly, but would not display in correctly, leading to a confusing output. This was due to text formatting errors in my code. I will improve this by tidying my code in a future build, as at the moment it is functional, but not that clean and easy to read. Below is evidence of the new feature working as intended.
Tumblr media Tumblr media
Build 0.05(Added mouse tracking)
Originally, I was planning on using the website using the website http://www.heatmapper.ca/. However, it turned out that this did not support the type of data I was going to be working with (tables of raw x and y position data in the .csv format). Upon further research it turned out that there were no online tools suitable for my needs. Therefore, I had to use statistical analysis language R. R is a very simple language, and thus only took a day to learn, this was still an inconvenience through.
The program now outputs mouse data and I can create detailed heatmap graphs from said data in R, as shown below.
Tumblr media Tumblr media Tumblr media
Build 0.06(Added Forms 2-5 and end form, as well as cleaned up code)
Forms 1-5 are currently identical, except the renaming of a few variables to make the output correct to the form it is currently on. Despite this sounding like an easy copy and paste procedure, it was more complicated than that. Due to the way things are named in Visual Studio, it required a time-consuming process of going through all code and changing many small variables and values. Eventually, I managed to do this accurately, and now all forms work as intended. The end form is a simple form which quizzes users on the forms they have completed. However, when I first built and tested this form would display incorrect values for each form. This was because I had not accounted for the fact that the user would have used the forms in a different order than just 1-5, due to the randomisation. To fix this I fed the randomised order into the end form and arrange the user’s quiz answers appropriately. All forms work as intended (output file and heatmaps) and are now easier to add future features to due to the cleaned code.
Build 1.00 (Implemented GUI designs into each form)
The application is now finished. All features work as intended and the forms are set up to generate data.
Colour Tester Logs
Build 0.01(Copied Layout Tester Application and changed questions at end)
This application is essentially a copy of the layout tester with a few modifications. As such, the first step was to create a duplicate of the layout tester and make a few slight changes (such as removing one of the questions in the end form). This provided a very solid frame to add the interfaces that test colour to. As this is essentially a duplicate of an already functioning and tested application, everything works as intended. To see the testing for this code, please refer to the layout tester application.
Build 0.02 (Added generic template to all test forms to be coloured in the next build)
The form design chosen for this was a simplified version of one of the forms from the layout tester. It was not necessarily chosen because it was the best form, but because it is one of the simplest; this should help reduce extraneous variables, so that colour is the only factor between tests. All duplicates of the form work as intended.
Build 1.00(Applied the different colour schemes)
The application is now complete. Each form has been designed to test different hypothesis about the use of colour when coding Windows applications. All features work as intended, so this application can now be used by test participants to test said hypothesis.
 Meeting with Client
 At the end of the week, I had the face to face meeting scheduled with the client. This provided a perfect opportunity to discuss the switch to using R to generate the heatmaps. As this was a face to face meeting, it was easy to show and discuss with the client the very minor changes to the project plan this would cause. The client agreed to this and signed off a change request form. The changes to the testing application build phase of the project and the change request form are shown below.
Tumblr media
0 notes
yea15000413-blog · 7 years ago
Text
Project Week 3 (26/02/2018)
This week I had to hand in the first assignment for the project. This involved creating an outline plan for the project. Although this is not final, and things can be changed as the project continues, it was vital to make sure that this planning process was well delivered. Creating a good action plan, allows me to know what I should be doing at any given time and when I should finish anything by. Additionally, it gives the client peace of mind; they know when each stage of the project will be delivered. In addition to the action plan, a feasibility study was run, including risk assessment, legal assessment, financial assessment etc.
I found it quite challenging to plan so far in advance when completing the action plan. The client was helpful in this, as we both defined the project more clearly, it helped with my planning process. The difficulty in planning has been worth it, however, as it will help the rest of the project run smoother. Additionally, by breaking the project into small, time constrained, goals, it will help motivate me to complete each goal by a certain point; in past projects, I have struggled to keep time and left tasks to the last minute.  
Finally, I began the designing of research applications this week, which is progressing well.
0 notes
yea15000413-blog · 7 years ago
Text
Project Week 2 (18/02/2018)
At the beginning of this week, I met again with the potential client and agreed to take on the project. The project objectives and deliverables were discussed and outlined, as well as project scope. During this meeting, documents regarding the input the client would put into the project were signed.
During the week I ran a feasibility study of the project, including, but not limited to temporal, financial, and legal validity, plus ethical and professional issues. Additionally, a risk assessment was undertaken.
Armed with a further understanding of the project from these assessments I met with the client again at the end of the week. During the meeting, I devised an action plan for the project, with input from the client. This is highly likely to change and will evolve as the project progresses, however, it provides a solid outline of how and when each stage of the project will be completed by. Additionally, a change control procedure was outlined.
I am happy with how this all progressed, the project appears to be viable and I now know when each part of the project should be completed by. Additionally, the client was happy with everything discussed in the meetings. As such I believe this will be a successful project.
0 notes
yea15000413-blog · 7 years ago
Text
Project Week 1 (12/02/18)
This week I met with a potential client for the project. The client runs a farming business, and as such a lot of records need to be stored about the animals. Currently, this is all managed by sharing Excel spreadsheets with relevant parties. However, they have said that this current system is slow, doesn’t check for errors, and can get confusing when there are multiple versions of the same spreadsheet.
After a discussion with the client, I concluded that their needs could be met most suitably by creating a database and a C# application to manage said database. This would allow for the implementation of error checking and make it easier to input and manage data. Finally, as data would be stored on a database, this would eradicate their version control issues, as well as make it easier to share the records with relevant parties. The client said that this sounded like the sort of thing they were looking for and would be interested in me being the developer for this project.
If I pick this project, it will be easy to for me to plan my research around it. It will be an application that has a lot of different inputs and controls for the different types of data. Additionally, data management applications, require efficient UI for effective data input. Finally, the records will need to be accessed on different types of computer. The application, therefore will be an ideal use case for the effect of design principles on different form factor Windows computers.
0 notes