Thursday, December 29, 2011

Differences between Android and iOS (On Phone Platforms)

A long time Android user that I know switched to an iOS platform and that got me thinking about why and what are the current differences between the two platforms.  This is my attempt to gather my thoughts and share for input.

Once upon a time the only "SmartPhone" in town was the PalmOS / WinCE platforms.  When the iPhone first came out it was a very compelling platform to me because it was a new platform design primary for Touch based use, whereas I had been using stylus based interfaces on my prior phones.

Typical Apple UI engineering gave it an alluring pull to many, but the lack of functionality always steered me away in the end.   So what functionality was it lacking in comparison these past years?  Apple may have started the touch based device revolution, but they were certainly not quick to develop it out more.

Differences of the Past (First to Market)

Feature First To Market
Multi Touch Interface (Pinch - Zoom) iOS
Hardware Accelerated UI (Fluidity) iOS
Consistent UI iOS
Voice Dial Android
Bluetooth Music A2DP Android
Notification Light Android
MS Exchange Email iOS
MS Exchange Calendar Android
Camera Flash Android
Camera Focusing Android
Removable Battery Android
Removable Storage Android
Pull Down Notifications Android
Cut and Paste Android
Cloud Sync Android
OTA Updates Android
Multi-Tasking Android
Physical Keyboard Android
Alternate Software Keyboards Android
Sideload Applications Android
Multi Core CPU Android
4G Data Android
Camera Button Android
Netflix iOS
OpenSource OS Android
Hierarchical FileSystem Android
720p Resolution Android
16:9 Screen (Movie Aspect) Android
Retina Display > 326 ppi iOS
NFC - Close-Contact Payments Android
Application Integration (Google Voice tie into Dialer, etc) Android
Widgets Android
Launcher Customization Android
Included Turn-By-Turn navigation Android
Alternative Browsers Android
BlNFC - Close-Contact Paymentsuetooth HID (Keyboard / Mouse) Android
HDMI Output Android
Wireless 802.11N Android
4" Screen Android
OLED Screen Android
IPS Screen iOS
Long Press Android
Custom Accessory Standard (iDock) iOS
WiFi Tether Android
Front Facing Camera Android
Pattern Unlock Android
Face Unlock Android
Free Text Voice Search (Siri) iOS
VoIP Android
Free Software Developer Kit Android
Wacom Stylus Android
Laptop Dock Android
MicroUSB port Android
Application Level Permissions Android
USB Host ( External Storage / HID / Audio / Serial ) Android
All capacitive buttons Android
All on-screen buttons Android
Pop-up Video Player Android
WiFi Hotspot Android
Wireless Charging Android
Auto Panoramic Android
Guided Access (Parental Controls) iOS
Wallet / Passport Android
Scalable Apps (No letter-boxing) Android
Smart Stay - Screen keepalive Android
Best Photo Android
Do-Not-Disturb Android
Split Screen Multitasking Android

Now that we have covered the past, what are the differences today?

Differences Today @ 9/15/2012

  • Notification Light
  • Physical Keyboard
  • AMOLED Screen
  • Sideload Applications
  • Opensource OS
  • Alternative Keyboards
  • HDMI Port
  • MicroUSB Port
  • Widgets
  • Launcher Configuration
  • >4" Screen
  • >720p Resolution
  • NFC - Close-Contact Payments
  • Application Integration
  • Hierarchical Filesystem
  • 4G Data (LTE / Wimax)
  • VoIP
  • Removable Storage
  • Removable Battery
  • Pattern Unlock
  • Face Unlock
  • Wacom Stylus
  • Laptop Dock
  • Application Level Permissions
  • USB Host
  • Pop Up Video Player
  • All capacitive buttons
  • All on-screen buttons
  • Wireless charging
  • Smart Stay - Screen keepalive
  • Best Photo
  • Split Screen Multitasking
  • Consistent UI
  • Free Text Voice Search
  • Better Accessories (iDock)
  • Guided Access (Parental Controls)
As you can see there are quite a few gaps between the two and to me it would appear more features in favor of Android than iOS.   However, it is up to personal preference to attach appropriate weights to each of these to make a decision.  For now Im staying with my Android based phone.

Sunday, December 4, 2011

UPB PIM / CIM Firmware Trouble

Just recently had another Simply Automated UPB PC interface Module (PIM) fail on me in Upstart.   While I was programming various devices, Upstart started reporting that it could not program the device because "Version 3.05 or higher is required".   Upon looking at the programming dialog I could see it was checking for the firmware version number and the device was reporting "Version: 0.00".

Going into diagnostics in upstart I could see all of the settings on the device were cleared.  Last time this happened I didnt know what was going on, thinking one of my experiments went bad, so I actually bought a new PIM and threw out the old one.   Well this time I dug in a little more, searched the internet, and found that you can do a factory reset to restore all of the registers.

Here's how to fix the PIM / CIM if this happens to you:
- Get a paperclip
- Plug Module into the wall
- Push the set button 5 times fast
- (interface will be flashing red)
- Push the set button 10 times fast
- (interface will be falshing green)
- Push the set button 2 times fast
- (device will reset)

Enjoy your PIM brought back from the dead.  Im thinking there is a flaw in the event model in UPstart that causes this.  Have to keep a look out in the future for the scenario.

Wednesday, September 14, 2011

Windows 7 - Shortcut to lock screen

Was missing the ability to click on an icon and lock the screen.   

Found this on the internet ( :

  1.  Right Click on desktop
  2. New -> Shortcut
  3. Location: "rundll32.exe user32.dll, LockWorkStation"
  4. Name: "Lock Screen"

Tuesday, September 13, 2011

Bridge Mode on the Timer Warner DOCSIS Broadband Extreme UBEE router

As the title suggests, I have recently switched internet providers to Time Warner and received their new DOCSIS wireless router manufactured by UBEE.   In its out of the box experience, this router will try to be your; A) Modem B) Router C) Wireless Access Point D) Firewall.

TW gives you a "user" account on the device to configure various end-user options.  Network security has been a hobby of mine for many decades and the thought of having a network device that someone else has admin and having access to my private subnet is not tolerable ;)

To disable all of the functionality of the UBEE modem/router and use your own equipment you need to do two things:

  • Disable the Wireless
    • user: user  password: user
    • Navigate To: Wireless -> Primary Network
    • Primary Network = Disable
  • Put the device into Bridge Mode (Hidden Menu)
    •  ** Please note, others below have been seeing different IP addresses depending on what area you are in such as
    • user: user  password: user
    • Tools - Operation Mode
    • Select "Bridge mode"
    • click "Apply"
    • Enjoy - The UBEE device will now have a IP address and be out of your way.
  • ** From an Anonymous Source below:
    • The hidden menu has a "secret" admin username and password. The username is the last 8 digits of the Ubee's mac address, and the password is c0nf1gur3m3
    • So log out of the user account and log back in using the master password. Be careful what you do in that mode!

Thursday, August 18, 2011

Android Device / Phone Recovery Mode Access Buttons

Been mod'ing a bunch of Android devices lately and am having a hard time keeping track of how to enter the recovery mode on each. ;) Thought Id list it here for yours and my benefit.

Samsung Galaxy 2 SkyRocket (SGH I727)

  1. Phone off
  2. Hold Vol-UP & Vol-DOWN & Power buttons until the "Samsung" Logo appears.
HTC EVO 3D (Shooter):
  1. Ensure Phone is completely off (fastboot is turned off) or simply do a battery pull before proceeding
  2. Hold "Vol Down" + "Power" until white HBOOT screen appears

LG Optimus S (LS670):

  1. Hold "Vol Down" + "Home" + "Power" until LG Slash screen appears

HTC EVO 4G (Super Sonic):

  1. Hold "Vol Down" + "Power" until white HBOOT screen appears

HTC Hero (cdma):

  1. Hold "Home" + "Power" (red button) until recovery appears

B&N Nook Touch 2nd Edition (N2E):

  1. Press "Power" until screen changes
  2. Immediately Hold "Bottom Left" + "Bottom Right" buttons until wipe screen appears

Wednesday, June 22, 2011

New Type of Aircraft has great potential - D-Dalus

Uses four mechanically linked turbines to produce propulsion at any angle.   Probably not going to be the fastest moving aircraft, however, it should prove to be the most versatile for maneuvering.

Thursday, May 26, 2011

View Kindle Books on Ubuntu Linux 10.10 (Remove Kindle DRM)

I have had an Amazon Kindle for a year or so now and enjoy reading using the device.   However, sometimes I forget to bring along the kindle and would like to read them on my Ubuntu 10.10 Laptop.

As is seemingly the trend, media distributors put DRM (Digital Right Management) onto the files in a vain attempt to stop them from being copied.   This interferes with the ability to Ubuntu to simply read these files without going through some hoops.

Here is how to do it:

Go to Amazon Website->Digital Library->Manage Kindle->Select Book for Transfer via PC
Save book file (xxxx.azw) to /tmp

Install "Calibre":
sudo apt-get install calibre

Obtain "DRM" removing software (Author Page): (click download)

Extract ->  /tools/Calibre_Plugins/ to /tmp

Open Calibre (go through wizard if youd like):
Applications-> Office -> Calibre

Add plugin:
Preferences->Plugins->(Browse for file Button)
Select: /tmp/
Click Add
Select: File Plugins
Select: Configure
Enter your Kindle Serial Number (Found in settings menu)
Click OK
Click Apply

Select Calibre->Import Book

Select your download book (xxxx.azw) file

 Title should appear in your list of books
Right-click on the book title and select "view"

Enjoy your DRM free book on Ubuntu!

Friday, April 15, 2011

MAME Simultaneous 2 thru 4 player Games

I built myself a nice 4-player Arcade cabinet at home that runs MAME with Ubuntu and just thought Id make a list of MAME Simultaneous 2 thru 4 player Games: (From various sources on the net)

Two Player - Action
Aero Fighters
Aliens vs. Predator
Arabian Magic
Armor Attack
Atari Football
Bubble Bobble
Crime City
Cotton 2
Dead Connection
Dragon Breed
Dodon Pachi
Don Doko Don
Double DragonD&D Shadow over Mystara.
D&D Tower of Doom
Elevator Action Returns
Giga Wing
Gun Bird
Karate Champ
Marble Madness
Mario Bros
Metal Slug
Ninja Gaiden
Ninja Kids
Penguin Brothers
Puzzle Bobble
Robocop 2
Smash TV
Space Duel
Space Invaders 2000
Space War
The Combatribes
Time Soldiers
Two Tigers
Victory Road
Wizard of Wor

Sunday, April 3, 2011

Agile Carolinas Event: "War Stories from the Trenches of Scrum"

"War Stories from the Trenches of Scrum"

Join me for an open discussion on the stories of success and challenges faced over 5 years with the implementation of Scrum for a mid-sized software development company.   Click here for more info and free sign-up

Tuesday, April 12, 2011 from 6:00 PM - 8:00 PM (ET)

CPCC Harris Campus
3210 CPCC West Campus Dr.
H2 Building, Room 2132
Charlotte, NC 28208
View Map

Saturday, April 2, 2011

PyInsteon - An Insteon / X10 library for Python

Just published an initial version of PyInsteon on GitHub.   This Python library enables use of Home Automation protocols such as Insteon and X10 to control lighting and other devices via the SmartLabs 2412N interface.

It is a GPL open-sourced project and welcome anyone's contributions and help.  Just drop me an email.

Find the source code and library file here:

import pyinsteon

    def x10_received(houseCode, unitCode, commandCode):
        print 'X10 Received: %s%s->%s' % (houseCode, unitCode, commandCode)

    def insteon_received(*params):
        print 'Insteon REceived:', params

    pyI = PyInsteon(TCP('', 9671))
    pyI.sendX10('m', '2', 'on')

Thursday, March 24, 2011

Migrated to Blogger

After several years of hosting my own Wordpress, I have decided to move it to the cloud.  Working for a SaaS (Software as a Service) company has grown on me quite a bit and am looking to move more of the services I host as well (Asterisk, Misterhouse, Apache, Gallery2, etc)

Wednesday, March 9, 2011

Connect Microsoft Kinect to Ubuntu (Mouse Control)

Just purchased a used Microsoft Kinect on Ebay for $75 in hopes of integrating this as a robotic vision device. In the mean time, I got it hooked up to Ubuntu for a sort of "Minority Report" Mouse Control.

Here is what I did to get it installed with Ubuntu Meerkat 10.10:
1.  Add the PPA for Freenect from
2. Install the following:
$ sudo apt-get install freenect libncurses5-dev libglut3-dev libX11-dev libxtst-dev libxmu-dev cmake git
3. Plug in Kinect to usb port on machine (unplug/replug if it already was)
4. Test the installation
$ freenect-glview
5. Should see a depth / video feed appear on the screen confirming the usb driver works

6. To get mouse cursor working (from
$ mkdir ~/kinect
$ cd ~/kinect
$ git clone
$ cd ~/kinect/Kinect-Mouse
$ mkdir build
$ cd build
$ cmake ..
$ make
7. Run mouse client
$ ./kmouse
8. Enjoy mouse cursor control.

*Notes: The mouse control only works at a certain depth range. The video window will show whatever is "in-range" by highlighting it in red. To "click" you need to stop moving briefly and it will auto left-click.

As much as you would like to wave your open hands in the air to recreate Tom Cruise in the movie, I find that just using a single finger tip in range is usually the best method of control. :)