Wednesday, November 10, 2010
The Process of Interaction Design
In data gathering, data can be broken down into two different categories, qualitative and quantitative. Both types of data can be analyzed differently. Researchers try to find patterns and trends to support their theories and findings. Graphical representation of data helps in identifying patterns easily in quantitative data. Grounded theory, activity theory, and distributed cognition was used by the author of the textbook to analyze qualitative data. These frameworks work by breaking down the qualitative data into smaller and smaller categories so that they can find the trend or patterns at the refined categories.
The next chapter focused on the early stages of interaction design. The planning of interaction design from identifying the needs all the way to implementing the requirements. This chapter emphasized on catering to the user. As a developer, I believe that it's important to base my work upon the user's requirements and request rather than trying to do it my way. This ensures that the user will be happy with the final product. Involving the user during the process is also key to achieving better product. Letting the user play with the prototype let's the designer know what works and what needs to be refined. Different lifecycle models were also explained in this chapter. In my experience, we used Agile development in my software engineering class. Agile development focused on collaboration and that is exactly how we developed for my previous course. Letting you peers do constructive criticism of your code helps you develop and mature as a developer.
Chapter 10 was pretty simple. It uses the previous lectures from data gathering and analysis to identify and establish requirements. Nothing much to talk about since it just talked about how to apply the previous methods.
Next time I hope to find a journal from the ACM library that interests me. I'm currently looking at the latest journals that relates to Android.
Wednesday, October 27, 2010
Interaction Design
The book starts out with some basic intro about interaction design. Comparing good and poorly designed products such as voicemail systems and remote controls. I noticed that these books likes to pick on telephone/voicemail as an example of poorly designed products. It's also interesting that in today's world, we still continue to use those poorly designed products. The book defined interaction design as "designing products to support the way people communicate and interact in their everyday and working lives." I understand that interaction design is the bigger picture and HCI is just one aspect of it. There are many different types of discipline that's involved in interaction design. The book explained some of the benefits and negatives of this. The biggest pro of having people from different disciplines and backgrounds come together is the creation of more ideas coming from different perspectives. This could lead to more creativity. This however is also the biggest con. The clashing of different ideas could lead to conflicts and confusion. Some prefer to do it a certain way while others have their own ways of doing things. The book also mentioned the different usability goals and use experience goals that we have to think about while in the process of interaction design. The text also used the design principles that I read from Donald Norman.
In order to create good designed products, designers has to do some research on the consumers. Chapter 7 of the text covered the different ways of gathering data. Data recording, interviews, surveys/questionnaires, and observations are some of the main ways to gather data.
I have a lot more to read so more to come later.
Wednesday, October 13, 2010
Everything starts with design
Each chapter begins with a real life situation. I really like this way of organizing the text because it's easier for me to understand the concepts. The main principles in terms of design that I got from the first chapter are visibility, mapping, and feedback.
Visibility basically is the labeling part of design. An everyday example of this is a computer keyboard. Each key is labeled appropriately so that it's visible for us users. For users that aren't too familiar with the keyboard layout, visibility enables them to use knowledge that's available in the outside world. So instead of them trying to remember what key corresponds to to what, the label on the keys will give this information thus reducing stress inflicted upon the user. In today's world, visibility is neglected in designing things to make way for "looks." Take mobile gadgets for example. Some buttons aren't marked at all so sometimes there's no way of telling what that button would do before pressing it.
We all know that pressing the power button turn on/off something, pressing the letter J on the keyboard inputs that same letter. We know this because those things are designed to map out with their respective outcome. Poor mapping occurs when a single thing is mapped out to do multiple things. Norman used the telephone as an example of bad mapping. One of the buttons on his telephone example is mapped out to hold, park, or transfer calls. His example wasn't labeled appropriately so bad visibility is shown. I believe that visibility and mapping goes hand in hand in the design process.
For a user to know if their action was taken, the designer needs to implement a feedback mechanism. Many smartphones in the market today are equipped with touch screens. Manufacturers enables haptic feedback so that the device vibrates when the user makes a selection. This example has a tradeoff in terms of battery life. Because UI navigation heavily relies on the user touching the screen, it means that the device is constantly vibrating which sucks a lot of battery life. I always turn this feature off because I rely more on visibility for feedback with my mobile device.
It clearly takes a lot of thought when designing not just software but anything in general. I think that catering the design according to the intended users are important rather than just doing whatever works for the designer. This is where research and studies come first to help with the design process. But no matter how well you design a product, users will always make an error. We are humans, no one is perfect. This is why the designer must also implement the appropriate responses when the user makes an error. A cool example of error detection/correction is the swype technology on android smartphones. This technology enables the user to swype around the software keyboard instead of the traditional tapping method. It's algorithm is smart enough to know the intended word that the user is trying to type. Basically you swype from letter to the next till the word is spelled. But what if the user uses shortcuts words that aren't in the dictionary? Swype is smart enough that it learns the user's custom words by typing it the normal way. Swype adds the new word to the library so that the user can just swype it next time. A lot of times, swyping a certain way can yield multiple result. Swype addresses this issue by having a pop up of words that matches that pattern. The user can quickly tap the intended word and continue swyping. This method makes user input much more efficient and even faster than using physical keyboard on mobile devices. I want to post example pictures of how this technology works but I can't find a way to take a snapshot while trying to swype at the same time. I'll update this post once I figure that out.
Tuesday, May 4, 2010
Finals week is just around the corner...
-David Joel Lazaro
Monday, April 26, 2010
Birthday Weekend Over :( back to work
Tuesday, April 20, 2010
I can almost see the finish line....
This schema might change as we are constantly trying to improve our component. After we finish developing this component, we plan on publishing the final package so that the general public can download and install this on their own Joomla websites. With our DeveloperGuide, we hope that any developer can tweak it to achieve their own requirements. There's a lot of things to do so it's time to do work son!
-David Joel Lazaro
Tuesday, April 13, 2010
Joomla module madness
Wow this has to be the most challenging milestone so far. After learning that there's no pre-made module out there that would satisfy the UseCaseActivity, we had to come up with our own component. Unfortunately we didn't satisfy every single requirements for this milestone but I feel like we still accomplished something because our team had to create the component from scratch. So without further ado, lets do a quick tour of what I worked on for this milestone. By the way, before I continue, most of the work I've done was for the back-end of the system.
The first screen shot shows the back-end login screen. Here we have two login modules. One can login with a regular Joomla username and password, and the other uses UH's CAS login service. The UH CAS login module will probably be the main module used for logging in. I just left the other module on so that if the CAS service is down, I'm still able to login to the system. I also finally managed to fix the bug that won't delete the cookie that stores the CAS login information. Now whenever someone logs out of the back-end, they would be prompted to sign in again by UH CAS service.
The next screen shows the back-end's home page. Our main focus here is the addition of Activity Manager in the components menu. Clicking that menu item will take us to the component's main page.
So here is what we have so far in terms of the admin side of the component. Shown here is the main page of the UseCaseActivity component that we created. We have preloaded some sample activities as show in the image. Most of the menu button at the top works except the publish/unpublish buttons. Those are still a work in progress. So far, this component is able to create, edit, and delete an activity. We made the activities in the table linkable so that if we click on one of them, it will take us to the edit page where we can change the details of the activity.
Here is the page with all the forms that we need to fill out to publish an activity. This part was a real pain in the butt to create because the tutorial I was following is outdated. For some odd reason, the Joomla class that I was using was renamed in the new API update. After that problem was fixed it was smooth sailing.
In this screen shot we see the database part of the component. I had to create the table that would hold the information we submit from the forms page. The administrator would never deal with this part of the website. I'm just showing it to show that the component is indeed saving the information the right way.
This last screen shot shows our updated DeveloperGuide. We've added information about our current component development. There's still many things to do and a lot that we can improve for this Joomla prototype. My hope is that we don't get shuffled around and continue developing for this project. *Crossing fingers*
Monday, April 5, 2010
Joomla Modules: Time to Program
Now to start catching up, I've been reading up and watching tutorials on how to develop our own Joomla module that would support the use case of activities. I've been reading up on Joomla API and brushing up my PHP so that we can start ASAP. Android development will have to wait until I'm done with this semester's projects....
Monday, March 29, 2010
Done with Spring Break...
On a side note, I've downloaded the Android SDK last week. Being a phone geek, I want to start learning how to develop mobile apps. I currently have an iPhone but Apple requires a fee to to be a developer. Android is free and is really picking up since it first came out. Didn't have the time to set up everything on my machine yet but I will soon. I'll blog about it later once I have everything set up and running. That's all for now.
-David Joel Lazaro
Monday, March 15, 2010
Milestone 3: Time to collaborate!
For this milestone, our focus shifts from mockups to actually developing the more necessary features of the competition like commitments, activity, and goal processing. This week, we plan to work on the illustration of kukui nuts accumulated by each floors. By the way, Kukui nuts is the point system used for the competition. So the more kukui nuts you have, it means the more points you accumulated. We are looking at using Google chart APIs for this part of the prototype. Lots of work needs to be done but collaboration should ease up the work for us a little. Stay tuned for more updates later.
-David Joel Lazaro
Tuesday, March 9, 2010
End of Milestone 2
Here we are finally at the end of milestone 2. This version of the Joomla mockup site is better and contains some new useful features for the dorm energy competition. Let's start by having a tour of the updated mockup site.
Here we see the homepage that the general public can access. Currently it contains a featured youtube video, a chart that shows the energy usage of the dorms, a slideshow, and a little description of what the website is about. Also on the left is the Login button that uses the UH CAS login for authenticating the participants.
The user will be taken to this page once they click on the Login button.
If the user tries to login is not listed as a participant, they will be redirected back to the homepage with an error message. Before I forget, if you look at the right side of the top menu, a random tips ticker is displayed. A new tip is displayed every time a page is loaded.
This is where things change depending on what type of permission the user has. The screen shot on the left shows the homepage for an administrator while the one on the right shows the homepage for a regular participant. There are some noticeable differences. The administrator will have an extra item on the top menu named Admin. This takes the user to the admin page where they can modify the website.
The admin also has extra items in the user menu on the left column of the page. These extra options are for adding content to the site. You'll also notice a bunch of edit buttons in the homepage. This is because the administrator have the ability to edit these items. Those edit buttons are hidden for regular participants.
Remember the error that shows up when a non-participant tries to login? Joomla actually creates a user for them but by default they are disabled. The administrator has the ability to grant them access by enabling them or the admin can also delete the user.
Nothing new with the forums page so moving along.
This page provides users with a brief overview of a Dorm Energy Competition. There are videos which will allow individuals to browse through several videos pertaining to Dorm Energy. It also contains links to other universities doing dorm energy competitions. The Resources menu contains three submenu pages, Dorm Energy, Energy Hub, and Have Fun. Only the Dorm Energy page is implemented in this mockup.
Next is a work in progress stoplight page. This page is mainly to test the stoplight group's google gadget app.
This page shows the user information about the Dorm Energy Competition.
Next is a work in progress stoplight page. This page is mainly to test the stoplight group's google gadget app.
The kiosk serves as the billboard page that will be displayed in tv monitors. This gives people a general info about the dorm competition at a glance.
This is the help page of the dorm competition website. It includes contact info incase users run into problems using the website.
This page shows upcoming events related to the competition. This menu item only shows up once the user logs in successfully.
The last two screen shots shows how the user can edit their personal info. They also have the option of posting a profile picture.
For more information about this project, please visit Google Project Hosting. There's info on how you can download and give this mockup site a testdrive on your own server. You'll also find the current status of the project there (ie. what works and what doesn't work, bugs, etc.). I will continue working and improving this prototype website.
-David Joel Lazaro
Monday, March 1, 2010
Lots of catching up to do..
For the next coming days I have some important features lined up to be implemented in my mockup site. I might also change the theme (CSS) of the website. If I find one that looks better and easier to work with then I might implement it before the end of the second milestone. Once I have enough pages done I will update you guys with screen shots of the mockup site. I have a feeling this week will be a long one..
-David Joel Lazaro
Tuesday, February 23, 2010
Joomla Mockups Galore
Another thing that I tried this past week was setting up the mockup site to a host server. I signed up for a free web hosting account at http://www.000webhost.com/. Setting up the database part was a cake. I simply exported my local database and imported it on the host server. Uploading the actual site files was the part that gave me hell. I ended up working on it for about 5 hours straight trying to get everything to work. Basically FTP won't upload some of the files from my machine. Still not sure why it wasn't letting me. I ended up trying the One Click site restore option from the host server. I had to zip the site files from my machine and upload it that way. The problem was the host would extract the directory on its own folder and not in the public folder. What I had to do was use the server's GUI setup to move the files out of that directory and into the public directory. So after about 5 hours and many trial and error, I finally have the test mockup up and running in the host server. I did this only for testing and learning purposes. This was not required for the project but I think it's a good way to learn things for future work. Stay tuned for more updates :)
-David Joel Lazaro
Tuesday, February 16, 2010
Plans for Milestone #2
Sunday, February 7, 2010
Kukui Cup Tech's 1st Milestone
After weeks of working with Joomla, I now have the ability to create and manage simple websites. I've learned a lot since we started working on the Kukui Cup project. This post will go through the implemented functionalities that can be used for the Kukui Cup competition.
This is the public home page. I made it so that public and registered users see different articles on the front page of the website. My public front page contains an RSS feed to Forbes.com's energy news and a sample chart made from Google Docs using their Visualization API. The energy news feed keeps the public on news that relates to the goals of this project such as energy literacy. The chart can be used to track of the daily energy usage of the participating buildings.
Another working feature for the Joomla mockup site is the implementation of UH CAS Login. I implemented it using the External Authentication plug in for Joomla. Once installed and configured, a UH user can login in fine. The only problem right now is the Logout part of this plugin. The CAS login uses session that the browser stores in memory. The plugin doesn't destroy the session instance when logging out. This results in the previous session being reused if someone tries to login right after a logout. I'm still working on getting this problem fixed. The author of the plugin is currently unavailable because he is helping with the next release of Joomla. He won't be updating the plugin until around summer time.
The standings page shows the implementation of two charts using Google Visualization API. Both were made from Google Docs spreadsheet. This makes it very easy and simple to create charts that shows the buildings' energy consumption. It's also easy to update the charts. Simply update the spreadsheet and Google Docs and the charts should be updated.
-David Joel Lazaro