Computers, Hardware, Software, Vacations

Welcome to 2010

I broke down. I compromised my moral integrity. I did what I laughed at others for doing. I bought a tablet, and I couldn’t be happier.

What changed? Did my opinion change? Not drastically. I still don’t see them as the future of computing. They are a consumption device, and it would be difficult to do much more with them than that. But that is what I wanted.

Pricing has also changed drastically. When the iPad first came out, it was a 10″ behemoth, and it costed around $500, putting it well outside of my interests. (A high end laptop could be found starting at ~$800.) However, within the last year, some solid contenders have entered the 7″ ~$200 arena. The nVidia Tegra 3 chipset, quad core processing, and the latest Android experience on sale in the Nexus 7 for $155 shipped was too good for me to pass.

I have long said that I could’t justify a tablet when I have a desktop, two laptops, and a smartphone all within reach. My circumstances changed however during our latest vacation, and I found myself draining the battery on my smartphone daily trying to stay connected. I have discovered a few good areas that a tablet excels over other devices

  • Entertaining when space is limited (car, airplane, bed, etc)
  • Reading eBooks
  • Reading technical posts with code examples
  • Games developed for the touchscreen
  • Quick reference during certain table-top activities…

I find my discovery process similar to getting my first smartphone. I remember a few days after I had my smartphone I had the realization that I could get from my location to any other location without ever missing a turn again. I drove to a retail store to make a purchase and realized that I could mitigate buyer’s remorse by price checking while standing in the store! Information is power, and I had the Internet in my pocket. I could check reviews, prices, availability, stock nearby – all without carefully planning my trip beforehand at home.

While that smartphone does some things really well, it is a small form factor. For anyone that has ever upgraded their monitor to a larger size, or their computer to a faster model, you will know the feeling when you migrate from a smartphone to a tablet.

Despite my fears, I don’t think it will quickly become a device that collects dust. I’ve heavily used my smartphone for close to four years now, and there is no sign that this will change in the near future. The tablet is the extension of the smartphone.

I’m not saying to go blindly buy one – you should still have good reasons, and stick to a budget. But if you find yourself running your battery down on your smartphone from overuse, let me recommend a tablet to you.

And welcome to the year 2010!

Computers, Hardware, Linux, Personal, Software, Thoughts

Self Realizations – Part I

During World War II, when you needed to get communications between two points, you often had to run a telegraph wire through enemy territory. I’m picturing the scene from Enemy at the Gates – where a soldier puts on a helmet, gets a spool of wire, and crawls on his belly through the mud, dodging enemy fire, and landmines. The goal is to not get picked off before your reach your destination because everyone is counting on you to make the connection.

Lately I have been engrossed in a side project that has given me an opportunity to work with the Android SDK. I have been so tickled at figuring out everything for the first time. Though I am moving at a snail’s pace, and it can be painful to have to constantly reference the documentation, StackOverflow, and Google at large, it has been a fun experience. Small things like talking to a database, or rotating a bitmap feel like big achievements, and make the struggling worth it. Seeing the Java side of the world puts some things about Ruby into perspective too. I know I am better having tinkered with it, and I had fun while doing it.

I have come to realize that its why I love programming. I love running that first line across unknown territory. It is proof that I can accomplish what I set out to do even with almost no prior knowledge about an environment. It is the same rush I get when tinkering with my car, or building computers, installing a ceiling fan, compiling a kernel, or raising a kid. It is about creating something to solve a problem using common tools and applying knowledge to make something awesome of it all. If I didn’t program, I’m not sure what other career I would have that would give me this same chance to tinker with new stuff.

As part of this self realization, I have discovered by my child-like excitement in my accomplishments, how much I miss this in my current work capacity. I’m not building new things anymore. I’m just polishing the same things, and the details don’t really excite me like the prototypes do. I like “broad strokes”. We need people that do the detail work too, but its decidedly not for me.

So find out what it is that you love, and make it happen. Your job and your passion aren’t always in phase, but don’t let let your passion die out just because you are getting paid to do something else.

Open-source, Personal, Software, Thoughts

The Great ICS Upgrade Scandle: Everyone Just Calm Down

I have been hearing an increasing amount of chatter lately about the infamous Ice Cream Sandwich (ICS) delays for Android. I want to discuss the actual impact, and propose some resolutions to this problem.

The article that inspired me to write this is Jason Perlow’s post “I’m sick to death of Android“. Hopefully that title is a hyperbole, but it does address the primary issue that I have with people complaining about ICS delays – I don’t see it as show stopping. Name me the new features that are in ICS? How is this OS upgrade going to change your day-to-day phone experience? Sure it would be nice, and there are probably plenty of small touches, but this isn’t revolutionary.

Jason is the (proud?) owner of a Motorola Xoom tablet, and the Samsung Galaxy Nexus. The former was recently acquired by Google, and the latter of which is a Google Experience handset, meant to be a developer reference device. He argues that not receiving timely updates has caused him to “throw in the towel”.

I can sympathize with him about not getting updates on his Galaxy Nexus device, as its primary marketing angle appears to be “first” when it comes to updates. If I had dropped the money on that phone, I would be upset if major updates weren’t being released. However, Galaxy Nexus already has ICS, and he is addressing other updates from “bugfix iterations”. Not too exciting. I feel less bad for him about his Motorola tablet. Unless Jason is clairvoyant, he didn’t buy the Motorola tablet because of its strong candidacy for timely updates from Google after they acquired Motorola.

The Problem

ICS was released by Google in October 2011, which has been six months ago, but still accounts for only 1.6% of distribution of Android versions. I can’t defend that. It is a red flag for major distribution problems. Apple’s iOS adoption rate reached 61% in only 15 days and people are tempted to draw a comparison. Google’s Android, and Apple’s iOS are both mobile phone platforms, however they are operating on completely different distribution models. Android was never meant to be a closed ecosystem like iOS. You can’t install iOS on non-Apple hardware. You can with Android.

I think a more apt comparison is between Google and Microsoft’s distribution models. Microsoft makes the Windows operating system, and hardware manufacturers install it on their devices. Its not exactly the same since Microsoft charges for upgrades, and you bypass the hardware vendor to install the upgrade on your device. The mobile carrier middle-man is also non-existent in the Microsoft model.

When Google releases an Android OS upgrade, and handset manufacturers push it to their own devices when they are ready. Further, the mobile carrier may withhold a device OTA update until it deems it is ready (or even necessary). Handset manufactures have clearly prioritized selling new devices over supporting current devices. I’m sure they have ran the numbers, and have made this decision because it yields the most profit. They are a business after all. Apple pushes these updates because they get a cut of every App Store sale, and a failure to upgrade a device is a potential loss of revenue.

Why would a mobile carrier dedicate resources into deploying an OTA update for devices that are “working just fine?”. It comes down to money again, and their decision is clear. Apple probably provides monetary, or exclusivity incentives to the mobile carrier to push their updates. There are many Android phones, but only one iPhone, so carriers probably acquiesce to Apple’s demands.


So how can we make this work, without abandoning the entire Android concept over just this one issue?

Incentivise upgrades for carriers/handset vendors. What if OS updates were not free, like in the Microsoft model? A nominal free for upgrading may offset the costs of handset manufacturer, and carrier costs for supporting such an upgrade. Businesses like money, and Ice Cream Sandwich is worth something to me, especially given that most of us are locked into a two year contract anyway. I would rather put some money towards an upgrade now, then wait until my contract runs out to upgrade to a device that has the update.

Educate ourselves. There is no correlation between handset manufacturer’s sales and past performance on OS upgrades. This doesn’t seem to be an issue with the majority of consumers with Android devices. Without it affecting sales, there is little reason to divert resources into maintaining already sold devices.

Open the device boot-loaders. Maybe OS upgrades aren’t the responsibility of handset manufactures or mobile carriers at all, like in the Microsoft model. If people who wanted the OS upgrade had a way to load the update themselves, then this would act as a pressure release value for the current scenario. The idea of a locked boot-loader seems to be archaic anyways, and is rooted in fear. Let the consumer own their own device and do with it as they please.

Make a kickass OS upgrade, and drive consumer demand. Ice Cream Sandwich just seems so lackluster to me. (Maybe I stopped believing it was so cool to keep from going crazy). Short of a few new features, there isn’t anything game changing about this release. Android has plenty of problems that are within the realm of the OS to address. Give me greatly improved battery life, blazing fast performance, zero boot time, fantastic reception, FM radio, overclocking abilities; something – anything to get me excited about an upgrade. I don’t see ICS as changing the day-to-day use of my phone in any meaningful way, and thus I’m not rallying hard for it on my device. I can’t imagine I am alone in patiently waiting for this meek update.

Forget UI customizations; the differentiator should be upgrade latency. People have prophesied about the race-to-the-bottom happening for Android devices the same way it did for PCs. Manufacturers are differentiating themselves in meaningless ways, such as skinning the stock Android UI, or building useless shit that consumers don’t care about. These customizations prolong upgrade turnaround times, when in fact manufacturers should be doing the opposite. As’s Thom Holwerda states: ” they’re wasting considerable resources on useless and ugly crap that does nothing to benefit consumers. Android may have needed customisation a number of versions ago – but not today. ICS is ready as-is. TouchWiz and Samsung’s other customisations add nothing.”. Instead of scaping the bottom of the bucket for ideas on how to differentiate, lets have one manufacturer try this. Hopefully stronger sales would substantiate the idea that consumers care about OS upgrades.

Acknowledge that the lifespan of a phone is only two years. The predominate cell phone sale model in the US is one of subsidized hardware. You pay inflated monthly prices to offset the cost of a low up front purchase cost on your device. Most people upgrade devices at the end of their contract period, since the inflated subsidized price never drops anyway. It is in your best interest to have the latest and greatest because the current model is so abusive to consumers. This being said, the average lifespan of a phone is around two years. How many major OS releases will occur in that timespan? Probably just one. Maybe this short lifespan doesn’t justify the need to have these devices be upgraded at all. Remember that computer you may have bought because it had extra slots to upgrade the memory? Did you actually fill those slots, or just buy a newer faster computer a few years later instead?

Final Thought

So Jason, enjoy your 2.3 experience, because it is probably near identical to the 4.0 experience you are dying to get. I wouldn’t throw in the towel yet on Android because ICS is taking a while to come out. It will get here, and as soon as Google is hurt by lack of adoption they will take action. I hope that my solutions provide some food for thought on how to fix the current problem. Instead of compulsively pressing the “Software Update” option, I’m going to enjoy my experience, and stop letting the media dictate how I should feel. Though “fragmented” we Android users may be, an app targeting the 2.1 platform can be run on 97% of the current devices. That is what developers will be targeting, and I’m sure I’m not missing much from the other 3% of apps that I can’t run before I receive my update.

Computers, Personal, Thoughts

The State of the Patent System

Next, by Michael Crichton carries a profound message about the state of the patent system. The end of the book offers an “Author’s Note” that outlines what Dr. Crichton proposed to mitigate the issues he outlines in his novel. Namely, he argues to stop patenting genes:

“Genes are facts of nature. Like gravity, sunlight, and leaves on trees, genes exist in the natural world. Facts of nature can’t be owned. You can own a test for a gene, or a drug that affects a gene, but not the gene itself. You can own a treatment for a disease, but not the disease itself. Gene patents break that fundamental rule.”

We could argue that genes are a fundamental element to life. It is the most basic information structure that instructs cells how to replicate. Without genes, no higher organization of cellular activity can exist because the “blueprints” are missing. I find this to have parallels with patents being held on basic computing operations. If we view the gene as a lower level mechanism that is used in the higher operations of a cell’s reproduction, then it is similar to basic lower level hardware and software operations that are used in a higher level computing devices.

Take for example patent #5,455,599: Object-Oriented Graphic System. Apple was issued this patent in 1995 and is very technical to the point that Engadget doesn’t even feel comfortable explaining it, but it covers a graphical system that is manipulated in an object oriented fashion. This is a basic mechanism of graphical interfaces. Patents #5,519,867 and #6,275,983: Object Oriented Multitasking System and Object-Oriented Operating System cover accessing OS services in a multi-threaded way. Basically, these patents would be impossible not to infringe on if you are building a computer today. These patents were issued to Apple, and were used in court against HTC for patent infringement on the Android OS. This is just the tip of the iceberg. Apple is not alone in using heavy handed litigation involving unavoidable actions in computing that are patented. Microsoft recently struck a deal with phone maker LG to pay royalties on the Android platform because of patents Microsoft claims they have against Google. Its simply “protection money”, and a way to abuse the legal system to slow down competition. Microsoft is now making royalties from 70% of Android devices being sold in the US. What if the patent on using a mouse to interface with a computer was still being used? What about displaying text on a screen for the user to read?

I would hate to think that my medical research is being inhibited in the same manner as the technology industry. Consider Crichton’s observation on the progress of the SARS vaccine:

“In its heyday, research on SARS (Severe Acute Respiratory Syndrome) was inhibited because scientists were unsure who owned the genome – three simultaneous patent claims had been filed. As a result, research on SARS wasn’t as vigorous as it might have been. That should scare every sensible person. Here was a contagious disease with a 10 percent death rate that had spread to two dozen countries around the world. Yet scientific research to combat the disease was inhibited-because of patent fears.”

Imagine if cures for cancer, or the common cold were being held up in the same such legal nonsense. I think the absurdity of patenting genes is best illustrated by Crichton in the following scenario:

“The patent consists of pure information already existing in nature. Because there has been no invention, no one can innovate any other use of the patent without violating the patent itself, so further innovation is closed. Its like allowing someone to patent noses. You couldn’t make Kleenex, nasal sprays, masks, makeup or perfume because they all rely on some aspect of noses. You could put suntan on your body, but not on your nose, because any modification of your nose would violate the patent on noses. Chefs could be sued for making fragrant dishes unless they paid the nose royalty. And so on…It takes little imagination to see the monopolistic patenting inhibits creation and productivity.”

This novel was revealing in its description of the same broken patent system in medicine that is facing the technology sector. Crichton aimed to illustrate the need for reform in this system, and I think he accomplished that mission by starting a dialog. What are your thoughts on patenting software and hardware operations? How far should these patents extend? How common an operation can be patent-able?

Computers, Hardware, Open-source, Personal, Software, Thoughts, Web

Google Set for World Domination

googleI don’t know what has happened in the last six or so months, but my relationship with Google has drastically changed. It started out with their superior searching – it wasn’t quick for me to ditch everything else in favor of Google’s search engine. When Gmail came out, I remember laughing about how excited people were to get a coveted invitation. To me they were a search company who was using their name to advertise what should have been a sub-par email solution.  Now, I am a fan of Gmail.

Next, I remember using Google Maps, then Google Docs. Then came Google Picasa, and I was clued into Google Analytics.

Now is the point in my story where we arrive at Google Calendar. The interface was really good, and I noticed that whatever task I wanted to do always seemed to be right where I was looking for it – no doubt the product of heavy usability testing. When I compared it to Outlook webmail’s calendar interface, I remember laughing at how pathetic Microsoft’s offering was.

This is when I reached critical mass with Google’s products. Quickly following came Reader, the Chrome browser, my new Android phone (a Motorola Cliq), Listen, Wave, Checkout, iGoogle, and Products!

I think that Google is the only company that can provide a consistent, integrated, cohesive experience that rivals what Apple offers its users. I am at the point now where if Google moved to a subscription based model, I would almost undoubtedly pay whatever the monthly fee was.

Congrats Google on continuously creating, and updating solid, tested, quality products!

Hardware, Open-source, Software, Thoughts

Google Android: Explosive Potential

Android LogoThe most overused phrase on the Internet right now is “iPhone-killer”. I think that iPhone doesn’t have any serious contenders right now, but I do see one on the horizon.

Enter Google’s Android platform. What is it? From Google’s website: “Android delivers a complete set of software for mobile devices: an operating system, middleware and key mobile applications.” The T-Mobile exclusive G1phone is a great show of this platform’s potential. A phone or notebook manufacturer can use Android and tie into any of the features the platform provides.

Its a bit early in the game for Android though, and a lot of the growth that I expected to see at launch didn’t happen. I am starting to get excited again, thanks to some articles from the last few weeks.

T-Mobile recently announced that they have sold 1 million G1 phones in just 6 months after its release in October 2008.  For comparison, Android holds 6% of the smartphone market, with Windows Mobile holding 11%, Blackberry holding 22%, and iPhone holding 50%. Since the G1 is the only Android phone available right at the time of writing, and the G1 is a T-Mobile exclusive, its potential is limited by the size of T-Moble’s customer base.

Several things need to happen to make the growth of this platform explode. First, Android needs to be available to customers on regardless of carrier. Second, more Android devices need to enter the market. For comparison again, Out of the platforms listed above, Microsoft is the only other vendor that is both carrier-agnostic, and device-agnostic.

So, who else is coming to the Android platform? Samsung has announced 3 new Android phones this year, HTC a second. Motorola recently annouced that it is moving to Android Dell, HP and ASUS are reportedly working on Android-based netbooks. Acer announced an Android netbook, as well as others. If these vendors start shipping Android devices, then my second speculated requirement will be filled too, with Verizon, AT&T customers being able to purchase Android devices.

Now for that last pesky detail – everyone is developing for iPhone right? I am happy to say that the Android Market is alive and healthy. Many new apps come in every day, and a lot of the apps available on iPhone have versions availabe on the G1 from the same developer. So in a way, the success of the App Store on iPhone will contribute to the success of the Android Market. As the Android install base grows in size, so will its developer base.

For now, it is a waiting game. I think I will look into the SDK for Android and find out just how hard it would be to make some apps. If I can get a cool idea, and a polished product for a .99 cent price tag then maybe I could make some mad money!