Categories
Uncategorized

Why I Switched to Windows Phone, Part One

After three and a half years, I’ve parted ways with my iPhone and taken up a Windows Phone. There are a lot of reasons — two posts’ worth, in fact. Today we discuss the big motivation: cost.

It’s no secret that Canada is one of the most expensive places in the world to own a smartphone. That’s why, when my iPhone 3G broke down not long ago, my first thought was: “Great. How much is this going to cost me to replace?”

Well, by my calculations, $2836.98.

The up-front cost for a 16GB iPhone 4S, on contract, is $219.22. $159 for the phone + $35 activation fee + applicable taxes. (I’m doing all these calculations with Rogers, but the numbers vary only slightly with the other iOS-friendly Canadian carriers.)

The monthly plans are the real killers. Unless you think you can get by on 100MB of data per month, you’re looking at a base price of $52.35. That nets you 500MB (not great, but enough for my needs) with 200 minutes, and unlimited SMS. However, that doesn’t include such luxuries as caller ID and voicemail.

These features are sold as add-ons, either à la carte, or through “value packs”. The only sensible option through Rogers is their iPhone Value Pack, which adds:

  • call display,
  • name display, (how are those separate things?)
  • visual voicemail,
  • and ringbacks. (A fluff feature nobody uses.)

This will run an additional $12/month, bringing our monthly bill to a total of $72.72 after tax. Add that up over the course of the three-year contract, and we hit a total of $2617.76. With the initial phone costs, we’re back up to $2836.98.

This is outrageous! Keep in mind that that’s a very low-end plan (500MB data, 200 minutes). There’s no way I’m going to commit to that. I have a mortgage.

Enter Wind

Wind Mobile is a new(ish) carrier in Canada. They offer much better packages at much cheaper rates than the big carriers. The tradeoff here is that they have much less network coverage; their network only exists in five Canadian cities. (I’m fortunate enough to live in one of them.)

They have a 12-month contract promotion on right now for their Oh Canada plan. Unlimited voice, SMS, and data, for $29/month. Yes, you read that right, and yes, it includes caller ID. (Voicemail is an extra, to the tune of $5/month.)

After tax, that’s a monthly bill of $38.42. Over three years, that’s a grand total of $1383.12. (This assumes I can find a similar promotion when this one ends, or dial back my plan to keep roughly the same costs — easy, since this promotion’s features far exceed my needs.)

This is great, but Wind uses a fancy new network protocol that isn’t compatible with the iPhone. In fact, they only sell Blackberry and Android devices, which I just can’t seem to like.

What’s a geek to do?

Enter Windows Phone

I’d used a Windows Phone before, and it was one of those fish-to-water things (more on that in part two). When I was in Vegas for MIX, my workplace was kind enough to loan me an LG Optimus 7. The OS offers much of the polish that BB/Android lacks, the kind of polish you can’t give up after 44 months of iOS.

The features are close enough for my needs. It’s an easy transition.

Unfortunately, not very many Windows Phones are compatible with Wind’s network, and they’re hard to find in Canada. It turned out my only options were the Dell Venture Pro and the HTC HD7. The HD7 is a newer model, and we had one at work that I could try out for a week, so that became my target.

The only Canadian carrier to have ever sold the HD7 was Bell. Bell and Wind use completely different networking technology, so even if I could track one down, I’d still be stuck with unreasonably expensive plans.

I needed the version of the HD7 sold by T-Mobile, and American carrier whose network is compatible with Wind’s.

I found a seller on eBay with a new, still-in-the-box HD7. He would only ship to the US. Not a deal breaker, but definitely an added cost.

Including the price of the auction, the fee to unlock the phone from T-Mobile, the conversion from USD to CAD, the pick-up fee at the American UPS store, tax coming back into Canada, and the toll booth in between, my new phone cost me $366.64.

How did we do overall?

Setting my new HD7 up on Wind was relatively painless, though there is a one-time $25 fee for the SIM card. All in all, the phone, setup charges, and plan for three years totals $1749.76.

That’s a savings of $1087.22 over the iPhone package outlined above.

I like Apple’s devices. The hardware is well-designed, iOS is beautiful, and I was very, very happy all those years with my 3G. But to me, there is no way that an iPhone is worth nearly $1100 more than a Windows Phone.

§

Stay tuned for part two, where I discuss why it felt like the right time to leave iOS.

Categories
Uncategorized

Gone Skatin’

Gone Skatin'

click to enlarge

§

P.S. If anyone’s looking for CES coverage, here’s what I’ve got:

The big news of the day is that RIM announced a new version of its Playbook OS. Looks good. Coming in Feburary.

I was led to believe (along with half the rest of the internet) that Microsoft would announce a new XBox at their keynote. Apparently this did not occur. And apparently Ballmer’s final keynote was a bit of a let down. Still, the Metro update was neat.

There are also a ton of cool-looking devices being thrown around. Nokia and Samsung did pretty well, and I’ve heard a lot of buzz about Vizio.

Finally, here are some interesting people to follow if you’re looking for CES news for the rest of the week:

On Twitter, I’d recommend @miguelcarrasco for steady updates, and Mashable’s @film_girl if you want to completely drown in techie minutiae.

If Google+ is more your thing, you should circle +Mohamed Mansour for a whole bunch of reasons, useful CES highlights notwithstanding. Also, +David Bates is on location, and I’ve been enjoying his coverage thus far.

That’s it! Time to head back to the rink.

Categories
Motivation

How to Learn Anything

It’s New Years, and a lot of you are currently making resolutions and setting goals for the coming year. If one of your goals is to learn something new, or something that you’ve always wanted to learn, this post is for you. If that’s not you, keep reading — this is a cool story.

The hardest thing I’ve ever tried to learn is Calculus. Specifically, it was calculus as taught in a horrific course I was forced to take in University called Calculus 2 for Engineers.

The marking was brutal. Here’s how it worked:

There were three midterms and a final exam. Each midterm was worth 15% of the final grade, the other 45% was the exam. No assignments, no labs, just midterms and an exam. And were those midterms ever vicious! Each one had only seven questions, and they were multiple choice. It was common to have pages of formulae and calculations for any given answer, and if you made even one tiny mistake — a flipped minus sign, a minor addition error, etc — then BAM! There goes 2% of your final grade.

It was awful, and probably the most feared course in all of Engineering at U of O.

One of the most vivid memories I have of University is sitting in class after getting our second midterm back. I failed it, just like I failed the first one.

The guy next to me, a friend of mine, was in the same situation. He turned to me, and he said:

“Dan, we can pass this course. All we have to do is one hour of calculus every day for the rest of the semester. It’ll work. I’m sure of it.”

I probably said I’d “totally do it”, and I might have even stuck with it for the first week or two. But I didn’t follow through, and much to my disappointment (but hardly a surprise), I failed the third midterm, and the exam.

This is the only course I’ve ever failed.

That friend of mine stuck with his plan. He did one hour of calculus every day for the rest of the semester, and passed Calculus 2 for Engineers with a B+. Not bad, considering he failed the first third of the course.

So if you want to learn anything, whether it’s calculus, how to juggle, or how to speak Italian, all you need is discipline. You don’t need to be smart, you don’t need fancy tools or textbooks or courses, you don’t even need a teacher or mentor. All you need is discipline.

Do it for an hour a day.

What are you going to learn?

Categories
Software Development

What Should the Software Industry be Known For?

I was talking with my friend Marc today. He’s a mechanical engineer (and a damn good one) and we were talking about work. He said something that kind of surprised me:

“Sometimes I wish mechanical engineering companies were more like software companies.”

All through school, and even in the workplace, I’ve heard software engineering compared to traditional engineering.

“You don’t build half a bridge, then change your mind about how it’s going to look.”

“It’s a green-field project.”

“Well, the way they estimate construction projects is like this…”

I’ve always thought other engineering disciplines had all these lessons we could learn in software, given that building software wasn’t recognized as engineering until about 1960*. It’s never once occurred to me that what we do in software could help the guys building cars, or skyscrapers, or in Marc’s case, bomb suits.

This begs the question:

What do we want other industries to say about software engineering?

If you could teach one lesson you’ve learned in software to another discipline, what would it be? What would be the top, absolutely most-important anecdote you could recite? Or inscribe on a statue of a programming icon?

Marc said it was how people are managed. The offices, the lax environment, the 20% time.

I think it’s how we integrate teams. I love working closely with designers, and I bet other engineering fields could really benefit from the software designer/developer relationship, and how it has evolved over the past decade.

Your turn.

What should the software industry be known for?

Categories
Uncategorized

Elsewhere: How to Handle Browser Differences on iPhone and iPad

I wrote a post for the company blog this week.

It’s about how we’ve reached a point with mobile Safari where different versions have different functionality. Is this a problem? What can we do about it?

Find out on the Macadamian blog!

Categories
Web Technology

Interviewed by Chris Brogan

In case you didn’t hear about it on Twitter or Google+ or from me jumping up and down and yelling out loud, I was interviewed the other day by Chris Brogan:

We talked about mobile websites, and went over the basics for businesses looking to get into the mobile web space.

I tried my best to not look and sound completely starstruck. I’ve been reading Chris’s blog since 2008, and for those of you that aren’t (a little too) obsessed with blogging, he’s kind of a big deal.

It was a lot of fun, and surprisingly easy to set up. I think I might do a bit more video-stuff in 2012. What do you think?

Have a good weekend!

Categories
Motivation

How Do You Fight Starvation?

Do you know how a computer decides what to do when you’re listening to music while browsing Facebook with a half-written blog post tucked way down your alt-tab order?

It uses a scheduling algorithm, of course. Some little process inside your operating system looks at all the applications you’re running, and decides when to spend some time processing each one.

There are all kinds of different algorithms, optimized for qualities like overhead (how much time the scheduler spends making decisions) and response time (how long an application waits before getting its “turn” on the CPU). Whatever device you’re using right now probably has a very fancy algorithm that has been perfected for over a decade.

Let’s compare this to how we as people manage our time.

It’s very similar, right? We generally have multiple tasks on the go, and we often need to prioritize them and decide where to spend our time.

I clocked some overhead thinking about this the other day, and I realized that if my brain is even using a scheduling algorithm at all, it’s due for a firmware update. I have a serious problem with starvation.

In the digital world, a process is starved when it is given a low priority and there are too many other, high-priority processes stealing all the CPU-cycles. So many important things are happening that this poor, less-critical process is constantly ignored.

Most scheduling algorithms account for this by gradually boosting the priority of tasks that have been waiting for a long time. Eventually our forgotten process gets its chance to shine.

My brain struggles with the boosting.

I’m going to cut myself some slack and rationalize that I’ve been especially busy lately. I was in Europe, then speaking at a conference in Texas, then refinishing a basement, and somewhere in there work got kind of crazy. During that time, I let a lot of things slip through.

“I’ll get to that soon. I just have to wrap up [some feu-du-jour].”

The trouble is, there have been a lot of fires, and the tasks that are still really important and I really want to do them but they’re just not quite urgent enough to ever grab enough of my attention at once have been stagnant for far too long.

They’re famished.

So here’s what I’m going to do: Once a week (for the next little while) I’m going to spend an hour or two feeding some poor, starving task(s) in my to-do list. I can work on anything I want as long as it’s:

  • Not due anytime soon (if at all).
  • Something productive that I legitimately want to do.

Now instead of trying to prioritize some hapless, someday-task, I’m prioritizing the FIGHT STARVATION task. This level of abstraction will (hopefully) stop me from writing off those non-urgent-but-way-awesome tasks as things I can do when I’m less busy — a sun that never seems to rise.

I’m very curious to know how you deal with this. Do you find yourself with starving tasks every now and then? Do you have some clever (or super-obvious) way of feeding them?

Categories
Uncategorized

You Know Better Than That

In grade six, everyone thought I was smart.

I’m not smart. Anyone who watched me struggle through university can tell you that. Smart kids get scholarships. Smart kids ace exams. Smart kids get good grades. I’m not smart.

But in grade six, I was still doing alright in school, and people still thought I was smart. Especially my teacher, Mrs. Mainwood.

Every time I would hand in an assignment, or show her my homework, or answer a question, she would compliment me on how well I did. It was nice. When I gave a speech in front of the whole class one time, she asked if I would come back next year and present it again so that future students could see how it’s done. Nice.

Finally one day, something strange happened.

Mrs. Mainwood came to my desk to talk about some written assignment I’d handed in. She pointed at a bulleted list I had written. It looked like this:

  • some sentence about the assignment
  • another sentence
  • and another

The content was fine, and the rest of the assignment was fine, but she was really upset about this bulleted list. Why?

Because it had no capitalization or punctuation.

That was it. And apparently it was very important. She was furious! She went on a rant that I’m sure the rest of the class could easily hear. I still remember the exact words that ended her tirade: “You know better than that.”

I didn’t understand what she meant at the time; I probably just apologized and fixed my mistake. (I’m an apologetically easy-going guy). But I understand now. It was a big deal.

It looked stupid.

It was an eyesore on an otherwise flawless page. And you know what? Mrs. Mainwood was right. I did know better. My list looked careless, but I cared about what I was saying. See the problem?

I’m sick of seeing tweets and Facebook posts written in all lower-case letters. Questions that don’t end with question marks. Paragraphs where every thought is laid out between mangled ellipsis instead of real sentences.

I’m not talking about imperfect grammar. English is a messy language, I get that. Plurals and spelling are often non-obvious, especially for non-native speakers, and even native speakers break the rules sometimes. We’re forgiven.

But everyone — everyone — knows that sentences start with a capital letter, and end with some sort of symbol. No fancy rules, no special cases. It’s one of the first things we learn while becoming literate.

So if you’re one of those people who’s social network feed is devoid of periods, capital letters, and apostrophes, please do better. I know you have it in you. Your lack of basic grammar is distracting from your message, and it’s driving people like me and Mrs. Mainwood crazy.

You don’t have to be smart to get this right.

You know better than that.

Categories
Web Technology

Brand New Adobe

Adobe is changing. The once-great giant of web and web tools has fallen, and is poised to rise again — albeit in a much different form. What does this mean for us web developers?

For starters, let’s go over some recent news. Adobe made three major announcements in the past six weeks that will have sweeping implications on their image. See if you can spot a trend in these headlines:

What do these press releases have in common? If you caught that all three are about open technology, give yourself a pat on the back. Let’s dig into the facts before discussing the ramifications.

Adobe has seen the light, and open source is sparkling.

Closed formats are dying across the web. The days are numbered for plugins like Silverlight and Flash; they’re simply not necessary anymore for the vast majority of sites and applications. HTML5, on the other hand, is thriving. We’re starting to see open fonts pick up, and even longtime-stalwarts MP3 and MPEG-4 are starting to lose their grasp of the online audio/video markets.

Adobe isn’t blind. They know they need to transition away from closed platforms. Picking up PhoneGap shows their commitment to this cause.

Re-aligning their mobile efforts towards HTML5 is another positive step towards open technology. Adobe still makes some of the web’s best tools, and Javascript development could seriously use an outstanding IDE. This seems like a great match-up.

Finally, releasing Flex to the community is a smart move. There is a very vibrant community around Flex, and there are still niches where RIA will matter for a little while longer. If Adobe can’t support Flex on its own, enabling the community to take control of it’s own future simply makes sense.

Adobe’s intentions are clear. Proprietary formats are out, the open web is in.

What does this mean for web developers?

Three things:

First and foremost: Learn your shit. If you’re a web developer, learn everything you can about Javascript, HTML5, CSS3, and the myriad of related frameworks. These will only become more important following the fall of Flash.

Second: If you’re a Flash/Flex dev, start looking at Sencha. At SenchaCon last month, the number-one answer I got back when I asked people what they worked in before switching to Sencha was Adobe Flex. And I believe it. I’m a Flex guy too, but that market’s shrinking quickly. Sencha is going to be a major player on the web for a while to come, and it’s a relatively smooth transition.

Third: Get into mobile. Adobe didn’t pick up PhoneGap just to gain FOSS-cred. Mobile is huge. Huge! This is where you want to be right now, and you can join in using Javascript and Sencha and many other web technologies.

This is an exciting time to be in web development. Let’s keep on top of the constantly-changing platforms and tools. Let’s keep building wonderful things. Let’s make this an age to be proud of when they talk about the day Adobe changed their ways.

Who’s with me?

Categories
Software Development

What Does 6 Months of Developer-Effort Look Like?

Well, a little something like this:

Word cloud of terms used in timesheet reports.
Image generated using Wordle. Click to enlarge.

Beautiful, isn’t it?

This is a cloud of the most commonly used words in my timesheet entries for a project I worked on over a six-month period. (When you work at a services company, you have to log all your time using archaic worklog software that only works properly in IE7 and below.) Size represents frequency, so the bigger the word, the more I used it to describe what I do.

It’s quite telling.

I’m happy to point out that patch is my most-commonly used word, followed by reviewed. We’re religious about code review at Macadamian, and it’s awesome to me that this is spelled out so clearly in my notes.

Something I’m not as proud of is that tests is a tiny little speck (above the V in reviewed). It’s beaten out by crutch words like etc and sure. Worst of all, we had unit tests set up on this particular project (front-end and service-level). Why did it have such little impact in my notes? This is something that I think I should be spending more time on.

It’s rare to get such a clear glimpse of what my priorities are. I spent nearly 1000 hours of my life on this project, and in one simple image I can see where all that time went. It’s both humbling and encouraging to get this sort of perspective.

What do you think your cloud would look like?