Cover

R.I.P. GooNews

January 29, 2011
No Comments.

I recently wrote about the release of my GooNews application for the Windows Phone 7 Marketplace.  The Application has now been pulled from the marketplace and will not be resubmitted.  There were a variety of issues that finally forced me to give up and just pull the application and give up on ever getting it out there as a successful application. Here’s the story:

First and foremost I want to thank several people for trying to get this addressed including Jaime Rodriguez and Glen Gordon who both tried to get this resolved but I’ve spent way too much time trying to get it working before resorting to pulling the application and going public with the problems.

Let’s start at the beginning…

Problems Part 1: Bing News

I took a short weekend and wrote the app because I needed it. Being able to keep up with the news is a natural thing for me on the phone. Using Silverlight and the development tools were a lot of fun and I got most of the app up and running pretty quickly. I wanted to be able to show some standard news feeds and have the user be able to submit custom feed search terms to create news feeds for custom topics. I first looked at using Bing’s News instead of Google’s News feeds.  Upon looking at the Bing News RSS feeds (which is how I use Google’s), I found this copyright warning which scared me into avoiding Bing:

These XML results may not be used, reproduced or transmitted in any manner or for any purpose other than rendering Bing results within an RSS aggregator for your personal, non-commercial use. Any other use requires written permission from Microsoft Corporation. By using these results in any manner whatsoever, you agree to be bound by the foregoing restrictions.

Problems Part 2: Development

But two issues early on caused me a lot of trouble and they both had to do with showing Internet content.  I had intended originally to just use the WebBrowserTask to show the stories when people navigated to them.  But the WebBrowserTask has been bugged for a while.  Every few URL’s I sent to it seemed to just hang it.  I subsequently was told that there is a bug that if certain characters were in the URL, it would truncate them (the # symbol being the chief offender).

To avoid the WebBrowserTask, I decided to use the WebBrowser control instead.  Initially my experience with it was great but it was clear that there was no way to manage the history of the control directly in the API so I had to rely on injecting JavaScript which seemed to only work about 80% of the time:

private void backButton_Click(object sender, EventArgs e)
{
  try
  {
    browser.InvokeScript("eval", "history.go(-1)");
  }
  catch
  {
    // Eat error
  }
}

So I settled on just making the back button return to the main page no matter what and have a Back button in the ApplicationBar since it wasn’t guaranteed to work. I didn’t want the user to be stuck on the page.

I had intended to be able to add the feature of sending a Twitter message about a story but that code never worked because the WebBrowserTask would never work and would lock up once you went to Twitter in this way.  Hrmph…feature removed.

Next I had planned to make the application ad-driven so it could be ‘free’.  But I ran into another problem…

Problems Part 3: PubCenter

As most of my intended customers were in the U.S. initially, I expected to just use the Microsoft Ads in my application. When I tried to sign up, I got stuck in a loop on the website when trying to create an account. After talking with support (and not being treated well *at all*, i was told there was something wrong with my Live ID and if I wanted to use it I needed to create a new Live ID.  I don’t want to have to manage Live ID’s and remember more names and passwords so I gave up. I went with AdMob to serve ads.  The experience there isn’t great as their pay model is per-click not CPM (so I haven’t received any revenue from GooNews’ ads) but at least they were serving ads across the world, not just in the USA.  Subsequently I was warned that the current Microsoft Ad control is buggy and can slow down your app so I was happy I didn’t go down the road of trying to get it to work.

While flawed and probably not going to be any real revenue, I was happy enough with the application to submit it to the marketplace.

Problem Part 4: The Marketplace

I submitted my application and it was my fifth ‘free’ application as I have other applications that I released without ads or revenue to get experience building apps.  My fifth free application should have been free but upon submitting it, I was asked for a credit card and charged $19.99 to submit the app.  I just wanted to get on with it so I paid the $20.

The application was rejected because of an errant assembly I left in the .xap file that indicated I needed push notifications (which I don’t use).  Because I didn’t have a way to turn off push (because the assembly was there, even though I wasn’t using it) it was rejected.  Ok…my bad.

I fixed it and resubmitted only to be asked for another $19.99 to resubmit the application.  Sheesh!  Ok, another $20 and the app was submitted and some days later it was approved and appeared on the marketplace. (NOTE: Subsequently after contacting support, they refunded one of my $20 and gave me a ‘free’ credit for the other $20…bad resolution but a resolution.)

Success?

I got some good press for the application and some asked how it was so fast and I posted some blog posts about some of the threading I was doing.  Some of the quotes include:

the app brings Google’s news feeds right to your device quickly with a smooth, clean UI

…this is a great app.

You want news, it gives it to you in a clean and efficient manner.

But Trouble was looming…

Problem 5: The Marketplace…Again!

I was asked by a number of users for some new features including localizing the feeds into different markets. I spent another weekend supporting 22 different localized versions of the feeds so that users could use the app to get news for their area/language. Wasn’t too hard (I didn’t localize the UI just the feeds).  I submitted an update with this feature and everyone seemed pretty happy.  This was about the fourth update for the app (though I can’t quite remember the exactly #).

I found an inconsistency in the app in that the custom news feeds were not being localized so I found a way to address that and I submitted the application and it broke badly. But this update was *approved*.  I realized the problem was with the way I was serializing the settings and quickly got an update to address the broken application. That is where the Marketplace started getting bad.

I submitted the quick update to fix the broken version of the app and it took about five days to test the app and when it was rejected, it was rejected for a feature that had been their since v1.  They complained that when a user clicks on a link in the WebBrowser control that hitting the back button should take them to the last story they were on instead of back to the list of stories.  (NOTE: Not a single user/reviewer ever complained to my knowledge of this, just the tester). Remember, five days of a broken app out there on phones.

So I resubmitted it and asked for a technical exception because the WebBrowser control doesn’t let you do this reliably and moving it to the WebBrowserTask is too buggy. We’re at day 10 waiting to be tested.  That means my broken version has been out there for 15 days and if you read the recent reviews you can see many users have given up on the app since an update hasn’t show up.

After about 5 days I contacted support and things got trippy. The first response was that it was taking longer because my account hadn’t been “vetted and activated”.  Huh?  I’ve had a Marketplace account since the announcement at DevConnections six months ago. A second response said, sorry they were confused and that my app had been tested and released.  But the app they mentioned wasn’t my app but another account’s app.  The third curt email said that I should wait because it takes two weeks to test an app and that I should be patient.  Nice customer service!

Part 6: Giving Up

A couple of Microsoft people I contacted told me they’d help me figure it out and escalate the issue.  That was days ago.  Jaime in particular has been really trying to determine what the right procedure is but I’ve spent way too much mental energy, time and money to worry about it now.  I’ve withdrawn the application from the Marketplace.

While this app was free at first, I did change it to a $.99 application so that people who wanted to opt out of the ads could just buy the application. So if you’ve purchased GooNews, let me know and I’ll determine how to refund your money or I’ll send you a check for the $.99 if MS won’t do the refund.

Am I Giving up on Windows Phone 7?

No.  I own a phone and like the platform and technology. I think that once they figure out their customer service issues, it’ll be a good experience.  I know a lot of developers who have had good experiences with the Marketplace.  I just don’t have enough time to deal with the ineptitudes. I won’t be updating my existing applications or submitting new ones until I am satisfied that the Customer Service, Testing and Support issues are solved. Its not worth my time.