Category Archives: technology

7 Steps to Solving Technical Problems

When I started a new job a few months ago, I entered an unfamiliar technology stack. Being the new guy on a project isn’t always easy. While a great team will make it easy to ask questions and learn, there seems to always be another problem to solve, or figure out how something works. This isn’t always solving a software bug, but instead often deals with coming to a greater understanding of how something works, to change the behaviour, or to duplicate it.

Puzzle

Finding the right fit

I have a great mentor, who knows many aspects of the code base. While he’s always willing to help, I like to reserve my questions for the tough questions. I’ve often found that when asking a colleague about a problem directly, I often wait until they’re at my desk before I rephrase the problem, and make that elusive link between what I think I know, and what the code is hiding. In other words, I can usually figure it out on my own, but I end up explaining it to someone else first.

Continue reading

Why is Windows XP stuck with IE 8?

For all web developers and designers, Internet Explorer 8 support is likely the least enjoyable part of your work, and it's unlikely to go away any time soon. As much as Microsoft would like for everyone to upgrade to Windows 8 this fall, the simple truth is that many home and school PCs are still running Windows XP. These systems are for the most part under powered to run Windows 7, and may have software that is incompatible with the newer versions of Windows. After all, from XP there is Vista, 7, and very soon, Windows 8. Just think about all the driver incompatibilities introduced by each successive operating system upgrade.

Browser Wars image: Firefox and Chrome fight while IE eats glue

Browser Wars

For large organizations, such as academic institutions, an en masse upgrade from XP is unlikely, not only for the hardware and licensing costs, but also through the IT management work required to vet any software upgrades. The upgrades happen, albeit slowly. There just isn't a compelling enough reason to upgrade.

Why doesn't Microsoft just upgrade the version of Internet Explorer running on XP? Why can't they put IE 9, and soon IE 10, on their older operating system? The latest versions of Mozilla Firefox, Google Chrome, and Apple's Safari are all available for Windows XP.

But all those browsers are cross-platform, one might argue. They don't have the deep integration with the operating system, like IE has. So what? Why should that matter? Safari is a web browser installed by default with Mac OS X, which presumably has as much opportunity for deep OS integration as IE. Apple took a different route. Rather than seeking deep integration with the OS, Apple open sourced the WebKit rendering engine, which is now not only used by Google Chrome, but also in most smartphone browsers as well, including those of BlackBerry, Android, and iOS.

One could argue that this kind of entrenchment, where Microsoft is unwilling or unable to upgrade the browser in earlier versions of Windows, is exactly the kind of problems the Department of Justice antitrust case should have solved. Certainly, the arguments raised by Microsoft suggested that the operating system was strongly coupled with the web browser, such that they could not be separated. But the antitrust trial focused on competitor access to Microsoft APIs. If the sanctions against Microsoft had been stronger, we might have seen IE9 on Windows XP today.

Microsoft is clearly capable of writing a rendering engine separate from the OS. From 1998 to 2003, Microsoft released versions of Internet Explorer for the Mac, dropping support in December of 2005. These versions were supported on Mac OS 7, the “Classic” OS, through to OS X Tiger, and supported two different system architectures, the old Motorola 68k systems, as well as the PPC systems. They have experience in writing cross-platform rendering engines, but clearly feel hat one closely tied to a particular operating system version is somehow beneficial.

How exactly does a tightly coupled system help them? It could be an added enticement to upgrade to a newer version of Windows, but if so, it's not really very effective. Perhaps it makes development easier? I fail to see how that might be the case. Other browsers seem to have no problems with a more portable architecture, so unless Microsoft is making extensive use of internal APIs again (once again, reference the antitrust suit),I fail to see how this makes sense.

One of the most convincing arguments is that it could cut the number of possible OS/browser configurations for testing, either internally, or by organizations with more extensive upgrade trials. Supporting IE9 on Windows XP would need extensive testing not inly of the browser itself, but all the different extensions and integrations, all on an operating system that is several generations old. After all, XP is in extended support mode, with that final stage set to expire in April 2014. Spending large amounts of money on testing IE9 support on Windows XP clearly isn't in Microsoft's best interests.

So where does that leave web developers today? Are we doomed to support IE until 2014? Sadly, I suspect it will live on longer, the browser zombie of the net. Aside from promoting the use of Firefox or Chrome on Windows XP, there is little we can do. Like classic Romero zombies, it's not going anywhere very fast.

 

The High Tech Job Sector in Waterloo Region

As dire as news coming from Research in Motion is these days, Waterloo Region has a large number of technology companies actively hiring. We’re really fortunate to have such a variety of local companies here in the Region, and the support of Communitech.

Tech Leadership Conference 2012

Photo from Communitech Photos flickr page

Communitech also has a tech jobs website, http://www.waterlootechjobs.com. This past month, I attended the Waterloo TechVibe Recruitment Event, where a number of local companies were recruiting. How did that work out? After the event, I was in different stages of the interview process with six companies, before accepting a position at Desire2Learn.

I was really impressed by the variety and quality of companies we have in Waterloo Region. We are far more than just the headquarters of RIM. From radiology workflow solutions at Medicalis, to financial account management at Arius Software, to cross-platform mobile voice solutions such as Fongo, the market is definitely hopping.

While it’s true that when people think of Waterloo Region technology companies, RIM is often the first company that comes to mind, there are also local Google offices, as well as OpenText.

While many companies in the region are in the mobile space, such as Kik and enflick, we also have good representation in the medical and financial services fields.

So while the wind may be out of the sails at RIM, the economic outlook for Waterloo Region is still very good, as noted in a recent article in the Waterloo Region Record on a report by the Conference Board of Canada. Will job cuts at RIM hurt? Without a doubt. But the benefit is a more diverse region, where smaller companies are not struggling to find the talent that in the past several years has been going to RIM.

Waterloo Region also has great support for technology startups. Communitech has their Hyperdrive program, Waterloo has the Accelerator Centre, and the University of Waterloo has a Velocity incubator. All of these programs offer entrepreneurs with space and access to established mentors, to help build their businesses. While these don’t provide large employment numbers now, they do provide opportunities for those in the region.

 

Supporting Local in a Global Marketplace

While listening to 570 News the other day, one of the hosts of “Your Money Matters” assured the audience that although he likes Apple stock, that he wears a BlackBerry on his hip.

I know that I’m not the only person in Waterloo Region with an iPhone, and there are a number of folks with Android devices as well. After all, Google has a local presence here as well.

The fact remains that there appears to be a blind devotion to supporting Research in Motion’s handheld devices, without a critical comparison to competitors. “BlackBerrys have a physical keyboard” is one quick defense, with the strong implication that a touch screen device is useless for typing. Guess what? This post was typed entirely on my iPhone.

Before someone suggests that I don’t know enough about BlackBerry, let me assure you that I do. During my four and a half years working there, I used the Pearl, Bold, Storm, Torch, and all the variants. I even used a Pearl Flip for awhile. Some were better than others, but when it was time to leave RIM, I didn’t hesitate, and bought an iPhone.

I’m not suggesting that everyone should buy an iPhone, but rather that they should acknowledge that they may not have the best, most competitive device. In fact, they should realize that this blind devotion to RIM, and lack of local criticism may in fact have contributed to the lack of true innovation in the last several years.

While I understand the desire to support local businesses, the lack of critical dialogue in the community makes things seem like a case of the Emperor’s New Clothes. I think we need members of the community to be critical of local businesses which are attempting to compete globally. It leaves the perception of being a market leader, where outside the region, the ship has long since sailed.

This increased isolation from competitive devices has no doubt affected RIM staff as well. How many developers at RIM have had much experience using an iPhone or Android? How many know areas in which one is better than another?

Now I’m sure that their situation is abundantly clear by now. The new CEO does not have rose colored glasses. Other recent departures on the executive hopefully reveal a shift in vision, to address the challenges facing them today.

We in Waterloo Region have benefited from RIM’s past success. Does this require seemingly sycophantic praise for their current devices? While I wish my former coworkers the best of luck in the current transition to BlackBerry 10, I can only hope that their new devices meet the demands of the wider international market, and not just those of Waterloo Region.

We should also remember that as a corporation, RIM’s first duty is to its shareholders. The corporation doesn’t “owe” the community anything, outside any possible contracts with the municipalities. However unlikely it may seem, some high level deal could see RIM walk away from the region, to set up shop elsewhere. Don’t think that could happen? Just ask the folks in Salo, Finland, about ailing Nokia. While I don’t see this happening, RIM has significant investment in the region, it is within the realm of possibilities, especially if RIM enters certain partnerships or is otherwise acquired.

What do you think? Am I missing something here? Is there a reason to praise the current BlackBerrys? Does the Be Bold marketing campaign mean anything to you? Should I cut RIM a little more slack as they negotiate their transition to a new platform, or do you, like me, hope that people stop trying to defend their mobile choices by saying that they are “supporting the local guy”?