Still Life

A Series of Mental Snapshots

Archive for October, 2008

An upgrade to the mechanical pencil

Posted by Steve on October 29, 2008

As a foreword, I am aware that this is one of those ‘out there’ ideas that may never be feasible, but despite that I feel it is a good idea!

The idea came when I was studying for my image processing midterm. I was making notes with my trusty mechanical pencil when I realized that every 3-4 words the lead in the pencil would become dull, I am using 0.5mm lead, in case it matters. When the lead becomes dull my writing becomes very unclear, so I would spin the pencil around about 180 degrees to where the lead was now sharp, and then another 3-4 words I would again spin the pencil to get to the sharp part of the lead. After doing this for a while, I thought to myself, why should I have to spin this pencil 20 times a minute! This is when the idea struck.

I propose that new mechanical pencil designs have a system that results in the lead rotating on its own so that the lead is always sharp. There are a few implementations here, the pencil could have a mechanism where the lead is always turning slightly, the actual amount would have to be ascertained through some calculation in how quickly lead dulls. Another implementation would be for the lead to ‘know’ when to rotate; if the pencil was smart enough it could know how long a person had been writing and the pressure with which they were writing. With this information it would be possible to know when the lead would become dull, therefore at the point of dullness the lead would automatically rotate. A final implementation idea, and probably the most feasible, is to place another button on the side of the pencil that would rotate the lead 180 degrees for you.

The drawback is obviously that it would cost more money to implement this kind of system, and mechanical pencils are meant to be inexpensive. That being said, if there were an automated lead rotating mechanical pencil that did happen to be more expensive, I would definitely be the first to rush out and get one!

–Steve

Posted in design | Tagged: , , , , , , , , | 4 Comments »

4th Year Project: Scraping Pages!

Posted by Steve on October 27, 2008

The first step to my project was to get the main information that I was going to display on my web page. As mentioned in the previous post, the two pages I want information from are the schedule of classes and the undergraduate calendar. I used Ruby to accomplish this, if you want more info on scraping with Ruby drop me a comment.

The information I needed to pull from the schedule of classes was the basics for each class including the department, the class name and number, the enrollment cap and total, what day/time it was schedule for and the instructor.  A quick inspection of the page demonstrated that it was very poorly design, no information had tagged IDs or anything useful in that way. After a little digging and with the help of this command:

ie.show_tables

I was able to ascertain that the schedule of classes page had 2 tables, with the second table containing ALL of the desired information on the page; now if this isn’t bad web design I don’t know what is!

Alright I was getting somewhere, the information is in a table, now it was just a matter of finding the right logic to catch the information I wanted. Again after a little investigation I found that the department name would appear in the first column of a given row, and after I caught the department name there was a concrete pattern to where the rest of the information I wanted was placed. The logic I ended up using (and excuse the lack of indenting, wordpress is being a pain) was:


size.times do

if(classArray[count][0] == dept)

Write desired information to an excel form (for the time being)

end

count = count+1 #Increase count so that it checks the next row

end

So this basically iterates through each department page and pulls down all of the information I need! I apply very similar logic to pull down all of the information from the Undergraduate calendar. As things stand I have all of the current information available to students in an excel sheet, this is only temporary, I will shortly be putting it in to a MySQL database so that I could start putting it with the Django framework!

As far as next steps, well that would be to start learning Python/Django and getting a development environment up to play with, should be fun!

–Steve

Posted in Fourth Year Project | Tagged: , , , , , , , , , , , | Leave a Comment »

Fourth Year Systems Design Engineering Project: My uwaterloo classes

Posted by Steve on October 26, 2008

A little background is in order for those unfamiliar with engineering at waterloo. First off is to explain this whole fourth year project business. In not too much detail, the project is done in the fourth (and final year) of engineering at Waterloo and is something that is done by all all engineering departments. The project spans the last two school terms (8 months) and the only requirement is that it has an acceptable amount of engineering content.  Now as a student in Systems design (SYDE for short) I have already done two projects similar to this, the only real difference is that they only lasted 4 months instead of 8. The project is usually done in groups of at most 2-3 but I am going at my project alone.

The main problem that I have chosen to tackle revolves around the information that is available to students when they are attempting to find information on different classes that they could potentially take at UW. I have come up with a problem statement, which is part of my Design Plan , it is as follows:

Students at the University of Waterloo are subject to an undergraduate class system that is less
than ideal; information is disjoint, there are no reviews for classes, there is no search feature,
rendering it difficult to plan out a university career. A successful solution will allow a user to
easily and quickly ascertain the quality of a class and enable them to plan their university careers
such that a university student requires reduced effort in choosing courses.

I have told quite a few people about my project, and the first response from those outside of Waterloo is surprise at how inadequate the current system is. I personally have had tons of trouble with finding classes that I want to take. The only hard information that is offered is the schedule of classes that tells you when classes are and the undergraduate calendar which provides you with an at most 4 line description of a course. In my experience a four line, antiquated description of a course is not nearly sufficient when I am selecting a class that I am paying close to $1000 to take. This is jus the tip of the ice berg to the problems that are with the current system, for more details read over my design plan, or leave me a comment and I will be more than happy to elaborate.

The solution that I am planning to implement is another web based application, but one that addresses the major difficiencies that I see. My web application will allow users to: rate classes, upload course informaion, view the schedule along with the description in a single location, plan out their whole university career and search the database of classes. These are the main areas that I am focusing on for now, if I finish faster than I anticipate, then I will be tackling a few other issues that I have identified!

The plan is to create the web application using the Django framework, so it will mainly be python based. For scripting needs I will most likely be using Ruby because that is where I have the most experience. For database needs I anticipate using MySQL. I have actually already scraped all of the information that I require from the current uwaterloo pages and placed into an excel table, just until I get the MySQL database setup.

I will be making posts here and there about the project, the first most likely being on the scraping script as I feel some of the things I learned from it might be useful to others!  If you want more info check out my Design Plan.

–Steve

Posted in Fourth Year Project | Tagged: , , , , , , , , , , , , | Leave a Comment »

Book Review and Thoughts: “Don’t Make Me Think!” by Steve Krug

Posted by Steve on October 13, 2008

Don’t Make me Think is a book on web usability; it is mainly about how to improve the design of web sites and web applications so that they are more usable. This is one book that practices what it preeches in the respect that it is very readable and very nicely presented rendering it what I would classify a nice read. That being said, I do agree with some other reviews of the book, the content does tend to be a bit ‘fluffy’ (for lack of a better term). A lot of the information presented is more common sense than anything else. Now with that being said, there is no harm in hearing some good common sense, and it is always good to here from another source.

There were a few parts in particular that I thought were very important, the thing that I saw as being the most important was the section on testing (surprise, surprise). It happens to be one of the last chapters of the book, but I would say by far the most important.

It discusses the simplicity in how web usability testing can be done, for example, the importance of NOT figuring out your target user (at least in too much detail. Instead it is suggested to go out and offer a small stipend to someone (anyone!) to come in to do an hour or so of usability testing. I think this is excellent advice, it takes a lot of the overhead away from the testing and realistically being able to pin down and then find your target user is not the easiest of tasks.

Another point on usability testing that is extremely important is to do it EARLY. I know first hand how difficult it is to have people test things early, your projects, sometimes you think things just are not ready. But the reality is that if you have some usability testing done early, it can provide a lot value, as at the time the changes suggested will be much easier to fix than later on in the designs life. Therefore do smaller amounts of usability testing earlier, than large scale later!

Overall it was a good read and confirms some of those ‘common sense’ kind of feelings that you may have towards web design. If you have anything to do with any web page or application I would suggest giving it a read.

–Steve

Posted in Product Review, Testing | Tagged: , , , , , , , , , | 3 Comments »

The use of videos in bug reports

Posted by Steve on October 7, 2008

I recently came across a topic at the software testing club website that was discussing the use of videos in bug reports. After reading through the comments, it was clear there were a few main concerns:

1. file size
2. Serial viewing order – harder to skip and get to the point.
3. No search options.
4. Requires detailed attention in whole viewing process.

Firstly I want to address what the main ‘limitations’ are and then I will go into the benefits I see.
1. File Size.
If you get a decent tool, you don’t have to worry about this. You can export your videos in flash (if high res isn’t necessary) making them ~100KB. Now a days at a normal big box store you can get a 500GB hard drive for under 100$, so you are looking at about 5 million videos for 100$ (or 500 000 videos at 1 MB each). To me that isn’t really what I’d consider a limiting factor. Note, this does not really address any issues that may happen in a bug tracking database, as it really does depend on how the database is set up.

2. Serial Viewing order – harder to skip and get to the point.
The way that I use videos (described below) this is not an issue. A test video used properly should not be long enough for this to be a problem.

3.No search options
Again if you have a short video, and you use the video accompanying another bug report, you will not have any problems.

4. Requires detailed attention
Again if you are using videos correctly this should not be an issue.

So how should videos be used in reference to bug reports…?

Firstly in my opinion a bug report will never be replaced by a video (well unless it is mashup of video with text) because there are things that you can easily and quickly describe in text. Videos are only helpful for certain things, a few of them are as follows:

  • Remembering your course of actions when you hit a bug. I am sure it has happened to everyone once where they notice a bug but they have no idea how they got there.
  • Helping to illustrate time sensitive bugs; for example you find something where, in a web form, you press save back save quickly and it causes a problem.
  • When a developer may not believe you. Often I have filed bugs that developers do not believe happen (sometimes because it is intermittent behaviour), a video is proof, words are just that… words.
  • When someone else on the test team has to explain a bug you filed. Wording can be tricky and filing a bug report is somewhat of an art. At times it is difficult to understand what the person that filed the bug meant, but if you have a video you can often figure it out.

There are other uses for videos, those are just the ones that jumped to the fore front.

What has to be remembered is that, like anything else, it is all fluid! Sometimes videos are appropriate, sometimes not, it is always a judgement call; you have to think to yourself will a video add value. If you are unsure maybe ask the developers or your team lead what will be most helpful to them! I think video is extremely useful with certain cases, so try not to disregard it too quickly.

–Steve

Posted in Testing | Tagged: , , , , , | 4 Comments »