<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Many Niches</title>
	<atom:link href="http://www.manyniches.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.manyniches.com</link>
	<description>Jack of All Trades, Master of Some</description>
	<lastBuildDate>Mon, 14 Nov 2011 21:12:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Windows Phone Dev Ecosystem &#8211; One Year On</title>
		<link>http://www.manyniches.com/windows-phone/windows-phone-dev-ecosystem-one-year-on/</link>
		<comments>http://www.manyniches.com/windows-phone/windows-phone-dev-ecosystem-one-year-on/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 21:11:52 +0000</pubDate>
		<dc:creator>Brandon Watson</dc:creator>
				<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[Review]]></category>

		<guid isPermaLink="false">http://www.manyniches.com/windows-phone/windows-phone-dev-ecosystem-one-year-on/</guid>
		<description><![CDATA[The title is a bit misleading as I have been in role for close to two years, but Windows Phone has been in market for a year.&#160; During the course of the past year, I learned quite a few things, and have been asked a number of questions from the community.&#160; I wanted to take [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 5px; margin-right: 5px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.manyniches.com%2Fwindows-phone%2Fwindows-phone-dev-ecosystem-one-year-on%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.manyniches.com%2Fwindows-phone%2Fwindows-phone-dev-ecosystem-one-year-on%2F&amp;source=BrandonWatson&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>The title is a bit misleading as I have been in role for close to two years, but Windows Phone has been in market for a year.&#160; During the course of the past year, I learned quite a few things, and have been asked a number of questions from the community.&#160; I wanted to take this time to share some of those learnings, and answer a variant of the most common question I get (both internally and externally): “how are you guys doing this?”</p>
<p>Upon starting in role, the person who recruited me for the position (<a href="www.twitter.com/ckindel">Charlie Kindel</a>) walked me through <a href="http://ceklog.kindel.com/2011/06/14/the-5-ps-achieving-focus-in-any-endeavor/">what he calls the 5Ps</a>.&#160; This served as a very useful framework for thinking through how our team was going to tackle the very real problem of being in last place for developer ecosystems, and building excitement and driving recruitment for a pre-released mobile OS.</p>
<p>When we first met as a team, we sought to lay out what we though were the foundational principles for our work.&#160; This is essential, as it makes it very easy to say “NO” to things when you have clear principles.&#160; Since our fiscal year runs Jul to Jun, we have refactored our team principles for our current fiscal year.&#160; We did this based on the experience of the year we had behind us.&#160; With that in mind, I wanted to share some of the principles from the last fiscal year.&#160; No real corporate secrets here, and in fact, some people will say that this is just common sense.&#160; Maybe so, but the results have been building, with the new <a href="http://www.appcelerator.com/company/survey-results/mobile-developer-report-nov-2011/report/">IDC/Appcelerator</a> report out (expected <a href="http://allthingsd.com/20111114/developers-interest-growing-in-windows-phone-waning-in-blackberry/">press coverage</a>), and it looks like interest in Windows Phone development is at an all time high.&#160; Awesome.</p>
<p><strong>Inspire Developers</strong></p>
<p>The problem facing our team was essentially one of a cold start reboot.&#160; We had to start with a completely new dev platform, new tooling, and the fallout of a clean break from Windows Mobile 6.x, making many of those developers angry.&#160; The bottom line message for the team, and our extended team in our DPE org (Developer &amp; Platform Evangelism), was to build the message and demonstrate the clear opportunity of building on Windows Phone.&#160; For the first year, this involved heavy upselling of our investment in the long term success of Windows Phone.&#160; However, it also necessitated that we have improved reach and effectiveness with our outbound communications.&#160; This meant landing our stories with the press, but also engaging with developers on a 1:1 basis where possible.&#160; An impossibility to execute with our team alone, the partnership with our DPE org led to the creation of our mobile champs program.&#160; Having local feet on the street in the countries where we were selling phones was critical for developer support.</p>
<p><span id="more-506"></span>
<p><strong>Make Developers Rich &amp; Famous</strong></p>
<p>It’s long been one of my driving assertions that developers care about two things: making money or getting noticed for their work.&#160; Scoble once quipped that it was about getting paid or getting laid.&#160; Same difference.&#160; Here’s the thing: it’s not all about sales of apps.&#160; That matters – absolutely matters – but we can also do other things.&#160; We don’t need any more web traffic.&#160; Any chance we can take to redirect web traffic to a partner/developer is one we should take.&#160; Same thing for speaking opportunities, inclusion in press, conferences, etc.&#160; People know who we are.&#160; They don’t know who the developers are.&#160; Investing in them early pays off huge dividends later.&#160; We focused on ensuring that put the developers and apps in the spotlight.&#160; You will even see this in our newest round of commercials.</p>
<p>Beyond simply shining attention on the developers, we wanted to work with them to find ways to monetize their work, and that included ways to work with them to envision completely new business models.&#160; We’ve had some interesting conversations on that front, though for confidentiality reasons I can’t discuss them here.&#160; Needless to say, the attention units spent on developers for the Windows Phone platform was critical to our success.</p>
<p><strong>Search &amp; Discoverability</strong></p>
<p>From day one on the job, I told the team to stop creating content.&#160; We had people who had historically been goaled on such things as “create 10 case studies.”&#160; Why?&#160; Who saw them?&#160; What customer were they serving?&#160; Instead, we chose to focus on one simple dictum (use of Google intentional, since at the time, 70%+ of <em><u>developers</u></em> used Google): “If you cannot come up with the Google query for which your content surfaces in the top 10 links, DO NOT CREATE THE CONTENT.”</p>
<p>As part of a whitepaper I wrote when I took over the role, I included the following (modified pronouns):</p>
<blockquote><p>Whereas developers once turned to books for their learning process, search is now the primary means by which they get answers.&#160; The relevance and authority of a source discovered via search has been solved for them by the position in the search results; the author is almost irrelevant, as long as they can solve their problem. The faceless millions of bloggers/developers, not us, collectively produce the user manual they reference for our development platform.&#160; Their screen has room for 10 links. Their patience has room for clicking through to one, maybe two, additional pages of links. Exist in that space or we don’t exist at all.&#160; Though they start with search, the pervasiveness of social networking brings the expertise and influence of others closer than ever to their project spaces, and they rely on those social connections as trusted sources for how to solve their problems. They hope to be sought out as an expert someday.</p>
</blockquote>
<p>The world has changed from a publish and forget medium (books) to publish and connect one. Any successful community must support the platforms by creating living content, and connecting that content to other content created by other members in the community.&#160; This is a subtle, but very important, shift which has taken place over the last decade.</p>
<p><strong>Simplicity &amp; Removing Friction</strong></p>
<p>Charlie taught me a great saying: never show your organizational boundaries to your customers.&#160; He’s right.&#160; Yes I run the developer experience team for Windows Phone, but really, I work on Windows Phone, and that’s all customers care about.&#160; They don’t care about my title, or my org.&#160; They care about the problem they have in front of them, and not much else.&#160; I know it sounds crazy, but focusing on solving customer problems wins hearts and minds.</p>
<p>Beyond that, we have driven a hard core focus on reducing the number of steps it takes to get to the right answer.&#160; We haven’t been 100% successful, and we still have a ways to go, but much of the content created, access to tools, etc, have all been dramatically reduced in terms of click-time commitment.&#160; We also have spent a great deal of time on ensuring that we have ample code samples available for our developer community.&#160; We know devs are short on time, and having easy to find, and approachable, samples makes their lives a lot easier.</p>
<p>For this principle, it comes down to showing them the way, not showing them how smart we are.&#160; In many cases, they are smarter.&#160; We just have access to information they may not.&#160; Get it to them and watch what happens.</p>
<p><strong>One Year On</strong></p>
<p>Yes, we have recalibrated our principles as a result of what we have learned over the year.&#160; The essence remains largely the same, though I can say that we have made them more focused.&#160; What has made me happier than anything is the level of support from the community.&#160; Heck, I might even go so far as to say we have fan boys.&#160; The 38% of devs who are expressing that they are “very interested” is a nice data point, but we have a long long way to go before I will be happy.&#160; The addition of Nokia as a key ecosystem partner is a huge win for us, it further validates our model, and developers agree.</p>
<p>The number one principle for this year is: be highly available.&#160; We’ve learned quite a bit over the last year, but more than anything else, I have learned that if you make yourself available to the community, and do your honest best to invest in helping people out, and getting their questions answered, it will pay off in spades.</p>
<p>Helping out devs and being available means a lot of things.&#160; Here’s a great anecdote to show what I mean.&#160; When an android developer was showing me his app at a conference, I asked if I could give him feedback.&#160; They guy next to him was incredulous that I gave him honest feedback about how to make the app better, and that I didn’t try to sell him on Windows Phone.&#160; Why would I do that?&#160; He’s already invested in Android.&#160; I wanted to validate that investment, and give him useful information.&#160; If I could help make him successful on Android, my hope is that when he considers his next platform, he puts Windows Phone first because one of us stopped to help him out.&#160; Trying to convince him he made a bad choice with Android can only end in tears, and he may walk away thinking that we are jerks.&#160; I gave him my info and told him when he was ready to get started on Windows Phone to give me a holler, but I definitely wanted to hear from him when his app landed in the Android marketplace.</p>
<p>Being highly available means publishing your email (ThePhone [at] Microsoft), your phone (425-985-5568) and being on Twitter enough to answer the @ replies (man, this is where the integration with Twitter on Windows Phone Mango comes in SOOOO handy).&#160; <strong><u><em>Invest</em></u></strong> in the community.&#160; It’s very easy for someone to hate a company, but very hard to hate a person.&#160; We are putting a human face on developer platform for Windows Phone with the likes of Ben Lower (@<a href="http://www.twitter.com/benlower">benlower</a>), Cliff Simpkins (@<a href="http://www.twitter.com/cliffsimpkins">cliffsimpkins</a>), Larry Lieberman (@<a href="http://www.twitter.com/LarryALieberman">LarryALieberman</a>), Matt Bencke (@<a href="http://www.twitter.com/bencke">bencke</a>) and the countless other mobile champs in the field.&#160; It’s been a great ride thus far, and looking forward to the next year of phone availability.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.manyniches.com/windows-phone/windows-phone-dev-ecosystem-one-year-on/feed/</wfw:commentRss>
		<slash:comments>49</slash:comments>
		</item>
		<item>
		<title>Windows Phone Is Hiring &#8211; On My Team</title>
		<link>http://www.manyniches.com/windows-phone/windows-phone-is-hiring-on-my-team/</link>
		<comments>http://www.manyniches.com/windows-phone/windows-phone-is-hiring-on-my-team/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 17:42:41 +0000</pubDate>
		<dc:creator>Brandon Watson</dc:creator>
				<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[recruiting]]></category>

		<guid isPermaLink="false">http://www.manyniches.com/windows-phone/windows-phone-is-hiring-on-my-team/</guid>
		<description><![CDATA[Subject: Ms. Muffet would run scared from you. Why Miss Muffet? Because we are looking for someone who has unbelievable _web_ skills.&#160; Get it?&#160; Web…Spider? No? #facepalm Befitting our desire to stand out with our job postings, I give you one rendered in tweets: Our team has a serious bunch of people who take #winning [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 5px; margin-right: 5px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.manyniches.com%2Fwindows-phone%2Fwindows-phone-is-hiring-on-my-team%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.manyniches.com%2Fwindows-phone%2Fwindows-phone-is-hiring-on-my-team%2F&amp;source=BrandonWatson&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Subject: Ms. Muffet would run scared from you.</p>
<p>Why Miss Muffet? Because we are looking for someone who has unbelievable _<i>web</i>_ skills.&#160; Get it?&#160; Web…Spider? No? #facepalm</p>
<p>Befitting our desire to stand out with our job postings, I give you one rendered in tweets:</p>
<p>Our team has a serious bunch of people who take #winning very seriously&#8230;but we have no tigers&#8217; blood #ImportTariff</p>
<p>Specifically, we are on the Windows Phone Apps org, and we are responsible for the App Plat and the breadth dev ecosystem #WhupAppsForShort</p>
<p>We are looking for an amazing web technologist who wants to advance to state of the web on mobile devices #LovesWindowsPhone</p>
<p>Our purpose is clear: “Cultivate a developer ecosystem that delivers outstanding mobile experiences.”&#160; #TopThatGoogle</p>
<p>You will have broad responsibility: ensuring top 20 web sites look great on WP &amp; educating breadth web devs about the same #YouAreABeautician</p>
<p>You will find those places where WindowsPhone web stands out against the competition, and shine a light on it #CompeteToWin</p>
<p>You must have the mind of a genius but the heart of a teacher, because we have to reach loads of web devs #ScaleItUp</p>
<p>This will be an incredibly challenging position, requiring lots of cross group collaboration #TheWhatAndTheHow</p>
<p>There are 2 screening questions: 1) do you code as a hobby &amp; 2) have you successfully marketed a dev platform before? #HardToFind</p>
<p>The person who thinks they can and the person who thinks they can&#8217;t are both right #WhichOneAreYou</p>
<p>You can read about the <a href="http://bit.ly/uPn02d">job here</a>: #WhatAreYouWaitingFor</p>
]]></content:encoded>
			<wfw:commentRss>http://www.manyniches.com/windows-phone/windows-phone-is-hiring-on-my-team/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>When Algorithms Attack</title>
		<link>http://www.manyniches.com/fun-stuff/when-algorithms-attack/</link>
		<comments>http://www.manyniches.com/fun-stuff/when-algorithms-attack/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 16:02:39 +0000</pubDate>
		<dc:creator>Brandon Watson</dc:creator>
				<category><![CDATA[Fun Stuff]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[gymnastics mats]]></category>

		<guid isPermaLink="false">http://www.manyniches.com/fun-stuff/when-algorithms-attack/</guid>
		<description><![CDATA[I was doing some birthday shipping for my wife a few weeks back.&#160; I actually had to hold off on posting this write up because I didn’t want to tip her off to what sorts of things she might expect for her birthday. This post isn’t about her birthday, however, but rather Amazon and their [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 5px; margin-right: 5px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.manyniches.com%2Ffun-stuff%2Fwhen-algorithms-attack%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.manyniches.com%2Ffun-stuff%2Fwhen-algorithms-attack%2F&amp;source=BrandonWatson&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.manyniches.com/wp-content/uploads/2011/10/BlogPicture.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 3px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="BlogPicture" border="0" alt="BlogPicture" src="http://www.manyniches.com/wp-content/uploads/2011/10/BlogPicture_thumb.png" width="524" height="123" /></a></p>
<p>I was doing some birthday shipping for my wife a few weeks back.&#160; I actually had to hold off on posting this write up because I didn’t want to tip her off to what sorts of things she might expect for her birthday.</p>
<p>This post isn’t about her birthday, however, but rather Amazon and their collaborative filtering mechanism which makes recommendations to you while you are shopping.&#160; Given that the search term with which I started was “gymnastics mats,” I can understand 4 of the 6 of these recommendations.&#160; I can even go out on a limb and convince myself that, yes, people who are likely to be buying gym mats need to keep deer away.&#160; Think of the liabilities to the gym studios when that first deer hurts themself.&#160; The rules just aren’t set up for four legged participants.&#160; Sadly, Bambi and her friends are <em>really</em> into gymnastics, and they keep hanging around.</p>
<p>It was the book recommendation that really piqued my attention.&#160; The book itself is a parable style yarn about leadership and psychology.&#160; Think “Chicken Soup for the Bad Manager.”&#160; The scary thing is that I have read this book.&#160; My manager suggested it as one of those great books I needed to read.</p>
<p>So I am left wondering what type of people are buying gymnastics mats from Amazon.&#160; Are they type A business execs who are fashioning home gyms for their gymnastics bound children?&#160; Are they incredibly driven, though perhaps misguided, leaders who are building gymnasiums?&#160; Or is this simply a case of Amazon having a bit of fun with me, knowing that I read that book, and that I have deer eating the grass in my yard?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.manyniches.com/fun-stuff/when-algorithms-attack/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Wonder of Living in the Future</title>
		<link>http://www.manyniches.com/fun-stuff/the-wonder-of-living-in-the-future/</link>
		<comments>http://www.manyniches.com/fun-stuff/the-wonder-of-living-in-the-future/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 07:13:25 +0000</pubDate>
		<dc:creator>Brandon Watson</dc:creator>
				<category><![CDATA[Fun Stuff]]></category>
		<category><![CDATA[China]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[medicine]]></category>
		<category><![CDATA[Windows Phone]]></category>

		<guid isPermaLink="false">http://www.manyniches.com/fun-stuff/the-wonder-of-living-in-the-future/</guid>
		<description><![CDATA[So I’m sick.&#160; Sick and travel are never fun.&#160; Recycled air on the plane is usually the culprit.&#160; Sick sucks.&#160; In particular, it sucks when you are out of your element.&#160; Travelling in the US usually affords you the ability to walk into any familiar looking pharmacy and choose the appropriate cold medicine from the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 5px; margin-right: 5px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.manyniches.com%2Ffun-stuff%2Fthe-wonder-of-living-in-the-future%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.manyniches.com%2Ffun-stuff%2Fthe-wonder-of-living-in-the-future%2F&amp;source=BrandonWatson&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>So I’m sick.&#160; Sick and travel are never fun.&#160; Recycled air on the plane is usually the culprit.&#160; Sick sucks.&#160; In particular, it sucks when you are out of your element.&#160; Travelling in the US usually affords you the ability to walk into any familiar looking pharmacy and choose the appropriate cold medicine from the dizzying array of choices.</p>
<p>International travel comes with its challenges, but most of my travel for the last few years has been to familiar western culture countries.&#160; When you get sick, you can at least understand some of what you are seeing in the store.&#160; Identifying the cold medicine in Barcelona, even with Catalan, was doable.&#160; My Spanish is passable enough that I can get by in most western European countries.&#160; Well, Finland was challenging, but they speak very good English.</p>
<p>China is an all together different problem.&#160; First, the character set is foreign to me.&#160; Second, Beijing is huge.&#160; HUGE.&#160; I am having trouble orienting myself because no matter what direction I look, there are buildings.&#160; Lots of buildings.&#160; This is the first city I have ever been in where I didn’t immediately know where I could walk from my hotel to get basic snacks/soda.&#160; I’m staying in a relatively nice hotel too, but there is no shop in the hotel.&#160; Oh, and English is not a first class language here, so good luck when you have to deal with the local shop owner.&#160; Hit or miss.</p>
<p><span id="more-501"></span>
<p>So when sickness befell me here, I was in a bit of a quandary.&#160; The hotel told me that I could find a shop about 3/4 of a mile away.&#160; However, he warned me that because it was after dark (8pm ish) that the doors would be closed and the lights off.&#160; I just had to knock and the woman would let me in.&#160; Not knowing where I was going, and trying to make sense of the cityscape was proving too daunting given my current state, so I went upstairs.&#160; 10 minutes later, I realized I had made a bad decision and needed to get some medicine.</p>
<p>20 minutes later, I was in the 7-11.&#160; This was 7-11 in brand, but the layout was not familiar.&#160; In fact, the shelves were quite sparsely stocked.&#160; Nothing like the overflowing sundries of the USA stores.&#160; Sadly, no one there spoke English, and I was unable to find anything which even remotely looked like medicine.&#160; So I gave up and decided to venture further down the street in the hopes of lucking up another store.&#160; Luck was with me.</p>
<p>Turns out the pharmacy was right next door, just as the hotel guy had said.&#160; I guess the 7-11 was a landmark for me to use, but this is where he was sending me.&#160; The door was in fact locked, and the woman was communicating with me through a small service window.&#160; This is where the fun begins.</p>
<p>Me: “I am sick and need medicine.”</p>
<p>Her: [blank stare]</p>
<p>Me: “Do you understand English”</p>
<p>Her: [head shake]</p>
<p>Me: [crap] “Uh ok…” [fake cough, grab throat] “sick.” [point at mouth]</p>
<p>Her: [squints, walks away, grabs something, brings is back – a liquid of some sort]</p>
<p>Me: “Do you have pills?” [bunch up fingers, point to mouth] “pills?” [mimic drinking water, and throw back some pills]</p>
<p>Her: [groans – takes liquid back and brings back 2 sets of boxes, clearly different brands]</p>
<p>Me: “Uh, OK, which one do I need? Which one is better?”</p>
<p>Her: [blank stare]</p>
<p>Me: “Which would you take?” [separate the boxes, point to both of them in turn, and point at her, cough, point at boxes, and shrug]</p>
<p>Her: [point to both of them in turn, point at me, cough, point at boxes, and shrug]</p>
<p>Me: “OK, I will take this one I guess.”</p>
<p>And then I thought, “if only there was a technology which would translate what I was trying to say…”&#160; And I pulled out my Windows Phone, and fired up Bing Translator, and typed in:</p>
<blockquote><p>I am sick, and have a sore throat. Which of these would you use for yourself?</p>
</blockquote>
<p>And when I pressed translate, this is what popped out on the screen:</p>
<blockquote><p>??????????????????????</p>
</blockquote>
<p>I have no idea how close this is to my original , but when I showed her my phone I saw something flash across her face.&#160; It went from a look of annoyance with me (she had to wait for me to pull out my phone, fire up the web browser, tap out the message, and then show her the phone), to mild amusement, to surprise, to a giggle and a smile, at which point she shook her head, and took the box from me and gave me the one I had not selected.&#160; So I tried another question:</p>
<blockquote><p>I also have a cough.&#160; Will this medicine still be good for me?</p>
<p>?????????????????</p>
</blockquote>
<p>To which she shook her head positively.&#160; I had one more:</p>
<blockquote><p>I have liquid in my nose.&#160; Do I need a different product?</p>
<p>??????????????????????</p>
</blockquote>
<p>Again, she giggled, almost girlishly, and put her fingers on her nose and moved them down in a way that told me she understood.&#160; She walked over to the shelves, and returned with another box.&#160; She proudly presented to myself, and I didn’t need a translator to tell me that she got this for me, she would use it and I would feel much better.</p>
<p>Sure, it was a one way conversation, but when I think about the enormity of what happened, all of the machines involved in the process to enable that conversation, and how it happened somewhat painlessly.&#160; Quite simply, I was floored.</p>
<p>On my walk back to the hotel, I thought maybe I wanted to quit my current job to go try and build the Star Trek universal translator.&#160; My whole life, from watching shows, I always just assumed the translator would do it all locally.&#160; With mobile and cloud, this simply doesn’t have to be the case.&#160; Sadly, I lack the engineering ability to even begin to scope or think about this problem, but I am sure my kids will have that in their future.&#160; Sure of it.</p>
<p>I love living in the future.&#160; In my job I get to see and experience it everyday.&#160; However, it was one of those real life moments which always brings it home for me.&#160; Stranger in a strange land, coughing his way to shop around the corner.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.manyniches.com/fun-stuff/the-wonder-of-living-in-the-future/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Thank You Bell Helmets</title>
		<link>http://www.manyniches.com/work-life-balance/thank-you-bell-helmets/</link>
		<comments>http://www.manyniches.com/work-life-balance/thank-you-bell-helmets/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 16:19:39 +0000</pubDate>
		<dc:creator>Brandon Watson</dc:creator>
				<category><![CDATA[Work-Life Balance]]></category>
		<category><![CDATA[Bell Helmets]]></category>
		<category><![CDATA[Easton Bell]]></category>
		<category><![CDATA[family]]></category>
		<category><![CDATA[mountain biking]]></category>
		<category><![CDATA[safety]]></category>

		<guid isPermaLink="false">http://www.manyniches.com/work-life-balance/thank-you-bell-helmets/</guid>
		<description><![CDATA[This is a video thank you card to the men and women who work at Easton Bell.&#160; My goal is to land this in front of Easton Bell President, Chris Zimmerman (I think I figured out his email).&#160; I’m using all the tricks in my bag.&#160; The tweet went out this morning, some buddy mails, [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 5px; margin-right: 5px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.manyniches.com%2Fwork-life-balance%2Fthank-you-bell-helmets%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.manyniches.com%2Fwork-life-balance%2Fthank-you-bell-helmets%2F&amp;source=BrandonWatson&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>This is a video thank you card to the men and women who work at Easton Bell.&#160; My goal is to land this in front of Easton Bell President, Chris Zimmerman (I <em>think </em>I figured out his email).&#160; I’m using all the tricks in my bag.&#160; The tweet went out this morning, some buddy mails, this blog post, some spelunking through LinkedIn, etc.</p>
<p>I know I have next to no talent in movie making or editing.&#160; I used my Flip HD and personal laptop on this project, working in close partnership with my companion – my beautiful 6 year old daughter.&#160; She had a great time with the filming and the editing, and loved seeing the final product.&#160; Sorry in advance for the wonky volume.</p>
<p>If you watch the video, and it touches you in some way…share it with a friend.&#160; I would love for the team at Easton Bell to see the reach and impact of their products, to know that they each had a hand in saving a life, keeping a family together, and keeping a smile on the faces of my family.&#160; It’s also nice to use social media to pass around stories of companies that done good.</p>
<p> <object width="640" height="390"><param name="movie" value="http://www.youtube.com/v/i-6Cczp6Sr0&amp;hl=en_US&amp;feature=player_embedded&amp;version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/i-6Cczp6Sr0&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="480" height="293"></embed></object>
<p>&#160;</p>
<p>**note: I <em>think</em> the email in question is <a href="mailto:CZimmerman@eastonbellsports.com">CZimmerman@eastonbellsports.com</a>.&#160; I am going to send a link to the video with a nice note.&#160; If <em>anyone</em> sends email to Easton Bell, please be respectful of inboxes, and remember, we want them to be happy about this. <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.manyniches.com/wp-content/uploads/2011/08/wlEmoticon-smile.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.manyniches.com/work-life-balance/thank-you-bell-helmets/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Happy Developers</title>
		<link>http://www.manyniches.com/windows-phone/happy-developers/</link>
		<comments>http://www.manyniches.com/windows-phone/happy-developers/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 23:44:13 +0000</pubDate>
		<dc:creator>Brandon Watson</dc:creator>
				<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[wp7dev]]></category>

		<guid isPermaLink="false">http://www.manyniches.com/windows-phone/happy-developers/</guid>
		<description><![CDATA[A little nerd humor for the day. I got asked by some executives to “prove” that what we were doing was working.&#160; That wasn’t so hard.&#160; The next question was “how would you show return on investment for additional budget.”&#160; I thought on it for a few moments, and wrote the following on the board.&#160; [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 5px; margin-right: 5px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.manyniches.com%2Fwindows-phone%2Fhappy-developers%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.manyniches.com%2Fwindows-phone%2Fhappy-developers%2F&amp;source=BrandonWatson&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>A little nerd humor for the day. I got asked by some executives to “prove” that what we were doing was working.&#160; That wasn’t so hard.&#160; The next question was “how would you show return on investment for additional budget.”&#160; I thought on it for a few moments, and wrote the following on the board.&#160; The engineers got it.</p>
<p><a href="http://www.manyniches.com/wp-content/uploads/2011/03/DevelopersHappy.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 3px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="DevelopersHappy" border="0" alt="DevelopersHappy" src="http://www.manyniches.com/wp-content/uploads/2011/03/DevelopersHappy_thumb.png" width="484" height="144" /></a></p>
<p>That’s a screen grab from Visual Studio, which is now my desktop image.</p>
<p>I later shared this with some of my developer buddies.&#160; What ensued is also pretty funny:</p>
<p>Friend 1: “Shouldn’t that be a property (e.g., Developers.AreHappy)?”</p>
<p>Friend 2: “It could be a complex function returning different values depending on the level of Developer.Fickle property.&quot;</p>
<p>Friend 1: “The <a href="http://en.wikipedia.org/wiki/Fxcop">FxCops</a> will come after you for violating policy <a href="http://msdn.microsoft.com/en-us/library/ms182181.aspx">CA1024</a>.&#160; To Friend 2’s point, you could get a reprieve if making devs happy is a time-intensive operation. If that’s the case, however, you should review your entire architecture and implementation.”</p>
<p>I love my nerdy friends.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.manyniches.com/windows-phone/happy-developers/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Crawling the Windows Phone Marketplace</title>
		<link>http://www.manyniches.com/windows-phone/crawling-the-windows-phone-marketplace/</link>
		<comments>http://www.manyniches.com/windows-phone/crawling-the-windows-phone-marketplace/#comments</comments>
		<pubDate>Thu, 24 Mar 2011 19:21:28 +0000</pubDate>
		<dc:creator>Brandon Watson</dc:creator>
				<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[crawl]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[marketplace]]></category>
		<category><![CDATA[wp7dev]]></category>

		<guid isPermaLink="false">http://www.manyniches.com/windows-phone/crawling-the-windows-phone-marketplace/</guid>
		<description><![CDATA[I have been asked by a few people how sites like WP7AppList get their data.&#160; The Windows Phone Marketplace, which you access on your PC via Zune software, uses XML to get data over the wire.&#160; I wanted to share a couple of code snippets which might help an erstwhile data junkie on their way.&#160; [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 5px; margin-right: 5px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.manyniches.com%2Fwindows-phone%2Fcrawling-the-windows-phone-marketplace%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.manyniches.com%2Fwindows-phone%2Fcrawling-the-windows-phone-marketplace%2F&amp;source=BrandonWatson&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I have been asked by a few people how sites like <a href="http://www.wp7applist.com">WP7AppList</a> get their data.&#160; The Windows Phone Marketplace, which you access on your PC via Zune software, uses XML to get data over the wire.&#160; I wanted to share a couple of code snippets which might help an erstwhile data junkie on their way.&#160; This code works.&#160; It may not be the most elegant solution, but it works, and I wanted to share it with others in case they wanted to see how to parse the XML, or how to write LINQ queries against it.</p>
<p>Caveat – this is a geek enthusiast post.&#160; I used <a href="http://www.fiddler2.com/fiddler2/">Fiddler</a> to figure out how to parse the XML.&#160; This was something I did over Christmas break to give me a project about which I could be excited, and learn some more about parsing XML with LINQ.&#160; I also wanted to do some large database stuff, and this crawler throws off a ton of data.&#160; I did not use an proprietary knowledge about how our backend systems are working.&#160; This is all done against the public XML feeds.</p>
<p>First up, we are going to need to create some data structures to catch all of the inbound data.&#160; You can use anonymous types with LINQ, but I liked having a measure of control, and having the ability to handle null values and potential errors in the feed.</p>
<p><span id="more-494"></span>
<pre class="csharpcode"><span class="kwrd">public</span> <span class="kwrd">class</span> ZestAppData
{
    <span class="kwrd">public</span> <span class="kwrd">string</span> Title { get; set; }
    <span class="kwrd">public</span> <span class="kwrd">string</span> Id { get; set; }
    <span class="kwrd">public</span> DateTime ReleaseDate { get; set; }
    <span class="kwrd">public</span> DateTime Updated { get; set; }
    <span class="kwrd">public</span> <span class="kwrd">string</span> Version { get; set; }
    <span class="kwrd">public</span> <span class="kwrd">string</span> ShortDescription { get; set; }
    <span class="kwrd">public</span> <span class="kwrd">decimal</span> AverageUserRating { get; set; }
    <span class="kwrd">public</span> <span class="kwrd">int</span> UserRatingCount { get; set; }
    <span class="kwrd">public</span> <span class="kwrd">string</span> ImageId { get; set; }

    <span class="kwrd">public</span> IList&lt;ZestCategory&gt; Categories = <span class="kwrd">new</span> List&lt;ZestCategory&gt;();
    <span class="kwrd">public</span> IList&lt;ZestPublisher&gt; Publisher = <span class="kwrd">new</span> List&lt;ZestPublisher&gt;();
    <span class="kwrd">public</span> IList&lt;ZestOffer&gt; Offers = <span class="kwrd">new</span> List&lt;ZestOffer&gt;();
}

<span class="kwrd">public</span> <span class="kwrd">class</span> ZestCategory
{
    <span class="kwrd">public</span> <span class="kwrd">string</span> Id { get; set; }
    <span class="kwrd">public</span> <span class="kwrd">string</span> IsRoot { get; set; }
    <span class="kwrd">public</span> <span class="kwrd">string</span> Title { get; set; }
}

<span class="kwrd">public</span> <span class="kwrd">class</span> ZestOffer
{
    <span class="kwrd">public</span> <span class="kwrd">string</span> OfferId { get; set; }
    <span class="kwrd">public</span> <span class="kwrd">string</span> MediaInstanceId { get; set; }
    <span class="kwrd">public</span> <span class="kwrd">decimal</span> Price { get; set; }
    <span class="kwrd">public</span> <span class="kwrd">string</span> PriceCurrencyCode { get; set; }
    <span class="kwrd">public</span> <span class="kwrd">string</span> LicenseRight { get; set; }
    <span class="kwrd">public</span> List&lt;<span class="kwrd">string</span>&gt; PaymentType = <span class="kwrd">new</span> List&lt;<span class="kwrd">string</span>&gt;();
}

<span class="kwrd">public</span> <span class="kwrd">class</span> ZestPublisher
{
    <span class="kwrd">public</span> <span class="kwrd">string</span> Id { get; set; }
    <span class="kwrd">public</span> <span class="kwrd">string</span> Name { get; set; }
}</pre>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
    font-size: small;
    color: black;
    font-family: consolas, "Courier New", courier, monospace;
    background-color: #ffffff;
    /*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
    background-color: #f4f4f4;
    width: 100%;
    margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>&#160;</p>
<p>You are also going to want to have a bunch of variables defined for the URLs where the XML is coming from, the XML namespaces, etc:</p>
<pre class="csharpcode"><span class="kwrd">const</span> <span class="kwrd">string</span> BaseAppsUrl = <span class="str">&quot;http://catalog.zune.net&quot;</span>;
<span class="kwrd">const</span> <span class="kwrd">string</span> BaseImageUrl = <span class="str">&quot;http://image.catalog.zune.net&quot;</span>;

<span class="kwrd">const</span> <span class="kwrd">string</span> ZestVersion = <span class="str">&quot;/v3.2/&quot;</span>;
<span class="kwrd">const</span> <span class="kwrd">string</span> ZestImageVersion = <span class="str">&quot;/v3.0/&quot;</span>;

<span class="kwrd">const</span> <span class="kwrd">string</span> BaseApps = <span class="str">&quot;apps/&quot;</span>;
<span class="kwrd">const</span> <span class="kwrd">string</span> BaseImage = <span class="str">&quot;image/&quot;</span>;

<span class="kwrd">const</span> <span class="kwrd">string</span> BaseAppsResource = <span class="str">&quot;?clientType=WinMobile%207.0&amp;store=Zest&amp;orderby=downloadRank&quot;</span>;
<span class="kwrd">const</span> <span class="kwrd">string</span> BaseCommentsResource = <span class="str">&quot;/reviews/?store=Zest&amp;chunkSize=10&quot;</span>;
<span class="kwrd">const</span> <span class="kwrd">string</span> BaseImageResource = <span class="str">&quot;?width=240&amp;height=240&quot;</span>;

ZestCrawlEntities ZestCrawlContext;

XNamespace ns = <span class="str">&quot;http://www.w3.org/2005/Atom&quot;</span>;
XNamespace zestns = <span class="str">&quot;http://schemas.zune.net/catalog/apps/2008/02&quot;</span>;

<span class="kwrd">public</span> <span class="kwrd">string</span> LangCode = <span class="str">&quot;en-us&quot;</span>; <span class="rem">//setting the default value</span>

<span class="kwrd">public</span> List&lt;<span class="kwrd">string</span>&gt; ValidLangCodes = <span class="kwrd">new</span> List&lt;<span class="kwrd">string</span>&gt;(
    <span class="kwrd">new</span> <span class="kwrd">string</span>[] {  <span class="str">&quot;en-us&quot;</span>, <span class="str">&quot;en-gb&quot;</span>, <span class="str">&quot;de-de&quot;</span>,
                    <span class="str">&quot;fr-fr&quot;</span>, <span class="str">&quot;es-es&quot;</span>, <span class="str">&quot;it-it&quot;</span>,
                    <span class="str">&quot;en-au&quot;</span>, <span class="str">&quot;de-at&quot;</span>, <span class="str">&quot;fr-be&quot;</span>,
                    <span class="str">&quot;fr-ca&quot;</span>, <span class="str">&quot;en-ca&quot;</span>, <span class="str">&quot;en-hk&quot;</span>,
                    <span class="str">&quot;en-in&quot;</span>, <span class="str">&quot;en-ie&quot;</span>, <span class="str">&quot;es-mx&quot;</span>,
                    <span class="str">&quot;en-nz&quot;</span>, <span class="str">&quot;en-sg&quot;</span>, <span class="str">&quot;de-ch&quot;</span>,
                    <span class="str">&quot;fr-ch&quot;</span> });

<span class="kwrd">public</span> <span class="kwrd">string</span> AppAfterMarkerUrl { get; set; }
<span class="kwrd">public</span> <span class="kwrd">bool</span> HasMoreApps = <span class="kwrd">true</span>;
<span class="kwrd">public</span> <span class="kwrd">string</span> AppsResponseString { get; set; }
<span class="kwrd">public</span> XElement ReturnedAppsXml;</pre>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
    font-size: small;
    color: black;
    font-family: consolas, "Courier New", courier, monospace;
    background-color: #ffffff;
    /*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
    background-color: #f4f4f4;
    width: 100%;
    margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>&#160;</p>
<p>Have a look at the ValidLangCodes list.&#160; that’s the coding we have on the URLs for country specific data.&#160; So if you want to get the data from Mexico, us “es-mx.”&#160; The first two letters are the language code, and the second two are the country code.&#160; If an app is listed in the feed, it is active.&#160; The list returned is ordered, meaning the first app is ranked #1.&#160; I am pulling the ALL APPs list, which is the orderby clause on the BaseAppsResource.</p>
<p>The ZextCrawlContext is the ADO.NET DB model.&#160; Create your own and stuff the data however you want.</p>
<p>Now that we have the code segments, you are going to need a way to get the XML from MSFT servers.</p>
<pre class="csharpcode"><span class="kwrd">public</span> <span class="kwrd">void</span> GetAppsResponse()
{
    <span class="kwrd">string</span> FullUrl;
    <span class="kwrd">bool</span> done = <span class="kwrd">false</span>;

    <span class="kwrd">if</span> (!String.IsNullOrEmpty(AppAfterMarkerUrl))
    {
        FullUrl = AppAfterMarkerUrl;
    }
    <span class="kwrd">else</span>
    {
        FullUrl = BaseAppsUrl + ZestVersion + LangCode + <span class="str">&quot;/&quot;</span>
            + BaseApps + BaseAppsResource;
    }

    <span class="kwrd">while</span> (!done)
    {
        <span class="kwrd">try</span>
        {
            var request = WebRequest.Create(FullUrl) <span class="kwrd">as</span> HttpWebRequest;
            request.KeepAlive = <span class="kwrd">false</span>;

            var response = request.GetResponse() <span class="kwrd">as</span> HttpWebResponse;

            <span class="kwrd">if</span> (request.HaveResponse == <span class="kwrd">true</span> &amp;&amp; response != <span class="kwrd">null</span>)
            {
                var reader = <span class="kwrd">new</span> StreamReader(response.GetResponseStream());
                ReturnedAppsXml = XElement.Parse(reader.ReadToEnd());
                done = <span class="kwrd">true</span>;
            }
        }
        <span class="kwrd">catch</span>
        {
            Console.WriteLine(<span class="str">&quot;yeah, your connection was likely aborted&quot;</span>);
            done = <span class="kwrd">false</span>;
        }
    }
}</pre>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
    font-size: small;
    color: black;
    font-family: consolas, "Courier New", courier, monospace;
    background-color: #ffffff;
    /*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
    background-color: #f4f4f4;
    width: 100%;
    margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>&#160;</p>
<p>Now comes the fun part.&#160; Remember, the XML is coming over the wire, and it comes 100 elements at a time.&#160; So you have to parse the stream, stuff them somewhere and get the next stream.&#160; Included in the XML returned is the token for how you request the next bit of XML. (note, yes I know I am using RegEx where I could be using String.Replace; also sorry about the wonky formatting, but my blog has width issues)</p>
<pre class="csharpcode"><span class="kwrd">public</span> IEnumerable&lt;ZestAppData&gt; GetAppEntries()
{
    <span class="rem">//first we have to parse the feed which came back</span>
    IEnumerable&lt;ZestAppData&gt; entries =
        from e <span class="kwrd">in</span> ReturnedAppsXml.Elements(ns + <span class="str">&quot;entry&quot;</span>)
        select <span class="kwrd">new</span> ZestAppData
        {

            Title = e.Element(ns + <span class="str">&quot;title&quot;</span>).Value,

            Id = Regex.Replace(e.Element(ns + <span class="str">&quot;id&quot;</span>).Value, <span class="str">&quot;(urn:uuid:)(.)&quot;</span>, <span class="str">&quot;$2&quot;</span>),

            ReleaseDate = DateTime.Parse(e.Element(zestns + <span class="str">&quot;releaseDate&quot;</span>).Value),

            Updated = DateTime.Parse(e.Element(ns + <span class="str">&quot;updated&quot;</span>).Value),

            ShortDescription = e.Element(zestns + <span class="str">&quot;shortDescription&quot;</span>) == <span class="kwrd">null</span>
                ? <span class="str">&quot;&quot;</span> : e.Element(zestns + <span class="str">&quot;shortDescription&quot;</span>).Value,

            AverageUserRating = <span class="kwrd">decimal</span>.Parse(e.Element(zestns + <span class="str">&quot;averageUserRating&quot;</span>).Value),

            UserRatingCount = <span class="kwrd">int</span>.Parse(e.Element(zestns + <span class="str">&quot;userRatingCount&quot;</span>).Value),

            Version = e.Element(zestns + <span class="str">&quot;version&quot;</span>).Value,

            ImageId = Regex.Replace(e.Element(zestns + <span class="str">&quot;image&quot;</span>).Element(zestns + <span class="str">&quot;id&quot;</span>).Value, <span class="str">&quot;(urn:uuid:)(.)&quot;</span>, <span class="str">&quot;$2&quot;</span>),

            Categories = (
                from category <span class="kwrd">in</span> e.Elements(zestns + <span class="str">&quot;categories&quot;</span>).Elements(zestns + <span class="str">&quot;category&quot;</span>)
                select <span class="kwrd">new</span> ZestCategory
                {
                    Id = category.Element(zestns + <span class="str">&quot;id&quot;</span>).Value,
                    Title = category.Element(zestns + <span class="str">&quot;title&quot;</span>).Value,
                    IsRoot = category.Element(zestns + <span class="str">&quot;isRoot&quot;</span>).Value
                }).ToList(),

            Publisher = (
                from publisher <span class="kwrd">in</span> e.Elements(zestns + <span class="str">&quot;publisher&quot;</span>)
                select <span class="kwrd">new</span> ZestPublisher
                {
                    Id = publisher.Element(zestns + <span class="str">&quot;id&quot;</span>).Value,
                    Name = publisher.Element(zestns + <span class="str">&quot;name&quot;</span>).Value
                }).ToList(),

            Offers = (
                from offer <span class="kwrd">in</span> e.Elements(zestns + <span class="str">&quot;offers&quot;</span>).Elements(zestns + <span class="str">&quot;offer&quot;</span>)
                select <span class="kwrd">new</span> ZestOffer
                {
                    OfferId = offer.Element(zestns + <span class="str">&quot;offerId&quot;</span>).Value,
                    MediaInstanceId = offer.Element(zestns + <span class="str">&quot;mediaInstanceId&quot;</span>).Value,
                    Price = <span class="kwrd">decimal</span>.Parse(offer.Element(zestns + <span class="str">&quot;price&quot;</span>).Value),
                    PriceCurrencyCode = offer.Element(zestns + <span class="str">&quot;priceCurrencyCode&quot;</span>).Value,
                    LicenseRight = offer.Element(zestns + <span class="str">&quot;licenseRight&quot;</span>).Value,
                    PaymentType = (
                        from paymenttype <span class="kwrd">in</span> offer.Elements(zestns + <span class="str">&quot;paymentTypes&quot;</span>).Elements()
                        select paymenttype.Value).ToList()
                }).ToList()
        };

    <span class="rem">//now I need to get the AfterMarkerUrl from the XML feed</span>
    var afterMarker =
        from e <span class="kwrd">in</span> ReturnedAppsXml.Elements(ns + <span class="str">&quot;link&quot;</span>)
        <span class="kwrd">where</span> e.Attribute(<span class="str">&quot;rel&quot;</span>).Value == <span class="str">&quot;next&quot;</span>
        select (<span class="kwrd">string</span>)e.Attribute(<span class="str">&quot;href&quot;</span>).Value;

    <span class="kwrd">if</span> (afterMarker.Count() &gt; 0)
    {
        AppAfterMarkerUrl = BaseAppsUrl + afterMarker.Single();
    }
    <span class="kwrd">else</span>
    {
        HasMoreApps = <span class="kwrd">false</span>;
    }

    <span class="kwrd">return</span> entries;
}</pre>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
    font-size: small;
    color: black;
    font-family: consolas, "Courier New", courier, monospace;
    background-color: #ffffff;
    /*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
    background-color: #f4f4f4;
    width: 100%;
    margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>Now you have all the data you need to crawl the marketplace whenever you want.&#160; The LINQ stuff is really, really fast.&#160; Crawling the marketplaces can be a bit slow.&#160; I crawl each one individually when my code runs, and I store app lists for each of the markets.</p>
<p>One of the mistakes I made was having ZestAppData.Udpated be a DateTime and not a Date.&#160; I only crawl once per day, so I don’t need all the extra data.&#160; The Zest feeds update daily, I think every couple of hours.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.manyniches.com/windows-phone/crawling-the-windows-phone-marketplace/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Three Steps To The Developer Heart</title>
		<link>http://www.manyniches.com/entrepreneurs/three-steps-to-the-developer-heart/</link>
		<comments>http://www.manyniches.com/entrepreneurs/three-steps-to-the-developer-heart/#comments</comments>
		<pubDate>Tue, 15 Mar 2011 18:35:20 +0000</pubDate>
		<dc:creator>Brandon Watson</dc:creator>
				<category><![CDATA[Entrepreneurs]]></category>
		<category><![CDATA[apis]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[platforms]]></category>

		<guid isPermaLink="false">http://www.manyniches.com/entrepreneurs/three-steps-to-the-developer-heart/</guid>
		<description><![CDATA[One theme that surfaced for me at SxSW this week was the incredible amount of energy being expended trying to find developers for projects.&#160; It certainly is a theme that should help the guys at StackExchange, if only they figure out how to reach this audience.&#160; I was in so many rooms where the number [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 5px; margin-right: 5px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.manyniches.com%2Fentrepreneurs%2Fthree-steps-to-the-developer-heart%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.manyniches.com%2Fentrepreneurs%2Fthree-steps-to-the-developer-heart%2F&amp;source=BrandonWatson&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>One theme that surfaced for me at <a href="http://www.sxsw.com">SxSW</a> this week was the incredible amount of energy being expended trying to find developers for projects.&#160; It certainly is a theme that should help the guys at <a href="http://careers.stackoverflow.com/">StackExchange</a>, if only they figure out how to reach this audience.&#160; I was in so many rooms where the number of companies with ideas needing devs outnumbered the developers in the room &#8211; sometimes as high as 25x in a single room.</p>
<p>At first I thought that this was a systemic problem with SxSW.&#160; I’m not sure I have the data to support that conclusion, but there was a different problem afoot.&#160; Each and every one of these entities with ideas was going about their developer search completely wrong.&#160; Showing up with an iPad with large font text saying “I need devs” is not a good marketing strategy.</p>
<p>I also met quite a few companies trying to hawk their API wares and didn’t know how to go about getting developers excited.&#160; The skill set I have been building over my working career is understanding the mind of the developer, and how to reach them.&#160; I wanted to share this out so that others can reduce what was perceived as frustration as a lack of ability to find developers or get them excited about a project they had.</p>
<h3>Go Where Developers Are</h3>
<p>It’s a bit of an obvious statement, but seriously, if you are a company looking for developers, go where they go.&#160; If you are at SxSW, they may not be at the meetups.&#160; Why?&#160; Because they are off demoing/showing their apps.&#160; They are at these broader events for the same reason you are – to do business.&#160; Developers are in hot demand right now, and that supply/demand imbalance dictates that they are not only busy, but not partial to interruptions.</p>
<p>Go where they go.&#160; Is there a local iPhone developer group in your area?&#160; What about a technology specific show (PyCon FTW)?&#160; If the developers are at the event to <em>learn</em> versus to do <em>business</em>, you are likely better off.</p>
<h3>Be a Coder</h3>
<p>I got called a “marketing douchebag” on a panel at SxSW.&#160; I tried not to take offense.&#160; I am a product manager after all.&#160; However, I am a hobbyist coder.&#160; How can you be a developer marketer and not be?&#160; I love spending time writing code to make something cool.&#160; Is my solution the most elegant and efficient?&#160; Probably not.&#160; Can I wax philosophically about string interpolation of C#?&#160; I can now (thanks Miguel).</p>
<p>If you cannot speak the language, or understand the issues, how can you have a constructive conversation?&#160; More importantly, it’s just not as hard as you think.&#160; Seriously.&#160; We have a <a href="http://channel9.msdn.com/Series/Windows-Phone-7-Development-for-Absolute-Beginners">Windows Phone series for absolute beginners</a>.&#160; I know the notion of downloading tools may seem scary.&#160; Try it.&#160; Most of the dev communities have walk throughs to make it mostly doable by anyone who can install Office.&#160; If you can wrangle an XLS, you can likely get through some of the really beginner stuff.&#160; You may even like it.&#160; Net net, being credible in conversations in the dev user groups means at least being conversant.</p>
<h3>Have a Prototype</h3>
<p>Even if your design is awful, getting your concept across with working code is FAR FAR FAR more effective than PowerPoint slides or your highly polished 25 words or less routine.&#160; Here’s a secret about developers – any one worth their salt will see what you have and want to make it better.&#160; They may want to join your project, or they may just give you some tips on how to improve on what you are showing so that the next dev who sees it may get interested.&#160; Either way, you get some good feedback which is actionable by you.&#160; You are more likely to not change your slides or 25 word pitch, and just move on to the next developer, but getting actionable feedback from a developer is priceless.</p>
<p>The other benefit of having a prototype – a completely unpolished turd even – means you have had to communicate your ideas to the screen.&#160; That will show you the flaws in what you are trying to explain in words or PowerPoint, and makes for a much more constructive conversation with potential devs.&#160; Your idea gets better simply by trying to work through it on the screen.</p>
<p>So there you go.&#160; I hope that’s helpful for all the non-technical types looking to get to the dev community.&#160; It’s a great time to be a developer, and so much positive energy around projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.manyniches.com/entrepreneurs/three-steps-to-the-developer-heart/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>ProFlowers Might Be Harmful To Your Relationships</title>
		<link>http://www.manyniches.com/success-factors/proflowers-might-be-harmful-to-your-relationships/</link>
		<comments>http://www.manyniches.com/success-factors/proflowers-might-be-harmful-to-your-relationships/#comments</comments>
		<pubDate>Thu, 10 Mar 2011 19:04:52 +0000</pubDate>
		<dc:creator>Brandon Watson</dc:creator>
				<category><![CDATA[Success Factors]]></category>
		<category><![CDATA[customer support]]></category>
		<category><![CDATA[Fail]]></category>
		<category><![CDATA[ProFlowers]]></category>
		<category><![CDATA[social graph]]></category>

		<guid isPermaLink="false">http://www.manyniches.com/success-factors/proflowers-might-be-harmful-to-your-relationships/</guid>
		<description><![CDATA[I normally post about technology here.&#160; Business.&#160; Entrepreneurship.&#160; Customer service certainly has a place.&#160; Today gets a personal rant, with lessons applicable to the above.&#160; The short story is that I meant to have flowers delivered on Monday to my wife, and only today found out that ProFlowers would not be able to fulfill the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 5px; margin-right: 5px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.manyniches.com%2Fsuccess-factors%2Fproflowers-might-be-harmful-to-your-relationships%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.manyniches.com%2Fsuccess-factors%2Fproflowers-might-be-harmful-to-your-relationships%2F&amp;source=BrandonWatson&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I normally post about technology here.&#160; Business.&#160; Entrepreneurship.&#160; Customer service certainly has a place.&#160; Today gets a personal rant, with lessons applicable to the above.&#160; The short story is that I meant to have flowers delivered on Monday to my wife, and only today found out that <a href="http://www.proflowers.com">ProFlowers</a> would not be able to fulfill the order because they had no local vendor.&#160; For the tl;dr crowd, here are the key lessons:</p>
<ol>
<li><font face="Lucida Sans Unicode"><strong>Don’t take money before you can fulfill the contract</strong> – The mere fact that ProFlowers took my money without a way to fulfill my order is crazy.&#160; The fact that all of my interactions with them since Monday indicated none of this makes it even worse.</font></li>
<li><font face="Lucida Sans Unicode"><strong>Bad customer service will be cemented in search indexes</strong> – I let the woman know on the phone that the days of hanging up on an upset customer were done.&#160; I am codifying this here.&#160; I have set up a <a href="http://www.facebook.com/home.php?sk=group_185771104798557#!/home.php?sk=group_185771104798557">Facebook group</a>.&#160; I will request that my tweeps retweet this whole <a href="http://www.twitter.com/proflowers">ProFlowers</a> debacle.</font></li>
<li><font face="Lucida Sans Unicode"><strong>If you are in the business of delivering happiness, deliver!</strong> – Having a scripted response for a call center makes sense.&#160; However, the flowers I needed on Monday were to handle an issue on Monday.&#160; With each passing day, the value of those flowers decreases quite a bit.&#160; Flowers can bring joy, but lack of flowers can actually create problems.</font></li>
<li><font face="Lucida Sans Unicode"><strong>Flowers are not harder than pizzas</strong> – It’s not like it was some crazy arrangement that was ordered.&#160; Roses.&#160; How hard it is to cut some flowers and get them delivered?&#160; I was told that I was in a remote area.&#160; I live 10 miles from the Microsoft campus.&#160; Hardly remote.&#160; The pizza guy can get here in 30 minutes, and they actually have to bake the thing.</font></li>
</ol>
<p>The story begins on Monday morning.&#160; I ordered flowers to be delivered because I have been working quite hard, and traveling quite a bit.&#160; With yet another trip coming up for SxSW, I figured it would be a smart move to have the flowers delivered.</p>
<p><span id="more-490"></span>
<p>To their credit, <a href="http://ww11.1800flowers.com/">1-800-Flowers</a> (the first site I visited) stated clearly that for the arrangement that I wanted, they could not deliver same day.&#160; That’s what you should do.&#160; Knowing that I wanted to try and get the flowers that day, I went to the next link in the search results.&#160; Just a few minutes later the flowers were ordered.&#160; I even paid the extra $5 to ensure that they would be delivered that day.</p>
<p>Sometime around 5pm on Monday, ProFlowers called to let me know that they would not be able to meet the delivery schedule.&#160; They were nice about it, but it was a bit upsetting.&#160; The only offer they made was to call my wife and apologize.&#160; Given the flowers were supposed to be a surprise, that wouldn’t cut it.&#160; I asked the best question you can ask (thanks <a href="http://www.katg.com">Chemda</a>) when dealing with unhelpful customer service people: “what do we do now?”&#160; You have to commit to the WDWDN, and be silent.&#160; It’s uncomfortable for everyone.&#160; The woman eventually offered to upgrade the flower bouquet size.&#160; Done.</p>
<p>Tuesday came and went.&#160; I spent the whole day checking for delivery status.&#160; I called into ProFlowers several times, each time they assured me that they would get the flowers delivered.&#160; By the time I got home, around 10pm, they had not arrived.&#160; What surprised me was that no one saw fit to call me as they had the day before.&#160; Worse, throughout all of the conversations with the customer service reps, no one mentioned that they were having problems.&#160; They kept telling me that the flowers were “out for delivery.”</p>
<p>When I called Tues night, the woman read me the exact same script they had been reading me all day.&#160; “Can we call to apologize?”&#160; That’s such a strange thing to offer.&#160; I had to ask for something of monetary value.&#160; Perhaps their customer base just takes it – feeling that it’s just flowers, and that the cost was low, so getting anything of value isn’t appropriate.&#160; I asked, again, to get the next up-size on my bouquet.&#160; At this point, I was at the super-ultra-mega size bouquet.</p>
<p>No surprise – Wed came and went.&#160; No call from ProFlowers.&#160; I traded emails with them all day.&#160; They all had the same script:</p>
<p><a href="http://www.manyniches.com/wp-content/uploads/2011/03/image1.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.manyniches.com/wp-content/uploads/2011/03/image_thumb.png" width="444" height="360" /></a></p>
<p>What is involved in the “thorough investigation?”&#160; Despite all of the back and forth, it wasn’t until this morning that the truth came out:</p>
<p><a href="http://www.manyniches.com/wp-content/uploads/2011/03/image2.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 3px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.manyniches.com/wp-content/uploads/2011/03/image_thumb1.png" width="444" height="235" /></a></p>
<p>What’s nutty about this is that a) they again offer the apology letter, but b) insinuate that they can get the flowers delivered.&#160; I called to verify, and only then did they indicate that they had no vendor to fulfill the order.&#160; They absolutely knew this on Monday.&#160; It’s impossible that they did not.&#160; So they took my money, and agreed to a contract, without the ability to perform.</p>
<p>When I called this morning, the only thing that ProFlowers would say was “we’re sorry. We can call your wife.”&#160; Ridiculous.&#160; Only after venting on the poor CSR, did they offer me a $20 discount on a future order.&#160; Why would I <strong>EVER</strong> do business with these guys with them again?&#160; The worst part was, the woman basically said “sorry…have a nice day.”&#160; That made me pop.&#160; So I made today “make ProFlowers pay” day.&#160; Bad customer service, especially of this level, should not be allowed to persist, especially from a company with such a high search index placement.</p>
<p>So there it is.&#160; My poor wife the one who didn’t get nice flowers.&#160; I will sort that out, but my ask to you – join the Facebook group “<a href="http://www.facebook.com/home.php?sk=group_185771104798557#!/home.php?sk=group_185771104798557">ProFlowers is Bad for Relationships</a>.”&#160; “Like” it.&#160; <a href="http://twitter.com/#!/BrandonWatson/status/45923507397337088">Retweet</a> my post.&#160; I want this to run around the interwebs, and I want ProFlowers to feel a bit of the pain.&#160; This is a different world we live in now, and the social graph should be able to hold bad vendors accountable.</p>
<p>Also, if anyone has a suggestion for the best florist in Seattle who can delver a long overdue bouquet to my wife, let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.manyniches.com/success-factors/proflowers-might-be-harmful-to-your-relationships/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>More Revenues For Windows Phone 7 Developers</title>
		<link>http://www.manyniches.com/windows-phone/more-revenues-for-windows-phone-7-developers/</link>
		<comments>http://www.manyniches.com/windows-phone/more-revenues-for-windows-phone-7-developers/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 17:36:27 +0000</pubDate>
		<dc:creator>Brandon Watson</dc:creator>
				<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[money]]></category>
		<category><![CDATA[windows phone 7]]></category>
		<category><![CDATA[wp7dev]]></category>

		<guid isPermaLink="false">http://www.manyniches.com/windows-phone/more-revenues-for-windows-phone-7-developers/</guid>
		<description><![CDATA[We’ve made no secret of the fact that we believe we have a great platform for developers.&#160; The canvas we have delivered is enabling amazing creativity to flourish.&#160; Some developers, however, have taken a wait and see approach to developing for Windows Phone.&#160; For those who have taken the plunge, some developers are making more [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 5px; margin-right: 5px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.manyniches.com%2Fwindows-phone%2Fmore-revenues-for-windows-phone-7-developers%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.manyniches.com%2Fwindows-phone%2Fmore-revenues-for-windows-phone-7-developers%2F&amp;source=BrandonWatson&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>We’ve made no secret of the fact that we believe we have a great platform for developers.&#160; The canvas we have delivered is enabling amazing creativity to flourish.&#160; Some developers, however, have taken a wait and see approach to developing for Windows Phone.&#160; For those who have taken the plunge, <a href="http://www.everythingwm.com/fruit-ninja-over-7-times-more-revenue-on-windows-phone-compared-to-android/2011/03/09/">some developers are making more money on Windows Phone 7 than Android</a>, even though we have less handsets in market.</p>
<p>Yes, this is a data point of one, but it’s a public data point about which we can talk.&#160; There are many more stories like this on the horizon, but this is the first one that is verified by a third party.</p>
<h3>Fruit Ninja has made 7x more money on Windows Phone 7 than Android.</h3>
<p>That is the claim of the article.&#160; Why is this?&#160; There are many potential reasons, and I don’t want to venture into what could quickly devolve into a discussion based on opinions.&#160; What we can say is that the <a href="http://windowsteamblog.com/windows_phone/b/wpdev/archive/2011/03/08/an-update-on-windows-phone-marketplace-new-tips-policies-and-regional-access-program.aspx">data shows that the Windows Phone Marketplace works for developers</a>.&#160; It shows that customers of Windows Phone are spending money to buy apps.&#160; It shows that that Windows Phone has great potential.</p>
<p>UPDATE (03/09/11 11:20A): The Xylogic data is what it is.&#160; I won’t vouch for it, so short of taking this post down, I can only say that I cannot verify their Android data.&#160; Is it a fair assumption that any overstatement/understatement they make for Windows Phone is same for Android?&#160; Maybe.&#160; I am not going to surface Fruit Ninja numbers as that’s not my place.&#160; Unless Xylogic made a mistake in our favor (overstating $$ on Windows Phone) and against Android (understating $$ on Android), the ratio will hold.</p>
<p>Besides, and here’s the point that everyone seems to be missing – we have sold way fewer phones and Android.&#160; Way.&#160; Even if we were at parity on revenues, which platform is more appealing?&#160; Don’t let the source of the data get in the way of the undeniable fact: the dynamics and structure of the marketplace on Android creates a challenge for developers to make money.&#160; When Angry Birds can’t make money with per unit sales, that’s a sign. [END UPDATE]</p>
<p>We are still learning, and will continue to share what we learn with our developer community about what apps are working, how to market their apps, get noticed, etc.&#160; However, the fact remains that for this developer, Windows Phone 7 has been well worth their time.</p>
<p>The smart money is to bet on the train that is leaving the station, not the one that’s gone.&#160; Again, public data point of one, but this train is picking up steam.&#160; As CNet noted, <a href="http://news.cnet.com/8301-30686_3-20040926-266.html?tag=topImage2">our mobile fortunes are tied to app developers</a>.&#160; Getting developers info like this is incredibly important to demonstrating that Windows Phone is a viable, credible, profitable platform for developers.&#160; We will turn ourselves inside out to get developers whatever they need to be successful.</p>
<p>Still on the fence?&#160; If you are an Android developer, and looking for a switch, reach out to us.&#160; For developers committed to building on Windows Phone, we will take care of you.&#160; Every developer matters.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.manyniches.com/windows-phone/more-revenues-for-windows-phone-7-developers/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>

