Whether you’ve got a battery rated at 1500mAH, 1300mAH or are one of the unlucky with something even smaller – you’re probably complaining about your device not lasting long enough. Well I put it to you, that Linus never planned on his love-child to be run on portable, embedded or mobile devices. Yet here we are, the Mars Rover runs Embedded Linux, Linux on Wal-Mart P.O.S and handheld price scanners…and just about everybody who has purchased a smartphone in the past few years has a device that is loosely based on Unix, Linux or some other POSIX-compliant platform. I’m not saying it’s the fault of the operating system but the Linux kernel isn’t exactly disk and battery efficient without configurations; coupled with a journaling filesystem, 4 (if not more) extremely power-hungry transmission radios and a large screen – you might find yourself curbing your usage. I blame manufacturers and their developers for shipping devices with software that doesn’t maximize usage of the constrained hardware.
Android forced mobile phones to reach the holy gigaherz grail – everybody went with it and nowadays you can’t launch a new device without mind-numbing questions from self-proclaimed pseudo-pundits who pass themselves off as bloggers/geeks/journalists about what speed it’s running at, and if it has a Snapdragon or not. Hey. Shut up. Back in the day (yes, I said it) we used to use every spare cycle for something useful. We’d re-compile programs from source in order to optimize it for 0.08s faster disk IO. We donated our cycles to projects like SETI@Home or distributed.net – not so much anymore. Even Google is blaming developers for how they’re writing applications. Apple left out multitasking because they claimed it killed battery life. That’s software, sir.
Do you notice a trend with the types of devices that absolutely drain down power? Apart from having huge screens? Here’s a hint; the platform. Android – Linux based. iOS – Unix based. Maemo – Linux based. WebOS – Linux based. Now how about what the other ones? Have you *ever* heard a Blackberry user complain about bad battery life? How about early Symbian ones? No. Why? They’re not an after-thought to a device. Blackberry OS and Psion/Symbian were written based on hardware and written to compliment a device. Nowadays, your phone is being mass-manufactured and a pre-cooked OS is being slapped on. Nobody knows what platform your hardware is running before it gets it. HTC can and will swap it randomly during testing. Point is – it’s not optimized for the device. That’s not your fault. Blame Google for not stress-testing (they can’t, they have no hardware requirements). Blame Apple for not letting users change kernel settings (most people are too dumb anyhow). Blame Maemo for giving anybody and everybody root access (with great power, comes great responsibility). Blame WebOS for using interpreted languages that requires separate rendering engines.
So when your battery sucks and you can’t make it through the day <SARCASM ALERT> – don’t blame Nokia for shipping a 1320mAH battery. Don’t blame Apple for making their devices with a non-user-replaceable power source and please don’t blame HTC for designing a device so thin that the battery has 4 cells in it. Here’s who you can blame. Developers, developers, developers. The same people who are coding your precious 250,000 apps are the same ones who don’t give a flying frappuccino about power management. The ones who are letting services run idle in the background, the ones who don’t follow specs for protocols, and the ones who aren’t allowing you to dictate when and where you want things to happen.
Oh, and blame yourself for cranking up a 100mW WiFi radio, routing packets through your 3G connection that juices about 2W, powering up a GPU to process over a MILLION instructions and driving a 300mW-sucking 4” screen just so you can watch an YouTube video of a dancing baby.
Related Topics:
You might also like...
- None Found




Pingback: MobileTimes Announce
Pingback: Telefonica Developer Blog | Blog | Mobile Development News - September 6, 2010