Keys-by-TEARN mobile platform
Diary of a passionate, tech Dad
from TEARN i.e. teach to learn

Showing posts with label developer. Show all posts
Showing posts with label developer. Show all posts

Jun 18, 2010

The Science of iPhone Cool

The iPhone, iPod, and iPad product lines have propelled Apple toward becoming the most valuable company on Earth. Currently, Apple is number two, behind Exxon Mobile, having just past Microsoft as the most valuable technology company.

Apple has gained the cool image - that is unmatched among large corporations. How did they gain that image?

How can a developer extend the science to improve the app product?

Cool Marketing and Packaging

Apple's advertising has always been dead on.
  • The right actors and actresses to match the image of younger, affluent consumers.
  • The right music to match the image.
  • The right storyline.
  • And the packaging appeals - a quality that other consumer electronics companies seem to fail to emulate.
Apple is not the only company to spend heavily for advertising. Spending a ton does not even begin to explain the huge leverage of Apple's cool image that gains far more value than can be explained by the money spent.

Chicken and the Egg

Behind the marketing, it's the Apple products. Unlike the chicken and egg conundrum, the iPhone product comes before the image. Without the product, the cool image can't be sustained.

Is it just the box that appeals?

Can a box of semiconductors evoke such emotions?

Is there some science behind the iPhone?

What's Different?

The iPhone dumped the keyboard on the mobile phone, making room for a larger touch interface.

Touch is not new. Why did Apple succeed when others failed?

Apple's notorious attention to details differentiates them from competition. The touch implementation is one of the most important components of their execution. Their touch is a magic formula that is as closely guarded as the Coke formula for coca-cola.

Each touch needs to distinguish among:
  • Tap - to select a link or option.
  • Double-tap - to zoom or unzoom the page.
  • Pan - when the page slides following the finger movement.
  • Flick - where the page flows, and bounces off the top and bottom.
  • Hold - to enable additional options for users.
  • Multiple finger actions that enable more choice.
Much of these methods, timings, and exact interactions are trade-secrets, if not patent protected. There is a mathematical science behind the iPhone cool. It's the touch-and-feel.

Apple has gotten it right. Users love the feel, how it makes them look when they use the iPhone in public, and the intuitive flow from task to task.

To realize how Apple has changed the world.
  • The mousewheel uses a downward motion to scroll down.
  • The iPhone uses the pan up to scroll down.
People seem to prefer the iPhone model - a huge change in habit in a short period of time. When switching between iPhone and desktop, I find myself pushing the mouse pointer on web pages - absolutely amazing how habits have changed so quickly.

Is the Advantage Sustainable?

Google Android, Microsoft, RIM and Nokia fear patent infringement. They have tried to develop their own, different secret-forumla. Many others have tried with camera and GPS interfaces, but one touch shows that they don't have the full magic .

Palm/HP, with x-Apple employees leading the way, most closely emulates the iPhone touch-and-feel. Palm hopes that their own substantial base of mobile device patents can be leveraged to avoid problems when competing with Apple.

When users are comfortable with a particular feeling, it's hard to change the pattern. Only Apple seems to be able to change habits without the users feeling the pain.

Extending the Advantage

As app developers, we seek to extend the model and continue the innovation streak. But, the secret formula limits change.
  • If you extend the method, you need to match the exact touch-and-feel as deployed by Apple. Legal issues aside, if you don't get it exactly right, users would object that the app does not feel exactly right.
  • If you don't extend the model, then apps look very similar among 200,000 apps.
Our Keys has extended the iPhone touch-and-feel as follows:
  • By restricting the width of the page to the width of the viewport, left and right scroll is no longer needed. Thus, we can control left and right touch motions while retaining Apple's exact feel for up and down movement.
  • A left or right flick transitions to the next object or page.
  • With simple objects, like pure text or photos, a page-turning or flow model works well for the transition - since the next and previous object can be prepared prior to display.
  • With complex objects that include multiple components for each page, our boomerang transition allows preparation of the complex page during the animation, thus showing the results on completion.
  • The flow-selector activates on tap. We then emulate the bounce of the iPhone flick as closely as possible.
  • Pan from the flow selector to avoid the 1/10th second delay that is built into the iPhone formula for tap.
As we master multi-touch management, there may be more opportunities to innovate - without disrupting the iPhone's core touch-and-feel.

Message to Developers

Over 40-years in computing, I've developed numerous methods that have become public services, including spreadsheets and clairvoyant search.

Developers are welcome to deploy flick left, flick right, boomerang-like transitions, and flow selectors in their apps. Please acknowledge this blog and the Keys platform as your source for the idea by linking this post. Fair use copyright requires attribution. Thank you.


Do users appreciate this level of detail?

Try Keys and provide us your feedback.

It certainly matters for Apple, Palm, and Android.

May 1, 2010

iPhone Using Objective C

The iPhone has a complex development system with dozens of moving parts.
  • Only a Macintosh running Snow Leopard is supported.
  • Base code is Objective C - purchased from Next Computer in the 1990's.
  • Huge library of objects support various services offered on the iPhone. The simple list would swamp all the content at this blog.
  • Xcode is the development software.
  • Interface Builder is a graphical tool to replace using HTML to specify user-interface parts.
  • Emulator for testing the finished app.
  • Keychain is the certification process to protect apps from tampering by viruses and spies. Android and Palm don't offer this option.
  • The developer portal issues certificates for use by third parties.
  • The same portal has features to support tests of apps across a larger sample of phone devices, and development by a large staff of technical personnel.
  • The iTunes Connect portal allows submission and tracking of apps.
  • The iTunes store is the user-facing browser for finding accepted apps.
  • The iPhone appstore is the device specific access to the same apps.
Working with Apple

Fortunately, Apple HQ is 5 minutes away. As one of the original Macintosh developers in 1984, I have limited access to their personnel. Further, Apple has changed to become very proactive in supporting some developers.

Is this proactive support available to all developers? I don't know. (BTW, thanks to JR, Steve, Richard, and Lisa.)

Coding aside, which is far too complex to discuss, here are some of my significant personal findings:
  • The app submission process is a six-way sync of information - where millions have failed to follow the steps necessary to set up their app storefront. Hopefully Apple can use the six-way sync model that I supplied to better understand their own product and simplify for future generations of developers.
  • Working with Apple, we did find and fix a small bug in that complex process.
  • It's very simple to create a web-clip that links an app to a web URL. This was the method used by most of the early apps. This route has been shut down. Apple won't accept web-clips moving forward.
  • Apple promotes an Object, View, Controller, Model pattern. I'm not sure anyone can explain in laymen words what this means - however, it is a basis for innovation that goes far beyond iPhone coding - perhaps to encapsulate all learning.
  • Objective C is a highly structured language requiring full declares and exact match among objects - similar to PL1 on mainframes. If you are used to a loose language like Javascript or Fortran, beware that the learning curve is massive.
  • The development tools includes a huge vocabulary that includes thousands of terms - far more complex than learning the 4,000 terms of our forthcoming, 4-book bio-series.
  • The Interface Builder is a mature tool for managing the user visible parts. However, the process to synchronize the parts with the code is anything but intuitive. Even most of the examples produced by the Apple staff uses internal code to generate interface components, minimizing the use of the graphical tool. Once learned, this tool accelerates app development.
Once the iPhone platform is mastered, magic occurs. The finished app just works.

Hopefully, the marketing magic of Apple rubs off on its app developers as well.

Feb 13, 2010

Developing for Google Android

Android is an open-source, mobile platform from Google. The software development code base uses Java, and supports open-source development platforms like Eclipse. Webkit is the base technology behind the browser, similar to the Chrome desktop browser.

Strengths of Android
  • Google technology, reach.
  • Great alternative versus proprietary platforms like the iPhone or Palm.
  • Wide adoption and interest among phone makers - including Acer, Dell, HTC, HP, Huawei, LG, Motorola, Samsung, SONY, Toshiba, ZTE, and possibly Nokia. See caveat below.
  • Immediate, easy access to the Android Market - versus slower submission process at the iTunes app store and Palm app catalog.
  • Simplest submission/update process.
  • Connected with Google checkout - for servicing buyers and sellers of paid apps.
Weakness of Android
  • Least Common Denominator (LDC) - Since each device maker chooses different screen resolutions, gesture support, and accelerator detailing - the platform causes problems for developers seeking to push-the-envelope on cool interfaces. In the interest of cross device use, developers often settle for the LDC of available features across phones. Thus, iPhone is likely to still command the most innovative apps.
  • Google - known for great code, but poor User Interface design. The app review mechanism is an example of questionable UI.
  • Google - war with China - stopping adoption among China device makers. China is the largest mobile market in the world.
  • Not ready for international distribution and payments.
  • Weak DRM - discouraging legacy publishers from submitting their content as apps.
  • Fragmentation - Struggle to control app store between Google w/Checkout; and carriers with their own stores and credit via phone bills. (ref T-mobile, Verizon Vcast, WAC) China Mobile, European carriers, and Facebook all plan to brand Android with their own names.
  • Missing support for tablets with higher screen resolutions.

Feb 10, 2010

Palm WebOS for Pre and Pixi

The Palm brand still has 5% to 6% global share, but declining. The new WebOS platform enables rich application development using the same webkit as the iPhone. In fact, most of the development team came from Apple.

Strengths of Palm
  • Some loyalty among old-time Palm customers.
  • Distribution through existing relationships with global carriers.
  • Alternative to Apple for carriers concerned with global dominance of the iPhone. i.e. Verizon positions the Palm as an emotional favorite for women.
  • Use of Javascript, rather than the closed development platform from Next. (e.g. full Javascript support for accelerator - which is missing from iPhone platform.)
  • Innovates with both keypads and touch pads.
  • Simpler software development, submission process.
  • Simpler app store with weaker DRM.
  • App catalog is open, exportable.
  • High user demand, low software supply. (e.g. our first app netted 1,500 downloads on day one.)
Weakness of Palm
  • Dependent on investors for survival. Best developers are unlikely to work for Palm.
  • Smaller development team - slower to fix code problems. (e.g. Google Analytics fails on Palm sites.)
  • Not able to draw major content partners - like Youtube, publishers, broadcasters.
  • Less sophisticated portal for developers.
  • Terrible documentation - incomplete/incorrect.
  • Cost disadvantage - due to lower volumes.
Development Tools

Never got the emulator to work via the Eclipse software platform kit. However, the new Ares web platform dramatically simplifes coding, testing, and submission - particularly for HTML, CSS, and Javascript developers.
about (10) Amazon (2) Android App (13) animals (4) Apple iPhone (14) arts-series (2) bio-series (4) Blackberry (4) chem-series (5) Chrome OS (1) coffee-table apps (7) developer (4) Explorer (1) Facebook (3) faq (2) financial (1) Firefox (1) free (17) GRE (2) learning (8) LG (2) media (3) MoAppo (5) Motorola (2) news (11) Nokia (2) Palm App (7) research (3) SAT (7) seasonal (6) sports (16) stats (25) tablets (4) Toshiba (2) travel (4) usage (9) versions (13)

Sponsored Links

moAPPo: Mobile Commerce

Gallery | Blog | Contact