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.