Fido’s Hiptop mistake: not one I should have to deal with

Over a year ago, my friends Avi and Andrew convinced me to buy a Danger Hiptop phone from Fido (one of three cellphone carriers in BC). The phone is an odd phone, but it had this great feature — $20/month unlimited data, including coverage throughout Canada and the US. Meaning email, web access, and instant messaging are all included. It was a great deal. I signed up, including the contract (the phone without the contract was prohibitively expensive). I was resigned to being stuck with a phone that I knew would get outdated, because I knew the alternatives would make using phone-based email/web browsing way too expensive.

Since then, Fido’s attitude towards that plan has changed. They took it off the market, presumably because they were losing money at it. Oops.

The first month I roamed, I got roaming charges when in the US. I called, and the charges were dropped (that sounds so “dangerous”!). Haven’t had a roaming charge since.

Until last month, alerted by Avi, who had a nasty surprise. This time, two frustrating calls to customer service later (including typing my phone number twice, saying it at least twice, getting a call dropped, being on hold forever). Turns out their US partner didn’t renew the deal for roaming, so they passed the buck (literally) to the customers. After some wrangling, they agree to drop the extra charges for the last month, but I can’t get them to stick by the spirit of the original terms (turns out the data deal isn’t part of the contract term, just a “changeable” add-on. Gee, thanks).

Now it turns out that coincidentally the hiptop is broken (again). A few months ago, I broke the screen, but I resigned myself to pay for it. This time, since an unsolicited operating system upgrade, it won’t read the SIM card, making it useless. The only way to get someone at Fido to look at the phone is to take a 1/2 day, go out to the repair center on Kingsway, and, I predict, be told that it’ll cost several hundred dollars to fix it, or hey, I can buy a new phone.

At this point, I’m in the market for a new carrier, a new email-capable phone, and a new plan. Alternatively, I might just go to a cheap phone & cheap plan until the iPhone lands. Any suggestions?

(NB: for the unaware reader, this is Canada, and the national cellphone industry is even more broken than in the US, which is saying something).


The Mozilla world is abuzz with emotional statements about the fate of XULRunner, the technology stack Firefox is built on, in particular as a reaction to Mitchell Baker’s post on the topic, and Chris Messina’s video rant.

Gerv Markham has a great point I’d like to riff on:

… there’s one misunderstanding that I think underlies a lot of what he [Chris Messina] said, which is that he suggested that we are paying too much attention to the browser instead of the platform. But that’s a false dichotomy – the browser (and the open web) is the platform. Others are far more qualified to comment on this than me, but which is more likely to succeed – if we go up against Silverlight, Flex and JavaFX with XUL, as just one more competitor in a group of single-vendor solutions, or if we go up against them with the Web – HTML5, JavaScript, CSS, canvas, SVG, Ogg and open standards?

Whether “the open web is the platform” or “xulrunner is the platform” depends on what fight you’re in for. If your aim is primarily to build a platform for “rich internet applications”, then, sure, XULRunner (XR for short) could be turned into a “contender” of a platform. From a technical point of view, the XR stack is a pretty decent cross-browser development framework, in the sense that people can and do ship great apps built on that stack. People keep mentioning the recent entrants Joost and Songbird, but we’ve been doing it for for the larger half of a decade (see this quaint release from eons past). It can be done. Today.

In terms of making XR a contender for a much broader class of users, I’m sure that the folks at Joost and Songbird would agree with me that there’s a lot of work to be done! To make XR as appealing for RIA developers as Flex/Apollo or Silverlight, you’d have to solve two very different classes of problems. The first are nice juicy coding challenges, like a faster runtime, a sexier graphics framework, etc. The second is that for an RIA platform to be compelling, it has to be already installed on virtually all target systems, automatically updated/patched, versioned properly, security-audited, well documented, etc. Those are hard problems which take years of slow market penetration, constant massive investment, and aggressive channel management to build. Macrodobe is there with the Flash installed base after years of taking one beach at a time, thanks to regular folks’ passion for games and tolerance for ads. Microsoft is there thanks to, well, owning the dominant operating system. Mozilla is nowhere near that, and it won’t get there until Firefox is much more widely deployed than it currently is.

However. Even if the features were implemented, and the distribution challenge were solved… Making an RIA platform is not what’s driving Mozilla. That, as hard as it is, is too modest a goal. Mozilla has signed up for a bigger fight, described in the Mozilla Manifesto, which people don’t talk about as much as they should. I’ll repeat the Principles section here:

  1. The Internet is an integral part of modern life–a key component in education, communication, collaboration, business, entertainment and society as a whole.
  2. The Internet is a global public resource that must remain open and accessible.
  3. The Internet should enrich the lives of individual human beings.
  4. Individuals’ security on the Internet is fundamental and cannot be treated as optional.
  5. Individuals must have the ability to shape their own experiences on the Internet.
  6. The effectiveness of the Internet as a public resource depends upon interoperability (protocols, data formats, content), innovation and decentralized participation worldwide.
  7. Free and open source software promotes the development of the Internet as a public resource.
  8. Transparent community-based processes promote participation, accountability, and trust.
  9. Commercial involvement in the development of the Internet brings many benefits; a balance between commercial goals and public benefit is critical.
  10. Magnifying the public benefit aspects of the Internet is an important goal, worthy of time, attention and commitment.

Ensuring the health of these principles is Mozilla’s driving force. I like these principles. They concisely state why I have learned to care about the Internet and its human-readable face (the web) ever more deeply over the years.

Notice the absence of any mention of RIAs. Notice the number of times the Internet is mentioned.

This fight that Mozilla signed up for is not about fighting over the profitable ivory tower of RIAs (as sexy and glossy as it is), but watching out for the much bigger, messier, and more valuable, Greater Web.

To win that fight, it’s not as important to come up with an offline model for XUL apps as it is to come up with an offline model for plain old web pages. It’s not as important to come up with glossy effects for dialogs as it is to enable the creation of web content that can be seen in a choice of standards compliant browsers competing for users. It’s not as important to optimize the runtime for XUL apps as it is to optimize the runtime for random web pages. Luckily, there will be overlap with the needs of RIA developers. In particular, getting Firefox ever more out there will, over time, allow for a XUL-based RIA story.

Solving the RIA problem can make a company money. Solving the problems of internet apps, whether “rich” or poor, can change the world. Microsoft and Adobe in particular will make lots of money building out RIA platforms and selling them to intranet developers everywhere. But, hopefully, most people won’t be that affected. They’ll be too busy posting on Craigslist, editing Wikipedia, doing all kinds of technologically “simple” things which are actually changing the world, rather than getting sucked into caring about the Jenga-like ever-taller stack-o-technologies which keeps us geeks so enthralled and IT budgets humming.

As a developer/entrepreneur, I have a lot invested in Mozilla’s technology stack, and it may seem foolish to argue against making it the focus of Mozilla’s attention. Indeed, ActiveState puts time & effort towards ensuring the XULRunner technologies’ long and healthy life. I’d even say that we’re likely to do even more in the future, as that platform is becoming richer and more popular all the time (no matter what today’s blogovibes may say). As a human, however, I have a lot more invested in the decentralized, open, and competitive nature of the internet and the web. Firefox’s technology stack could come and go, and us geeks would adapt, rebuild, try something else. Were the essence of the web to go away, everyone would be much poorer for it.

PS: Like everything else on this blog, this is an (overly preachy, I know) expression of a personal point of view, nothing more.

PPS: the above isn’t really a PS since there’s no Scriptum to be Post. But you get the idea.

Brain Pain

Research phase at work. Here are some of the things I’m looking at:

The above also point back to old favorites, such as:

It’s well trodden territory, and yet it feels as though it hasn’t been solved yet…

I need to write up some analysis of Flapjax, Scratch, and Subtext. They all make great contributions (no doubt, based on decades of prior work that I’m not aware of).

Common theme: functional languages. Haskell, Scheme, OCaml in the backend.

Jive, from the folks who brought you Squeezebox

My old friend Dean Blackketter just told me about Jive, which looks like it’s an architecture for building internet-enabled software that will be able to run on devices like the Squeezebox, and, presumably, future hardware from Logitech, the new owners of Slim Devices, the makers of said Squeezebox, hence employers of said friend.

The technology stack in that architecture document is fascinating. Loads of open source, proven technology. Scalable graphics via freetype, jpeg/png and SDL. Scripting via Lua. Networking via HTTP, Comet, etc.

A space worth watching.