Part2 of my follow up from Cusec2010, regards Douglas Crockford’s talk on “The Software Crisis”.

Short version for those headline skimmers:  Crockford says that the Software industry is in a state of crisis, we need to fix it and we must fix it.  I agree with all his recommendations and examples of flaws in our industry, but I argue that it isn’t  necessarily a flaw but an inherent relationship between the software industry and the business world.  Buggy software is often good enough, so lets just try to make it a bit better.

As a precursor to this talk, for the last few months I have been thinking about a similar (if not the same) problem: The software crisis. I had been talking with friends about something that bothered me about the software industry, imperfect code, imperfect process, the imperfect software industry.  When Crockford stepped on stage and showed his first slide “The Software Crisis”, without him even continuing, I knew exactly what he meant.  First off “Thank you Douglas for putting a name to an issue for me”, it was like remembering the lyrics to a song for a week without being able to remember who sings it.   His talk was on aspects of the crisis, why they exist and how we can minimize and pave a brighter future.  He had my attention….

I won’t go into the dirty details of the crisis itself (a quick google search should help you with that), but in short: we are getting lazy, we are producing bad production code, we are delivering late, we are testing too late, we are in major trouble.  Why does this happen, and what can we do?  Crockford opened by stating that creating software is the most complex task a human being can do. (Paraphrased, someone please msg me if you can remember the exact quote)

Read the rest of this entry »

Why are things always so obvious after disaster happens, I think they call that hindsight

One of the final talks I attended at CUSEC 2010 in Montreal, was probably the most important, and unfortunately – (seemingly) the most underrated. Daniel Berry from University of Waterloo Software Engineering gave a talk entitled “Ambiguous Natural Language in Requirements Engineering”. Unfortunately he was speaking to an audience in the Agile area who have been exposed to culture stating that Waterfall Software Process is dead. More inaccurately, that requirements gathering is a dead science. This talk was not only enlightening, but also made me rethink many topics I haven’t thought about since University.

In summary for those who don’t want the verbose version: The process of transforming the ‘idea’ (as a requirement) and turning it into ‘code’ is a problem that extends well beyond just the ‘code’ part. Many software errors (%5-%10) are a result of ambiguous requirements – Requirements that neither party in the process even knew were ambiguous. This talk was a branch of Software Engineering shining at its best – and Berry offered solutions!

First to address those developers still pretending this problem doesn’t apply to them: Not all software projects involve 1-2 developers. Not all projects allow you (the developer) to talk directly to a client. Some projects will have you writing code based on requirements written by someone else in your company. This problem exists whether you want to believe it or not.

Read the rest of this entry »

The penis shape was truly unintentional

I thought about drawing a linear / exponential function, while lining up for a beer at a club on the weekend.  To prevent myself from becoming either an alcoholic or one of those ‘holding a drink dancers’ (see graph x:[7-9]), I will just no longer go to night clubs.

This post will probably make people think I am insane for bring up such a small issue.  But little things bother me, and this little thing has bothered me for years, and I have been waiting for Microsoft to fix this.  No matter what email client you choose to use, there is a set of basic features that all must support.  Once you start looking at competitve advantages, little features make the difference.

Target for today’s discussion: Windows Live! Hotmail

As a synopsis (to those who don’t want to read the whole post): Unlike all of its major competitors, Hotmail does not allow users to mark emails as unread within the context of reading an email.  As a secondary, they provide buttons that don’t actually do anything.

I will also look at some competitors: Gmail, Yahoo! Mail, and Facebook’s Message Inbox

The left navigation area of 4 popular message/email clients

I use a lot of email clients, gmail/hotmail mainly.  I also use 2 other lesser known clients but mostly to keep up on innovations in the UI etc.  Over the years, (after gmail came out) Yahoo! Mail seemed to be the only client that made improvements or drastic changes to their interface.

I took this above screenshot because it demonstrates how I (and many others) use email.  I generally try to keep my email box with 0 unread emails.  As it gets closer to Friday my work inbox sometimes gets up to 10, but I am pretty good keeping it low.  When I read a message and realize it is too long to read at the current moment, I mark it as unread.  Similarly, if there is an important email, with vital information I will need in the near future, I will mark it as unread.  Some clients allow the ability to mark or flag as important/follow up.  Most clients allow folders for organization.  Depending on the user’s level of organization they may have their own way of dealing with such messages.  Personally, I like to mark anything as “unread” until I have fully closed off all ties with that particular issue.  It is the one thing that at the end of the day, reminds me there is something outstanding (The big number beside my inbox).

Read the rest of this entry »

I haven’t done a paper prototype since my 3rd year of University, and when I did, it was Black/White on lined paper.  Feeling the need to brush up on some basic UX  practices, I decided to let my work/nerdy side invade my Halloween (yes this post is a few months late).

Tools Used:
Omnigraffle, Photoshop, TextMate, CSS
Pencil+Foam Core, Scissors+Paper, Glue Stick, Sharpee Markers

All purchased at local art store for < $20 (much better than Adobes $1,000 CS suite)

Next came the planning and comparison shot:

Please note the "Keyboard Cat" video open in the other tab

Read the rest of this entry »

Doesn’t relate to movies, software or books, but just how I always find myself in funny situations.
A coworker asked me to write about it, because it seemed too unbelievable to be true.

“The Metropass”

I was at a friend’s house for dinner recently and a group of us decided to head downtown to a bar.  Since the cold Toronto weather had begun to show up (it was around -20°C that night) we looked into getting a cab.  We had a group of about 5 people so we ordered a van cab (because certainly getting 2 cabs was out of the question).  As we waited, an argument arose because several of the people present had metropasses, rendering the $30 cab a waste of money. This took place during the first week of January, and I had actually purchased my metropass earlier that day.  The argument continued on about the additional $10 charge for ordering a van cab (making the cab fair >$40) and we decided to take the bus.

As we walked to the subway we called in and canceled the cab, only to see the cab drive by us about 30 seconds later.  About 5 minutes into our walk, and feeling the reality of the freezing cold weather, we changed our minds again and decided to take the cab after all.  The cab (now returning to wherever it originally came from) drove by us once again, this time we flagged it down.  The idea here was that since we did not explicitly order the cab, the $10 would be waived.  He realized we were the original callers (some how) and after 2 minutes of arguing we decided to take the subway instead.  The cabbie was pissed off, I was cold, and we were standing 100 feet from the subway entrance.

Read the rest of this entry »

This happened to me a while ago, but I recently stumbled upon the screenshots somewhere on my desktop (Yes take a screenshot whenever a website does something that pisses me off).  This will begin my, hopefully abundance of, rant posts about otherwise great/successful software applications and websites.  I found Twitter was much to short to fully express myself, but I’ll leave my twitter rant for another occasion.

The target of this post: YOUTUBE.com, yes you.. tube </bad joke>.

Youtube’s recent UI change (last quarter or so) has some new modules on their front page which include: recommended videos, popular videos by category (love this module), videos being watched right now (which I still don’t understand) and Featured videos.

Here is what I saw:

Youtube's home page

Look at all the great suggested videos for me to watch!

Read the rest of this entry »

gits-post-1

Let us start with a quote:

“If we all reacted the same way, we’d be predictable, and there’s always more than one way to view a situation. What’s true for the group is also true for the individual.

It’s simple: Overspecialize, and you breed in weakness. It’s slow death.

-Motoko Kusanagi

Taking a lazy afternoon during my holiday break, I took the time to re-watch Ghost in the Shell (Kôkaku kidôtai) because I hadn’t watched it in years.   The last time I saw this film was just prior to entering university and I really didn’t appreciate (or know how to appreciate) this film 1/2 as much as I should have.

This movie goes so far beyond what most films try to achieve in terms of depth, and is probably one of the best animated films I have ever seen.  Without dissecting the entire film, which has been done countless times, I need to only mention the few scenes that struck me the hardest to remind myself on a future time why I enjoy this film so much.

Read the rest of this entry »

Sorry for the delay folks, its been a long time coming.  I suppose it only seems fitting that this first post (and my new blog) comes within the first week of the new year.  2010 should be a fun year and hopefully I can live up to my resolution to blog more.  I’ll be including everything here from movie reviews to software ideas.

Hope you enjoy your stay..
-Ian