After now having a basic system design i no want to follow a methodology in order to know what steps i need to take to make my system a success and keep in the guidelines of usability. I have found the following method table which is a good guide to follow for usability methods:
http://www.usabilitynet.org/tools/methods.htm
It has a nicely laid out table of each of the steps needed to follow in order to complete a full usability cycle.
This i am going to analyse and evaluate another car garage systems and look at thier functionality. This will enhance my designs and correct current issues with systems that garage staff use on a day to day basis. My aim is to find the most popular systems in use in the car garage environment, evaluate these and find current flaws.
This will be followed up by interviews and meetings with users of these systems and find out from users where they think problems lie in these systems. This will build a base for my system and i can follow up my findings and avoid making mistakes by current systems.
Tuesday, 25 February 2014
Monday, 17 February 2014
Suspended Log Added
After writing the suspend code, I thought it may be important to show when the job was suspended incase this comes under scrutiny for why a customer has had to pay so much in labour costs.
I added a new Table called Job_suspended which would start the start time of the suspension and the end time. This is to show how many times the job has been suspended and if this comes under question by service staff or a customer the technician would need to explain why they have suspended the job.
This was done by firstly inserting the start time into the Job_suspended table along with the JobID. Then once the job was unsuspended it would be updated the Finish time. But this firstly started updating all the JobID with the same time which is what i didnt want. So i had to add in a ORDER BY operator to solve this issue. I ordered by JobID and showed them in descending order so show the lastest one started first.This would then only update the lastest Time of finish and none of the others.
I added a new Table called Job_suspended which would start the start time of the suspension and the end time. This is to show how many times the job has been suspended and if this comes under question by service staff or a customer the technician would need to explain why they have suspended the job.
This was done by firstly inserting the start time into the Job_suspended table along with the JobID. Then once the job was unsuspended it would be updated the Finish time. But this firstly started updating all the JobID with the same time which is what i didnt want. So i had to add in a ORDER BY operator to solve this issue. I ordered by JobID and showed them in descending order so show the lastest one started first.This would then only update the lastest Time of finish and none of the others.
The Job Suspend issue Resolved
Today I wanted to work on how to get around if a job was suspended multiple times by a technician. I had a few idea's how to do this:
a) Take the start and finish time of when the job was suspended and then take this time away from the grand total time taken (Job start and Job Finish).
b)Take the start time of the job but when suspended take the job Start time away from the time it was suspended and add this to a TotalTimeTaken field in the database. Then once the the job was unsuspended it would be given the current time of when it was unsuspended. Once the job was finish you would then add up the Start time(updated start time when unsuspended) to the finish time then add that to the TotalTimeTaken time to give a grand total of the time taken.
Even though option B sounded alot more sophisticated it was the easier of the 2 to code. As Option A would have needed another table in the database and the problem of when a when the job was suspended would become an issue. As when a job has been suspended multiple times you would have multiple times in the table for that specific job causing more confusion of working out the total of all suspended times.
With using option B this was already worked out at each stage of when the suspension took place then it would only need to add up 2 times at the end which would be the TotalTimeTaken and the start and finish time given the grand total.
I did have a few issues with coding this as subtracted to times in php wasn't as easy as I first thought. As I firstly just put the times into 2 variables an and tried to subtract it gave me the difference between them in seconds which wasnt what I wanted.
After doing some research on forums about this issue i came around the function strtotime(), this would convert the time into a string format making it into a whole number. This would then make it easier to subtract the 2 values away from one another.
After subtracting the 2 values I then was given a total, but this was still in a string format so this would need to be converted back into Time. This was done but using the Time Format built into php example code below:
gmdate("H:i:s", $total);
H = putting the time back into 24 hour format
i = Minutes with leading zeroes so from 00 to 59
s = adding the second back so from 00 to 59
This is how i got around the problem of allowing technicians to be able to suspend a job multiple times
a) Take the start and finish time of when the job was suspended and then take this time away from the grand total time taken (Job start and Job Finish).
b)Take the start time of the job but when suspended take the job Start time away from the time it was suspended and add this to a TotalTimeTaken field in the database. Then once the the job was unsuspended it would be given the current time of when it was unsuspended. Once the job was finish you would then add up the Start time(updated start time when unsuspended) to the finish time then add that to the TotalTimeTaken time to give a grand total of the time taken.
Even though option B sounded alot more sophisticated it was the easier of the 2 to code. As Option A would have needed another table in the database and the problem of when a when the job was suspended would become an issue. As when a job has been suspended multiple times you would have multiple times in the table for that specific job causing more confusion of working out the total of all suspended times.
With using option B this was already worked out at each stage of when the suspension took place then it would only need to add up 2 times at the end which would be the TotalTimeTaken and the start and finish time given the grand total.
I did have a few issues with coding this as subtracted to times in php wasn't as easy as I first thought. As I firstly just put the times into 2 variables an and tried to subtract it gave me the difference between them in seconds which wasnt what I wanted.
After doing some research on forums about this issue i came around the function strtotime(), this would convert the time into a string format making it into a whole number. This would then make it easier to subtract the 2 values away from one another.
After subtracting the 2 values I then was given a total, but this was still in a string format so this would need to be converted back into Time. This was done but using the Time Format built into php example code below:
gmdate("H:i:s", $total);
H = putting the time back into 24 hour format
i = Minutes with leading zeroes so from 00 to 59
s = adding the second back so from 00 to 59
This is how i got around the problem of allowing technicians to be able to suspend a job multiple times
Thursday, 13 February 2014
Getting to grips with the system
Had a very productive day looking at responsive web design and how to adapt this into my system. This is collaborate with the usability features I am going to design and implement. I will be using a 16 grid system using a skeleton boiler template to give me the structure and save time coding the responsive CSS style sheet.
Continuing on from yesterday I have added the functionality of the MySQL Database on the TechJobs.php page. The table shows only the important information that the technicians want to see and is kept very plain and simple to use. I have added 3 icons at the end of each row which will allow technicians to Start, Suspend and finish each of job. The buttons are plain and understandable what they do. I will have these tested by following Jakob. Nielson, Joseph S.Dumas and Janice Redish techniques of analysing users interactive with the system.
Following these testing techniques this may sway my design and functionality of the system, this is why i am now very keen to get a sample system ready for testing by subjects.
I will follow on tomorrow by doing more research into usability testing as this may give me more idea's on the system design.
Issues of the day:
getting the pages to redirect after a given time was a challenge as the code I wrote was very bugged to start with. after doing some research I found the best way to wait then send the page was to use the Meta tag.
Below is the code I used to make the page redirect asewll as pause on the page:
Continuing on from yesterday I have added the functionality of the MySQL Database on the TechJobs.php page. The table shows only the important information that the technicians want to see and is kept very plain and simple to use. I have added 3 icons at the end of each row which will allow technicians to Start, Suspend and finish each of job. The buttons are plain and understandable what they do. I will have these tested by following Jakob. Nielson, Joseph S.Dumas and Janice Redish techniques of analysing users interactive with the system.
Following these testing techniques this may sway my design and functionality of the system, this is why i am now very keen to get a sample system ready for testing by subjects.
I will follow on tomorrow by doing more research into usability testing as this may give me more idea's on the system design.
Issues of the day:
getting the pages to redirect after a given time was a challenge as the code I wrote was very bugged to start with. after doing some research I found the best way to wait then send the page was to use the Meta tag.
Below is the code I used to make the page redirect asewll as pause on the page:
- <META HTTP-EQUIV=Refresh CONTENT="3; URL='.$url.'">
This meta code tells the page to refresh to a specific URL after 3 seconds.
Before i used the meta tag I was using an inbuilt function in php called sleep. This was causing the page to error as it wouldn't allow 2 redirect as it first has to go to a process page then onto JobStart.php. This was causing conflicting so using the meta tag in the head of the page was the best way to get around the bug. This has improved the loading time of the pages as before it was hanging on the TechJobs page once the start button was clicked.
Wednesday, 12 February 2014
Front end work started and research into Jakob Neilson
I have created the Technician and jobs pages for the front end of the system. I have taken into account the usability design and have been following lecture given by Jakob Neilson.
Link to his lecture to Google of mobile usability futures:
http://www.youtube.com/watch?v=sELOUAmFHjA
Jakob Nielsen is very keen on the fact that you should test before you launch or as he referred to "Test it before they de-test it". This has made me very keen on getting a system design completed with basic functionality ready for testing.
Link to Webpages completed so far:
http://garage2workshop.co.uk/Technician/TechLogin.php
(If you would like to login please input "1234" into the input field and it will auto submit)
http://garage2workshop.co.uk/Technician/TechJobs.php
Problems in Creating Pages:
I wanted the login page to auto submit the form for when a technician swipes their ID card on the scanner. This needed some research into JavaScript so that it would check to see if the input box had numerical input from the scanner.
I managed to sort this issue by checking the input field was equal to 4 charactors, when 4 charactors was met the form would be submitted by the forms submit button. I then used CSS to hide the submit button to keep the design simple to use and not cause confusion for when technicians try to login.
Link to his lecture to Google of mobile usability futures:
http://www.youtube.com/watch?v=sELOUAmFHjA
Jakob Nielsen is very keen on the fact that you should test before you launch or as he referred to "Test it before they de-test it". This has made me very keen on getting a system design completed with basic functionality ready for testing.
Link to Webpages completed so far:
http://garage2workshop.co.uk/Technician/TechLogin.php
(If you would like to login please input "1234" into the input field and it will auto submit)
http://garage2workshop.co.uk/Technician/TechJobs.php
Problems in Creating Pages:
I wanted the login page to auto submit the form for when a technician swipes their ID card on the scanner. This needed some research into JavaScript so that it would check to see if the input box had numerical input from the scanner.
I managed to sort this issue by checking the input field was equal to 4 charactors, when 4 charactors was met the form would be submitted by the forms submit button. I then used CSS to hide the submit button to keep the design simple to use and not cause confusion for when technicians try to login.
Tuesday, 11 February 2014
Project Supervisor Meeting 2
After speaking with Andrew today in my supervised meeting, I now feel confident in where my project needs to be heading. Today's talk covered the main area's of uncertainty that I had after doing my research and database design last week.
The focus on usability and system design is the main area that need to be explored and documented through-out my dissertation. I now have a some references which Andrew has given me to go away and research in more depth. These are as Follows:
The focus on usability and system design is the main area that need to be explored and documented through-out my dissertation. I now have a some references which Andrew has given me to go away and research in more depth. These are as Follows:
- Rocket surgery made easy (Steve Krug)
- simple and useable (Giles Colbourne)
- Undercover user design(bowels box)
- Jakob Nielson (Usability Consultant)
I will follow up this week by doing some more research into jakob nelsons work as he has done years of research into Usability for systems. This will be a good point of reference for me to find out better ways of analysing my system to make it user friendly and thoughtful for the user it is intended for.
Targets for this week:
- More Research into Jakob Nielson and his work
- Look into Responsive web design
- Recap on PHP ready to code the system
- Arrange a meeting with research candidates
Area's of consern:
Whilst speaking to andrew in more depth about my system the issue came up about suspending jobs if they can't be completed. If the Technician has to move onto another job he will need to suspend the time on his current job and move onto the next one. This causes a problem with coding and some thought will need to go into resolving this issue in order to calculate the true time taken for the job to be completed.
After speaking about Usability and Design alot more thought and consideration will need to be applied for the Technician front end system. This is an issue as are not all computer literate and probably don't want/ care for a system to be in place. I will ensure that this is very well thought through and come up with several designs to take to my research groups in order for them to decide of which they think is a good idea to implement.
Thursday, 6 February 2014
The Database structure has been designed using a Entity Relationship Diagram (ERD). I used Microsoft Visio to design the structure of how I wanted the database design to be layed out. I have attached an image of the ERD to get feedback on your thoughts.
All table rows haven't been shown only most important, the foreign keys have been shown to display the relationship and flow of the design.
Comments and Feedback welcome
Wednesday, 5 February 2014
Wednesday, 29 January 2014
My Dissertation for Final year Bsc (Hons) Computing - Automated Garage Workshop System
What are the project’s aims and artefact?
The aim of the ‘automated workshop management system’ is to
reduce the amount of paper based systems a current automotive Workshop has to process
on a day to day basis. Every service garage has some IT based Planning system,
but very few have an operations system for working at a detailed level – for
example: assigning jobs to technicians and timing how long the technicians
spend on each job. This proposal
concerns a system to handle operations.
The system aim is to reduce confusion between service staff and workshop
technicians who carry out the work on customer vehicles. It will ensure that all work is documented in
the appropriate format and reduce the number of mistakes/human error and also
mischarged services to a vehicle.
To avoid the current paper based systems of job sheets and
car check sheets, I will design an electronic web based system using the server
side scripting language PHP. The system will allow all current paper based job
sheets to become electronic reducing the amount of paper being passed around
from technician to service staff. This in turn lowers the communication between
staff and improving labour times a higher accuracy level.
Objectives:
• Critically analyse competitor
systems and find ways of improvement
• Evaluate and review system created
by implementing into business environment
Artefact:
Each workshop employee will have an ID card which has a
printed Barcode much like a membership card. This will then be scanned by the
system using a barcode scanner to authenticate the user. Once the user is
logged in they can see what jobs need to be completed for that set day and the
amount of labour hours it should take to complete. The system will log their
time on the job and also their overall time of working so that wages can be
managed by the system.
The system will also give ‘Service staff’ an overview of the
current jobs that are being commenced or near to completion as they can monitor
and track all jobs that are active – optimizing customer service and possibly
more time for customer relation/bookings. This avoids the ‘middle man’
communications between staff and technicians can get on with completing work
that needs to be carried out on a vehicle.
My research will come from local businesses that have paper
based systems in place to see how effective the current system performs. I will
find out if an electronic system would improve production with the benefits of having
an organised system in place.
Subscribe to:
Posts (Atom)