The Humble Geek

Stuff I write.

Keyword - cell phones

Entries feed - Comments feed

Nokia and Python, a Tight Pair [Part 2]

Woo hoo!? I read my battery voltage. Take that $300 OBD readers. Success is brewing on the application front. I took some time today to rewrite more of the garmon "port" and got some positive feedback. All that really remains is to write the UI part that will display each sensor reading. Hm...

P.S. Don't mind the "RPM" text, I was going to do an RPM reading first, but a battery reading was much easier. >.<

UPDATE: I posted a much nicer screenshot.

Nokia and Python, a Tight Pair [Part 1]

Little, neat gadgets are sometimes necessary to keep life from being a complete drag. That's where the ELM327 OBD-II device comes in. A mouthful? OK, sue me. It's a chip that can read your car's information, such as MPH, RPM, air temperature, water temperature (yes, your car uses water), and all sorts of other goodies. The chips sell for around $60 on eBay for Bluetooth versions. Normally OBD-II readers sell for hundreds of dollars and are standalone products, which are very limiting in what you could do. The catch? It's just the chip - no software. However, since the chip has open specifications there are a dozen or so different softwares that are ELM compatible. Garmon is one such software.


When I first got the device I had a dilemma. I could either drag my desktop computer out to my car and ran a long extension cord for power, bought a laptop, or borrowed a friend's laptop. I chose the third option, thinking I was looking to buy a laptop in the future. But wait! I have my Nokia N95 don't I? The only thing that kept me from thinking of my phone is that I would have to write a program in Symbian C++ - a task I wouldn't do unless I was paid a cool mil or two. So for a while I could only use my ELM reader when I was with my friends.

A few days ago my brain finally clicked into gear: Garmon is written in Python and Nokia has released Python libraries for their phones. I could certainly port Garmon to my phone. No need for a stinking laptop! After installing the libraries and running a "Hello, world!" program I knew it would be possible, with a little help with Google, seeing as this was my very first Python program (I'm a C junkie). Stay tuned for the results...

What is the definition of a "smartphone?"

2007Computex_e21Forum-MartinCooperAfter discussing the reasons to ignore advertising and think on your own on computer software, it's time to cover the same issues with cell phones. What's the cell phone in your hand as of 2008? Can it take 5 megapixel pictures? Does it sport a GPS receiver? How about support for running applications written completely free and open? Have you heard the term "accelerometer?" If you've said no to any one of those questions, please, please continue reading. Most people consider a cell phone that can send and receive calls to be all they need, but they could never be more wrong. Cell phones are the devices that Amercians have yet to discover their full potential, as the rest of the world (Europe, Asia, etc.) have exploded with.

The root of the problem lies in the cell phone providers in the US. Verizon, at&t, T-Mobile, and others, only provide lackluster phones that are cheap, pack little punch, and wear out easily. The cell providers also like to maintain full control over the entire phone, down to the operating system of the phone. Marketing and other business managers of these providers wish to maintain the idea that Amercians are stupid. To a point, everyone could agree with that, but this idea has been around ever since cell phones were introduced in the 90s and has not changed at all. It's time for a change.

iphoneThe iPhone? No. Never mention that terrible name. It's not a smartphone. The iPhone is a marketing major's wet dream. It contains no innovative features outside of the touch screen, which isn't very effective to begin with. When the iPhone came out, the idea of a "computer-like" operating system was the first time such a product was advertised to Americans, however devices like the iPhone had already been in existence for several years. Why didn't you hear about them before? The answer is easy. The cell carriers could only market their low-brow budget phones to "everyday" (a.k.a. dumb) Amercians to gain huge profits, but now they could team up with Apple to market and advertise a device that can only make calls and costs an extremely high amount of money. Never mind the fact that there are dozens of better phones, where the iPhone is laughed at in countries in Asia and Europe.

This begs the question: Why would you ever need something more than a plain-jane phone? Do you ever find yourself lost in the city or on vacation? Need to take pictures but have two devices to lug around? What about those times you are waiting in the airport bored to tears? You could have a GPS to show your exact location and locate nearby places of interest. A camera that would take pictures big enough to print out professionally. Complete music collections at your finger tips, with stereo wireless headphones or 3D games such as Quake. You could also get in touch instantly with a full web browser, e-mail or instant messaging. If you still don't believe you need anything more than a phone, then you need to borrow a device that could do all of this to see for yourself. A Nokia N-Series "multimedia computer" is a start if you want a commercial product. Take a look at the OpenMoko project for a Linux-driven equivalent.

I personally own the Nokia N95-1 "multimedia computer" (Nokia's marketing at work). The phone does everything I mentioned so far, and is expanding every few months with new updates and new applications. Sure, the phone costs a pretty penny, but I haven't spent a dime on updates or legal applications. I've owned it for a year now and I do not regret spending so much money for it one bit. The ability for me to remain mobile, and retain all the abilities of a desktop computer are entirely worth it. I urge you to look for a phone that will do more than take and make phone calls. You'll find yourself being more productive and doing things you wouldn't think possible.

This post will end here, before I bore you half to death again. However, I left off many important points of discussion that I highly suggest you, the reader, follow up on your own. Mobile operating systems, application development, and the hardware inside the devices.