Big Screen Blog

Media Center, Windows Phone7 + Silverlight Goodness..

Archive for the ‘Microsoft’ Category

Windows Phone vNext Collateral Damage – A Developer Story…

with 6 comments

I managed to get hooked into an interesting debate on Twitter yesterday regarding whether you’d advise someone you know to buy a Nokia Lumia 900 with WP8 just around the corner. This conversation stemmed from a local AU tech journalist awarding the device 5/10 in a review and then later mentioning that the impending release of WP8 was justification for this score – not that the device was that bad). The discussion touched on a fundamental topic I’ve had burning in the back of my brain for some time now – surrounding the impact of Microsoft’s Windows Phone vNext announcements on the existing Windows Phone market.

Apple vs Microsoft vNext Announcements..

While progress and new device/platform announcements are generally an exciting thing – we’ve seen a fairly important differentiation between how Microsoft and Apple execute these with respect to their Phone platforms + hardware.

In most cases – Apple keeps announcements completely secret right up until they hold a major news conference – and then when it’s announced – they demonstrate a finished product ready to sell – accompanied by clear and precise launch dates (normally very short time frames) – so customers know exactly what’s going on. Sure there’s a bunch of rumours leading up to these announcements – but generally they are very far off the mark and the public don’t take them seriously until the real announcement is made.

Microsoft Windows phone announcements on the other hand happen quite differently – in that major Windows Phone updates are announced a long time before they are released – and it’s the platform improvements that are shown off with an early reference device. In almost every case I’ve seen – there is no actual hardware announced – only vague release dates for handsets are given, which are normally a long way off (generally 3-9 months staggered across various regions).  Then there’s a non stop barrage of rumours on what’s going to happen / be released – many turning out to be completely true as they generally come from very good sources.

For customers wanting to buy into either of the platforms – Apple’s way gives them a clear decision – ‘Buy vCurrent or wait until next month/week and get vNext’.  Microsoft’s customers on the other hand are faced with the through process of  ‘I’d like one of these now – but they did announce vNext was coming at some point soonish so I’d better wait until then’….


vNext versus the vCurrent App Publisher..

The problem for App developers is that they are only at any point making their revenue based on what’s out there right now and available to the general public – and due to the once off App ‘purchase for life’ model on Windows Phone 7.x – sales are very much pinned to how Windows Phone is doing at retail (and ultimately how many new customers are made available to them over time).

Unfortunately – every time the proverbial vNext carrot is dangled in front of the public – vCurrent handset sales stall – creating more confusion + bringing in less customers – and resulting in reduced App sales.

I’ve been deeply suspicious that this has been going on for a while – and thought I’d chart out my daily app sales in the Australian Marketplace versus the various major Windowsphone events related to me (such as vNext Announcements and then other events specific to me or to the AU Market).

trend.fw

Just to explain the numbers you are seeing above these are the combined total of sales across all mobilewares.net Windows Phone 7 apps in the Australian Marketplace (from Early 2011 through to now).  I’ve been lucky enough to have some of the top selling Apps in Australia over this period (including AU Weather Pro and also a bunch of AU focused Sports titles) – some of them I would like to consider to be ‘must have apps’ to Australians – and am confident a fairly consistent % of new users to the platform will purchase them.

I should also mention that my Apps ranking on the top (selling) charts in AU have been pretty much consistent for quite a while (AU Weather Pro has been top selling non XBLI title for a long time + the sports titles have been the top 3 ranked in their genre since launch)  – so I’m also reasonably confident the quantity of Apps I sell is pretty relatively close to the trend other publishers in this region are seeing.

Due to the commercially sensitive nature of these actual figures – I’ve simply referred to the quantities with a unit system of ‘x’.  Ie. ‘2x’ point on graph is exactly double the amount of units of ‘x’.   The charted line is also a ‘line of best fit’ from the charts produced by the App Hub – the actually line per each day is a very zig-zaggy line – sometimes going below/above the line of best fit due to interim events (like having an App as the ‘featured app of the day’).

Also please note : This is not meant to be a scientific observation – I’m sure those that concern themselves with market predictions and analysis as their full time job have much more sophisticated metrics and models – I’m just going by what I have in front of me..

The Impact of vNext Announcements

From analysing my chart there’s a very obvious effect I’m seeing as a result of vNext announcements/leaks (denoted in the Red Callouts above) – App sales take a swift and sudden downward turn (which I’m very certain is a direct reflection on handset sales).  The three significant events have been the Mango/7.5 announcements, the leaked WP8 announcements late April (indicating WP7 handsets would have no upgrade path to WP8) and then the nail in the coffin the official WP8 announcements in June.

I’ve also mapped out good/positive events on this timeline (denoted with green callouts) – such as new app launches from my company (which of course drive sales), handsets actually being released in AU – and major marketing initiatives namely the Nokia Lumia launch (which was accompanied by a lot of really well done TV advertising and public awareness campaigns).

The disappointing bit is that WP7 really looked like it was taking off this year with the Nokia launches – and was obvious traction was finally being gained.  That sharp rise in market share was however killed with the WP8 announcements (and no actual firm dates for availability) – in an even more comprehensive manner then last years Mango announcements (even though it took Australian’s close on 10 months to actually get local Mango handsets it was only a few features being sacrificed and there was no threat of it being completely obsolete that we face today).

The really bad news for devs… fragmentation is coming to a market near you…

While It’s not hard to deduce that things are not going well for Windows Phone platform (market share wise) – I’m pretty certain things are going to get quite worse in the short to medium term – particularly for App developers.  When Windows Phone 7 appeared and up to now – Microsoft’s overall market share of the phone market hasn’t changed all that much – and what’s slowly happened is the % of WinMo 6.x users versus WP7 users has slowly changed (to today when the WinMo users are only a small percentage – many of them actually going to a different platform altogether).

I think it’s quite possible we may see the same transition happen with WP7 > WP8 users (with not that much change for Microsoft’s overall Smartphone market share) – so for a developer this fragmentation is not great news. Apps designed for WP7 will be faced with a potential user base that’s contracting quite rapidly (of which this started a few months ago) – and apps designed for WP8 will need to wait quite a while for enough customers to appear.

Although not a 100% certainty – my gut feel is that customers purchasing Apps on WP8 won’t be that keen to shell out for WP7 titles (even though they ‘will work’) – and instead will wait for WP8 Apps which take full advantage of the platform/resolution and features. I’d be interested to see what the game sales figures were for consoles which provided legacy support (such as the PS2 allowing PS1 titles to be used) – sure many ‘existing’ owners would have been happy – but doubt many rushed out to buy new PS1 titles to use on their PS2.

As someone who has invested a lot in the Windows phone Silverlight/.NET platform – I’d really hoped to get several years out of the code, designs and infrastructure I’d put together for my Apps (which I’d thought would eventually make the investment worthwhile) – however being faced with starting again from scratch is daunting – not to mention risky as there’s no guarantee Microsoft won’t decide in a year or so that WinRT is also going to be superseded with something else.  Having done quite a bit of WinRT work already (for Windows 8) – I also know first hand that porting/migrating apps from SL on WP7 is not the simple task it’s claimed to be (as the XAML/layout is so different you really need to start from scratch to make experiences which customers really want).

I do realize Microsoft really did need to do a ‘reboot’ on their entire Smartphone strategy – however this many reboots and poorly timed announcements and leaks is not a great thing. Their actual development platform is so much better then anything else on offer (Android/iOS development environment feels like taking a step back into the 90’s) – but without a worthwhile market for devs to sell Apps to – it’s a hard to justify it.

The one shining light is that the Win8 market is hotting up and will help many developers subsidize their WP8 titles by sharing technologies – but time will tell on whether it pans out this way or those devs just focus on Win8 only. I’m still very much undecided on these counts myself – and while I know I’m sure I will release some Apps for WP8 – I doubt it will get the same energy I once gave WP7 – and my focus will be mainly on Windows 8.

Written by mobilewares

August 20, 2012 at 4:45 pm

Launched : AU Weather Pro + AU Newswire for Windows 8 Metro

with 2 comments

Today was a pretty big day for me – as it marked the ‘official’ debut of mobilewares into the Windows 8 Metro/RT space – with 2 x titles (AU Weather Pro + AU Newswire) appearing in the Windows 8 App Store launched with today’s ‘Windows 8 Release Preview’ launch.

I was caught a bit unaware/unprepared for the the actual release this morning – so have not yet had a chance to get the new Windows 8 section of my site up and live where I’d normally provide details of my apps. Luckily for me AU Weather Pro was featured on the AU Store start page today (along with the SBS On Demand app – which is sortof like ABC iView but all metro goodness)  – see https://twitter.com/techAU/status/208354899954642945/photo/1 for a snap shot (big thanks to @TechAU for posting this pic on twitter – hope they don’t mind me linking here).

Both apps have been ported from Windows Phone 7 platform – and when I say ‘ported’ that’s really only referring to some of the underlying ‘business logic / data services’ – as the UI layer in Windows RT and the type of user interactions being targeted for is just a whole different beast.  (nb: In fact I would go as far to say that the suggestion by anyone that you can ‘just port your wp7 apps across to win8’ – is generally a pretty sure fire indication that they’ve never actually done it themselves).

It’s also important to note that both these apps are currently considered to be ‘Release Preview Editions’ – and although I wasn’t really allowed to mention this point in my app or App Store description (due to some strange certification rules) – they are basically ‘previews’ of some of the features you can expect to see in the final versions (aimed at the GA release of Windows 8).

So for the time being they are both completely free / free of any advertising – and yours to play with – warts/bugs and all.  I will of course try to get some updates in over next few weeks/months, gradually adding features – and moving towards what the final product may look like (until then you’re all part of one big experiment #evillaugh)…

AU Weather Pro :
AU Weather pro displays a lot of similar information to the WP7 sibling (ie. BOM observations, forecast, Radars etc) – but the UI, flow, interaction and presentation is quite radically different (and I very much ‘re-imagined’ the whole experience from what the WP7 version had).  Rather than having a lot of drill down pages (hanging off a central observation summary or forecast) – the widescreen/panning content groups all the information about a particular location in one place.

The way you do your settings and find locations is also quite different – basically mostly controlled by either location services lookups or entering a postcode (or suburb name). 

Here’s a few screenshots below of it running in Landscape mode (it also supports portrait, snapped and filled views) – using the resolution/scaling found on the reference 10.3” 720p tablets.

Online Windows 8 Marketplace Deep Link : http://apps.microsoft.com/webpdp/en-AU/app/au-weather-pro/7b4f55b8-6e4c-48a8-8789-b29b9c1f892d

screenshot1 screenshot2 screenshot4 screenshot3

 

AU Newswire :

This app was probably a lot simpler/faster to get going – as unlike AU Weather Pro (which had some quite unique types of information to present) – the traditional Windows 8 panning grids/lists design being promoted via the template apps worked pretty well with it to begin with. 

One of the new things I added (over the functionality in WP7 version) was the ability to tell the app which Australian State you reside in – and it then filters the available default topic feeds and ‘suggested other feeds’ (ie. If you say you’re in Victoria it will show you feeds from Herald-Sun, TheAge, ABC Victoria etc – whereas NSW users will be offered content from Sydney Morning Herald etc). 

Another feature I added was ability to download an updated catalogue of feeds from the settings – so that way I can correctly handle changing RSS feed locations over time without having to deploy new versions of the app. (in fact there’s already an updated feed catalogue offered from what was submitted to the store with the app).

The look+feel of the app is also quite different to the WP7 version and tries to create a black+white/print style feel. See screenshots below :

Online Windows 8 Marketplace Deep Link : http://apps.microsoft.com/webpdp/en-AU/app/au-newswire/9e416d1f-f961-4934-a275-a28a7c17f8f8

screenshot1    screenshot5

screenshot6   screenshot8

 

Some thoughts for those about to rock (that is ‘those wanting to get some Win8 apps on the store’).

There’s quite a few gotcha’s for Win8 Development I should mention– particular for the RP version + submitting to the store.

1) If you ‘think’ you’ve got everything 80% there on Windows 8 CP build you can’t just recompile for RP. There’s a massive amount of ‘subtle but painful’ changes – such as virtually every ‘allegedly’ constant Resource name for colors/brushes being changed slightly (and there’s no direct mapping for many).  Additionally the logic and structure if you’re using the LayoutAware base class on pages has changed quite a bit – so you’re best off re-creating every single page in VS2012 and importing XAML and code behind into the new structures (making use of the LoadState overrides to initial everything – instead of OnNavigatedTo etc as you may have done earlier).  In fact as a rough guide – it took me around 4 days to ‘recompile’ these apps for RP. (and quite a few XAML bugs were actually introduced – which I hope but doubt were fixed for the build released today).

2) If you’re about to ‘port’ from WP7 – reality is you can’t (unless you want your apps to really suck and fail certification) – and keep in mind a Win8 Metro apps is really about 4 times as much effort .  Putting aside the completely different XAML layer/controls, .NET v4.5 framework changes, missing core classes (things are quite different and use cool new async based classes/code which is really nice but NOT compatible with your own code) – Win8 apps must work in Landscape, Portrait, Snapped and Filled views (requiring a lot of fancy footwork to adapt the layout) and then to make things really tricky – the screen scaling (based on the screen pixel resolution and the actual physical size) needs to be handled in a number of ways. Oh and then they need to support ALL of touch, pen, keyboard and mouse input – so this may throw many of your original designs sideways too. Then of course you need to redesign the user experience so more content is shown on each page (as you don’t have the limited screen real-estate you have on a wp7 device – with the exception of ‘snapped’ view which is kind of similar).

3) Certification is hard – really really hard.  I’m hoping things improve for new developers signing up over the next few months – but for those of us who battled it out to get apps approved for the RP – it was a very hard slog. Apart from the certification rules not being actually documented in full anywhere just yet (was getting failed on points I didn’t even know existed – such as requiring an Age rating of 12+ because app had used location services) – like with the initial WP7 Marketplace launch – it’s clear the testers themselves have a bunch of different interpretations of the rules.   Both apps each failed certification 3 times before they were passed – and each time I was given only a certification clause number a no explanation at all (and suspect I was given a hail mary the last time around lest the RP store launched with no apps at all).  Let’s just say certification involved a week of pulling my hair out and several times I almost just gave up and put it in the ‘too hard I’ll come back in 6 months when they sort it out’ basket (really big thanks to some local/regional guys at Microsoft who helped me through this and restored my sanity).

4) There’s still quite a few bugs – hopefully some of them were ironed out for todays build (have not checked yet) – and others are possibly going to be sorted with finalized Display drivers. One which stumped me totally for a whole week (and seemed to first appear in RP) was that 8 bit transparent PNG’s won’t work properly (transparent pixels would turn black after 3 seconds) – the fix for that was to set images as being 0.99999 opacity instead of 1.0 (don’t ask me why but it worked). Another which caused a lot of grief – was using the GridView with Item template containing Variable Sized Wrap Panel seems to throw a berko when panned with touch – if you have groups with different sized items (I had one group with large tiles and another group with some smaller tiles that were shorter height wise). I actually had to redo the entire page and recreate the experience the GridView *should* have provided by using a scroll panel with child stack panels. 

Anyhow the lesson learned is that it’s ‘still a beta’ (as is certification and everything else) – so expect the completely unexpected and make sure you test everywhere (many bugs didn’t rear their heads until I used simulated touch on the simulator or threw it on the Series 7 slate).  Then get any timeframe you had in mind (particularly if your first attempt) and multiply that by about 3 or 4 – there’s likely to be a massive learning curve involved.

But don’t worry – no pain no gain – and I think when I get going on app #3 I will used my newly gained knowledge of what ‘not to do’ to a big advantage and will hopefully be making the right design/functionality and UX decisions up front (rather than scaling back original ideas after failing to get them going to my satisfaction).

Anyhow I hope this is a new platform I can grow to love – and the end results seeing my apps running on a Samsung Series 7 Slate were likely getting that perfect golf tee shot (golf hacks like me will get what I mean here).

 

Oh and if you’re up and running with the RP release – be sure to give my apps a shot – and if you’re feeling generous stop in to the store and give me a nice review too (5 star reviews make me quite warm and fuzzy!).

Written by mobilewares

June 1, 2012 at 11:51 pm

WP7 Sports App Updates (with LMD Support) + some developer thoughts on it all..

leave a comment »

 

The week before last – I set about updating the WP7 Sports engine that’s used to drive the mobilewares sports apps  (currently using it are AU Footy 2012, AU League 2012 and Sup-Rugby 2012) – and along the way decided that it would be a good opportunity to implement Low Memory Device (LMD) support. 

New Features

Before I go into the LMD thoughts however – here’s some pics of some of the new (non LMD specific) features which these will include (screenshots taken from AU Footy 2012 – but others will have same enhancements) :-

aus1    aus2

(Left) New home page which aggregates latest results, upcoming games and the ladder filtered to your team.
(Right) New tabs in the Team viewer page – such as the ‘results’ tab where you can view all games played for the year and the current standing in the ladder.

Apart from new features (and what’s pictured above) – the LMD support in these apps essentially now means when you view maps and web pages – the external o/s apps are launched (rather than it being embedded in the page) – bringing the memory consumption down to the acceptable amount.

LMD Support Thoughts and Suspicions

For those that haven’t heard about LMD before – in a nutshell – there will be a bunch of low cost Windows Phone devices released this year – aimed at developing markets (and the lower cost end of the smart phone market – where Android has a massive share).  These devices will be restricted to only 256mb of memory – half as much as majority of existing handsets – and will have certain core features stripped from them (such as ability to use background agents).  One of the upcoming LMD devices already demoed is the Nokia Lumia 610 – and more are rumoured to be on their way (from manufacturers like Huwei).

I’ve been in two minds about LMDs’ – one being that it could be the vital ingredient to making WP7 a successful platform (by getting it into loads more markets + market segments previously ignored) which I’m all for – but secondly (on the flipside) – I’m really concerned about the potential fragmentation of the platform which will inevitably come about by this. 

It’s important to note that lack of fragmentation was one of the key things that MS more or less alluded would never happen on WP7 (and given as a reason why WP7 was a better dev choice than android) – so I’m a little surprised to see this happen. The net effect of LMD being introduced is also that many developers will need to go back and update + resubmit their app’s – simply because these devices are not 100% backward compatible .


Digging Deeper into (potentially unnecessary)  LMD Restrictions

When I went through the steps of implementing LMD support (thanks to a great article at Best Practice Tips for Delivering LMD Apps ) – I began to become a little more suspicious that this fragmentation (which developers would wear the brunt of) – was somewhat unnecessary. In fact – would have to say it’s either come about by a lot of laziness (or lack of time to do things properly) by Microsoft – or a direct intention to fragment the WP7 market and create the distinction of have’s and have-not’s.

If you read the article linked above – the crux of what no longer works reliably or at all (in order to ensure your apps don’t use more than the ~50mb allowed) fall upon three main areas – their Silverlight Bing Maps Control, the Silverlight Web Browser Control and lastly the clincher restriction – that background agents will not be allowed.

With the case of the Bing Maps + Web Browser controls – the message is – well hey you can use them – but we wouldn’t recommend it as loads of memory *may* be used (which of course you don’t have any control over as a developer) and your apps may crash. This struck me as quite odd – as surely Microsoft could have gone to the effort of enhancing these controls so they ‘degraded gracefully’ and worked within the new memory confines (by offering less caching/buffering/image quality etc – or at bare minimum – not crashing the app hosting it). Putting it back onto the entire developer community to update their apps (because they couldn’t fix their own components) – particularly with all the problems + delays with Marketplace certification – seems to me to be quite an ask.

With the background agents – particularly periodic tasks (the ones that can run every 30 minutes and do stuff like updating live tiles etc) – again it struck me as really odd and unnecessary that these were now no longer able to be used. Keeping in mind the memory limitations on developers writing background agents are extreme – only allowing developers to use 6mb of memory in the process – so surely these didn’t need to be dropped from the LMD platform.

I pinged Justin Angel (who I believe wrote the article above) – who had mentioned that basically it wasn’t because a single background agent (using ~6mb) would be an issue – it’s that if several of them were running at once then it would require a whole lot more memory (ie. 10 agents =~60mb).  So I asked why not just ensure only one can run at a time (as a LMD restriction) – ie run them one after the other – and was basically told there was some (strange) notion by Microsoft that developers expect agents to run dead on 30 minutes and 0 second intervals to be useful (and running them sequentially was not acceptable).

Personally I’m not clear of any existing App which would not function properly if an agent ran after 31 minutes or 29 minutes etc. instead of bang on 30mins 0 secs etc..   I’ve never ever had an end user request anything like this either – just that the agent runs ‘roughly’ every 30 minutes (as opposed to not running at all).

I as a developer would have welcomed background agent support in LMD at the cost of any reliability of intervals (and lack of parallel tasks) – without it I now have to go and update and resubmit an app which had no other issues whatsoever with memory – and without out it users can’t utilize a vital and important part of my app. Any claims by Microsoft that background agents shouldn’t be a core part of your app are seriously misguided and out of touch with what end users are not just asking for – but demanding.

 

Summary / Thoughts

My conclusion/thoughts around LMD are that Microsoft really could have done this quite a lot differently – and just didn’t think (or care) about the ramifications to developers – and to end users (who are likely going to be quite confused by this fragmentation).  As mentioned – the main issues for existing apps on LMD are not the apps themselves but the controls Microsoft provide with the platform – the bit they are supposed to be handling.

I strongly suspect (as with many dev related WP7 matters) there was little to no consultation with the ‘real world’ app developers about this by MS – and they locked themselves away in a room and tried to ‘second guess’ what they thought developers wanted (or that as suggested above – MS intended to fragment the market for some strategic reason).  I just can’t possibly see how any developer would have been OK with what they drummed up.

It’s probably too late for them to do a u-turn on this unfortunately – but I do wish they had just spent a bit of extra time in order to get this right.  I’m really personally excited by what these new low cost devices could do for the WP7 market share – so I hope this additional effort/sacrifice developers will need to go to will pay off.

my 2.56 cents

Written by mobilewares

April 7, 2012 at 1:31 pm