Sunday, June 24, 2012

Evaluation of the Graphical User Interface


During this project I was tasked with creating an interactive graphical user interface. This user interface would respond to hotkeys, mouse clicks, and various other interface elements to help breath it into life.

During project development, I stuck with my intial plan, which was to develop the UI in C++, using SDL as the graphics library in order to blit my images to the screen. The end product, was close to my original intentions, if not a little lazy in the areas that I wanted to implement, but time constraints, and knowledge of the API meant I didn't have much to work with intially to meet the final deadline.

In the end, the final product was capable of responding to hotkeys and showing the appropriate screen to correspond with that. Furthermore, it changed the internal state of the object to display a glow around the images and remove the screen and the same key was pressed twice, or another screen popped up.

Did your end product match your original intentions?

The end product matched somewhat to my original intentions, and this post will relay all the aspects that I hit while developing this piece.

One key factor was the lack of a mouse over option. Due to the nature of SDL and the blitting of pixels, I found it rather difficult and time consuming to render a RECT around the image and apply a mouse over event to detect. While I could have done it with no doubt in my mind, I intially knew that I had to cut the most time consumin aspects out, in order to develop this by the deadline.

Another factor was the lack of the health bar and the compass. I felt to relay my end prodcut to focus on the main objective was enough, implementing more images (causing more overhead) would have been an intial waste of resources, in itself, there, I decided that  focusing my UI on the main elements was beneficial enough and allowed me to put more work in that area, rather than others.

How did you manage your time?

Time was a key factor in this development process, we had three weeks to plan and produce. That wasn't enough time to get things completed the way I intended, instead, I took alot of time aside to work on the graphical aspects of it, the books, maps, bags. Getting this out of the way first, during the planning stage, allowed me to focus on the coding side of it all, and reduce the stress to allow me to architect a solid system.

My time was planned intially to spend the half term week holiday at my own computer with all my own tools to develop this, which gave me two weeks at college previously to plan, create and work on the graphics aspects of the UI.

How could you manage your time more effectively?  


I honestly can't think of how I could effectively have made better use of my time, I planned from the start how I would use it, and I stuck to it. I could have given myself an extra week, to work on implementing other features into the UI, but the extra work would have taken focus away from my other studies. Intially, I do believe the the time I spent on this was spent correctly and effectively with little impact on the end product, minus the extra week I could have used.

What problems did you face?


One problem I faced was utilising the SDL API. While the API itself is farely easy, it lacks some graphical aspects that I would have really enjoyed, however, I didnt intially attempt to program this in OpenGL, but looking at the time it would take to even render a simple image on screen, I knew I had to look elsewhere.

Another problem I faced was getting the mouse over to work, while I got close, I find the reponse of the event system implemented to lax, and I couldn't grip the correct RECT location to intiate a response. After two days of working I decided that I would abadon this to approach at another time.

What did you find easy?

I found actually implementing the subsystems and working on the correct architecture was the best part and most easiest to control for me. Coupled with the development of graphics in photoshop, I found it easy to implement the UI, the main problem stemmed from various areas that where intially out of my direct control.

No comments:

Post a Comment