Mobile Zone is brought to you in partnership with:

Matt has been paid to develop software for the past 12 years. He specializes in mobile and web development and has recently been doing a lot with Windows Phone 7. He runs DevEvening (http://devevening.co.uk/) a .net focused user group in Surrey and the Windows Phone User Group (http://wpug.net/) in London. He blogs at http://blog.mrlacey.co.uk/ and tweets at @mrlacey & @wpug. Matt is a DZone MVB and is not an employee of DZone and has posted 102 posts at DZone. You can read more from them at their website. View Full User Profile

Stop Submitting App Studio Apps to the Store

10.29.2013
| 2919 views |
  • submit to reddit

App Studio is a tool from Microsoft that will allow you to "take your app from idea to Windows Phone in record time." Unfortunately, the apps it creates shouldn't pass the store's certification testing.


App Studio is still in Beta, but already many people are using it to build apps and submit them to the store. Seems reasonable enough, as that's what it's for. The only issue is that the apps that it generates contain bugs that mean they shouldn't pass the testing that is done as part of the application certification process. Every time such an app is certified, it highlights a failing of the publisher and the store test processes to identify the issues and stop them from reaching the consumer.

Even if the person using the app can get past the arguably poor design of the generated apps, no one deserves an app that crashes.

So What's the Issue?


We'll, the biggest and easiest to demonstrate is an issue that should cause the app to fail the technical certification requirement 5.1.2:

The app must handle exceptions raised by the any of the managed or native System API and not close unexpectedly. During the certification process, the app is monitored for unexpected closure. An app that closes unexpectedly fails certification. The app must continue to run and remain responsive to user input after the exception is handled.
Recommendations
When handling exceptions, an app should provide a user-friendly error message. You may present a message that is relevant to the context of the app.
So how do the apps fail this requirement? Just follow these simple steps to recreate a crashing scenario:
  1. Launch the app
  2. Tap on an item loaded from the internet.
  3. Pin that item (via the link in the app bar)
  4. Disconnect the phone's network connection (enabling flight mode is easiest)
  5. Tap on the pin created earlier.
  6. Observe the app open for a few seconds without displaying any content before crashing/closing.
I documented this and other issues previously, but they all appear to still exist.

Two important lessons:
  1. Don't assume that a generated app is good enough to release to the store. Test it thoroughly yourself!
  2. All apps will be used in an occasionally connected environment. You MUST test the app's behavior in all network connection scenarios.
If you want to use App Studio, then by all means go ahead. Just be aware that if you want to submit the generated app to the store, there will be a need to modify the generated code before you do.
Published at DZone with permission of Matt Lacey, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Alvin Ashcraft replied on Thu, 2013/10/31 - 7:47am

I believe the new beta release yesterday has addressed this glaring issue. Definitely agree with your article though. Devs shouldn't skip testing their apps just because it was generated by a tool from MS.

Matt Lacey replied on Thu, 2013/10/31 - 9:46am

Alvin, yes you're right. The version released on Oct 30th included fixes for many of the issues I've identified. I'm now in contact with one of the developers of the system to look at further improvements.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.