General Overview
A number of organisations are using micro-blogging as a cost-effective way of communicating with customers, building online communities and releasing information about product releases, updates etc. The main application in this field is twitter, which has 500 million registered users1 . Twitter allows registered users to post short messages called tweets of up to 140 characters and reply to other users' tweets. Although a simple concept, twitter is being used in a variety of ways with one of its key strengths being the number of third party applications that enable users to interact with the twitter service from a wide range of devices (this strength however is currently being scaled down by twitter 2 ). For this coursework you are tasked with creating a specialised version of twitter that allows users to post links to useful websites along with a non-optional description of up to 140 characters. Users can also comment on other users' posts, again not exceeding 140 characters. You can think of this as a mixture between twitter and Delicious. It is suggested that you create a twitter and delicious account so that you can explore and fully understand the functionality of twitter. Be aware though that twitter contains more features than are needed for this coursework.
Task 1: Interface
You are tasked with developing two simple but secure and effective web-based interfaces for two types of users: readers and posters. One interface will be suitable for mobile devices, such as the iPhone, the other will be suitable for standard web browsers.
You must make sure that both interfaces meet usability and accessibility criteria and that you follow an appropriate developmental methodology. This must be documented in the report.
Task 2: Basic Functionality
You are tasked with developing a prototype system in PHP and JavaScript with a back-end MySQL database to store details of registered posters, posted links/descriptions and posted replies. For the prototype you can make the following simplifying assumptions:
1. A reader can view all posts of all users.
2. Each user has a page that lists all of the links and descriptions that they have posted.
3. Any user can create an account and immediately post links.
4. Once registered, a user can edit their own profile that contains a short biography and their contact details.
5. Only registered users can post a reply to a link.
6. Replies to links can be shown immediately below the message they are in reply to or on a separate page.
7. All posts are to be time stamped with their creation date and time.
8. Both interfaces have the same functionality and display the same content but in a manner appropriate to each device
You need to provide some or all of the following functionality
- Any post should only contain the link and a description of up to 140 characters including spaces
- Posters can delete past links
- Posters can create and edit their own profile
- Any user can see a list of all messages for any poster as well as the replies to any post, ordered by date posted (most recent first)
- Any user can view the profile of any poster
- Validation of all data entry forms
- A secure login system for posters
- A registration system for any user to become a poster
You are required to present a formal report, which must be uploaded by the due date. The report is the basis for the marking and credit can only be given for work that is presented in the report. The report should not simply be a collection of screenshots, you must explain your decisions and provide evidence to back them up either from the literature or your own studies. The demonstration is to confirm that the work you have presented is your own work and that the system works as described in the report. The report should include the following:
- Table of Contents
- The URL of the prototype web site
- The key issues and findings of the report divided into Tasks 1 and 2
- The specification of your proposed system including details of the development process that you have followed
- The design of the pages, including the navigation structure and reasons for your design choices
- The implementation of the system using JavaScript, PHP and MySQL
The report should include code snippets (not the full code) and screen images.