Big Screen Blog

Media Center, Windows Phone7 + Silverlight Goodness..

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

Advertisements

Written by mobilewares

April 7, 2012 at 1:31 pm

Big Screen EPG v1.5a Beta Available (with Win8CP Support)

with 13 comments

It’s been a while between releases – however the new version of Media Center (in Windows 8 Consumer Preview) warranted some new releases for Big Screen EPG . As the new version of Media Center  is different (under the hood but not above it) – the existing Windows 7 version was broken and needed to be updated.

For Windows 7 users – I developed this with the original users in mind too – so have released updates for both Windows 7 + Windows 8 (which both have all the new enhancements).

You can grab the download now from : http://bigscreenglobal.com/bgproductdownload.aspx?PID=BSEV1  – assuming you are a registered Big Screen EPG user (otherwise you can sign up for the trial and get access that way).

This new v1.5a release provides the following enhancements / new features :

  • (Optional) Windows 8 CP Support for both x32+x64 versions (and like will support final release of Windows 8). A separate replacement .exe is provided for this platform (see install notes).All EPG and related features of Big Screen EPG in Windows 7 are now working with Big Screen EPG on Windows 8 (including support for increasing the default number of tuners) – however do note there are some problems with Win8 CP itself (see release notes) with regards to Scheduled Tasks and Network shares.
  • New Online updating TV Series Database: The new version will now download ‘metadata files’ for tv series – so you can get the latest updates without having to get a new version of Big Screen EPG. The new database has 2500+ new tv shows + artwork including 2012/2011 titles (and available for download after you install the new version).

    image

  • New UI to make increasing number of tuners much easier – previously was a command line option only :
    image
  • Enhanced Metro(ish) style User Interface –  this is still a work in progress – but I’ve tried (where doable) to enhance the UI to use metro style buttons and layout. There’s a few bits which still look a little ugly.Here’s the new start page for example :
    image
  • Some Bug fixes :– Fixed Support for following XMLTV providers :

    Schedules Direct sources now properly parses the Episode ID.
    – Added additional support for xmltv_ns with extraction of ‘Part’ numbers
    ie. “2 . 23 . 0/2 “ + “2 . 23 . 1/2

    – Fixed Add Provider Wizard bug where it was ignoring selection of Enabled/Disabled Channels – plus enhanced some other logic (such as supporting server based presets without passwords).

The new beta release is exactly that (a beta) – so please be sure to not do anything mission critical with it.  To use it – you will still need the original setup package (this new version is only provided as a patch at this time).

It’s been tested locally – but may need some more work for release (as well as requiring a proper standalone setup package).

Enjoy!

Written by mobilewares

March 19, 2012 at 4:41 pm

3rd Party EPGs on 8MC (and some other interesting bits)

with one comment

 

Today I finally got around to getting Media Center up and running on Windows 8 Consumer Preview – aka ‘8MC’ (which was delayed due to my existing ASUS USB Tuner not having correct drivers).

Although it might be a while until I actually use Win8 for real on my HTPC (reality – maybe never) – a number of users out there will no doubt dive headfirst into doing wanting to run the latest and greatest..

I was particularly interested in getting 3rd party EPG imports going (the #1 must have feature for me and for a lot of people using my products) – as it was becoming obvious that under the hood of the ‘seemingly’ identical product – certain things had changed (such as it being recompiled with .NET Framework v4 – previous versions used v2).

As suspected (due to these changes) – the latest released version of Big Screen EPG did not work, and although it reported the EPG import was complete – no imported data was not showing up at all in the system. (NB: this would be the case for all other 3rd party epg tools designed for use with Windows 7)

So hence a bit of tinkering, recompiling and the like was required (using a modified Big Screen EPG version). That is – a test of my kung-fu, pitted against the dastardly plan by Microsoft to provide no technical/developer information or release notes to the public under any circumstances. Luckily I won – and was able to get my first EPG import going. I suspect this may have been the very first successful import done by anyone outside of MSFT (as quite a few things needed to be changed) – so I proudly took a screenshot below for safe keeping :

win8epg

Note that this is not EIT data  – and has channel logo’s, repeat/hd flags, episode title (and all the other bits you’d want from a custom xmltv source).  A little later I had all the bits going that I had in Windows 7 (including series images, full Movie Guide support with auto downloading artwork/reviews/etc).

Anyhow – for all the Big Screen EPG users out there wanting to use Win 8 CP – I will try to release something soonish (there’s a few more steps to be done for it to be packaged up + user friendly) – however for the meantime you can sleep safely in your beds knowing 8MC will in fact support 3rd party EPG’s and wasn’t ‘broken’ (when you do get around to using it).

 

In terms of the other Big Screen products and compatibility with 8MC  – here’s the wrap :-

– I successfully Installed and used all 4 of the Big Screen 10 foot addins on Win8CP (‘Weather 2’, ‘Headlines 2’, ‘Photos 2’ and ‘Contacts 2’) – so everyone who has these products will be able to use the currently released version.  I’m not going to officially offer any support (or updates) of these for Windows 8 – however they do appear to work as expected.  Note that you need to install the .NET v2/v3.5 Windows features (it will prompt you during first setup) – before these addins will install properly.

– Although I’ve not tested it yet – it’s highly unlikely ByRemote will work in it’s current form (without being recompiled using .NET Framework v4 and referencing the new Win8 CP DLL’s – which hopefully shouldn’t be too difficult).  I’ll have a look at that product later.

Also – for those struggling with drivers on Win8 CP (particularly tv tuner ones) – from what I’ve seen the deal is this : Win8 likes Windows 7 certified drivers but doesn’t seem to play with ones not updated since Vista Certification. This can be a problem as many of the tuner cards didn’t get Windows7 specific drivers ever written for them (such as the ASUS U3000 Mini USB stick I have) – which was acceptable as Windows 7 worked fine with Vista drivers.

Stay tuned for more..

 

Written by mobilewares

March 3, 2012 at 4:09 pm

Ongoing mistakes by WP7 Marketplace Certification with Bing Maps

with 3 comments

The process of WP7 app certification can range anywhere from being simply and quick – through to requiring mountains of effort, frustration and a really long waiting times in between.

The problem is that not only the testing is just completely random/inconsistent (you’ll see tons of apps being certified which clearly fail to meet requirements) – it appears a large amount of the testers are really struggling to understand the certification rules themselves – and regularly and invalidly fail apps which are perfectly OK.

To give you an idea of my experience with this – over the past 12 months – I’ve published ~25 apps in marketplace (each having several updates/versions) – so that’s upwards of 75+ Marketplace certifications.  

Out of these – a large number have come back as failed  (perhaps  ~30%) – occasionally some for perfectly good/valid reasons (which I appreciate) – but vast majority has been due to a vague/ambiguously worded certification requirement being misinterpreted by testers.

This is clearly not good enough – and makes the process of releasing and updating apps hugely problematic (and quite often renders me helpless to quickly address other bugs/enhancements to apps which users are asking for).

 

The ‘Location Services’ related Certification Rules

One certification requirement however has without doubt caused me the most grief – the ‘location services’ privacy policy (section 2.7) – resulting in more ‘failed’ certifications for me than anything else (I’ve lost count of exactly how many – but perhaps has resulted in 10-15 failures for me).

Taken from the Windows Phone 7 Certification documents :
 

2.7.2 : The privacy policy of your application must inform users about how location data from the Location Service API is used and disclosed and the controls that users have over the use and sharing of location data. This can be hosted within or directly linked from the application.

and

2.7.3 Your application must provide in-application settings that allow the user to enable and disable your application’s access to and use of location from the Location Service API.

 

While you’d think for this I could simply implement this right once – and then ensure same functionality is applied to all my future apps/submissions (thereby guaranteeing I never get failed for that reason) – this is clearly not the case.

The problem is that it testers simply don’t understand this rule – and hence each one applies it differently – ensuring that no matter what has been done to correct a previous failed certification – a conflicting interpretation from the subsequent tester will result in yet another fail.

 

Bing Maps vs Location Services

The root cause of the above certification rule being necessary (with my apps) – is due to using the Bing Maps Control (as below). 

image

Whilst using Bing Maps by itself has no bearing on the above rules (as you are not providing or querying the user’s location simply by showing the map) – the problem is that in order to position a map or place a drop pin – you need to pass in instance(s) of the  GeoCoordinate class (which is a basic struct containing longitude, lattitude and height).

As per all my apps – they already has the longitude/lattitude of these pins hardcoded in the app metadata – so at no point do I request nor need the users actual location – and each time GeoCoordinate is used by my app – I initialize it manually with static coordinates.

The gotcha is this GeoCoordinate class is located in the System.Device.Location namespace (in System.Device dll) – so you have to reference this System.Device in order to use Bing Maps with drop pins. 

This then quickly becomes a problem – as when you submit your app to the WP7 AppHub for certification – the automated ‘capability’ detection tool invalidly decides that your app is actually using ‘location services’ (when in fact it’s just using a basic class to pass in static coordinates).

When testers then go to certify your app – they then jump to the invalid conclusion that all the location services rules and additional requirements need to be followed (as per couple mentioned above). This is despite the fact that at no point is the app ever asking for nor utilizing the location services to obtain a user’s current location.

NB: While it’s possible that ‘internally’ the Bing Maps may access your current location (this is not something that is discussed or revealed in any documentation) – what’s 100% certain is that there is no ability for developers to control whether a user’s location is accessed by Bing Maps or not (as no such properties are provided). 

 

A recent example of how one of my apps was failed incorrectly.

As mentioned above – at no point do these apps in question (which use Bing Maps) – ever obtain or use the user’s location (at least not to my own code). Nevertheless – repeated certification failures on this point have led me to go completely overboard in ensuring that these requirements are met.

The most recent example was my app ‘NHL Fixtures 2011/2012’ (which like my other sports apps) – use hardcoded/static geo coordinates to plot the location of a sports venue on a Bing Map (and never get the actual user’s location).  

Last week – I submitted the first version of this app.  After 4 days it was certified and published to marketplace.  Then, a few hours later – an end user provided feedback that a couple of the internal hardcoded URL’s were pointing to incorrect pages (which were displayed in the hosted Web browser – several pages into the app). It’s important to note that while no actual ‘error’ was thrown – nor did the app ‘crash’ as a result – the information displayed was a different web page. 

As a result I quickly fixed these hardcoded URL’s and submitted an app update (ie. no code or functionality changes at all other than to show a different web page). In the tester notes (as I always do) – I explained the nature of the update and as a precaution – again pointed out all the ways in which I’d satisfied these above to location services related rules.

Today (4 days later again) – I received a ‘fail’ from marketplace (on above rules) – invalidly claiming that I’d ‘not provided a location services privacy policy’ and that location services ‘couldn’t be disabled from the app settings page’.

This could not be further from the truth – as these ‘in app’ screenshots below clearly show (from this failed submission).

 

Proof + Screenshots of the Marketplace Certification #fail.

Please see red circles for relevant functions.

Firstly an example of where Bing Maps is used in this app (NHL Season 2011/2012). As per comments above – the drop pin and map center locations are hardcoded into the app (and not derived from a user’s location) in order to show the following Bing Map :

image

 

To satisfy requirement 2.7.2 (requiring that a location services privacy policy is shown) – here is 3 x places links to the Privacy Policy Page IS SHOWN :

image  image image

and here is the location services privacy policy page that Marketplace testers claimed ‘didnt exist at all’ (ie. the page all these links above go to when clicked) :

image

The link on this page ADDITIONALLY allows user’s to view Microsoft’s Privacy Policy (in a web browser) – as it’s their Bing Maps control which may/may not use the user’s location.


Similarly – for requirement 2.7.3 – the ability to disable location services (the only logical way – which is to disable use of Bing Maps) – the following setting exists in the ‘app settings’ page :

image

When above settings is disabled – the following behaviour happens when you go to view a Map (it doesn’t load/use the Bing Maps until you re-enable this functionality in settings) :

image

Just in case everyone misses it though – the following text is also present in the App’s description on Marketplace (and shown to users) :

 

image

 

Given the overboard and comprehensive nature these requirements were met by me – you really have to wonder how this app was failed by Marketplace. Short of completely removing all Bing Maps functionality from my app – there’s nothing further I could have possibly done (every ‘i’ had been dotted and every ‘t’ crossed).

What’s more gobsmacking is how a tester could be under the impression that no privacy policy was shown nor were settings provided to disable location services.

Seriously #wtf?? marketplace – I provided no less than 5 mentions/links to the privacy policy throughout the app and description – how could they possibly have missed this or the app settings page.

 

Actions Microsoft need to take to remedy this ongoing issue.

 

As mentioned this is an ongoing and persistent problem for me (and no doubt many other developers using Bing Maps or location services) – and after nearly 12 months of WP7 Marketplace being around – it’s painful and frustrating that it’s still not be sorted out.  

The ability to quickly push out app updates as well as new apps is severely restricted – due to the long turnaround times by Marketplace (with the weekend – it can take up to 1.5-2 weeks to get a release out if it gets failed).  This poses a real customer service problem for me – as I’m unable to quickly respond to actual bugs/problems in apps by deploying updates – and of course limits ability to correctly time app releases.

It’s clearly not a case of ‘occasionally getting a bad tester not doing their job’ – it’s an ongoing mistake (likely due to internal policy/training of testers) which will keep happening on regular basis.

As such – I’d really like to see Microsoft take the following actions to try overcome it :

1.  Explain to testers that apps using Bing Maps need the System.Device DLL in order to place drop pins. (and doesn’t mean an app is asking for user’s location). Also explain this results in the invalid ‘location services’ capability detection on XAPs.

2.  Fix the App Hub submission process so that it correctly detects location services capability. That means (in more technical terms) – it needs to look for calls to the ‘actual API methods’ requesting this  – rather than just seeing if app references System.Device (as it does now).

3. In future – fix the API so that either the GeoCoordinate class is not inside System.Device – or simply fix the Bing Maps control so their are native methods to set locations without this class. ie.    .setLocation(float longitude, float lattitude) – not .setLocation(Geoocordinate l)

4. Finally – please clean up the sloppy and inconsistent work being done by testers. The screenshots above show just how badly the testers got this wrong.  I can’t begin to imagine what sort of shoddy work was performed by this particular tester – but if some form of audit process was applied to failed apps (requiring someone with more experience to confirm the fail) – then mistakes would be fixed before they impact the developer and delay their releases/updates.

 

 

Anyhow – that’s my 2 cents on this topic. I hope Microsoft really does address these issues soon.

Written by mobilewares

September 2, 2011 at 12:30 pm

WP7 App(s) Launch : 3 x New US Sports Apps

with one comment

To kick off the upcoming NBA (Basketball), NFL (American Football) and NHL (Ice Hockey) seasons for 2011/2012 – a bunch of new mobilewares sports apps for Windows Phone 7 have been published to Marketplace.

smallpc

NBA Season 2011/2012

Price : USD$1.49 (Trial Available)
Product Site : http://mobilewares.net/SportsNBA-WP7.aspx
Deep Link : view in zune / wp7 marketplace

smallpc

NFL Season 2011/2012

Price : USD$1.49 (Trial Available)
Product Site : http://mobilewares.net/SportsNFL-WP7.aspx
Deep Link : view in zune / wp7 marketplace

smallpc

NHL Season 2011/2012

Price : USD$1.49 (Trial Available)
Product Site : http://mobilewares.net/SportsNHL-WP7.aspx
Deep Link : view in zune / wp7 marketplace

 

These apps are built using an updated version (v1.9) of the mobilewares fixture engine – which provide a bunch of great functionality for keeping up with your favorite sports including :

– Nominate the team you follow (UI is customized around this team).
– View Schedules by Date/Week or by Team.
– View Embedded Scores/Ladder
– View Upcoming Matches.
– Browse Latest RSS News Feeds from Major Sites
– View Comprehensive Venue details with Maps
– View Additional Scores/Player/Team Stats Online
– Auto Converts Match times to Your Local Time.
– Auto Updates Fixtures as changes are made
– View Team Guides with dedicated Team Pages
– Hide Live Scores via Settings (for when you are watching delayed telecasts)

Some screenshots are taken from the NFL Season 2011/2012 product below.

nfl1  nfl2  nfl4

nfl3  nfl5  nfl6

The other existing apps which also use this fixture engine (AU Footy Fixtures, AU League Fixtures, MLB 2011 – see http://mobilewares.net/wp7apps.aspx) have also been updated to provide the new functionality added to v1.9 (which includes live scores/ladder, UI redesign, online/auto updating fixtures and other new bits) – please don’t forget to update to the latest version if you have one of these products installed already.

Please visit the mobilewares site – http://mobilewares.net for more information – otherwise please use the Zune (deep) links at the top of this post to view these apps in WP7 Marketplace.

Written by mobilewares

September 1, 2011 at 4:09 pm

WP7 Marketplace Signup help for Aussies Part 3 (filling out the W-8BEN)

leave a comment »

 

This is the third article for Aussies (and others o/s) who are in the process of signing up so they can be paid for Apps sold via Windows Phone 7 Marketplace.  This entry covers the final step required to get paid – submitting a valid W-8BEN form to Microsoft Marketplace.

If you want to check out the first couple of articles – please see links below :

Part 1 : WP7 Marketplace Signup Help for Aussies (Bank Info + More)

Part 2 : WP7 Marketplace Signup help for Aussies Part 2 (getting a US ITIN)

 

What is the W-8BEN

The W-8BEN form is the document you need to provide someone who is paying you money from o/s (in this case the Microsoft Marketplace Commerce Team) – and it’s full name is something akin to what you’d find in a Borat sequel – “Certificate of Foreign Status of Beneficial Owner for United States Tax Withholding”.

The PDF downloadable version of the W-8BEN can be obtained from this address – http://www.irs.gov/pub/irs-pdf/fw8ben.pdf – and allows you to type in some of the required fields via the Acrobat viewer (as it’s a editable PDF form).

Ideally – you’d submit this form after you had obtained either a US Tax File Number (ITIN  – See Part 2) /or/ EIN. However, if you are willing to forgo the 30% withholding tax on payments made to you (nb: that % may be different for other countries) – you can submit this form without indicating you have one of those.

Like with the ITIN application (which is sent to the IRS) – you need to submit an actual hard copy of this document to Microsoft for it to be valid (ie. you can’t email or fax it in).

Like with the ITIN application (W7) – everything needs to be perfect for it to be accepted – otherwise it will be rejected by Microsoft if any minor thing is wrong – and you need to do it all again (back to go – don’t collect $200 etc).  So it’s very important you don’t mess this document up.

Normally, Microsoft won’t process/approve this hardcopy until your first payment is made (which will be at end of the month and assuming you are owed at least USD$200). However – to save a lot of hassles when it’s time for payment – Microsoft offer an ‘email based’ pre-approval service (which essentially allows you to scan in your W-8BEN and submit it via email). This way if something is wrong you at least find out about it a lot sooner – AND you don’t need to waste money on courier/mail services to get an invalid to them.

In order to do this ‘pre approval’ – scan in your form (to jpg etc) –  and send it to  mplcomm@microsoft.com – and then wait up to a couple of weeks to get your response. If it’s approved – then it’s then (reasonably) safe to send in the real thing.

 

How to fill out the W-8BEN

The following walkthrough provides information on how to fill out this W-8BEN form – and references to the 11 sections on this form. (please download it first so the below makes sense).

 

Part 1 :

 

Section 1 – “Name of individual that is the beneficial owner”

This field needs to be entered via the “Microsoft rules” for approval – in that you need to clearly identify both your own name – plus the company name of your Marketplace account. (so Microsoft can match it up with your account internally).

For example – for the company/account name (the one visible to end users on Marketplace) is ‘ACME Games’ – and my own name is ‘Joe Smith’ – hence the correct entry is in format ‘#my name# [#marketplace name#]’ :-

Joe Smith [ACME Games]

(NB: If your marketplace company name is just your name I think you can either leave out the []’s – or simply put in your name there as well).

 

Section 2 – “Country of incorporation or organization”

This simply needs to be the country you are in – ie.   ‘Australia

 

Section 3 – “Type of beneficial owner”

For individuals and solo traders operating outside of the USA – you should just tick ‘Individual’ as the correct option.

I’m 99% certain that even if your company is a full incorporated entity (not using EIN) then you still need to tick individual (as the other options relate to companies based inside the USA). However – you may want to check with your accountant or the IRS website to confirm this.

 

Section 4/5 – Address Details

This is pretty straightforward – simply put in your actual address (note that for 4 you can’t use a p.o.box etc – must be a real address). Leave 5 blank unless you do have some other address you want correspondance to be sent to.

Section 6 – “U.S. taxpayer identification number, if required (see instructions)”

This bit is pretty important – as it determines whether or not the US gov withholding tax is ‘automatically’ deducted from payments made to you by Microsoft.

If you have obtained a ITIN or EIN – you should enter the appropriate number assigned to you – and tick the appropriate box.

If you leave this blank then it means you don’t have one of these (or you intend to supply the W-8BEN a second time with this information).

 

Section 7 – “Foreign tax identifying number, if any (optional)”

I wasn’t 100% sure what to put here – so just to make sure I provided my Australian ABN number and indicated that it was that (which was accepted by Microsoft) :

ie.   XX XXX XXX XXX (Australian ABN)

It’s possible leaving this either blank – or providing some other info (such as your personal Australian TFN) – is also appropriate.

 

Section 8 – “Reference number(s) (see instructions)”

I left this blank – and suspect this is the case unless you filled in something other than ‘individual’ in section 1 (speak to your accountant).

 

Part 2 :

 

Section 9 – “I certify that (check all that apply)”

I used the following information (based on me supplying an ITIN number) –

Checked [a] – and entered ‘Australia’ in the line provided.

AND

Checked [b] – to indicate I had provided a taxpayer identification number in section 7.

Note: My understanding is that if you are not providing an ITIN or EIN – then you would not check any of these options in Section 9.

Section 10 – “Special Rates and Conditions”

This one is a little confusing – as it’s similar to the type of question asked on the W7 form (where you need a treaty article number etc). I actually left this completely blank (instead relying on the ITIN to indicate for no tax to be withheld).

I suspect if you are in Europe – and other tax issues such as VAT are in play – then this may be where you can provide this information (but for Australians it didn’t seem to be required).

 

Part 3 :

 

I just ignored this bit (as there’s nothing to actually fill out). However – I did provide a cover letter along with my W-8BEN stating why I was submitting the form etc. (so not sure if this was even necessary).

 

Part 4 :

 

Don’t forget to sign this form and date it! The other bit in here (apart from signature and date) – is the ‘Capacity in which acting’.  I provided the value ‘Individual’ (which I think is similar to Section 3) – except this might be different if someone else is filling out this form on your behalf.

 

Next Steps

Once you’ve filled out/scanned and submitted the W-8BEN to Microsoft via email (for pre-approval) – you’ll either get a ‘yes’ or ‘no’ from Microsoft.

If it’s a ‘yes’ then you can proceed to send everything in to Microsoft via snail mail.

The correct address for this is as follows :

Microsoft – Windows Marketplace for Mobile
Attn: Finance Department
29011 Commerce Center Drive
Valencia, CA 91355
USA

As per this link, Microsoft recommends quote – ‘sending the W-8 form using some form of tracking mechanism to assist in investigating any issues related to the delivery of the W-8 form’.   I personally used Australian Express Post satchel – and sent it register post with delivery confirmation (extra feature) – which cost somewhere around ~AUD$15.

Please Note as mentioned above – the final ‘approval’ by Microsoft on your hard copy W-8BEN will not be performed until you receive your first payment event.  Hence – until that point is reached – App Hub will show you the ‘bank or tax information missing’ style messages when you look at your account (so be patient and ignore these messages).

Once the first payment is made – then your App Hub account will no longer show these messages – and within a few days of payment – you will be able to start viewing your payment reports (via Reporting section in App Hub).

 

Additional Steps … (EU VAT Exemption)

If you’re in a country where EU VAT is an issue  – you can also submit your ‘VAT Identification Number’ to obtain EU VAT exemption (after your W8-BEN is sent). This will allow Microsoft to send you your HCTI (Hard Copy Tax Invoice) if it’s applicable to your country for payments collected/paid. 

Microsoft’s advice on this is ‘You are not required to provide a valid VAT Identification Number to get paid, but without it you will be charged the VAT’ .

Please see the appropriate section in this link for more information on EU VAT and how it may apply to you.

 

 

Getting Paid….

Well once you’ve done everything covered in these 3 articles AND of course you’ve got a paid app out there – it’s time to finally collect some money…  Now you can sit back and way for the $$ to roll (or more likely trickle) into your nominated bank account.

Note that payments may take 60-90+ days to arrive from the actual date the app was purchased (due to funds needing to be collected from various mechanisms such as credit card, carrier billing etc) – and individual payments need to be USD$200 or more (otherwise anything owing will be rolled into next payment event).

 

 

That’s it folks – hope these posts have helped you untangle some of the confusion around signing up for Marketplace when you’re not in the USA. Please leave comments/feedback if you have some more wisdom to share on any of the topics in these posts.

Written by mobilewares

June 15, 2011 at 11:55 am

WP7 Marketplace Signup help for Aussies Part 2 (getting a US ITIN)

with 8 comments

This entry is a follow up to my original post WP7 Marketplace Signup Help for Aussies (Bank Info + More) – and explains how to get a US ITIN (Individual Taxpayer Identification Number)– which is the US equivalent of an Australian Tax File Number. 

The ITIN will ensure you don’t have to forgo a whopping 30% withholding tax on Windows Phone 7 Marketplace payouts – which in conjunction with Microsoft’s 30% commission would ensure you only see a very small percentage of your sales revenue.

I’ve written this guide as most developers (like me) find that their brains turn to jelly when having to deal with complex accounting stuff (after all we write code, we don’t count beans). I found this entire process utterly confusing – particularly finding out how to fill in the W7 correctly for the purposes of getting marketplace payouts (as it’s designed for all manner of reasons for getting an ITIN). Hopefully this post saves you some of this drama.

Note that most of the below information also applies to WP7 developers in other non-US countries (although note that some fields like treaty numbers and offices etc will be different) – so you can use this as a starting point if you’re somewhere else.

Note that in some cases I believe you can alternatively apply for a EIN instead (which is much simpler and can be issued over the phone) – my understanding is that an EIN is only available to fully incorporated Australian companies where you have a payroll/staff – and not available to Sole Traders (Individuals). If you think you may be eligible for an EIN – please contact the IRS directly on their hotline and see if it flies.

Also – if you want to get an ITIN – it’s recommended you do so prior to submitting your W8-BEN form (the document you need to submit to Microsoft Marketplace Commerce team) – as you can then provide your final ITIN number on the W8-BEN. However – it is possible to submit a W8-BEN twice – once before you have your ITIN and then again once you have been issued it (keeping in mind you may need to request no payments are made initially – or you will need to fill in a bunch of other documents to get your withholding taxes credited back to you). You can also just forgo this 30% and not get an ITIN (but probably not a great idea).

What you need to submit to the IRS to get your ITIN

In a nutshell – applying for a ITIN requires that the following three documents are sent to the IRS –

  1. A W-7 Form (see below for detailed information on how to do this).
  2. A Notarized Passport Document (which is essentially a photocopy of your passport with a special Apostile mark from the Australian Department of Foreign Affairs and Trade).
  3. The Microsoft Letter – which is the letter provided by Microsoft stating the reason why you need your ITIN. (Note that problems exist with this step – see below for more information).

Please see below for notes on how to get and submit each of these documents..

Document #1 – Obtaining and Completing the ‘W-7’ Form

 

You will first need to download the PDF version of the W-7 form from the IRS at the following link : Application for IRS Individual Taxpayer Identification Number

A step by step guide is also available at http://www.irs.gov/pub/irs-pdf/iw7.pdf – however note that this is a very generic guide for everyone who may apply (not just WP7 developers) – so see the information below for how Windows Phone 7 developers should be handling this form.

The steps below refer to questions which appear on this W-7 Form :

In the section at the top of the page “Reason you submitting Form W-7” :

Tick Option a. (Nonresident Alien required to get ITIN to claim tax treaty benefit).

AND ALSO

Tick Option h. (Other)

For this option – you need to enter three values :

– Reason/First Field :   “Exception 1(d) – Royalty Income”
Treaty Country : “Australia”
Treaty Article Number : “12”

NB: If you are not Australian – you can find the appropriate treaty document on the IRS site – the link to the Australian one is found at http://www.irs.gov/businesses/international/article/0,,id=169499,00.html  – so you’ll need to find the one for your country and determine the correct article number (this is the one titled ‘Royalties’.)

Entering your general Details (Questions 1 – 4)

This is pretty straight forward – simply enter your appropriate full name and address here. You can provide alternate mailing address (3) as well as any alternate names (ie. maiden name) in (1b).

Entering the ‘Other Information’ (Questions 6)

These questions are also fairly straight forward – below is some example answers –

– 6a. Country(ies) of Citizenship :  “Australia”
– 6b. Foreign Tax ID Number :  <Enter Australian TFN> and put “(AU TFN)” afterwards
– 6c. Type of US Visa :  “n/a”  (assuming you aren’t living in the US)

– 6d. Identification Document Supplied :  Tick Passport, Enter Passport Number/Exp Date.
– 6d. (cont) : Enter ‘Australia’ for “Issued By:” part.
– 6d. (cont) : Enter ‘n/a’ for ‘Entry Date in United States’ question.

– 6e. Have you previously received ITIN … :  tick
“No/Do Not Know” (unless you have).

– 6f. Enter TIN/EIN…  :   <Leave this blank unless you have an EIN>

– 6g. Name of University/Company…  :   “n/a”  (leave City/State and Length blank).

Check Once, Check Twice, Check Thrice (Recommended)

You don’t get second chances with this form (otherwise you need to re-do the entire submission) – so check you’ve entered everything you are supposed to. Ie. don’t forget to sign and date and provide contact number.

Document #2 – Obtaining your Notarized Passport

 

A notarized passport document is required for identification so that you don’t need to send in your original Passport.  This document is generated by the Australian DFAT (Department of Foreign Affairs and Trade) – and is basically a photocopy of your passport page – along with a special ‘Apostile’ stamp (sort of like a wax seal with an official rubber stamp that’s been filled out and signed).

Getting this document will cost you about $60 – plus any additional courier/return envelope fees.  This is a lot cheaper than getting a public notary to sign it for you (which may cost in the $100’s of dollars).

In order to obtain this document – you can either visit the Passport office in your capital city – or you can courier in your Passport and the appropriate payment details.

For example – in Melbourne goto the following link : http://www.dfat.gov.au/melbourne/index.html – and click on the ‘Notarial Services’ link. You can then download the request form at  Notarial Services Request Form (.pdf).

I personally did it all by mail – filled in the above request form – and included a trackable Australia Post Express Post satchel so it could be returned. It took around 5 working days for everything.

Note that some people interstate reported their Passport office was being difficult and saying they weren’t able to get notarized documents issued. If this is the case – perhaps try dealing direct with the Melbourne office (note they aren’t very good at answering their phone – particularly at lunch time – and it may just ring out).

Also Note : the IRS did NOT return my notarized document – even though I’d specifically requested this in the cover letter to them. So note that if your ITIN application is rejected – you may need to pay for this notarization document AGAIN – as photocopying the returned apostille document is not considered a valid document.

Document #3 – The Microsoft Letter

 

Ok – this is the most worrying bit of the whole process.  It involves printing out a PDF letter provided by Microsoft at this address .

You then need to add the Date (in US MM/DD/YYYY format) – and add your first and last name to make the document complete.

The massive problem is the IRS seem to be rejecting this letter for many developers saying it’s not valid (has been happening since Dec 2010).  I was very lucky and the IRS accepted my Microsoft Letter – not sure why – but I’m not complaining.

For many developers – they have not been so successful – and as it costs $$$ for notarization documents, courier fees, accountants advice – and for many non English speakers special agents to handle their documentation – some have reported their applications have been rejected several times (costing them $100’s of dollars). Keeping in mind applications can take 4-10 weeks with the IRS – some of them have been waiting months to find out they’ve been rejected each time.

The extremely disappointing thing about all this is that Microsoft have been aware of this problem for several months and are pretty much doing nothing to remedy it (even though it’s THEIR LETTER WHICH IS AT FAULT). 

While I love the whole WP7 platform, the tools and the awesome device – the Microsoft Commerce team have severely let down a huge amount of developers in regards to this issue. What’s downright appalling is that they won’t even mention this problem in the FAQ document for receiving payments (where you get the Microsoft Letter from) – and they are just happy to let developers suffer the expense and frustration. You only actually find out about this problem if you either get rejected – or you happen to look in the developer forums and see the many complaints from developers.

One particular thread :  http://forums.create.msdn.com/forums/p/76009/486532.aspx shows the outright poor handling of this matter. After over 2 months – Microsoft are still doing pretty much nothing about this issue and chipping in either a ‘we are still evaluating it’ or a ‘it worked last year’ statement. (neither of which is any help to anyone).

Submitting everything to the IRS (and holding your breath)

 

Once you’ve got your 3 x documents (W-7, Notarized Passport and Microsoft Letter) – you’re ready to submit these to the IRS.

I included a cover letter as well – explaining again why I needed the ITIN and requesting that they returned the Notarized passport document (which they ignored and kept).

You need to snail mail it to :

Internal Revenue Service
ITIN Operation
P.O. Box 149342
Austin, TX 78714-9342

For safe measure I used a more expensive Australia Post International Express Post option (with a delivery confirmation) – cost I think around $15 all up – however if you have faith in the postal system you can just use a standard Airmail envelope.

Good Luck

 

Anyhow I hope this blog post was valuable to you and saved you a lot of the mucking about I had to do (particularly on how to get the notarized passport and what fields needed to be filled out on the W-7).

You may want to check with your accountant to be 100% sure. Note that most Australian accountants – like mine – actually don’t have any clue about this stuff – so take advice with a grain of salt (I actually got wrong advice on my W8 and it was rejected). If you’re actually eligible for a EIN (instead of ITIN) than this will make things considerably simpler too.

Best of Luck – and may your ITIN application get accepted first time around!

Written by mobilewares

April 13, 2011 at 12:57 pm