Sunday, April 27, 2014

Revision Control

Revision control, also known as version control, is one of the most important necessities when it comes to programming. Version control is exactly what it sounds like. It’s the process of keeping previous versions of code. By having different versions, one can log changes, updates, and problems of the code. This is particularly helpful when doing large edits to the code. It’s easy to mess up an entire program and not be able to figure out where the problem is. With version control, one can compare versions or even revert to an older working version.

Version control is also beneficial in a teamwork environment. If team member A has done changes to the program but team member B has an older version of the program, B can simply compare and update B’s program. Another scenario would be if both A and B update their own codes and want to combine their work, it is easy for them to see where changes were made between the two versions.
A simple way to grasp the concept of revision control is Google Drive. All Google documents are automatically saved in the Google Drive. With every change made in the document, it is logged and saved to a new version. By simply viewing the document’s history, one can edit and view older versions of the current document.

For programmers, there are a variety of version control systems, but GitHub tends to be one of the most popular. This website offers a free open source repository, or one can pay to have a private source.
http://homes.cs.washington.edu/~mernst/advice/version-control-fig2.png
Gilgenbach, A. (n.d.). Version Control and Why It's Important. savvy panda. Retrieved April 27, 2014, from http://savvypanda.com/blog/version-control-and-why-its-important.html
Yeates, S. (2005, January 1). OSS Watch provides unbiased advice and guidance on the use, development, and licensing of free software, open source software, and open source hardware.. What is version control? Why is it important for due diligence?. Retrieved April 27, 2014, from http://oss-watch.ac.uk/resources/versioncontrol

Sunday, April 20, 2014

Beta Testing

The term beta testing refers to the trial of a product before it is finalized and released to the entire public. In the Greek alphabet, beta is the second letter, coming after the first letter, alpha. There is such a thing called alpha testing, but it is not nearly as advertised as beta testing. Alpha testing is conducted by people of the company developing the product. Alpha testing is essentially the production of the product, and most useful for the engineers in their build cycle. This version of testing is definitely useful, but is only the journey to beta testing.

In beta testing, the sample pool is much larger than the number of users testing for alpha. With a larger amount of people, the likelihood of discovering issues is greater. Beta testers should expect there to be bugs and crashes. The discovery of what the public wants is also larger. For example, developers may have been producing a product that has little appeal to the public, and therefore would not have any attraction to them once the product is finally released. Although at this point the product is close to being released, there is still time for version number one of the product to undergo a few modifications to have better user interest.

http://www.cadmes.com/blog/wp-content/uploads/2012/05/Blog-Beta-testing_Renso-Kuster.gif

Thursday, April 10, 2014

Usability Testing

Before online stores, iPhone apps, online surveys, and any other technological site goes live, it must be tested. These days, the spectrum of users goes from end to end. Along with young adult and middle age individuals using technology, toddlers and elderly people are using it, too. This means that that sites must be versatile and easy to use for all customers.

According to Justin Mifsud of Usability Geek, paper prototyping is one of the most effective methods of creating top-of-the-line sites. Not only do paper prototypes provide insight for the person conducting the test, it also allows the instructor to get an idea of how knowledgeable the tester is, as described in the YouTube video by BlueDuckLabs.

In an article by David Travis, he mentions that many users are reluctant to use paper prototyping because they do not have the artistic ability to draw out their vision for the site. Luckily, there are alternate methods to create a paper prototype. One way is to create the site, but prior to launch, print each page and have it tested.

Another way which I find to be useful is to use www.invisionapp.com, which is an online prototype website. Similar to the paper prototype, this method is completely online. You can configure functions such as hovers or ‘clicks’ over parts of the site, mocking the authentic site soon to be implemented. 

Screenshot of www.invisionapp.com preview configuring functions

Example Usability Test with a Paper Prototype. (2010, September 29).YouTube. Retrieved April 10, 2014, from https://www.youtube.com/watch?v=9wQkLthhHKA
Travis, D. (n.d.). 7 myths about paper prototyping. Userfocus. Retrieved April 10, 2014, from http://www.userfocus.co.uk/articles/paper