<?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>willcodeforcoffee.com</title>
	<atom:link href="http://willcodeforcoffee.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://willcodeforcoffee.com</link>
	<description>The personal programming blog of Eric Hoff.</description>
	<lastBuildDate>Wed, 03 Apr 2013 19:58:57 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>How do I parse HTML in C# using Regular Expressions</title>
		<link>http://willcodeforcoffee.com/2012/01/18/how-do-i-parse-html-in-c-using-regular-expressions/</link>
		<comments>http://willcodeforcoffee.com/2012/01/18/how-do-i-parse-html-in-c-using-regular-expressions/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 20:03:51 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://willcodeforcoffee.com/?p=210</guid>
		<description><![CDATA[At first it seemed like a really simple string manipulation thing, but quickly blew out of proportion into something crazy.]]></description>
				<content:encoded><![CDATA[<p>I ran into an interesting problem yesterday. All I wanted to do was some simple tokenizing of a partial HTML document, an HTML fragment (it was article content from the website I work on) based on certain elements. At first it seemed like a really simple string manipulation thing, but quickly blew out of proportion into something crazy.</p>
<p><span id="more-210"></span>In short, <a title="This really made me laugh" href="http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454" target="_blank">never ever never use Regexes</a> or anything else to parse HTML. To do so is to descend into madness. HTML is not simple text, it has structure. Even simple fragments have structure to them that cannot be identified simply through token parsing.</p>
<p>Always <strong>always <em>always</em></strong> use an HTML parser, such as the <a title="To the CodePlex site..." href="http://htmlagilitypack.codeplex.com/" target="_blank">Html Agility Pack</a>. That is what I did. The parser created the document and tokenized everything for me and from there I was able to parse and manipulate the node tree to match the requirements we had.</p>
<p>Never use anything else if you can avoid it.</p>
]]></content:encoded>
			<wfw:commentRss>http://willcodeforcoffee.com/2012/01/18/how-do-i-parse-html-in-c-using-regular-expressions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Year With Windows Phone</title>
		<link>http://willcodeforcoffee.com/2012/01/02/windows-phone-year/</link>
		<comments>http://willcodeforcoffee.com/2012/01/02/windows-phone-year/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 20:25:28 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://willcodeforcoffee.com/?p=205</guid>
		<description><![CDATA[I&#8217;ve spent almost a full year with my LG Windows 7 smartphone now, so here is my look back on that year. In general I&#8217;ve been very happy with this phone. I&#8217;ve liked the tile interface, but it is a little dull to have the flat colours. Its nice that stuff like the weather apps [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve spent almost a full year with my LG Windows 7 smartphone now, so here is my look back on that year.</p>
<p><span id="more-205"></span></p>
<p>In general I&#8217;ve been very happy with this phone. I&#8217;ve liked the tile interface, but it is a little dull to have the flat colours. Its nice that stuff like the weather apps put in some colour.</p>
<p>Internet Explorer for Windows Phone 7 is still awful even on Mango. Probably the biggest issue is that most mobile sites are designed only for iPhone or mobile Safari so it works on Android and iPhone.</p>
<p>I&#8217;ve noticed that the hardware and handsets are not getting picked up by carriers. Android is getting all the sexy hardware. Google has spent gajillions advertising the new <a href="http://www.google.com/nexus/">Galaxy Nexus</a> phone but I haven&#8217;t seen any ads for Windows 7 phones in my city. My cell provider, Telus hasn&#8217;t updated its stock of Windows Phones all year, in fact they&#8217;ve gone from two phones to just the one. I&#8217;m pretty sure that it is the same in the US and world-wide.</p>
<p>I&#8217;m very disappointed that Microsoft isn&#8217;t pushing WP7 harder. Samsung should be able to put WP7 on the same hardware as the Galaxy S II but they aren&#8217;t. The same goes for HTC and Motorola. Android seems to be getting all the hardware love!</p>
<p>My wife just got the new RAZR from Motorola and I&#8217;m pretty impressed. Another friend has the new Galaxy S II and it is just as good. They&#8217;re fun phones with big screens and lots of great features; tons of apps and games, dual-core processors, expandable memory, a great web browser.</p>
<p>I&#8217;m starting to worry that Microsoft isn&#8217;t as comitted to WP7 as I originally thought. It certainly seems that the manufacturers and carriers are not. 2012 is the year of <a href="http://windows.microsoft.com/en-US/windows-8/preview">Windows 8</a>, hopefully not the end of the <a href="http://www.microsoft.com/windowsphone/en-us/default.aspx">Windows Phone</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://willcodeforcoffee.com/2012/01/02/windows-phone-year/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blocking Stores</title>
		<link>http://willcodeforcoffee.com/2011/10/27/blocking-stores/</link>
		<comments>http://willcodeforcoffee.com/2011/10/27/blocking-stores/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 16:52:39 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[My Two Cents]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://willcodeforcoffee.com/?p=200</guid>
		<description><![CDATA[Recently, after an Apple Terms of Service change the Audible and Amazon Kindle apps had to update their apps removing links to their respective online stores. I&#8217;m assuming this is to force people to use the iTunes and iBooks stores instead. I think this is anti-competitive in its own right, but there is another problem [...]]]></description>
				<content:encoded><![CDATA[<p>Recently, after an Apple Terms of Service change the <a href="http://www.zdnet.com/blog/hardware/audible-removes-link-to-store-from-ios-app/15319" target="_blank">Audible</a> and <a href="http://www.computerworld.com/s/article/9218629/Amazon_caves_to_Apple_drops_Kindle_s_in_app_button" target="_blank">Amazon Kindle</a> apps had to update their apps removing links to their respective online stores. I&#8217;m assuming this is to force people to use the iTunes and iBooks stores instead. I think this is anti-competitive in its own right, but there is another problem I see for Apple here&#8230;<br />
Apple has deliberately ruined the user experience for me on their devices! I can now buy books easier on other devices than I can on the iPad.<br />
I do not feel compelled to use Apples stores instead because I already use these other services.<br />
I wonder if this will ever cause people to stop using Apple products?</p>
]]></content:encoded>
			<wfw:commentRss>http://willcodeforcoffee.com/2011/10/27/blocking-stores/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Late To The Party</title>
		<link>http://willcodeforcoffee.com/2011/06/16/late-to-the-party/</link>
		<comments>http://willcodeforcoffee.com/2011/06/16/late-to-the-party/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 19:11:33 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[My Two Cents]]></category>

		<guid isPermaLink="false">http://willcodeforcoffee.com/?p=182</guid>
		<description><![CDATA[Doesn&#8217;t anyone else think it is odd that while there was a Windows XP Tablet Edition (in 2002 even), and even Vista had an on-screen keyboard, most people say Microsoft was late to the tablet party? I do. I remember the first tablets coming out, but they were expensive and under-powered. Still, I remember seeing [...]]]></description>
				<content:encoded><![CDATA[<p>Doesn&#8217;t anyone else think it is odd that while there was a <a href="http://en.wikipedia.org/wiki/Windows_XP_editions#Tablet_PC_Edition" target="_blank">Windows XP Tablet Edition</a> (in 2002 even), and even Vista had an on-screen keyboard, most people say Microsoft was late to the tablet party? I do.</p>
<p><span id="more-182"></span>I remember the first tablets coming out, but they were expensive and under-powered. Still, I remember seeing them at the doctor&#8217;s office and <a href="http://majestik.org/" target="_blank">a few other places</a>. A $2500 tablet is inaccessible to most people, Apple got it right with a sub-$1000, heck sub-$600 iPad tablet. It wasn&#8217;t a full on OS, it was a slightly bigger phone OS, but iPad was what got people into tablets.</p>
<p>Microsoft recently demoed Windows 8 on YouTube: <a href="http://youtu.be/p92QfWOw88I?hd=1">Windows 8 Demo</a></p>
<p>It <em>looks</em> like a pure tablet OS &#8211; except it is a full version of Windows. It will also run on ARM processors, the cheap processors in your cell phone, not the expensive mobile versions of desktop processors that previous Windows tablets used. This means reasonable prices and a desktop caliber OS.</p>
<p>A <a href="http://www.techradar.com/news/computing/apple/computing-components/mobile-computing/software/operating-systems/windows-8-ui-was-being-planned-before-apples-ipad-launched-966791?src=rss&amp;attr=all" target="_blank">recent interview with a Microsoft executive</a> showed Microsoft&#8217;s concern for hitting the market. There was a huge lag between IE6 and IE7, Windows XP and Windows Vista. Microsoft&#8217;s product cycles are measured in geological time, something unacceptable in a fast moving high-tech world. They&#8217;re acknowledging it, and moving on it, but its too late &#8211; they&#8217;re already buried.</p>
<p>Apple is clearly dominating the tablet market, and the iPhone is the gold standard for cell phones. Steve Jobs and the Apple team know exactly how to place a product in front of people and turn them into consumers. Microsoft is doing well with Windows and Office because people are comfortable with them, but they haven&#8217;t got a clue when it comes to introducing new products. When Microsoft finally does bring out a tablet running Windows 8 they need to capitalize on the market they were first to, but was opened up by Apple.</p>
]]></content:encoded>
			<wfw:commentRss>http://willcodeforcoffee.com/2011/06/16/late-to-the-party/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Mobile Web Browser</title>
		<link>http://willcodeforcoffee.com/2011/06/04/the-mobile-web-browser/</link>
		<comments>http://willcodeforcoffee.com/2011/06/04/the-mobile-web-browser/#comments</comments>
		<pubDate>Sat, 04 Jun 2011 15:19:37 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[My Two Cents]]></category>

		<guid isPermaLink="false">http://willcodeforcoffee.com/?p=161</guid>
		<description><![CDATA[http://devblog.blackberry.com/2010/08/developing-new-blackberry-browser/]]></description>
				<content:encoded><![CDATA[<p>Remember back in the days of the <a title="Browser wars is a metaphorical term that refers to competitions for dominance in usage share in the web browser marketplace." href="http://en.wikipedia.org/wiki/Browser_wars" target="_blank">browser wars</a>? We chose a browser and that was what defined our web experience. In the end Microsoft won with Internet Explorer. They had the desktop marketshare and IE was integrated into the OS to the point that it was (arguably) the fastest and easiest to use. Eventually sites were just built for IE only, or Netscape Navigator only. But a new browser war is forming. In these &#8220;modern times&#8221; the web browsers are integrated into the phone&#8217;s OS as IE was with Windows 95, and we pretty much live with them the way they are: Safari on iPhone, whatever is labeled &#8220;Browser&#8221; on the Android and BlackBerry, Internet Explorer on Windows Phone, etc.. But a new battle for browser market-share is forming with Opera and Mozilla drawing battle lines.</p>
<p><span id="more-161"></span></p>
<p>When the iPhone first came out it made waves. It had probably the best web browser available on a phone. Apple was banking on people using the web on their phones. Apple&#8217;s Mobile Safari had a lot of tricks built into, especially CSS tricks, to make a consistent &#8220;Apple-style&#8221; UI with mobile websites. Unfortunately at the time consumers did not agree, and developers demanded a programming API to write native applications instead of web applications.</p>
<p>Things are coming around full circle now. Late last year <a href="http://mashable.com/2010/11/16/rim-ceo-on-apps/" target="_blank">RIM (BlackBerry) CEO Jim Balsillie said you don&#8217;t need apps, you need the web</a>. Its a funny thing to say, because when Steve Jobs said it he was wrong &#8211; and especially when there are so many thousands of apps in the various &#8220;App Stores&#8221; out there. Its funnier still that I think he might be right this time.</p>
<p>The desktop internet world has matured but the fragmentation we saw during the browser wars is coming back in the mobile world. One interesting fact though is that the default iPhone web browser (Safari) and the Android web browser are both based on the same desktop browser engine: <a href="http://webkit.org/" target="_blank">WebKit</a> &#8211; the same WebKit that Apple&#8217;s Safari and Google&#8217;s Chrome <em>desktop</em> browsers are. The new <a href="http://us.blackberry.com/smartphones/blackberrytorch.jsp" target="_blank">BlackBerry Torch</a> has the new BlackBerry OS 6 also including a WebKit based web browser. This is good news: WebKit is one of the best HTML5 browsers available right now. Both Safari and the Android Browser score pretty high on <a href="http://html5test.com/" target="_blank">Html5Test.com</a>, (I don&#8217;t have the exact figures) so I assume that the BlackBerry would as well. With all of these big companies working on the same open-source project we are seeing some good results in the WebKit area!</p>
<p>I recently loaded up the <a href="http://www.mozilla.com/en-US/mobile/beta/" target="_blank">Firefox Mobile browser</a> on an Android phone I have and I was EXTREMELY impressed despite the fact it is beta bits! It has the best mobile HTML5 support I&#8217;ve seen in a mobile device (207 + 9 points at <a href="http://html5test.com/" target="_blank">Html5Test.com</a> when 3.6.12 for desktop gets 139 + 4!). The best part is the navigation and control though: like tabs on the left and the back/forward buttons on the right. It was designed for mobile from the start.</p>
<p><a href="http://www.opera.com/mobile/">Opera Mini</a> is another popular browser, though slower than Webkit and Firefox, it still has some other nice features &#8211; and has been around a lot longer. It (severely) lacks the HTML5 support of Firefox and Safari (only 27 points!), it does have the nice &#8220;Speed Dial&#8221; feature. Opera is really pushing the mobile browsers though, so hopefully they will be innovating in HTML5 quite a bit further, but despite that it is still a decent mobile browser. Opera is available on almost any smartphone too (even iPhone!), while Firefox is really only on Android.</p>
<p>I have Windows Phone 7 with mobile IE, like its desktop cousin it is easily the worst of the modern mobile browsers, thankfully the Mango update to Phone 7 will bring more advanced features, but it will still leave mobile IE way behind. Despite the lack of features and polish in Safari though, IE is a very capable browser.</p>
<p>It doesn&#8217;t look like fragmentation will stop, since each browser is defined and tied to the phone OS (just like the IE bad-old days), but this time it looks like the competitors are on a more level playing field.</p>
]]></content:encoded>
			<wfw:commentRss>http://willcodeforcoffee.com/2011/06/04/the-mobile-web-browser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bored Programmer Syndrome</title>
		<link>http://willcodeforcoffee.com/2011/06/02/bored-programmer-syndrome/</link>
		<comments>http://willcodeforcoffee.com/2011/06/02/bored-programmer-syndrome/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 00:17:36 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Humour]]></category>

		<guid isPermaLink="false">http://willcodeforcoffee.com/?p=181</guid>
		<description><![CDATA[Over-engineering, and under-designing a project is a common problem you will see when your programmer is bored. You'll see a bored programmer do things like over engineering with little design.]]></description>
				<content:encoded><![CDATA[<p>When a programmer is bored he sometimes over-engineers and under-designs a project. We adopt an attitude like &#8220;well, if I have to do this in VS2005 and .NET 2.0 I may as well implement a service-locator and message bus and use all that technology I wanted to learn.</p>
<p><a href="http://en.wikipedia.org/wiki/Larry_Wall" _mce_href="http://en.wikipedia.org/wiki/Larry_Wall" target="_blank">Larry Wall</a> truthfully said the <a href="http://en.wikipedia.org/wiki/Larry_Wall#Virtues_of_a_programmer" _mce_href="http://en.wikipedia.org/wiki/Larry_Wall#Virtues_of_a_programmer">best virtues</a> for a programmer are <a href="http://c2.com/cgi/wiki?LazinessImpatienceHubris" _mce_href="http://c2.com/cgi/wiki?LazinessImpatienceHubris">laziness, impatience and hubris</a>. Sometimes you ignore these virtues when you get bored, you start to do stuff you know you shouldn&#8217;t, and your laziness doesn&#8217;t balance your hubris.</p>
<p>My new virtue that I&#8217;m going to work hard on is, ironically, laziness. <img src='http://willcodeforcoffee.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  KISS is the new methodology for me to follow: <span style="text-decoration: underline;" _mce_style="text-decoration: underline;">K</span>eep <span style="text-decoration: underline;" _mce_style="text-decoration: underline;">I</span>t <span style="text-decoration: underline;" _mce_style="text-decoration: underline;">S</span>imple, <span style="text-decoration: underline;" _mce_style="text-decoration: underline;">S</span>tupid for design, YAGNI: You Aren&#8217;t Gonna Need It for architecture.</p>
]]></content:encoded>
			<wfw:commentRss>http://willcodeforcoffee.com/2011/06/02/bored-programmer-syndrome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>This is How Microsoft Sells Windows Phone 7 To Me?</title>
		<link>http://willcodeforcoffee.com/2010/10/19/this-is-how-microsoft-sells-windows-phone-7-to-me/</link>
		<comments>http://willcodeforcoffee.com/2010/10/19/this-is-how-microsoft-sells-windows-phone-7-to-me/#comments</comments>
		<pubDate>Tue, 19 Oct 2010 12:41:27 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[My Two Cents]]></category>

		<guid isPermaLink="false">http://willcodeforcoffee.com/?p=153</guid>
		<description><![CDATA[Microsoft is condemning all phones as being distracting to the point of causing accidents. So buy our phone. That is Microsoft's sales pitch??]]></description>
				<content:encoded><![CDATA[<p>So Microsoft released Windows Phone 7 last week. I&#8217;ve talked about the phone before. I was pretty disappointed with their ads though:<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/Dv-fbO-_xl0?fs=1&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/Dv-fbO-_xl0?fs=1&amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
<a href="http://www.youtube.com/watch?v=Dv-fbO-_xl0">YouTube: Season of the Witch</a></p>
<p>I&#8217;m baffled. The way the ad looks to me someone was texting while driving and <em>almost <strong>killed </strong>everyone </em>in the commercial! And then everyone is too busy texting about it to notice each other&#8230;</p>
<p><strong>It&#8217;s time for a phone to save us from our phones</strong> is the big take-away line. The problem I see with this ad is that it condemns <strong>all</strong> phones as causing accidents and distracting people.</p>
<p>Microsoft: people love using their phones! I do, even my lousy Storm. Phones are distracting because they&#8217;re good. Sell me a phone I want to use and does the things I need. In a way, I think that is what you&#8217;re saying, but I&#8217;m seeing something different.</p>
]]></content:encoded>
			<wfw:commentRss>http://willcodeforcoffee.com/2010/10/19/this-is-how-microsoft-sells-windows-phone-7-to-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internet Explorer 9 Beta and HTML5</title>
		<link>http://willcodeforcoffee.com/2010/10/08/internet-explorer-9-beta-and-html5/</link>
		<comments>http://willcodeforcoffee.com/2010/10/08/internet-explorer-9-beta-and-html5/#comments</comments>
		<pubDate>Fri, 08 Oct 2010 21:44:26 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://willcodeforcoffee.com/?p=148</guid>
		<description><![CDATA[It looks like Internet Explorer is going to continue the tradition of obsolescence and suckage.]]></description>
				<content:encoded><![CDATA[<p>I downloaded the latest Internet Explorer 9 beta this morning and ran it against <a href="http://html5test.com/">html5test.com</a>, and it scored 96 points out of 300. Chrome gets 231 points and even Firefox 3.6 gets 139 (4.0 beta gets 215).<br />
I&#8217;m more than a little disappointed. It looks like Internet Explorer is going to continue the tradition of obsolescence and suckage.<br />
Chrome has been my default browser for a long time, and I&#8217;m glad that it is! The new IE9 is fast, but that is probably because it doesn&#8217;t do anything yet.<br />
Here is hoping that the IE9 team brings in more adoption before IE9 releases.</p>
]]></content:encoded>
			<wfw:commentRss>http://willcodeforcoffee.com/2010/10/08/internet-explorer-9-beta-and-html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Phone 7 Thoughts</title>
		<link>http://willcodeforcoffee.com/2010/10/08/windows-phone-7-thoughts/</link>
		<comments>http://willcodeforcoffee.com/2010/10/08/windows-phone-7-thoughts/#comments</comments>
		<pubDate>Fri, 08 Oct 2010 14:49:36 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[My Two Cents]]></category>

		<guid isPermaLink="false">http://willcodeforcoffee.com/?p=135</guid>
		<description><![CDATA[Will Windows Phone 7 beat the iPhone? No, but it might put the squeeze Android and really hurt BlackBerry bad.]]></description>
				<content:encoded><![CDATA[<p>Yesterday I saw a preview of a <a href="http://www.windowsphone7.com/">Windows Phone 7</a> (WP7, or <a href="http://twitter.com/#!/search/%23WP7">#WP7 on Twitter</a>) when <a href="http://www.joeydevilla.com/">Joey deVilla</a> and <a href="http://twitter.com/jbristowe">John Bristowe</a> were in town for <a href="http://blogs.msdn.com/b/cdndevs/archive/2010/10/06/windows-phone-7-coffee-and-code-edmonton-tomorrow.aspx">a one day coffee and code</a> at a Second Cup in downtown Edmonton.<br />
I&#8217;m not going to do a big preview of the phone, I didn&#8217;t get that kind of access. I tried out a demo phone running Windows Phone 7 software. <a href="http://www.engadget.com/2010/07/19/windows-phone-7-in-depth-preview/">Engadget did a great preview</a> with lots of details. Is Windows 7 going to kill the iPhone? I really doubt it. Will it kill Android? I think its likely to take a lot of market from Android, but I&#8217;ll talk about that later.<br />
I&#8217;m not interested in Apps. WP7 will have Twitter apps, and has Facebook integration built in. Probably a lot of the popular iPhone and Android software will eventually get ported over to WP7. As a web developer I am most interested in the web browsing experience, and it looked pretty good.<span id="more-135"></span><br />
<strong>The Web Browser</strong><br />
The WP7 web browser is based on desktop Internet Explorer 7, but it isn&#8217;t IE7. Joey said he liked to call it IE7.5; it also has a lot from IE8 put in it. He told me Microsoft is working hard on porting a lot of the HTML5 goodness from IE9 onto the phone, but I wouldn&#8217;t expect that until WP8. I think this is pretty amazing myself, because they are using the same software as the desktop browsers on the phone. Since it is based on the desktop software I&#8217;m sure we can expect it to have a lot of the features of the desktop software. Unfortunately IE7 wasn&#8217;t really all that great to begin with, it was just a marked improvement on IE6.<br />
I am glad it isn&#8217;t another <a href="http://webkit.org/">WebKit</a> browser, the browser engine behind iPhone&#8217;s Safari and Android&#8217;s browser and the new browser on the BlackBerry Torch. Why? Just because its good to see competition. WebKit is an excellent browser, but it is lacking HTML5 support in many areas also. Competition will improve this.<br />
<strong>The Windows Phone 7 User Interface</strong><br />
The UI is very different from any I&#8217;d used before. On computers we are used to scrolling up and down only, and for the most part that is true on phones as well. The iPhone has pages of apps that you scroll sideways on, but it wasn&#8217;t the same as on the WP7 UI. The WP7 UI is based around hubs, shown as squares on the main page. The biggest difference I saw was just how much side-scrolling was used in the page menus. You could tell each swipe brought you something different, another context. It was very interesting and intuitive.<br />
<strong>Predictions: The Future vs. Android</strong><br />
I said earlier that I thought that WP7 could take market share from Android, and I really do think so. Android has good potential as a platform, its open source (<a href="http://techcrunch.com/2010/09/09/android-open/">sort of</a>) and can be customized by manufacturers. Unfortunately the manufacturers don&#8217;t do it well. Their software is terrible and this results in an unstable phone that crashes a lot. My brother has told me he can&#8217;t even take pictures anymore without having his phone reboot! The manufacturers are also tight about allowing OS upgrades because they would rather you buy a new handset from them. With the iPhone 4 coming out, I&#8217;m hearing a lot of people say <a href="http://openmymind.net/2010/9/14/Sorry-Google-but-my-next-phone-will-be-an-iPhone">they wish they had gotten an iPhone instead of an Android and will not buy an Android again</a>.<br />
Windows Phone 7 has the potential to break this. From what I understand the basic WP7 OS will be the same across all manufacturers without customization. Upgrades will be via Microsoft (probably like Windows Update). No more <a href="http://en.wikipedia.org/wiki/TouchFLO">TouchFLO</a>, no specific Motorola bits. The main difference between WP7 phones will be in the hardware &#8211; cameras, memory, processor speeds. This means a much more consistent look and feel, and hopefully better reliability.<br />
I see most of the WP7 market share being taken from Android.<br />
<strong>Predictions: The Future vs. iPhone</strong><br />
I don&#8217;t think WP7 will beat iPhone right now. Perhaps Windows Phone 8 will compete better, but WP7 lacks too many features that are already in iPhone 4: cut and paste, multitasking and a huge lead in App development. iPhone also has something that neither Android/Google or Microsoft have: <a href="http://www.urbandictionary.com/define.php?term=fanboi">fanbois</a>. Sure there are a few Android and Microsoft fanboys out there, but Apple has a rabid and loyal following, whereas Microsoft is mostly derided and Google taken for granted as the search engine and nothing more.<br />
Microsoft didn&#8217;t buy any loyal fans with their previous generations of phone software. Windows Phone 6 was a flop. Microsoft released the <a href="http://en.wikipedia.org/wiki/Microsoft_Kin">Kin</a> back in June but bailed completely by August. Not enough time to gain a following. But on the other hand, <a href="http://today.msnbc.msn.com/id/39499661/ns/today-entertainment/">Tony Curtis was buried with his iPhone</a> &#8211; inseparable even in death.<br />
Apple&#8217;s high-price-for-high-quality reputation is starting to get tarnished. Call quality has never been great on the iPhone in the first three generations and with the iPhone 4 &#8220;Antennagate&#8221; fiasco, I wonder if some people might start to get dissatisfied with Apple and its poor customer support. Apple&#8217;s first acknowledgment of the antenna problem was <a href="http://www.cultofmac.com/apple-says-we-got-it-totally-wrong/49285">to say they were reporting the signal quality wrong</a> this whole time.<br />
<strong>Predictions: The Future vs. BlackBerry</strong><br />
BlackBerry is a different kind of animal &#8211; its more of a work phone. With Microsoft&#8217;s strong exchange integration I could see them taking a lot more of BlackBerry&#8217;s market-share away. BlackBerry doesn&#8217;t make good consumer phones. The Storm flopped (don&#8217;t I know it), the new Torch is supposed to be really good, and we&#8217;ll have to see, but its not making enough of a mark in the market right now. I&#8217;m predicting that BlackBerry may eventually start selling Windows Phones because innovating with their OS is too expensive and difficult.<br />
<strong>Handsets:</strong><br />
Antenna problems excluded, the current iPhone 4 hardware is amazing: 1GHz processor, 16GB or 32GB of space, an amazing camera and that gorgeous Retina Display screen technology. I&#8217;m sure that there will be a lot of comparable hardware for WP7 out there, but will it be significantly cheaper? I believe Android is popular is because the handsets are cheap. If WP7 phones can come out and be $100, $200 cheaper than iPhone then it might compete a little better.<br />
The WP7 phone I saw yesterday had LG branding on it, and the Engadget phone was a Samsung. These are two great hardware brands. I looked closely at the LG screen, and I&#8217;m sure it wasn&#8217;t quite as high-resolution as the iPhone Retina display, but it was still very very good &#8211; better than an iPhone 3GS. It was probably in the 800&#215;400 pixel range, where the iPhone 4 has 960&#215;640 pixels in probably the same area.<br />
But the LG did have a slide-out keyboard. While this isn&#8217;t really <em>that</em> that important, a lot of people want keyboards on their phone &#8211; and this illustrates my point: when you buy an iPhone 4 you get the same iPhone 4 as <a href="http://www.stephenfry.com/2010/06/23/iphone-4-a-welcome-and-a-warning/">Stephen Fry</a>, Tony Curtis and Steve Jobs. You get the same iPhone on Telus, Bell or Rogers. If you get a WP7 phone you&#8217;ll get more options, just like with Windows PCs. Do you want one with an 8MP camera, or 5MP camera, or no camera? A slide-out keyboard or not? This is both good and bad because we&#8217;ll have shop in the WP7 market, and some phones will only be available with some carriers. But we&#8217;ll probably also see phones from $399 up, whereas with iPhone you get 16GB for $659 or 32GB for $779.<br />
Apple&#8217;s stand (on <em>all</em> their hardware) has been higher price for higher quality. Apple&#8217;s quality is questioned a lot more now, but they still have a great reputation. Consumers will not know how reliable their WP7 handset will be.<br />
<strong>Developers, Developers, Developers</strong><br />
As usual, Microsoft is betting the bank on <a href="http://www.youtube.com/watch?v=8To-6VIJZRE">developers (developers developers developers)</a> to build compelling apps for their platforms. WP7 uses <a href="http://www.silverlight.net/">Silverlight</a>, a simplified version of their Windows Presentation Foundation user interface designed for the web, and now for devices. Any developer using familiar .NET languages like C# and VB.NET can develop apps for the Windows Phone now &#8211; without having to pay extra for the SDKs. Even the tools will be free.<br />
To develop on the iPhone you have to own a Mac (expensive) and XCode. You cannot develop for iPhone on Windows or Linux using the Apple tools. Developing for iPhone requires learning a new programming language (Objective-C) and libraries. Objective-C itself is an older lower-level language than .NET or Java and requires memory management and other tools developers really don&#8217;t do anymore in a &#8216;modern&#8217; language, increasing the learning curve.<br />
To develop for Android you only need the SDK and Eclipse, both freely available for Windows, Linux and OSX. Android runs applications programmed in Java, a fairly modern and well taught language (most university Computer Science and Engineering students in the past ten years have had some exposure to Java).<br />
I think Microsoft really has the advantage here. Most Windows developers will be able to easily get into Windows Phone development. Microsoft is also very good at finding ways to help developers use more of their &#8220;stack&#8221; &#8211; and Microsoft has a much bigger programming stack than Apple: Azure for Cloud Computing and storage, tons of Silverlight components from 3rd Party partners like Telerik and Infragistics, ASP.NET for web service development, CodePlex for open-source project hosting &#8211; all of this tied together through the Visual Studio platform.<br />
Perhaps only Google has a bigger web stack, but they have nothing tying it all together.<br />
Probably even more telling is the fact that Microsoft has sent out its evangelists even to major Canadian cities to help out developers and encourage them to develop on the platform. As far as I know, Apple does not do that, and neither does Google. Microsoft is pushing hard to succeed here.<br />
<strong>Conclusion</strong><br />
Microsoft has probably built a very compelling alternative phone in WP7. I&#8217;m looking forward to the launch and the months and years that follow. I&#8217;m not predicting the end of the iPhone, but I see the Android and BlackBerry platforms losing a lot of ground to WP7 &#8211; provided that Windows Phone can be more stable than Android and a better office/work experience than BlackBerry.</p>
]]></content:encoded>
			<wfw:commentRss>http://willcodeforcoffee.com/2010/10/08/windows-phone-7-thoughts/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How the iPad won me over</title>
		<link>http://willcodeforcoffee.com/2010/10/05/how-the-ipad-won-me-over/</link>
		<comments>http://willcodeforcoffee.com/2010/10/05/how-the-ipad-won-me-over/#comments</comments>
		<pubDate>Tue, 05 Oct 2010 02:39:21 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[My Two Cents]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://willcodeforcoffee.com/?p=125</guid>
		<description><![CDATA["Magical" is not the word to describe the iPad, but it certainly does change the game.]]></description>
				<content:encoded><![CDATA[<p>I was probably the most skeptical person out the when Steve Jobs was making the announcement about his &#8220;magical&#8221; iPad. In this day and age you can&#8217;t take any salesman seriously when he uses <em>that</em> kind of language. But when I saw one in action surfing the Internet the other day I started to see the potential of the platform.<br />
<span id="more-125"></span><br />
It&#8217;s all about web browsing and the consumption of media. The iPad is the perfect tiny web browser. Its just the right size for reading and a good resolution for surfing, about 1024 pixel wide when leaned on its side. It is much better than surfing on a phone, not as good as a computer.<br />
It&#8217;s all about consuming media (via apps), but not just the Internet: Marvel Comics, Netflix videos, iBooks and Amazon Kindle, Globe &#038; Mail, The New Yorker, etc&#8230; These apps are all about consuming media on the iPad. And it works fantastic!<br />
On the flip side I tried to write this blog post on the iPad, but I ended up getting sore fingers and moved back to my laptop. The iPad is not for creating content. It works, but trying to place the cursor anywhere on the screen using your finger is an exercise in frustration. <em>Extreme</em> frustration. It is so bad I wonder why there are so many writing and composing applications for the iPad. The &#8220;keyboard dock&#8221; accessory also lacks cursors. The most typing I want to do on an iPad is a username and password, that is all.<br />
So in short, and for what it is, the iPad just could be a revolutionary new device, no hocus pokus. </p>
]]></content:encoded>
			<wfw:commentRss>http://willcodeforcoffee.com/2010/10/05/how-the-ipad-won-me-over/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
