13 Jun 2013

Software Developers Mythology: iPhone Apps are important

Seriously your mobile strategy can exclude iPhone, you don’t need to support that platform – it isn’t really that important. 

Before you move to the comment to call me a Microsoft kool-aid guzzling fanboy, let me explain. I see three reasons that fuel the myth that iPhone is an important platform and they are:

  • Lies, Damned Lies & Statistics
  • The FNB Effect
  • Development is hard for these other platforms

Lies, Damned Lies & Statistics

Image from https://twitter.com/mteton/status/313921852189855745I have been totally guilty of helping this cause of the myth prevail by standing in front of thousands of Windows Phone 7 developers & showing how Gartner & IDC both predicted that Windows Phone would grow to 2nd place behind Android by 2015, pushing ahead of iPhone – which at the time the stats said was the number two smart phone OS.

The truth is, Windows Phone is ALREADY ahead of iPhone. It also leads Android. Really, it does – maybe not world wide or even in your country, but in South Africa it does.

In South Africa the picture is very different, Symbian leads by a massive margin (44%) followed by BlackBerry (15%), then Windows Phone (9%), forth place is Android (8%) and last is iPhone (4%).

The problem is we look at these analysts and international reports and assume they apply to us – they do not and should not influence our understanding of our market.

The FNB Effect

banner01First National Bank, the bank that launched the first transactional smart phone app in South Africa & changed how we look at banking and did a lot to jump start app developed from companies. What platform did they launch on? iPhone & much (much) later an Android app was launched too – still no Windows Phone, Symbian or Blackberry app (or as I see it 68% of the market). Since there the number of times I have heard competing banks & companies in other industries start their mobile strategy with “FNB has iPhone – our customers expect iPhone”.

Those people are idiots. Their customers do not expect iPhone because FNB had an iPhone app, they expect an app for THEIR phone.

There are two sub-points to also consider with this factor which are vitally important in understanding why FNB’s choice of iPhone worked for them & why it may be right or wrong for your mobile strategy.

Know you customers

This is as much about the FNB effect as it is about statistics – looking at the statistics even for a country is almost completely flawed too. You need to look at what your customers have. To help explain this, let’s compare two companies who both produced an iPhone app:

For Discovery it totally makes sense to have an iPhone. Private health care & life insurance are expensive and really only the top portions of the country can afford it. That is the same market who buys iPhone. You market has iPhone, you build iPhone.

SABC, like so much at the national broadcaster, needs to appeal to the broad population. So they should be looking at the total market share and building based on that. The issue makes less sense when you think that DSTV’s news channels & eTV’s news appeal to the upper LM groups more – so in reality SABC SHOULD be targeting the lower income groups who buy cheap Symbian & Blackberry phones. They didn’t & it is just stupid of them.

In fact they should have a mobi site since that would allow even broader reach – but of course that doesn’t quiet work either…

image

FNB app isn’t special – their marketing dept. is

The FNB app isn’t special. At best the app idea was a just smart business seeing what the rest of the world is doing & getting on the band wagon first. So why do we care? Because FNB’s marketing dept. is so damn amazing, they made it an important point in many of their adverts. They used it to highlight how far ahead they were & how slow & old their competitors are. They also used it in an aspirational way to appeal to lower income groups: One day I will be rich & own an iPhone. Then I want to be at a bank with an app.

All four of the major banks in South Africa have apps for iPhone now & still we only ever talk about FNB. This isn’t because theirs is the best – but because they sold their app the best. They own the mind share.

A second aspect to this story is FNB have made it ridiculously easy to get an iPhone with them – which firstly pushes up their stats of which platforms are important and secondly re-enforces the marketing stories: Wish your bank had an app? Wish you had a phone that could run an app? Come to FNB, we make it easy to have both.

Development is hard for these other platforms

The final contributing factor to myth that iPhone is the first port of call, is from the prima donna’s involved in these strategies. You may know them as software developers. These folks will tell you that development for Symbian is tougher than milking a rattlesnake & development for Blackberry is tougher than getting a date with Megan Fox. iPhone, Android & Windows Phone development is easy by comparison and so you can get it a lot cheaper/quicker/better.

That is, naturally, complete bull shit. It is easier because these are sexier platforms and because of that

  • they don’t want to feel like an idiot when sharing what they do with their friends – who knows? Megan Fox maybe there and who will she date the iPhone dev or the Symbian dev? (I call this embarrassment tax – you pay extra for a developer to be embarrassed)
  • they likely have the devices today and understand the platforms already because they played with it in their free time. I am talking about platform & not development. Understanding why something works on a platform is just as important as learning to code for it.
  • they like the fact they do not need to learn new languages/tools. Android & Windows Phone developers are especially bad here since it is the top most common development platforms .NET & Java.

In reality Symbian is a marvellously stable & well developed platform with many tools. In fact, if you don’t need a transactional app, they have tools that are completely code-less (i.e. everything is done visually). I haven’t ever worked with Blackberry myself, so I can’t comment on their tools but I have been on projects where someone else did BlackBerry work & I did Windows Phone.  In those scenarios we were mostly matched for development performance and any difference was not because of the tooling.

Lastly, with tools like PhoneGap & Worklight getting better all the time, the need to native apps is getting REALLY small – you can easily use web development skills with those tools to create hybrid apps for BlackBerry & Symbian. There seems to be this belief though that if you go hybrid you go all in – which is totally bullshit too. I can totally see a native app built for your premier clients & then using hybrid, which may be a second rate experience, to clean up the rest of the market share platforms have in your customers.

Summary

In reality iPhone maybe the right choice to go for. The issue is there are so many people who do not apply their minds to what they really need. Rather these lazy people who make the decisions or feed information into the decision makers just regurgitate the bullshit that is out their. What I have hoped to highlight is there is no one right strategy but with a bit of thought & investigation you can find the one that is right for you and more importantly, your customers.

05 Apr 2013

MVP's @ TechEd Africa 2013

Microsoft_MVP_logoWith TechEd fast approaching, I have been asked a few times who are interesting presenters to see. That is always a tough problem to answer since it depends on what you like. One group of people who are always great are Microsoft MVPs, although I maybe biased, and there are a few presenting at TechEd.

(Click the names – they take you to their TechEd profiles which has, links to blogs etc… & a list of their talks)

There is also a couple of ex-MVP’s I spotted presenting too:
25 Feb 2013

Visual Studio 2012 Update Guide

Version: 2 – March 4 2013

This page is meant to provide a one stop shop for the updates that are available for Visual Studio 2012. Included here will be only updates from Microsoft. Some maybe betas, CTPs etc. If you think I have missed any please contact me!

VS_Purp256_rgb (1)Visual Studio Update 1

VS_Purp256_rgb (1)Visual Studio Update 2 CTP 4(NEW/UPDATED!)

Git-Icon-1788CGit Tooling for Visual Studio

VS_Purp256_rgb (1)Productivity Power Tools 2012

NuGet_project_logo_svgNuGet

web essentialsWeb Essentials 2012

AzureVS2012_LogoASP.NET and Web Tools 2012.2

AzureVS2012_LogoWindows Azure SDK for .NET (VS 2012) 1.8.1 - February 2013

VS_Purp256_rgb (1)Microsoft Office Developer Tools For Visual Studio (NEW/UPDATED!)

WFM-128pxWorkflow Manager Tools for Visual Studio 2012

expressWindows Phone SDK 8.0

sql-option-aSQL Server Data Tools for VS 2012 December Update

odatalogoWCF Data Services 5.0 for OData v3

Want more extensions for Visual Studio? Check out the 31 extensions created by Microsoft for Visual Studio 2012 on the Visual Studio Gallery

Timeline (out of date)

Since I like to visualise these things here is a timeline of the updates:

image

Download timeline in Excel

20 Jun 2012

Windows Phone 8 Announcement - My cheat sheet of what was announced!

Windows Phone 8 Announced
Source: http://live.theverge.com/windows-phone-developer-summit-2012/

Out by Christmas (America fall really)

Same core as Windows 8 (i.e. desktop & phone are one platform!)
+ Hardware-wise, should mean a wider ranges of form factors, price points, and capabilities.
+ That means a bunch of stuff: kernel, networking, multimedia, driver support — that stuff will be shared with the two platforms.
+ IPv6
+ Improved Bluetooth
+ Hardware accelerated Direct3d
+ Manufacturers will be able to re-use the same hardware drivers they build for Windows 8 on Windows Phone 8.
+ "Dual-core & more...." CPU support

New resolutions
+ 800x480 (what we have today)
+ 1280x768
+ 1280x720
+ All 7.5 apps will run without changes on all resolutions!
+ Can optimise if you want to - OPTIONAL

Removable MicroSD support
+ Phones, music, videos & apps can all be put on the microSD

IE 10 built in
+ Same HTM rendering as desktop version

Native game development
+ DirectX is mentioned
+ I am reading that to be C++ support
+ Same drivers as Windows 8 so games can be ported quickly & easily

NFC support
+ Be able to share between devices
+ Will have a "mobile wallet"
+ Credit & debit cards
+ Loyalty & membership cards
+ Mobile wallet can work without NFC for some scenarios
+ All marketplace purchases now in the wallet
+ In App Purchases Supported :)
+ can do operator billing
+ Needs carrier "secure sim"
+ Tap & share (contact, files etc...) between devices built in!

Nokia mapping technology included in in Windows Phone 8
+ It will use NAVTEQ data, offline map support, map control for developers, and Turn-by-Turn directions.
+ Includes My Commute - remembers your daily route and shows alternatives that can improve performance

Enterprise
+ Encryption & Secure Boot
+ LOB app dev
+ Businesses can run custom secure app stores
+ Device management
+ Same tools we use today for Windows can be used to manage the phone!
+ Familiar office apps
+ I read that as normal office

New Menu UI
+ No more right hand side (apps list)
+ Just the main screen
+ Icons can be "normal", double-wide & small (one quater size)
+ Any tile can be any size
+ double wide for custom apps finally :)

Windows Phone Upgrade Story
+ 7.5 will get a bump to 7.8
+ 7.8 will include new start screen
+ Updates sent via Windows Update - BYPASSING OPERATORS!!
+ All devices to get 18 months of updates
+ Can register to get updates early too!
+ Source: http://www.winsupersite.com/article/windowsphone75/windows-phone-78-prev...
+ No 7.5 device to 8 though :(

Dev Features
+ Built in SQLite DB!
+ Speech platform will be open to all!
+ Can integrate any app into voice search
+ Can respond with voice prompts (can you say siri?)
+ Can develop in C#, VB, C++ or HTML 5!
+ Can mix & match

Built in VoIP technology
+ Skype fully integrated, looks & feels like a normal call
+ VOIP apps, not just Skype, can run in the background

Apps that use location can run in the background
+ Think map (direction apps!)

Camera
+ Self timer
+ Action shot for burst mode
+ Panorama
+ Group shot (take multiple photos and swop the faces - get rid of those closed eyes)

17 Apr 2012

South African Postal Codes for Windows Phone

1I can NEVER EVER remember the postal code for where I work or where I live – that little four digit number just eludes my brain. So to solve that I thought, why can’t I have EVERY postal code with me always? So that is what I made happen with this simple Windows Phone application: Postal codes!

It is dog simple: one input the name of what you want then hit search and boom results. It includes both street and box codes Smile

For the developers out there, this application source code is available too at: https://bitbucket.org/rmaclean/postal-codes

27 Mar 2012

Installing Windows Phone Developer Tools on Windows 8

The joys of being on the bleeding edge, is we are sometimes bleeding such as the fact the Windows Phone Developer tools have not worked on Windows 8… until now. However the steps to do get this working are not easy and are spread out a bit on the Internet, so this post aims to give you a one stop, quick reference way on how to get it done in five steps.

Step 1 – Get the bits

You will need THREE downloads for this:

  1. The Games for Windows Marketplace Client: http://www.xbox.com/en-US/LIVE/PC/DownloadClient
  2. The Windows Phone SDK 7.1: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27570

    personally I would get the ISO for it from: http://go.microsoft.com/fwlink/?LinkID=226694

  3. The Windows Phone SDK 7.1.1 Update: http://www.microsoft.com/download/en/details.aspx?id=29233

This should set you back 1.1Gb in bandwidth.

Step 2 – Install the Games for Windows Marketplace Client

image

Troubleshooting notes:

Step 3 – Install .NET Framework 3.5

Now pop in your Windows 8 DVD (or mount the ISO), next open a command prompt AS ADMINISTRATOR and navigate to the \sources\sxs folder on the DVD and run the following command. My DVD was mounted on drive F so note you may need to change the underlined part of the command to match your situation: dism.exe /online /enable-feature /featurename:NetFX3 /All /Source:f:\sources\sxs /LimitAccess

image

Step 4 – Install Windows Phone SDK 7.1

Now run the installer for the Windows Phone SDK 7.1 as per normal.

imageimage

Troubleshooting notes:

  • If you get any errors about installing some components, try to copy them from the disk to the desktop – if you get a invalid MS-DOS function error, then you have a corrupt ISO and need to download it all again.

Step 5 – Install Windows Phone SDK update

Almost there, just the Phone SDK update to install!

image

Done!

And there we are, the tiles are on the start screen, Visual Studio 2010 launches (and hurts my eyes with all those colours :P ), the new emulator options are all there in the drop downs and the EMULATOR WORKS!!!!

imageimageimage

Troubleshooting notes:

  • If you have a CPU that supports SLAT (for example a Core i7) you can run Hyper-V on Windows 8, which hurts emulator performance. Turn if off it you can.
29 Feb 2012

Important changes to Express Editions of Visual Studio "11"

manualtrafficexchangetipNote: The source of this is the Visual Studio “11” beta Product Guide (http://go.microsoft.com/fwlink/?linkid=243994) so this may change by release.

Today we have five Express products: C++, C#, Visual Basic, Web and Phone however with the launch of Visual Studio “11” we will only have TWO!

These two editions of Express we will have are Web & Windows. I do not believe we will only ever have two editions, as the 2010 Express editions grew during the product so I would expect a few new ones coming along post launch.

So how does the old Express editions map to the new Express editions?

  • C++ maps to NOTHING
  • C# for WinForm/WPF/Silverlight maps to NOTHING
  • VB for WinForm/WPF/Silverlight maps to NOTHING
  • Phone maps to NOTHING
  • Web maps to Web

Let me reiterate this, if you want to build non-Metro applications (unless they are web) there is NO Express edition anymore for this! The Windows Express edition ONLY allows the building of Metro apps (including ARM). Web dev using Express editions still continue to work as before.

Both Express editions have a new enhancements too, which is a fantastic thing: The ability Version Control & Work Item Tracking with TFS is included out of the box.

For the Windows express edition it has even more enhancements

  • A subset of static analysis (fxCop) for helping developers pass Win Store evaluation
  • Performance Profiling has been added: CPU Sampling for C#/VB/C++ Metro apps and Instrumentation for HTML/JS Metro Apps

Stop/Important image from http://sitechoppers.com/why-it-is-important-to-build-your-downline/

24 Feb 2012

VS/TFS 11 Announcement Crib Notes

1680.SolutionExplorer-2The last few hours have been a buzz of excitement for .NET developers as the covers have been lifted for the next releases of TFS, VS & .NET 4.5 – however there is a problem. There is SO much info wrapped in nice marketing & business talk you will spend hours trying to get through it all, so here are the crib notes. Following each note is a number in braces, this is the number of the source so you can go to it for more info if you wish:

  • .NET 4.5, VS 11 & TFS 11 beta’s will be available on the 29th Feb. [1]
  • You can use the products in production from beta (technically called a go-live licence) [2]
  • Visual Studio 11 has had a UI polish, similar layout but less toolbars by default, less colours (icons are monotone) & a touch of Metro like thinking (white space & typography) [2]
  • Five editions (or SKUs) of Visual Studio will ship: Express, Test Pro, Pro, Premium & Ultimate. Same as we have in 2010. [3]
  • TFS will have at least two editions, Express (think TFS basic but FREE) and another edition. We may have more than that. [8]
  • Visual Studio Professional and up will include Lightswitch! [3]
  • The architecture tool diagrams can now be read in professional & premium versions too (in 2010 it was premium only). Creation still requires ultimate. [4]
  • IntelliTrace is supported in production (still an ultimate only feature). [4]
  • Windows Phone 7 tools included with professional and higher editions of Visual Studio 11. [4]
  • Express will have two versions: Windows (WPF, WinRT, etc..) & Web (ASP.NET, MVC etc…). [5]
  • There are two themes for Visual Studio: Light (pictured above) & Dark which feels like a Expression Blend style. [6]
  • Quick launch is a new search feature allows you to search for any command or option in Visual Studio. [6]
  • Search has been added to most used tool windows, like solution explorer. [6]
  • ASP.NET MVC 4 has a bunch of evolutionary improvements, nothing to wet your pants on IMHO. [7]
  • ASP.NET Web API is a big new feature for both MVC & WebForms for building API’s for the web. Think services like WCF but built for the modern web. [9]
  • Visual Studio 11 is a code name – expect a name change by release. [10]
  • Workflow hubs in Visual Studio 11 allows you to focus on a task in a single place, rather than have to move around multiple windows. [11]
  • Preview tabs allow you to sneak a peek at documents without needing to actually open them. [10]
  • C# 5 (yes, it is version 5 of C# that is shipping with .NET 4.5 – who says this is confusing) has support for async. [10]
  • New code compare tool & UI that doesn’t suck. [11]
  • New code review tool support in TFS & Visual Studio. [12]
  • New mock up design tool that ships with Visual Studio/TFS that allows you to build mock user interfaces in Powerpoint. Think Sketchflow without the code or Balsamiq. [13]
  • New Visual Studio METRO’d logo [14]: VS11-Beta_h_c

Want to see some pictures of all of this? http://www.microsoft.com/presspass/presskits/developer/imagegallery.aspx

 

Sources

  1. http://blogs.msdn.com/b/somasegar/archive/2012/02/23/the-road-to-visual-studio-11-beta-and-net-4-5-beta.aspx
  2. http://blogs.msdn.com/b/jasonz/archive/2012/02/23/sneak-preview-of-visual-studio-11-and-net-framework-4-5-beta.aspx
  3. http://www.microsoft.com/visualstudio/en-us/products/beta-products
  4. http://www.microsoft.com/visualstudio/en-us/products/features-chart
  5. http://www.microsoft.com/visualstudio/en-us/products/beta-express
  6. http://blogs.msdn.com/b/visualstudio/
  7. http://weblogs.asp.net/scottgu/archive/2012/02/19/asp-net-mvc-4-beta.aspx
  8. http://blogs.msdn.com/b/bharry/archive/2012/02/23/coming-soon-tfs-express.aspx
  9. http://weblogs.asp.net/scottgu/archive/2012/02/23/asp-net-web-api-part-1.aspx
  10. http://www.microsoft.com/presspass/features/2012/feb12/02-23VisualStudioBetaPreview.mspx
  11. http://www.microsoft.com/presspass/ImageGallery/ImageDetails.mspx?id=2c8135ad-fefd-48c2-888f-83b6987a4e87
  12. http://www.microsoft.com/presspass/ImageGallery/ImageDetails.mspx?id=2a0b1cf8-9d74-4603-a2d1-03d8ef989a8c
  13. http://www.microsoft.com/presspass/ImageGallery/ImageDetails.mspx?id=240cbb53-9dd5-4262-b0cc-cdb9a57485d3
  14. http://www.microsoft.com/presspass/imagegallery/images/products/developer/vs/logo_vs11beta_print.jpg

Pages