One small tip for parents

One small tip for parents.

My happiest memories as a child, and the ones imprinted most indelibly on my heart, typically involve a happy or enthusiastic adult — a teacher who infused fun into our physics lessons, an uncle who took us on bike rides to Galle face whenever we visited Colombo and a coach who loved his job.

But the happiest of happy moments always involved my parents. When my dad laughed or my mom got excited about something, time stood still and my heart threatened to burst. I delighted to see them delighted; their enthusiasm and joy instantly and naturally transferred to me because I loved to see them happy.

Kids learn to love what brings their parents delight. So what does this speak to you during this Advent season?

One small tip for parents

Why I’m strongly considering temporarily moving to an iPhone till Windows Phone catches up

Why I’m strongly considering temporarily moving to an iPhone till Windows Phone catches up:
Just got an email that my work phone has been moved to Jabber. Cisco says Jabber can be used from any device, they have iOS and Android apps but nothing for Windows Phone. Long story short the fault lies with Windows Phone.

This was posted in the forum last month by a Cisco rep: ‘Hi Brian,
The open sockets we need to have running in the background are currently not supported by Windows Phone 8.1. The Windows Phone development group has been discussing with us to ensure that they can support Jabber architecture in the Threshold release.’

https://communities.cisco.com/thread/31390?start=15&tstart=0

The Xbox Music app is the bane of my existence. I am an Xbox music subscriber and it is absolutely pathetic for a native app. This article (dated yesterday) and the comments thread sums it all up. http://wmpoweruser.com/xbox-music-still-sucks-and-thats-a-sh…

And then you see benchmarks like this http://www.anandtech.com/show/8666/the-apple-ipad-air-2-revi… (also http://blog.codinghorror.com/the-tablet-turning-point/) with the iPhone 6 & iPad Air beating out all other devices, providing a superior app store selection.

Even the new the Microsoft Office app that Microsoft released for iOS is much better at rendering and more feature rich than the native Office apps in Windows Phone (which have been native and haven’t been update since WP 7,0).

Why I’m strongly considering temporarily moving to an iPhone till Windows Phone catches up

Mobile Apps: Native or Web?

When building for mobile there isn’t a silver bullet. Instead we have a myriad of compromises to make. If your an enterprise wanting to build apps here are four broad options.

Native code (Objective C for iOS, Java for Android, C#/Xaml for Windows)

Pros:

  • Build the best experience in each platform (Native UI, Performance)
  • Discoverable in app stor

Cons:

  • Cost (3 codebases)
  • Dev skills
  • Publishing to each app store, wait for approvals etc

Native with re-usable code (C# for platforms -> MonoTouch for iOS, Mono for Android, C#/Xaml for Windows) http://xamarin.com

Pros:

  • Build the best experience in each platform (Native UI, Performance)
  • Discover-able in app store
  • Code reuse (except for the presentation layer in each platform the rest of the business logic, web service calls etc are reusable)

Cons:

  • Cost (Cheaper than 100% native but will cost more than plain html)
  • Dev skills (Devs still need to understand the UI APIs for each platform e.g. CocoaTouch, UIKit…
  • Publishing to each app store, wait for approvals (e.g. you find a bug fix it and submit to app store, it will then take 5 business days before the bug fix is available for end users to download).

HTML but deployed natively (PhoneGap, Sencha, etc…)

Pros

  • Javascript (Use frameworks /tools such as jQuery mobile, TypeScripts etc)
  • Costs less to build (one code base across platforms)

Cons:

  • Performance issues with iOS webkit (Only Apple apps and Safari browser can use the hardware accelerated Nitro JavaScript engine, everyone else is forced to use the slower js engine. This is why Facebook ditched HTML5 and wrote a native iOS app). If the apps we’re building are not going to be flashy and don’t rely on animations then this is a non-issue.
  • UI is not native to each OS
  • App updates need to go through approval process for each App Store

HTML only: Basically a web site (ASP.NET MVC or a SharePoint app / application page with responsive layout to adapt to a mobile browser)

Pros:

  • Javascript (Use frameworks /tools such as jQuery mobile, TypeScripts etc)
  • Costs less to build (one code base across platforms)
  • Performance will be better (but not as good as native) since the site runs in Safari and can use hardware acceleration
  • Updates to app is just a matter of pushing update to website (user doesn’t need to upload etc)
  • Option #1 and #2 will anyway need a website to host the webservice

Cons:

  • UI is not native to each OS
  • Discover-ability: No app store. User needs to bookmark app url. Enterprises can work around this by having a single Web App Store that lists all their web apps (ala http://www.apple.com/webapps). Or build a shell native app that acts as a launcher for the web apps.

Need more options/tool choices? See http://en.wikipedia.org/wiki/Mobile_application_development

Another disadvantage with the native options. You need to build and publish a mobile and a tablet version of the app.

My view is that while native apps are the better choice for companies that build and sell services/products, the web option gives the best ROI for enterprises. Even when it comes to product/service companies a strong case can be made for going web only. Ask the guys who built Basecamp.

Mobile Apps: Native or Web?