On a side-not, working with ASP.net so far has been an enjoyable experience. It resembles Windows Forms in many ways, which is a bit of a double-edged sword. The reasons for this are beyond the scope of this blog, however, so I won’t go into too much detail. Right now, I’m building the site to be rather modular. Most controls are custom controls with properties that can be accessed through server-side C# code. Events are present to handle the expected behavior and injecting the information (user name, title, achievements, posts, etc.) from the database is as easy as setting the HTML properties through those I created in the C# code. The biggest snag is one’s dependency on sticking to asp controls once you start. Because the C#code can only really interact properly with asp controls, making any important control an asp one will force you to start changing other, simpler and faster HTML controls into asp’s as well (the ViewState makes them generally larger and slower than their HTML counterparts). Because optimilization is not a main concern here, I can temporarily set this aside, however, in favor of usability and the advantages the Visual Studio Web Designer offers.
Either way, in the next view days I will upload more screenshots and a user evaluation is forthcoming, which will allow for the application to undergo a more proper test run. I learned a lot from the paper prototype, but actually seeing the application on a computer screen and having the tester use a mouse and keyboard is very different and more telling of the end product then any printed paper can ever be.
The Front Page
My application will be constructed in various iteration; two at the very least. Each iteration will naturally build on the previous one, as well as fix any problems that may have occurred throughout the various user evaluations I will conduct after each iteration.
The following are the goals set that should be met by the first iteration. It mainly includes basic functionality and UI controls.
- The application’s UI has been fully designed, with placeholders when need-be.
- UI element that must be operational are basic profile functionalities, main menu buttons related to functionality that is to be implemented in this iteration, list of solutions on the server, profile page view,
- Users must be able to browse the various solutions, as well as filter based on tags and search based on string matching.
- Users must be able to sort the list of available solutions according to basic criteria (A-Z, newest first, …)
- Users must be able to create new solutions, as well as new iterations to an earlier solution.
- Users must be able to create comment and rate posts.
- Users must be able to receive notifications of basic functionalities.
- Users must be able to issue challenges.
- The application must be able to detect when challenges have been met.
The following functionality will remain tentative:
- Users must be able to view their profile page.
- Users must be able to filter and search lists using more available options than those listed above.
- The application must be able to communicate with a persistent storage and not rely on local files as placeholders (SQL).
- Users must be able to register, filled-in information being stored in the database persistently (this instead of the placeholder login method that does not check whether the given credentials are actually valid).
So, what does the planning look like then? I based it on a week-by-week progression, keeping some time left over in the last week in case of delays or urgent, unforeseen matters.
Following is a planning of how the development of the first iteration will proceed:
- 11/02/2013 – 17/02/2013: UI in ASP WebForms has been created for all relevant screens, placeholders have been created wherever necessary. Users can login (fake login), and look at placeholder solutions and users (statically loaded in).
- 18/02/2013 – 24/02/2013: Users can create and post solutions, filling out all the necessary information. Tags can be added and the list of available solutions can be filtered as described above.
- 25/02/2013 – 03/03/2013: Users can issue, accept and refuse challenges. Users can place comments and rate solutions. The application can detect whether or not a challenge has been completed successfully.
- 04/03/2013 – 10/03/2013: Users receive notifications of all relevant changes related to the above functionalities. Furthermore, the SQL server has been set up and a database is available for persistant storage of implemented functionality.