1
2
3
4
5
6

Publishing a Windows Phone App? Enter to Win a Free Windows Phone

Have you published an app to the Windows Phone marketplace recently? Are you about to? Have you got 4 apps already in the marketplace?

There is a contest going on right now until June 30th to win a free Windows Phone 7. All you have to do is get an app into the marketplace, and fill out a simple form. Each time you release a new app you can submit another form and increase your chances of winning. I don't have exact numbers, but my understanding is that the chances are pretty good. If you've already got apps in the marketplace then use those for the contest as well.

R.I.P. Imagewind for Windows Phone [Update - It's gone]


R.I.P. Imagewind for WP7: 3/16 - 3/30

After being in the Windows Phone marketplace for just two weeks, I am very sad to say that Imagewind for Windows Phone is going to be pulled from the marketplace tomorrow. If you are reading this on March 30th, then you can act quick and grab it before it is gone.

I had a concern all along that Imagewind might not make it through marketplace approval, which is why I submitted a simple beta version of it in late February to test the waters. On March 3rd that version of Imagewind was approved, and I immediately doubled-down and invested more time into making Imagewind hot. After two straight weeks of late nights, and spending a few hundred bucks on design and website creation, Imagewind was re-submitted and approved on March 16th.

Since its release Imagewind has been doing great in the marketplace with 17 reviews and an average rating of 4 1/2 stars in just two weeks. In fact, just today Imagewind broke over 1 million images displayed across all Windows Phone users.

About 10 days ago I submitted an update to Imagewind which added pinch/zoom support and search abilities. After 10 days of no results from the marketplace approval team, I started to worry that maybe the search ability was pushing the boundaries a bit too far - I didn't however expect to get a notice this afternoon that the app was going to be pulled from the marketplace altogether:

Imagewind - app unpublish request
[..] While the images shown are dynamic, per your app’s disclaimer, a portion of the images’ content is too graphic for the app to be permissible in Marketplace. In order to be permissible, there would need to be a content filter before surfacing images since users are not querying a specific type of image and are rather pushed to them.

Given this, we ask that you unpublish your app within one business day until you are able to modify your application to comply with the certification guidelines.[..]

Thank you for your understanding in the matter, and we will hope to see an updated version soon.

Windows Phone Marketplace Policy team

Since Imagewind is entirely based on live unfiltered images from Twitter, there is no chance of me ever being able to comply with the policy team's request short of hiring a team to monitor and filter images 24/7. This rejection draws the line in the sand for what is and isn't allowed on Windows Phone, and it paints a distinct difference between what is allowed in the iPhone app store and the WP7 marketplace.

The screen above shows a common warning in the app store for iOS devices. Anytime an app brings in data from the web which could contain questionable content, you have to approve this warning. It is a bit ridiculous in that all Twitter clients, the Opera web browser, and even Wikipedia apps all have to show this warning - because they could show questionable content.

The Windows Phone marketplace doesn't have a warning like this yet, so I created my own shown every time Imagewind launches:

Unfortunately my warning won't cut it, and the marketplace won't currently allow an app like mine. The wording in the marketplace notice seems to suggest that it's not a problem that questionable content can be displayed, but that the questionable content is displayed without the user explicitly requesting said questionable content ("there would need to be a content filter before surfacing images since users are not querying a specific type of image and are rather pushed to them."). I am hopeful to work out some way to get Imagewind back into the marketplace, but I have little hope currently.

It is worth noting that the iOS marketplace would in fact allow Imagewind, and has another similar app already called Pingwire (which has apparently been covered by CNET, BBC, and The New York Times). Unfortunately as of now, such apps aren't within Windows Phone marketplace guidelines.

You can find the XAP for Imagewind v1.1 attached. If you are a developer and can side-load apps please continue to enjoy it. Hopefully the ads served up by continued usage can help me recoup my investment which is now all for naught.

It should be noted that I'm not totally ticked. I understood in the beginning it might be rejected for just these reasons. My biggest complaint is that it was approved twice before, and it is only now being rejected (and removed) after adding new features via an update. Had it been rejected on the beta run in early March I would've cut my losses then - that's why I submitted such an early version.

Please leave a comment on your thoughts regarding this policy. Obviously there is still room for the Windows Phone marketplace to improve, and maybe this can be one place to push for some changes.

[Update 3/31/2011 1:14pm EST]
I emailed back and asked for an extended grace period while the policy team and Brandon Watson talked about the app being removed. I am hopeful something good will come out of their discussions - like a way to get Imagewind back into the marketplace. Until I hear back from them Imagewind will stay available. Stay tuned.

[Update 4/1/2011 11:45 EST]
Unfortunately I got notice tonight that after further review the marketplace policy team are sticking with the decision to remove Imagewind from the marketplace. I only got about 60 minutes of notice to remove it myself, which of course happened at 7pm EST on a Friday, so it was removed for me, which means all 25 5-star average reviews are now gone forever. I guess if the app won't see the light of day in the marketplace then that doesn't matter much anyways. For what it is worth, I still haven't been contacted by Brandon Watson, so I don't really have any more insight as to if I have any further options here. My best bet now is that until marketplace regulations change, Imagewind won't be allowed in the marketplace. Perhaps most disappointing is that it could have been released in the iOS or Android marketplaces - but for now it can't be in the WP7 marketplace.


R.I.P. Imagewind for WP7

I guess for now Imagewind will continue to reside at imagewind.net in an online version, and folks who can side-load apps can continue to grab the .xap file attached to this post (and eventually at imagewind.net/wp7). I'm hoping that despite this rejection, Imagewind for WP7 will continue to thrive with folks who grabbed it before it was removed, and from folks willing to side load it. I guess now I'll start the journey of getting Imagewind on other mobile devices.

Examples of WP7 Marketplace Certification Failures

I have now made it through a baker's dozen Windows Phone Marketplace certification attempts for SmartyPantsGaming, and thought I would share the various ways in which I've failed in my apps. I generally think the best way to learn is to learn from your mistakes, but learning from someone else's mistakes is even better - so here is a rundown of ways I've failed WP7 marketplace certification so far.

The back button should close popup windows
In the release of Matchingo Free we received an app rejection because the name entry dialog popup could not be closed by pressing the back button.

If the current page displays a context menu or a dialog, the pressing of the Back button must close the menu or dialog and cancel the backward navigation to the previous page.

To fix the issue I setup a boolean flag to keep track of when the name entry dialog was open, and then override the back button event. If the dialog is open and the back button is pressed then I cancel the back button event so it doesn't continue to bubble up, and close the popup window. Here is the code block:

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
    if (IsNameEntryPopupOpen)
    {
     e.Cancel = true;
     ShowHideNamePopup(false);
    }
    else
    {
     base.OnBackKeyPress(e);
    }           
}

(click 'read more' to keep reading..)

Announcing Smarty Pants Gaming at SmartyPantsGaming.com

How to Customize Your XNA Game Tile on the Windows Phone 7 Start Page

Currently if you build an XNA game and run it on the WP7 emulator you'll note that once you exit the program, it isn't listed in the main application list like it would be for a Silverlight application. This can make it tough to validate how your icon looks, and makes it impossible to pin it to the emulator's tile-view start screen.

A Cheat Sheet for Unit Testing Silverlight Apps on Windows Phone 7

I've been planning on writing a quick overview of the basics of unit testing in Silverlight for a while now. Since Windows Phone 7 is the hot topic now, and there are a few quirks with using the Silverlight Unit Test Framework with it, I figured now would be a good chance to write a blog entry covering both. If you're just looking for the cheat sheet relative to both Silverlight and WP7 unit tests, then skip the first section on setting up the test harness on WP7.

Setting up the Test Harness for WP7
To get started, you'll need the Silverlight Unit Test Framework tweaked for Windows Phone 7 from Jeff Wilcox's blog here. I've attached the binaries to this post as well (SL3_UTF_May.zip).

Once you have the binaries, you'll want to create a new test harness project. Do this by creating a new project in your solution of type 'Windows Phone Application'. In the sample attached to this post I'm calling my test project SampleTestProject.

Next, add references to the two Silverlight Unit Test Framework DLLs*:
Microsoft.Silverlight.Testing.dll
Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll

* you will get a warning about referencing Silverlight 3 assemblies, click 'yes' when asked if you want to continue

Because of recent changes in WP7, you can no longer set the root visual in the App.xaml.cs like normal. Instead, you'll setup the test page in the Loaded() event of your MainPage.xaml.cs in your test project. The following code hides the SystemTray on the phone (the bar at the top of the screen) which otherwise would cover up the top of test results screen, and hooks up the back button to allow you to return back from drilling into test results.

using Microsoft.Phone.Shell;
using Microsoft.Silverlight.Testing;
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
    SystemTray.IsVisible = false;

    var testPage = UnitTestSystem.CreateTestPage() as IMobileTestPage;
    BackKeyPress += (x, xe) => xe.Cancel = testPage.NavigateBack();
    (Application.Current.RootVisual as PhoneApplicationFrame).Content = testPage;            
}

(click 'read more' to keep reading..)

Quick Tip: Windows Phone 7 Preprocessor Directive

If you're sharing common code between Windows Phone 7 and other platforms in either Silverlight or XNA, then you may run into a need to fork some code based on the platform. This is normally done with a preprocessor directive, which for Windows Phone 7 is WINDOWS_PHONE.

UI Design and Interaction Guide for Windows Phone v2.0 Released

An updated version of the UI Design and Interaction Guide for Windows Phone was posted on the Windows Phone 7 forums today. There is also a big collection of Photoshop files to help when designing your apps which can be downloaded here as well.


click the image to download

Take a look through the new guide and feel free to post anything you find interesting either here or at the official forums. The guide has gone from 69 pages to 101 pages, so there should be lots of expanded content to look through.

Below are some sample shots from the updated guide. You can find the 10 items that can be shown in the Status Bar, the push notifications whose colors conform to the user's accent color, and the updated application bar which now shows button labels - hopefully you've already noticed most of this playing around with the most recent release of the developer tools.

You can also check out all the available accent colors in the updated guide. My guess is that these are the final theme choices, but I wouldn't be surprised if different phone carriers add in their own company colors and perhaps set them as the default.

Updated Video of Hungry Castaway - An XNA Game for Windows Phone 7

Two weeks ago in my post Pre-Alpha Videos of My Windows Phone 7 Games in Development I posted a short video of a game called 'Hungry Castaway' that I am working on with one of my friends for Windows Phone 7. At that point I had only gotten as far as replicating a concept I had done in Silverlight over to XNA. Now that I've had two weeks to get some work done I wanted to post an updated video.

click here to watch at a larger size

At 0:44 into the clip the video skips ahead to show more hectic gameplay to give an example of how the gameplay scales based on skill. Please keep in mind this game is still early on, so the gameplay in this video likely doesn't reflect the final game.

Pre-Alpha Videos of My Windows Phone 7 Games in Development


It has been mentioned a few times in the last month or so that if you want a Windows Phone 7 test device, then you need to be showing why you deserve one. Most notably, Brandon Watson has laid out a post showing 2 such examples, and listing 6 suggestions of how to garner the @wp7dev team's notice. Well, I'm going to take those 6 suggestions, and respond to each - because I want a friggin' test device.

1) Get the tools and start building apps.
I am working on 3 games independently, as well as several at IQ.
2) Blog about your development progress. Screenshots and videos help a lot.
See #3
3) Tag posts with "Windows Phone 7 Development" or "wp7dev" so that we, and other developers, can find you.
Windows Phone 7 Posts on SmartyPantsCoding.com
4) Build something which extends the platform and can be used by other developers.
How to use the Facebook Developer Toolkit with Windows Phone 7
My Windows Phone 7 Pivot Control

5) Post videos of your apps running in the emulator to youtube
See new preview videos below (hopefully Vimeo is alright)
6) Register in the Windows Phone Marketplace.
Done.

To put things in context, I had no intention of posting any videos of my WP7 side projects anytime soon. I hope (read: pray) that folks watching these videos understand that both of these games are very much in the pre-alpha / proof-of-concept state at this point, and honestly any sort of feedback at this point would be very premature.

Pre-Alpha Preview Video of Matchingo 2
This first video showing Matchingo 2 is a very rough port of the original Matchingo - this game will be getting a complete frontend overall and hopefully some pretty cool additions. The UI in the video below is 100% temporary.

Pre-Alpha Preview Video of Hungry Castaway
This second video is showing Hungry Castaway, which is in the proof-of-concept stage as well. This is the game I have been working on in both XNA and Silverlight versions, which I've referenced recently. I spent quite some time evaluating Silverlight vs XNA for this game, but I have now chosen XNA and am back to focusing on functionality.

There is a third game I am working on for WP7 as well, however it is way too early to show anything. I also would love to port ImageWind.net to WP7 - but I have to get a better understanding of if such an app can make it through the app approval process. Now that a few of the cats are out of the bag, I guess I better get back to work.. ;)