Saturday, 18 April 2009

Conclusion

The ToDo list application fulfils a need for time management. In my own opinion and the opinion of the people I polled it would aid in peoples time management as a useful tool. I think the final product meets my expectations and is something I will actually use. In order for me to use it I will develop a user login section so it is not open to abuse.

The strongest aspects of my final production are:
1. The overall design – This received great praise from the people I polled and was considered a great aspect of the website.
2. Easy to use – This was also a very strong point of the final production. The people I polled rated this another strong point.
3. Tells you when you last updated – I found that this was a feature that was more valuable than first perceived.
4. Available on any web based device – This feature was the main idea I strived to accomplish as part of today's need for cross platform functionality.

Friday, 17 April 2009

Evaluation

What I would do next time :

1. I would firstly add a security feature to keep the contents safe from hackers and miscreants.
2. I would also add an edit task feature which is somewhat important.
3. I would also add a feature so that it would be easy to add, remove and edit the different categories.

What is good?
  • The over all design
  • The coloured categories
  • Tasks are ordered by date so the most important ones are first
  • Easy to use
  • Tells you when it was last updated
  • Available on any web based device
  • Quick to add a task
  • Server can make backups
  • Easy to maintain
What is bad?
  • Cannot edit a task – Must delete and submit again
  • Must have an internet ready device
  • Cannot order by custom priority
  • Cannot easily add or remove a category
  • No security – Could have a login feature

Thursday, 16 April 2009

Final Questionnaire

I asked the same sample of 10 people the following questions:

1. Is the final application intuitive?
2. Please rate the design from 1-10 (10 being highest).
3. On testing; did you find it worked on the devices you tested it on?
4. Please rate the amount/quality of features from 1-10 (10 being highest).
5. Please rate the usability factor for your use from 1-10 (10 being highest).
6. Please rate the security of the To-Do List from 1-10 (10 being highest)
7. Would you use the application?
8. What are the strengths of the application?
9. What are the weaknesses of the application?

The average results are as follows:

1. Is the final application intuitive? Yes 100%
2. Please rate the design from 1-10 (10 being highest). 9
3. On testing; did you find it worked on the devices you tested it on? Yes (100%)
4. Please rate the amount/quality of features from 1-10 (10 being highest). 7
5. Please rate the usability factor for your use from 1-10 (10 being highest). 8
6. Please rate the security of the To-Do List from 1-10 (10 being highest) 2
7. Would you use the application? Yes (80%)
8. What are the strengths of the application? Design, easy to use and cross platform compatibility
9. What are the weaknesses of the application? Cannot edit a task and easy to hack.

Conclusion:

The results of the questionnaire are very pleasing and show what I have made is usable, works and adheres to the specification I set. I would however change the fact it has no security as it got such a low score.

Testing

I have commenced testing on all popular web browsers. It worked perfectly on Firefox, Safari, Opera and Google Chrome. I did however have some trouble with Internet Explorer v8 which was solved with a simple line of code. After reading about the new browser from Microsoft I found that it does not conform to the old standards of HTML which is why lots of websites have issues. It does have a compatibility mode but this did not work in my case and I wouldn't expect the users to have to use this. I however fixed the bug for Internet Explorer 8 users. I also tested the website on two PDA's, iPhone and Sony Playstation 3 and it worked flawlessly. Here are two screenshots of the testing:

Firefox v3:


Internet Explorer v8:


Safari (Mac OSx):

Wednesday, 15 April 2009

On the agenda

The following still needs to be done:

Testing - Test the compatibility on different web browsers such as Firefox and Internet Explorer.
Questionnaire - I will commence another questionnaire to get some feedback on what I have created. I will use the same people and sample size as last time.
Evaluation - What could I change if I were to do it again?
Conclusion - Does it meet the needs of the users? Have I strayed from the original specification?

Put together

All the files have now been put into the main website which I created. It is now functioning as it should.

Here is a screenshot of the final completed program:


(please click to enlarge)

Sunday, 12 April 2009

Overdue date code

Below is the code which tells the browser how to output a ToDo List item which is overdue:



It tells the browser to check the time, compare it with the time in the database and display any overdue items with a red font. It will also display the category in brackets next to the item as the text is red which takes away from the colour recognition.

Time coding

The following coding is used to display the date and last modified time:


(please click to enlarge)

It returns the time of the last modification of the ToDo List. The value returned is a Unix timestamp, suitable for feeding to date(). It returns FALSE on error. It would write to the todo.list file like this:

5||Feed Tarantulas|6|1247436000

The number "1247436000" translates to "10/08/09". This website will convert the Unix timestamp for you: www.unixtimestamp.com/index.php
This is one slight diviation from my original plan to just have the coding output the actual date not a timestamp. I found when writing the code that the timestamp was a better option.

Time function

One very important aspect of the ToDo List would be a time and date view which would assist in the users time management. It would also be very useful to show the user when they last amended their ToDo List. This is one of the best advantages over a paper based ToDo List. Below is a copy and paste of what the user would see:

Last Updated: April 12 2009 13:43:42, ~ 63 minutes ago

The "~ 63 minutes ago" part means roughly 63 minutes ago because there is no easy way to implement a seconds timer. There would also be no benefit for the user knowing the seconds since they last updated so I have stuck with the units most useful to the user.

Saturday, 11 April 2009

Remove and complete function

Now that the adding function is completed the complete and remove function has been implemented. These are vital components of any ToDo List. Below is a screenshot of the buttons which the user can control:

The remove button will remove a ToDo List entry and the complete button will put a strike through the ToDo List entry to symbolise that it is complete. The toggle all checkbox selects all the entries to save the user time selecting all the entries by hand. The advanced feature removes all visibility of the category and date information. This saves the user from entering in a date and category for fast input. This would be useful with an ongoing reminder such as buying milk.

Add function

Below is a screenshot of the adding function:


The user enters their ToDo item in the entry bar, selects a category and date the ToDo item must be done by and then must click "Add". This then adds the content to the todo.list file where the data is stored. The add function is working correctly and will append to the database file.

Wednesday, 8 April 2009

Categories output

The output file now reads from the categories.list to show the unique category and colour using colour codes. The output looks like this:



The different colours are used for easy recognition of the categories. The human mind sees colour and associates it quicker than reading text.

Ouput status

The output file now presents the data from the .list file. Here is a screenshot from the output file:



The checkboxes do not function at the moment, but they will do upon initialisation.

Monday, 6 April 2009

Database

I am keeping the information in a database in a .list format which is easy to read and write from. I could have used an Access or Oracle database but they would be to slow due to the abundance of features that I would not use. I need a very simple format to hold the actual ToDo List data, defining number, category number and the date.

An entry would look something like this:
5||Feed Tarantulas|6|20122009
The first number is the defining number, the text after the || is the actual ToDo List item, the third number after the ToDo List item is the category code which gives it a colour. The colour is bought up from a Categories .list file. The numbers after the category number is the date.

The categories .list file will look like this:

0|#0000FF|Business
1|#00FF00|Financial
2|#FF00FF|Education
3|#CC6600|Recreation
5|#9900FF|Shopping
6|#666600|Chores
7|#009999|Other

I have chosen eight categories which would cover any common type of ToDo List entry.

This is the simplest form of a database and is very easy to view, maintain and update without any third-party software.

Next on the agenda

The graphics are now in a completed state and placed in layers to form a website. This will be hosted on a server as the coding will be PHP based which is a server side language. Next on the agenda would be to start the programming and a method for storing the actual ToDo List items.

Final website design

Here is a picture of the final website without the main PHP program installed:


(please click for a bigger view)

Saturday, 4 April 2009

Final features specification

What the program will have:
Colour coded categories. Example:Business Financial Education Recreation
Listed by date due not date entered
Show the user when the ToDo List was last updated
Toggle all function so the user doesn't have to click all the entries to apply a single action
Remove and complete task buttons
Able to run in all browsers - Meticulous testing will be implemented

Optional extras:
The ability to login to keep the ToDo List private
The ability to add a new category

Friday, 3 April 2009

Graphics production sceenshots

Here are some screenshots of the header and footer production using Fireworks CS4:

Banner:




Footer:

Footer Banner Design

Here is a picture of the footer banner which will be used in the website:


Title Banner Design

Here is a picture of the title banner which will be used in the website:


Wednesday, 1 April 2009

PHP

I have decided to use PHP as the main form of programming due to the pros outweighing the cons unlike C#. I like the idea that you can view and amend the ToDo List from anywhere in the world on any device with the server it's being hosted on keeping backups.

Two highly likely scenarios where a PHP based ToDo List would be best:

1. If the computer/device the ToDo List program was stored on failed the whole program would be lost. A web based server side PHP ToDo List would be intensively backed up to ensure maximum uptime and integrity.

2. If the program was on a PDA and the battery depleted then no more entries or viewings could commence. The web based server side PHP method will work on any internet ready device so that if one were to fail another device could be adopted.