<?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>Tim Anderson's ITWriting &#187; .net</title>
	<atom:link href="http://www.itwriting.com/blog/category/net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.itwriting.com/blog</link>
	<description>Tech writing blog</description>
	<lastBuildDate>Fri, 19 Mar 2010 08:42:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>QCon London 2010 report: fix your code, adopt simplicity, cool .NET things</title>
		<link>http://www.itwriting.com/blog/2346-qcon-london-2010-report-fix-your-code-adopt-simplicity-cool-net-things.html</link>
		<comments>http://www.itwriting.com/blog/2346-qcon-london-2010-report-fix-your-code-adopt-simplicity-cool-net-things.html#comments</comments>
		<pubDate>Fri, 12 Mar 2010 11:46:57 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[qcon]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/2346-qcon-london-2010-report-fix-your-code-adopt-simplicity-cool-net-things.html</guid>
		<description><![CDATA[<p>I’m just back from QCon London, a software development conference with an agile flavour that I enjoy because it is not vendor-specific. Conferences like this are energising; they make you re-examine what you are doing and may kick you into a better place. Here’s what I noticed this year. </p>
<p>Robert C Martin from Object Mentor <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/2346-qcon-london-2010-report-fix-your-code-adopt-simplicity-cool-net-things.html">QCon London 2010 report: fix your code, adopt simplicity, cool .NET things</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/2334-functional-programming-nosql-themes-at-qcon-london.html' rel='bookmark' title='Permanent Link: Functional programming, NOSQL themes at QCon London'>Functional programming, NOSQL themes at QCon London</a></li>
<li><a href='http://www.itwriting.com/blog/544-qcon-london.html' rel='bookmark' title='Permanent Link: QCon London'>QCon London</a></li>
<li><a href='http://www.itwriting.com/blog/2340-martin-fowler-on-the-ethics-of-software-development-qcon-report.html' rel='bookmark' title='Permanent Link: Martin Fowler on the ethics of software development &ndash; QCon report'>Martin Fowler on the ethics of software development &ndash; QCon report</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I’m just back from <a href="http://qconlondon.com/" target="_blank">QCon London</a>, a software development conference with an agile flavour that I enjoy because it is not vendor-specific. Conferences like this are energising; they make you re-examine what you are doing and may kick you into a better place. Here’s what I noticed this year. </p>
<p><a href="http://blog.objectmentor.com/articles/category/uncle-bobs-blatherings" target="_blank">Robert C Martin</a> from <a href="http://www.objectmentor.com/" target="_blank">Object Mentor</a> gave the opening keynote, on software craftsmanship. His point is that code should not just work; it should be good. He is delightfully opinionated. Certification, he says, provides value only to certification bodies. If you want to know whether someone has the skills you want, talk to them. </p>
<p>Martin also came up with a bunch of tips for how to write good code, things like not having more than two arguments to a function and never a boolean. I’ve <a href="http://www.itjoblog.co.uk/2010/03/software-craftsmanship.html" target="_blank">written these up elsewhere</a>.</p>
<p><a href="http://www.itwriting.com/blog/wp-content/uploads/2010/03/image10.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.itwriting.com/blog/wp-content/uploads/2010/03/image_thumb10.png" width="404" height="310" /></a> </p>
<p>Next I looked into the non-relational database track and heard Geir Magnusson explain why he needed <a href="http://project-voldemort.com/" target="_blank">Project Voldemort</a>, a distributed key-value storage system, to get his ecommerce site to scale. Non-relational or NOSQL is a big theme these days; database managers like <a href="http://couchdb.apache.org/" target="_blank">CouchDB</a> and <a href="http://www.mongodb.org/display/DOCS/Home" target="_blank">MongoDB</a> are getting a lot of attention. I would like to have spent more time on this track; but there was too much else on; a problem with QCon.</p>
<p>I therefore headed for the functional programming track, where Don Syme from Microsoft Research gave an inspiring talk on F#, Microsoft’s new functional language. He has a series of hilarious slides showing F# code alongside its equivalent in C#. Here is an example:</p>
<p><a href="http://www.itwriting.com/blog/wp-content/uploads/2010/03/image11.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.itwriting.com/blog/wp-content/uploads/2010/03/image_thumb11.png" width="404" height="331" /></a> </p>
<p>The white panel is the F# code; the rest of the slide is C#.</p>
<p>Seeing a slide that this makes you wonder why we use C# at all, though of course Syme has chosen tasks like asychronous IO and concurrent programming for which F# is well suited. Syme also observed that F# is ideal for working with immutable data, which is common in internet programming. I grabbed a copy of <a href="http://www.amazon.co.uk/gp/product/0596153643?ie=UTF8&amp;tag=onlyconnectsyste&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0596153643" target="_blank">Programming F#</a> for further reading.</p>
<p>Over on the Architecture track, Andres Kütt spoke on Five Years as a Skype Architect. His main theme: most of a software architect’s job is communication, not poring over diagrams and devising code structures. This is a consistent theme at QCon and in the Agile movement; get the communication right and all else follows. I was also interested in the technical side though. Skype started with SOAP but switched to a REST model for web services. Kütt also told us about the languages Skype uses: PHP for the web site, C or C++ for heavy lifting and peer-to-peer networking; Delphi for the Windows interface; <a href="http://www.postgresql.org/" target="_blank">PostgreSQL</a> for the database.</p>
<p>Day two of QCon was even better. I’ve written up Martin Fowler’s talk on the ethics of software development in a <a href="http://www.itwriting.com/blog/2340-martin-fowler-on-the-ethics-of-software-development-qcon-report.html" target="_blank">separate post</a>. Following that, I heard Canonical’s Simon Wardley speak about cloud computing. Canonical is making a big push for <a href="http://www.ubuntu.com/cloud" target="_blank">Ubuntu’s cloud package</a>, available both for private use or hosted on Amazon’s servers; and attendees at the QCon CloudCamp later on were given a lavish, pointless cardboard box with promotional details. To be fair to Wardley though, he did not talk much about Ubuntu’s cloud solution, though he did make the point that open source makes transitions between providers much cheaper. </p>
<p>Wardley’s most striking point, repeated perhaps too many times, is that we have no choice about whether to adopt cloud computing, since we will be too much disadvantaged if we reject it. He says it is now more a management issue than a technical one.</p>
<p>Dan North from ThoughtWorks gave a funny and excellent session on simplicity in architecture. He used pseudo-biblical language to describe the progress of software architecture for distributed systems, finishing with</p>
<blockquote><p>On the seventh day God created REST</p>
</blockquote>
<p>Very good; but his serious point is that the shortest, simplest route to solving a problem is often the best one, and that we constantly make the mistake of using over-generalised solutions which add a counter-productive burden of complexity. </p>
<p>North talked about techniques for lateral thinking, finding solutions from which we are mentally blocked, by chunking up, which means merging details into bigger ideas, ending up with “what is this thing for anyway”; and chunking down, the reverse process, which breaks a problem down into blocks small enough to comprehend. Another idea is to articulate a problem to a colleague, which exercises different parts of the brain and often stimulates a solution – one of the reasons pair programming can be effective.</p>
<p>A common mistake, he said, is to keep using the same old products or systems or architectures because we always do, or because the organisation is already heavily invested in it, meaning that better alternatives do not get considered. He also talked about simple tools: a whiteboard rather than a CASE tool, for example.</p>
<p>Much of North’s talk was a variant of YAGNI – you ain’t gonna need it – an agile principle of not implementing something until/unless you actually need it.</p>
<p>I’d like to put this together with something from later in the day, a talk on cool things in the .NET platform. One of these was Guerrilla SOA, though it is not really specific to .NET. To get the idea, read <a href="http://jim.webber.name/2009/10/30/617410fc-7ec9-489f-a937-f50cf090bf48.aspx" target="_blank">this blog post</a> by Jim Webber, another from the ThoughtWorks team (yes, there are a lot of them at QCon). Here’s a couple of quotes:</p>
<blockquote><p>Prior to our first project starting, that client had already undertaken some analysis of their future architecture (which needs scalability of 1 billion transactions per month) using a blue-chip consultancy. The conclusion from that consultancy was to deploy a bus to patch together the existing systems, and everything else would then come together. The upfront cost of the middleware was around £10 million. Not big money in the grand scheme of things, but this £10 million didn&#8217;t provide a working solution, it was just the first step in the process that would some day, perhaps, deliver value back to the business, with little empirical data to back up that assertion.</p>
<p>My (small) team &#8230; took the time to understand how to incrementally alter the enterprise architecture to release value early, and we proposed doing this using commodity HTTP servers at £0 cost for middleware. Importantly we backed up our architectural approach with numbers: we measured the throughput and latency characteristics of a representative spike (a piece of code used to answer a question) through our high level design, and showed that both HTTP and our chosen Web server were suitable for the volumes of traffic that the system would have to support &#8230; We performance tested the solution every single day to ensure that we would always be able to meet the SLAs imposed on us by the business. We were able to do that because we were not tightly coupled to some overarching middleware, and as a consequence we delivered our first service quickly and had great confidence in its ability to handle large loads. With middleware in the mix, we wouldn&#8217;t have been so successful at rapidly validating our service&#8217;s performance. Our performance testing would have been hampered by intricate installations, licensing, ops and admin, difficulties in starting from a clean state, to name but a few issues &#8230; The last I heard a few weeks back, the system as a whole was dealing with several hundred percent more transactions per second than before we started. But what&#8217;s particularly interesting, coming back to the cost of people versus cost of middleware argument, is this: we spent nothing on middleware. Instead we spent around £1 million on people, which compares favourably to the £10 million up front gamble originally proposed.</p>
</blockquote>
<p>This strikes me as an example of the kind of approach North advocates.</p>
<p>You may be wondering what other cool .NET things were presented. This session was called the State of the Art .NET, given by Amanda Laucher and Josh Graham. They offer a dozen items which they considered .NET folk should be using or learning about:</p>
<ol>
<li>F# (again) </li>
<li>M &#8211; modelling/DSL language </li>
<li><a href="http://boo.codehaus.org/" target="_blank">Boo</a> – static Python for .NET </li>
<li>NUnit – unit testing. Little regard for Microsoft’s test framework in Team System, which is seen as a wasted and inferior effort. </li>
<li>RhinoMocks – mocking library </li>
<li>Moq – another mocking library </li>
<li>NHibernate – object-relational mapping </li>
<li><a href="http://www.castleproject.org/container" target="_blank">Windsor</a> – dependency injection, part of Castle project. Controversial; some attendees thought it too complex. </li>
<li><a href="http://nvelocity.sourceforge.net/" target="_blank">NVelocity</a> &#8211; .NET template engine </li>
<li>Guerrilla SOA – see above </li>
<li>Azure – Microsoft’s cloud platform – surprisingly good thanks to David Cutler’s involvement, we were told </li>
<li>MEF – Managed Extensibility Framework as found in Visual Studio 2010, won high praise from those who have tried it </li>
</ol>
<p>That was my last session (I missed Friday) though I did attend the first part of <a href="http://cloudcamp.org/" target="_blank">CloudCamp</a>, an unconference for cloud early adopters. I am not sure there is much point in these now. The cloud is no longer subversive and the next new thing; all the big enterprise vendors are onto it. Look at the CloudCamp sponsor list if you doubt me. There are of course still plenty of issues to talk about, but maybe not like this; I stayed for the first hour but it was dull.</p>
<p>For more on QCon you might also want to read back through my <a href="http://twitter.com/timanderson" target="_blank">Twitter feed</a> or search the entire <a href="http://twitter.com/search?q=%23qcon" target="_blank">#qcon tag</a> for what everyone else thought.</p>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/2334-functional-programming-nosql-themes-at-qcon-london.html' rel='bookmark' title='Permanent Link: Functional programming, NOSQL themes at QCon London'>Functional programming, NOSQL themes at QCon London</a></li>
<li><a href='http://www.itwriting.com/blog/544-qcon-london.html' rel='bookmark' title='Permanent Link: QCon London'>QCon London</a></li>
<li><a href='http://www.itwriting.com/blog/2340-martin-fowler-on-the-ethics-of-software-development-qcon-report.html' rel='bookmark' title='Permanent Link: Martin Fowler on the ethics of software development &ndash; QCon report'>Martin Fowler on the ethics of software development &ndash; QCon report</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/2346-qcon-london-2010-report-fix-your-code-adopt-simplicity-cool-net-things.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft maybe gets the cloud &#8211; maybe too late</title>
		<link>http://www.itwriting.com/blog/2299-microsoft-maybe-gets-the-cloud-maybe-too-late.html</link>
		<comments>http://www.itwriting.com/blog/2299-microsoft-maybe-gets-the-cloud-maybe-too-late.html#comments</comments>
		<pubDate>Fri, 05 Mar 2010 10:38:03 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[web authoring]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[ballmer]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/2299-microsoft-maybe-gets-the-cloud-maybe-too-late.html</guid>
		<description><![CDATA[<p>Microsoft CEO Steve Ballmer gave a talk on the company’s cloud strategy at the University of Washington yesterday. Although a small event, the webcast was widely publicised and coincides with a leaked internal memo on “how cloud computing will change the way people and businesses use technology”, a new Cloud website, and a Cloud Computing <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/2299-microsoft-maybe-gets-the-cloud-maybe-too-late.html">Microsoft maybe gets the cloud &#8211; maybe too late</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/2096-new-hp-and-microsoft-agreement-commits-50-million-less-than-similar-2006-deal.html' rel='bookmark' title='Permanent Link: New HP and Microsoft agreement commits $50 million less than similar 2006 deal'>New HP and Microsoft agreement commits $50 million less than similar 2006 deal</a></li>
<li><a href='http://www.itwriting.com/blog/1966-pdc-day-one-windows-in-the-cloud.html' rel='bookmark' title='Permanent Link: PDC day one: Windows in the cloud'>PDC day one: Windows in the cloud</a></li>
<li><a href='http://www.itwriting.com/blog/940-microsofts-cloud-platform-multi-touch-windows-mining-the-pdc-schedule.html' rel='bookmark' title='Permanent Link: Microsoft&rsquo;s cloud platform, multi-touch Windows 7: mining the PDC schedule'>Microsoft&rsquo;s cloud platform, multi-touch Windows 7: mining the PDC schedule</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Microsoft CEO Steve Ballmer gave a talk on the company’s cloud strategy at the University of Washington yesterday. Although a small event, the webcast was widely publicised and coincides with a leaked <a href="http://techcrunch.com/2010/03/04/steve-ballmer-microsoft-cloud/" target="_blank">internal memo</a> on “how cloud computing will change the way people and businesses use technology”, a new <a href="http://www.microsoft.com/cloud/" target="_blank">Cloud website</a>, and a <a href="http://www.microsoft.com/presspass/presskits/cloud/default.aspx" target="_blank">Cloud Computing press portal</a>, so it is fair to assume that this represents a significant strategy shift. </p>
<p>According to Ballmer:</p>
<blockquote><p>about 70 percent of our folks are doing things that are entirely cloud-based, or cloud inspired. And by a year from now that will be 90 percent</p>
</blockquote>
<p>I watched the webcast, and it struck me as significant that Ballmer kicked off with a vox pop video where various passers by were asked what they thought about cloud computing. Naturally they had no idea, the implication being, I suppose, that the cloud is some new thing that most people are not yet aware of. Ballmer did not spell out why Microsoft made the video, but I suspect he was trying to reassure himself and others that his company is not too late.</p>
<p>I thought the vox pop was mis-conceived. Cloud computing is a technical concept. What if you did a vox pop on the graphical user interface? or concurrency? or Unix? or SQL? You would get equally baffled responses.</p>
<p>It was an interesting contrast with Google’s Eric Schmidt who gave a talk at last month’s Mobile World Congress that was also a big strategy talk; I posted about it <a href="http://www.itwriting.com/blog/2254-googles-strategy-unveiled-a-little-bit-of-everything-you-do.html" target="_blank">here</a>. Schmidt takes the cloud for granted. He does not treat it as the next big thing, but as something that is already here. His talk was both inspiring and chilling. It was inspiring in the sense of what is now possible – for example, that you can go into a restaurant, point your mobile at a foreign-language menu, and get back an instant translation, thanks to Google’s ability to mine its database of human activity. It was chilling with its implications for privacy and Schmidt’s seeming disregard for them.</p>
<p>Ballmer on the other hand is focused on how to transition a company whose business is primarily desktop operating systems and software to one that can prosper in the cloud era:</p>
<blockquote><p>If you think about where we grew up, other than Windows, we grew up with this product called Microsoft Office. And it&#8217;s all about expressing yourself. It&#8217;s e-mail, it&#8217;s Word, it&#8217;s PowerPoint. It&#8217;s expression, and interaction, and collaboration. And so really taking Microsoft Office to the cloud, letting it run in the cloud, letting it run from the cloud, helping it let people connect and communicate, and express themselves. That&#8217;s one of the core kind of technical ambitions behind the next release of our Office product, which you&#8217;ll see coming to market this June.</p>
</blockquote>
<p>Really? That’s not my impression of Office 2010. It’s the same old desktop suite, with a dollop of new features and a heavily cut-down online version called Office Web Apps. The problem is not only that Office Web Apps is designed to keep you dependent on offline Office. The problem is that the whole model is wrong. The business model is still based on the three-year upgrade cycle. The real transition comes when the Web Apps are the main version, to which we subscribe, which get constant incremental updates and have an API that lets them participate in mash-ups across the internet.</p>
<p>That said, there are parallels between Ballmer’s talk and that of Schmidt. Ballmer spoke of 5 dimensions:</p>
<ul>
<li>The cloud creates opportunities and responsibilities </li>
<li>The cloud learns and helps you learn, decide and take action </li>
<li>The cloud enhances your social and professional interactions </li>
<li>The cloud wants smarter devices </li>
<li>The cloud drives server advances </li>
</ul>
<p>In the most general sense, those are similar themes. I can even believe that Ballmer, and by implication Microsoft, now realises the necessity of a deep transition, not just adding a few features to Office and Windows. I am not sure though that it is possible for Microsoft as we know it, which is based on Windows, Office and Partners.</p>
<p>Someone asks if Microsoft is just reacting to others. Ballmer says:</p>
<blockquote><p>You know, if I take a look and say, hey, look, where am I proud of where we are relative to other guys, I&#8217;d point to Azure. I think Azure is very different than anything else on the market. I don&#8217;t think anybody else is trying to redefine the programming model. I think Amazon has done a nice job of helping you take the server-based programming model, the programming model of yesterday that is not scale agnostic, and then bringing it into the cloud. They&#8217;ve done a great job; I give them credit for that. On the other hand, what we&#8217;re trying to do with Azure is let you write a different kind of application, and I think we&#8217;re more forward-looking in our design point than on a lot of things that we&#8217;re doing, and at least right now I don&#8217;t see the other guy out there who&#8217;s doing the equivalent.</p>
</blockquote>
<p>Sorry, I don’t buy this either. Azure does have distinct advantages, mainly to do with porting your existing ASP.NET application and integrating with existing Windows infrastructure. I don’t believe it is “scale agnostic”; something like Google App Engine is better in that respect. With Azure you have to think about how many virtual machines you want to purchase. Nor do I think Azure lets you write “a different kind of application.” There is too little multi-tenancy, too much of the old Windows server model remains in Azure.</p>
<p>Finally, I am surprised how poor Microsoft has become at articulating its message. Azure was badly presented at last year’s PDC, which Ballmer did not attend. It is <a href="http://www.itwriting.com/blog/2161-windows-azure-is-too-expensive-for-small-apps.html" target="_blank">not an attractive platform for small-scale developers</a>, which makes it hard to get started.</p>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/2096-new-hp-and-microsoft-agreement-commits-50-million-less-than-similar-2006-deal.html' rel='bookmark' title='Permanent Link: New HP and Microsoft agreement commits $50 million less than similar 2006 deal'>New HP and Microsoft agreement commits $50 million less than similar 2006 deal</a></li>
<li><a href='http://www.itwriting.com/blog/1966-pdc-day-one-windows-in-the-cloud.html' rel='bookmark' title='Permanent Link: PDC day one: Windows in the cloud'>PDC day one: Windows in the cloud</a></li>
<li><a href='http://www.itwriting.com/blog/940-microsofts-cloud-platform-multi-touch-windows-mining-the-pdc-schedule.html' rel='bookmark' title='Permanent Link: Microsoft&rsquo;s cloud platform, multi-touch Windows 7: mining the PDC schedule'>Microsoft&rsquo;s cloud platform, multi-touch Windows 7: mining the PDC schedule</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/2299-microsoft-maybe-gets-the-cloud-maybe-too-late.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Phone 7 incompatibility may drive developers elsewhere</title>
		<link>http://www.itwriting.com/blog/2298-windows-phone-7-incompatibility-may-drive-developers-elsewhere.html</link>
		<comments>http://www.itwriting.com/blog/2298-windows-phone-7-incompatibility-may-drive-developers-elsewhere.html#comments</comments>
		<pubDate>Fri, 05 Mar 2010 09:10:07 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[windows mobile]]></category>
		<category><![CDATA[windows phone 7]]></category>
		<category><![CDATA[xna]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/2298-windows-phone-7-incompatibility-may-drive-developers-elsewhere.html</guid>
		<description><![CDATA[<p>Microsoft’s Charlie Kindel has blogged about the Windows Phone 7 development platform.</p>
<p>As widely leaked, the new mobile device supports Silverlight and XNA; Kindel also mentions .NET, but since both Silverlight and XNA are .NET platforms, that might not mean anything additional. </p>
<p>The big story is about compatibility:</p>
<p>To deliver what developers expect in the developer platform <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/2298-windows-phone-7-incompatibility-may-drive-developers-elsewhere.html">Windows Phone 7 incompatibility may drive developers elsewhere</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/2257-windows-phone-7-development-rumours-abound.html' rel='bookmark' title='Permanent Link: Windows Phone 7 development rumours abound'>Windows Phone 7 development rumours abound</a></li>
<li><a href='http://www.itwriting.com/blog/2288-flash-10-1-mobile-roadmap-confusion-windows-phone-support-far-off.html' rel='bookmark' title='Permanent Link: Flash 10.1 mobile roadmap confusion, Windows phone support far off'>Flash 10.1 mobile roadmap confusion, Windows phone support far off</a></li>
<li><a href='http://www.itwriting.com/blog/2239-windows-phone-7-series-and-microsofts-partner-problem.html' rel='bookmark' title='Permanent Link: Windows Phone 7 Series and Microsoft&rsquo;s partner problem'>Windows Phone 7 Series and Microsoft&rsquo;s partner problem</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Microsoft’s Charlie Kindel has <a href="http://blogs.msdn.com/ckindel/archive/2010/03/04/different-means-better-with-the-new-windows-phone-developer-experience.aspx" target="_blank">blogged</a> about the Windows Phone 7 development platform.</p>
<p>As widely leaked, the new mobile device supports <a href="http://silverlight.net/" target="_blank">Silverlight</a> and <a href="http://creators.xna.com/en-US/" target="_blank">XNA</a>; Kindel also mentions .NET, but since both Silverlight and XNA are .NET platforms, that might not mean anything additional. </p>
<p>The big story is about compatibility:</p>
<blockquote><p>To deliver what developers expect in the developer platform we’ve had to change how phone apps were written. One result of this is previous Windows mobile applications will not run on Windows Phone 7 Series.</p>
</blockquote>
<p>This puts Microsoft in an awkward position. Support for custom business apps has been one of the better aspects of Windows Mobile. What Microsoft should do is to have some way of continuing to run those old apps on the new devices. Instead, Kindel adds:</p>
<blockquote><p>To be clear, we will continue to work with our partners to deliver new devices based on Windows Mobile 6.5 and will support those products for many years to come, so it’s not as though one line ends as soon as the other begins.</p>
</blockquote>
<p>I would not take much account of this. No doubt there will some devices, but demand for Windows Mobile will dive through the floor (if it has not already) once Phone 7 is available, making it an unattractive proposition for hardware partners.</p>
<p>The danger for Microsoft is that after this let-down, those with existing Windows Mobile apps that are now forced to choose a new development platform might choose one from a competitor.</p>
<p>The mitigation is that apps which use the Compact Framework will likely be easier to port to Windows Phone 7, because the language is the same. Native code apps are a different matter. Of course it will be technically possible to write native code apps for Windows Phone 7, but probably locked down and restricted to special cases, such as perhaps the Adobe Flash runtime (I am speculating here).</p>
<p>PS – I see that developer Thomas Amberg has articulated exactly these concerns in a <a href="http://blogs.msdn.com/ckindel/archive/2010/03/04/different-means-better-with-the-new-windows-phone-developer-experience.aspx#9973395" target="_blank">comment to Kindel’s post</a>:</p>
<blockquote><p>Platform continuity was the single most important feature of Windows Mobile. Being able to run code from 2003 on a current phone is more important to our customers than a fancy UI (which Microsoft seems not able to get right anyway). Further, the ability to access hardware specific APIs through P/Invoke has been vital in many of our projects (e.g. to use Bluetooth in the early days). Those advantages have now gone. You just rendered useless years of development work and many thousands of lines of code.</p>
<p>&quot;we will continue to work with our partners to deliver new devices based on Windows Mobile 6.5 and will support those products for many years to come&quot;</p>
<p>You will, I bet. But which device manufacturer will produce such &quot;dead-end&quot; devices?</p>
<p>Time to switch to another mobile OS.</p>
</blockquote>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/2257-windows-phone-7-development-rumours-abound.html' rel='bookmark' title='Permanent Link: Windows Phone 7 development rumours abound'>Windows Phone 7 development rumours abound</a></li>
<li><a href='http://www.itwriting.com/blog/2288-flash-10-1-mobile-roadmap-confusion-windows-phone-support-far-off.html' rel='bookmark' title='Permanent Link: Flash 10.1 mobile roadmap confusion, Windows phone support far off'>Flash 10.1 mobile roadmap confusion, Windows phone support far off</a></li>
<li><a href='http://www.itwriting.com/blog/2239-windows-phone-7-series-and-microsofts-partner-problem.html' rel='bookmark' title='Permanent Link: Windows Phone 7 Series and Microsoft&rsquo;s partner problem'>Windows Phone 7 Series and Microsoft&rsquo;s partner problem</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/2298-windows-phone-7-incompatibility-may-drive-developers-elsewhere.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Microsoft .NET gotchas revealed by Visual Studio team</title>
		<link>http://www.itwriting.com/blog/2289-microsoft-net-gotchas-revealed-by-visual-studio-team.html</link>
		<comments>http://www.itwriting.com/blog/2289-microsoft-net-gotchas-revealed-by-visual-studio-team.html#comments</comments>
		<pubDate>Tue, 02 Mar 2010 12:12:24 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[windows 7]]></category>
		<category><![CDATA[visual studio 2010]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/2289-microsoft-net-gotchas-revealed-by-visual-studio-team.html</guid>
		<description><![CDATA[<p>The Visual Studio Blog makes great reading for .NET developers, and not only because of the product it describes. Visual Studio 2010 is one of the few Microsoft products that has made a transition from native C++ code to .NET managed code – the transition is partial, in that parts of Visual Studio remain in <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/2289-microsoft-net-gotchas-revealed-by-visual-studio-team.html">Microsoft .NET gotchas revealed by Visual Studio team</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/1892-visual-studio-2010-to-launch-march-22-with-azure-team-foundation-server-for-all.html' rel='bookmark' title='Permanent Link: Visual Studio 2010 to launch March 22 with Azure, Team Foundation Server for all'>Visual Studio 2010 to launch March 22 with Azure, Team Foundation Server for all</a></li>
<li><a href='http://www.itwriting.com/blog/2217-visual-studio-2010-rc-arrives-with-go-live-license.html' rel='bookmark' title='Permanent Link: Visual Studio 2010 RC arrives with go-live license'>Visual Studio 2010 RC arrives with go-live license</a></li>
<li><a href='http://www.itwriting.com/blog/1275-first-screenshots-of-visual-studio-2010-ui.html' rel='bookmark' title='Permanent Link: First screenshots of Visual Studio 2010 UI'>First screenshots of Visual Studio 2010 UI</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://blogs.msdn.com/visualstudio/default.aspx" target="_blank">Visual Studio Blog</a> makes great reading for .NET developers, and not only because of the product it describes. Visual Studio 2010 is one of the few Microsoft products that has made a transition from native C++ code to .NET managed code – the transition is partial, in that parts of Visual Studio remain in native code, but this is true of the shell and the editor, two of the core components. Visual Studio is also a complex application, and one that is extensible by third parties. Overall the development team stressed the .NET platform, which is good for the rest of us because the developers are in a strong position both to understand problems, and to get them fixed even if it means changes to the .NET Framework.</p>
<p>Two recent posts interested me. One is <a href="http://blogs.msdn.com/visualstudio/archive/2010/03/01/marshal-releasecomobject-considered-dangerous.aspx" target="_blank">Marshal.ReleaseComObject Considered Dangerous</a>. I have some familiarity with this obscure-sounding topic, thanks to work on <a href="http://www.itwriting.com/htmleditor/" target="_blank">embedding Internet Explorer components</a>. It relates to a fundamental feature of .NET: the ability to interact with the older COM component model, which is still widely used. In fact, Microsoft still uses COM for new Windows 7 APIs; but I digress. A strong feature of .NET from its first release is that it can easily consume COM objects, and also expose .NET objects to COM.</p>
<p>The .NET platform manages memory using garbage collection, where the runtime detects objects that are no longer referenced by active code and deletes them. COM on the other hand uses reference counting, maintaining a count of the number of references to an object and deleting the object when it reaches zero.</p>
<p>Visual Studio 2008 and earlier has lots of COM APIs. Some of these were called from .NET code, and for the same of efficiency called the method mentioned above, Marshal.ReleaseComObject, to reduce the reference count immediately so that the COM object would be deleted.</p>
<p>Now here comes Visual Studio 2010, and some of those COM APIs are re-implemented as .NET code. For compatibility with existing code, the new .NET code is also exposed as a COM API. Some of that existing code is actually .NET code which wraps the COM API as .NET code. Yes, we have .NET to COM to .NET, a double wrapper. Everything still works though, until you call Marshal.ReleaseComObject on the doubly-wrapped object. At this point the .NET runtime throws up its hands and says it cannot decrement the reference count, because it isn’t really a COM object. Oops.</p>
<p>The post goes on to observe that Marshal.ReleaseComObject is dangerous in any cause, because it leaves you with an invalid .NET wrapper. This means you should only call it when the .NET instance is definitely not going to be used again. Obvious, really.</p>
<p>Once you’ve digested that, try this illuminating post on <a href="http://blogs.msdn.com/visualstudio/archive/2010/03/02/wpf-in-visual-studio-2010-part-2-performance-tuning.aspx" target="_blank">WPF in Visual Studio 2010 – Part 2 : Performance tuning</a>. WPF, or Windows Presentation Foundation, is the .NET API for rich graphical user interfaces on desktop Windows applications. Here is an example of why you should read the post, if you work with WPF. Many of us frequently use Remote Desktop to run applications on remote PCs or PCs that do not have a screen and keyboard attached. This is really a bad scenario for WPF, which is designed to take advantage of local accelerated graphics. Here’s the key statement:</p>
<blockquote><p>Over a remote desktop connection, all WPF content is rendered as a bitmap. This is in contrast to GDI rendering, where primitives such as rectangles and text are sent over the wire for reconstruction on the client.</p>
</blockquote>
<p>It’s a bad scenario, but mitigated if you use graphics that are amenable to compression, like solid colours. There are also some tweaks introduced in WPF 4.0, like the ability to scroll an area on the remote client, which saves having to re-send the entire bitmap if it has moved.</p>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/1892-visual-studio-2010-to-launch-march-22-with-azure-team-foundation-server-for-all.html' rel='bookmark' title='Permanent Link: Visual Studio 2010 to launch March 22 with Azure, Team Foundation Server for all'>Visual Studio 2010 to launch March 22 with Azure, Team Foundation Server for all</a></li>
<li><a href='http://www.itwriting.com/blog/2217-visual-studio-2010-rc-arrives-with-go-live-license.html' rel='bookmark' title='Permanent Link: Visual Studio 2010 RC arrives with go-live license'>Visual Studio 2010 RC arrives with go-live license</a></li>
<li><a href='http://www.itwriting.com/blog/1275-first-screenshots-of-visual-studio-2010-ui.html' rel='bookmark' title='Permanent Link: First screenshots of Visual Studio 2010 UI'>First screenshots of Visual Studio 2010 UI</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/2289-microsoft-net-gotchas-revealed-by-visual-studio-team.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fragmentation and the RIA wars: Flash is the least bad solution</title>
		<link>http://www.itwriting.com/blog/2277-fragmentation-and-the-ria-wars-flash-is-the-least-bad-solution.html</link>
		<comments>http://www.itwriting.com/blog/2277-fragmentation-and-the-ria-wars-flash-is-the-least-bad-solution.html#comments</comments>
		<pubDate>Thu, 25 Feb 2010 10:01:48 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/2277-fragmentation-and-the-ria-wars-flash-is-the-least-bad-solution.html</guid>
		<description><![CDATA[<p>The latest salvo in the Adobe Flash wars comes from the Free Software Foundation, in an open letter to Google:</p>
<p>Just think what you can achieve by releasing the VP8 codec under an irrevocable royalty-free license and pushing it out to users on YouTube? You can end the web&#8217;s dependence on patent-encumbered video formats and proprietary <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/2277-fragmentation-and-the-ria-wars-flash-is-the-least-bad-solution.html">Fragmentation and the RIA wars: Flash is the least bad solution</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/2197-adobe-flash-vs-apple-ipad-ria-in-the-balance.html' rel='bookmark' title='Permanent Link: Adobe Flash vs Apple iPad: RIA in the balance'>Adobe Flash vs Apple iPad: RIA in the balance</a></li>
<li><a href='http://www.itwriting.com/blog/1888-is-apple-iphone-now-unstoppable-in-the-mobile-platform-wars.html' rel='bookmark' title='Permanent Link: Is Apple iPhone now unstoppable in the mobile platform wars?'>Is Apple iPhone now unstoppable in the mobile platform wars?</a></li>
<li><a href='http://www.itwriting.com/blog/2235-flash-developers-are-now-mobile-developers.html' rel='bookmark' title='Permanent Link: Flash developers are now mobile developers'>Flash developers are now mobile developers</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>The latest salvo in the Adobe Flash wars comes from the Free Software Foundation, in an <a href="http://www.fsf.org/blogs/community/google-free-on2-vp8-for-youtube">open letter to Google</a>:</p>
<blockquote><p>Just think what you can achieve by releasing the VP8 codec under an irrevocable royalty-free license and pushing it out to users on YouTube? You can end the web&#8217;s dependence on patent-encumbered video formats and proprietary software (Flash) &#8230; Apple has had the mettle to ditch Flash on the iPhone and the iPad &#8211; albeit for suspect reasons and using abhorrent methods (DRM) &#8211; and this has pushed web developers to make Flash-free alternatives of their pages. You could do the same with YouTube, for better reasons, and it would be a death-blow to Flash&#8217;s dominance in web video.</p>
</blockquote>
<p>Fair point; but one thing the FSF misses is that Apple’s stance has not only “pushed web developers to make Flash-free alternatives of their pages”. It has also pushed developers into making Apple-specific apps as an alternative to web pages – which to my mind is <a href="http://www.itwriting.com/blog/2255-why-i-dont-want-to-view-bbc-co-uk-through-an-app.html">unfortunate</a>. </p>
<p>The problem goes beyond web pages. If you have an application that goes beyond HTML and JavaScript, maybe for offline use or to integrate with other local applications or hardware, there is no cross-platform solution for the iPhone, iTouch or forthcoming iPad. </p>
<p>While I understand that non-proprietary platforms are preferable to proprietary platforms, it seems to me that a free cross-platform runtime is less evil than a vendor-controlled platform where I have to seek approval and share income with the vendor just to get my app installed.</p>
<p>More broadly, it is obvious that the days of Windows on the desktop, Web for everything else are over. We are seeing a proliferation of devices, each with their own SDK: alongside Apple there is Palm <a href="http://developer.palm.com/">WebOS</a>, Nokia/Intel <a href="http://www.linuxfoundation.org/lp/page/meego">Meego</a>, Google <a href="http://code.google.com/android/">Android</a>, and when Windows Phone 7 comes along, Microsoft <a href="http://www.microsoft.com/SILVERLIGHT/">Silverlight</a>.</p>
<p>The question: if you have an application and want to reach all these platforms, what do you do? A web app if possible; but otherwise?</p>
<p>It is the new fragmentation; and frankly, Adobe Flash is the closest thing we have to a solution, particularly with the native compilation option for iPhone that is coming in Creative Suite 5.</p>
<p>I don’t like the idea of a single company owning the runtime that unifies all these platforms. That’s not healthy. Still, at least Adobe is currently independent of the obvious industry giants: Google, Apple, Microsoft, IBM and so on.</p>
<p>Dealing a death-blow to Flash is all very well, but the end result could be something worse.</p>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/2197-adobe-flash-vs-apple-ipad-ria-in-the-balance.html' rel='bookmark' title='Permanent Link: Adobe Flash vs Apple iPad: RIA in the balance'>Adobe Flash vs Apple iPad: RIA in the balance</a></li>
<li><a href='http://www.itwriting.com/blog/1888-is-apple-iphone-now-unstoppable-in-the-mobile-platform-wars.html' rel='bookmark' title='Permanent Link: Is Apple iPhone now unstoppable in the mobile platform wars?'>Is Apple iPhone now unstoppable in the mobile platform wars?</a></li>
<li><a href='http://www.itwriting.com/blog/2235-flash-developers-are-now-mobile-developers.html' rel='bookmark' title='Permanent Link: Flash developers are now mobile developers'>Flash developers are now mobile developers</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/2277-fragmentation-and-the-ria-wars-flash-is-the-least-bad-solution.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Mono Tools for Visual Studio: code on Windows, run on Linux</title>
		<link>http://www.itwriting.com/blog/2268-mono-tools-for-visual-studio-code-on-windows-run-on-linux.html</link>
		<comments>http://www.itwriting.com/blog/2268-mono-tools-for-visual-studio-code-on-windows-run-on-linux.html#comments</comments>
		<pubDate>Fri, 19 Feb 2010 16:37:33 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/2268-mono-tools-for-visual-studio-code-on-windows-run-on-linux.html</guid>
		<description><![CDATA[<p>I have just com across Mono Tools, a Novell add-in for Visual Studio that lets you test Mono compatibility. It adds a Mono menu which has options to run locally or remotely in Mono, analyze for compatibility issues, and create deployment packages. No sign of Mac support, which is a missed opportunity, but understandable given <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/2268-mono-tools-for-visual-studio-code-on-windows-run-on-linux.html">Mono Tools for Visual Studio: code on Windows, run on Linux</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/1035-code-for-mac-cocoa-in-visual-studio-surprised-to-see-this.html' rel='bookmark' title='Permanent Link: Code for Mac Cocoa in Visual Studio &ndash; surprised to see this?'>Code for Mac Cocoa in Visual Studio &ndash; surprised to see this?</a></li>
<li><a href='http://www.itwriting.com/blog/1081-amethyst-from-sapphiresteel-develop-flex-in-visual-studio-an-alternative-to-tofino.html' rel='bookmark' title='Permanent Link: Amethyst from SapphireSteel: Develop Flex in Visual Studio, an alternative to Tofino'>Amethyst from SapphireSteel: Develop Flex in Visual Studio, an alternative to Tofino</a></li>
<li><a href='http://www.itwriting.com/blog/2217-visual-studio-2010-rc-arrives-with-go-live-license.html' rel='bookmark' title='Permanent Link: Visual Studio 2010 RC arrives with go-live license'>Visual Studio 2010 RC arrives with go-live license</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I have just com across <a href="http://go-mono.com/monotools/">Mono Tools</a>, a Novell add-in for Visual Studio that lets you test Mono compatibility. It adds a Mono menu which has options to run locally or remotely in Mono, analyze for compatibility issues, and create deployment packages. No sign of Mac support, which is a missed opportunity, but understandable given that Novell owns SUSE Linux.</p>
<p>For those few still unfamiliar with Mono, it is an open source implementation of Microsoft’s .NET Framework, enabling your .NET applications to run on other platforms. One compelling use is to have your ASP.NET web applications run on the free Apache web server, rather than Microsoft’s IIS.</p>
<p><a href="http://www.itwriting.com/blog/wp-content/uploads/2010/02/image14.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.itwriting.com/blog/wp-content/uploads/2010/02/image_thumb14.png" width="404" height="290" /></a> </p>
<p>Mono Tools works with both Windows Forms and web projects.</p>
<p><a href="http://www.itwriting.com/blog/wp-content/uploads/2010/02/image15.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.itwriting.com/blog/wp-content/uploads/2010/02/image_thumb15.png" width="404" height="439" /></a> </p>
<p>This is just the sort of thing Mono needs to move it further into the mainstream, though another less welcome sign of business acceptance is that this is a commercial product, currently costing $99.00 for an individual or $249.00 per seat in an organization. There is also an Ultimate edition at $2,499, which comes with a commercial non-LGPL license to redistribute Mono.</p>
<p>The Mono Tools team is now looking for testers for its <a href="http://mono-project.com/Release_Notes_MonoTools_1.1">1.1 edition</a>, which supports Visual Studio 2010.</p>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/1035-code-for-mac-cocoa-in-visual-studio-surprised-to-see-this.html' rel='bookmark' title='Permanent Link: Code for Mac Cocoa in Visual Studio &ndash; surprised to see this?'>Code for Mac Cocoa in Visual Studio &ndash; surprised to see this?</a></li>
<li><a href='http://www.itwriting.com/blog/1081-amethyst-from-sapphiresteel-develop-flex-in-visual-studio-an-alternative-to-tofino.html' rel='bookmark' title='Permanent Link: Amethyst from SapphireSteel: Develop Flex in Visual Studio, an alternative to Tofino'>Amethyst from SapphireSteel: Develop Flex in Visual Studio, an alternative to Tofino</a></li>
<li><a href='http://www.itwriting.com/blog/2217-visual-studio-2010-rc-arrives-with-go-live-license.html' rel='bookmark' title='Permanent Link: Visual Studio 2010 RC arrives with go-live license'>Visual Studio 2010 RC arrives with go-live license</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/2268-mono-tools-for-visual-studio-code-on-windows-run-on-linux.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Phone 7 development rumours abound</title>
		<link>http://www.itwriting.com/blog/2257-windows-phone-7-development-rumours-abound.html</link>
		<comments>http://www.itwriting.com/blog/2257-windows-phone-7-development-rumours-abound.html#comments</comments>
		<pubDate>Thu, 18 Feb 2010 21:03:44 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[windows phone 7]]></category>
		<category><![CDATA[xna]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/2257-windows-phone-7-development-rumours-abound.html</guid>
		<description><![CDATA[<p>News about the Windows Phone 7 development platform is leaking out, ahead of its official unveiling at the Mix conference next month. Rumour has it that both Silverlight and the XNA gaming framework will be supported, for creating consumer-focused applications, together with limited access to native APIs subject to Microsoft’s specific approval.</p>
<p>The controversial aspect, if <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/2257-windows-phone-7-development-rumours-abound.html">Windows Phone 7 development rumours abound</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/2298-windows-phone-7-incompatibility-may-drive-developers-elsewhere.html' rel='bookmark' title='Permanent Link: Windows Phone 7 incompatibility may drive developers elsewhere'>Windows Phone 7 incompatibility may drive developers elsewhere</a></li>
<li><a href='http://www.itwriting.com/blog/2361-no-native-code-on-windows-phone-7-says-microsoft-so-what-about-flash.html' rel='bookmark' title='Permanent Link: No native code development on Windows Phone 7 says Microsoft &ndash; so what about Flash?'>No native code development on Windows Phone 7 says Microsoft &ndash; so what about Flash?</a></li>
<li><a href='http://www.itwriting.com/blog/2288-flash-10-1-mobile-roadmap-confusion-windows-phone-support-far-off.html' rel='bookmark' title='Permanent Link: Flash 10.1 mobile roadmap confusion, Windows phone support far off'>Flash 10.1 mobile roadmap confusion, Windows phone support far off</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>News about the Windows Phone 7 development platform is leaking out, ahead of its official unveiling at the Mix conference next month. Rumour has it that both Silverlight and the XNA gaming framework will be supported, for creating consumer-focused applications, together with limited access to native APIs subject to Microsoft’s specific approval.</p>
<p>The controversial aspect, if these ideas prove to be accurate, is lack of compatibility with existing applications. It seems possible that C++ applications written for previous versions of Windows Mobile will not run, while those written for the Compact Framework will need porting to the Silverlight UI.</p>
<p>While there is little love for Windows Mobile, it is used for business applications where it integrates well with the rest of Microsoft’s platform. Since Windows Phone 7 seems to target the consumer, Microsoft may argue that this does not matter, since businesses can continue to use Windows Mobile. You would imagine, though, that enthusiasm for continuing with Windows Mobile will be limited given the superior usability of Windows Phone 7. Maybe a professional edition to follow in 2011? </p>
<p>One thing we know for sure is that Adobe Flash is not supported in the first release, though Microsoft says it is not opposed to it appearing on the platform in future. That in itself is interesting, since Adobe is hardly likely or able to rewrite Flash in Silverlight or XNA. Will certain important developers have privileged access to a wider range of native APIs? Despite rumours, there is still plenty to speculate about.</p>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/2298-windows-phone-7-incompatibility-may-drive-developers-elsewhere.html' rel='bookmark' title='Permanent Link: Windows Phone 7 incompatibility may drive developers elsewhere'>Windows Phone 7 incompatibility may drive developers elsewhere</a></li>
<li><a href='http://www.itwriting.com/blog/2361-no-native-code-on-windows-phone-7-says-microsoft-so-what-about-flash.html' rel='bookmark' title='Permanent Link: No native code development on Windows Phone 7 says Microsoft &ndash; so what about Flash?'>No native code development on Windows Phone 7 says Microsoft &ndash; so what about Flash?</a></li>
<li><a href='http://www.itwriting.com/blog/2288-flash-10-1-mobile-roadmap-confusion-windows-phone-support-far-off.html' rel='bookmark' title='Permanent Link: Flash 10.1 mobile roadmap confusion, Windows phone support far off'>Flash 10.1 mobile roadmap confusion, Windows phone support far off</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/2257-windows-phone-7-development-rumours-abound.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Visual Studio 2010 testers unhappy with help</title>
		<link>http://www.itwriting.com/blog/2247-visual-studio-2010-testers-unhappy-with-help.html</link>
		<comments>http://www.itwriting.com/blog/2247-visual-studio-2010-testers-unhappy-with-help.html#comments</comments>
		<pubDate>Tue, 16 Feb 2010 14:41:32 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[online help]]></category>
		<category><![CDATA[visual studio 2010]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/2247-visual-studio-2010-testers-unhappy-with-help.html</guid>
		<description><![CDATA[<p>Visual Studio 2010 comes with a brand new help system, based on a local help server rather than a database plus viewer as in the past. There is also an option to use Internet-based help for the most up to date content.</p>
<p>Sounds good, but developers are not happy. The problem: the new help appears to <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/2247-visual-studio-2010-testers-unhappy-with-help.html">Visual Studio 2010 testers unhappy with help</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/2217-visual-studio-2010-rc-arrives-with-go-live-license.html' rel='bookmark' title='Permanent Link: Visual Studio 2010 RC arrives with go-live license'>Visual Studio 2010 RC arrives with go-live license</a></li>
<li><a href='http://www.itwriting.com/blog/1275-first-screenshots-of-visual-studio-2010-ui.html' rel='bookmark' title='Permanent Link: First screenshots of Visual Studio 2010 UI'>First screenshots of Visual Studio 2010 UI</a></li>
<li><a href='http://www.itwriting.com/blog/1435-new-visual-studio-2010-beta-has-wpf-user-interface.html' rel='bookmark' title='Permanent Link: New Visual Studio 2010 beta has WPF editor, Silverlight designer'>New Visual Studio 2010 beta has WPF editor, Silverlight designer</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Visual Studio 2010 comes with a brand new help system, based on a local help server rather than a database plus viewer as in the past. There is also an option to use Internet-based help for the most up to date content.</p>
<p>Sounds good, but developers are <a href="https://connect.microsoft.com/VisualStudio/feedback/details/505032/help-is-missing-an-index">not happy</a>. The problem: the new help appears to have no index of contents. You are meant to navigate by search, then perhaps navigate forward and back using the table of contents tree that appears on the left.</p>
<p><a href="http://www.itwriting.com/blog/wp-content/uploads/2010/02/image8.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.itwriting.com/blog/wp-content/uploads/2010/02/image_thumb8.png" width="404" height="318" /></a> </p>
<p>In the old one, you could use the index to find keywords quickly:</p>
<p><a href="http://www.itwriting.com/blog/wp-content/uploads/2010/02/image9.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.itwriting.com/blog/wp-content/uploads/2010/02/image_thumb9.png" width="404" height="319" /></a> </p>
<p>It turns out that many users prefer the old approach:</p>
<blockquote><p>This is terrible. Productivity will go to zero without an index. Online help is junk, even on a fast connection &#8212; it can never be as fast as my local PC and when I am programming, I need instant answers.</p>
</blockquote>
<p>says one commenter.</p>
<p>Microsoft says:</p>
<blockquote><p>We realize the importance of delivering a keyword index, but we were unable to deliver it in our first release. In this V1.0 release of help system, we first implemented an improved search capability in order to deliver a more familiar, consistent online and offline experience. We then implemented a keyword index feature based on our search catalog. Unfortunately, the results did not meet our quality bar and we determined that this feature would require more work than the Beta 2 timeline allowed. We are looking at implementing it for at future release.</p>
</blockquote>
<p>The odd thing is, there is a third-party viewer called H3Viewer which was apparently put together in a short time using Delphi and the new APIs. It turns out that Visual Studio’s Help is actually an early example of a new Windows Help System called Help 3, and is designed with a comprehensive API for developers. If you set the default help viewer in Visual Studio 2010 to H3Viewer, it works more like the old one, complete with index:</p>
<p><a href="http://www.itwriting.com/blog/wp-content/uploads/2010/02/image10.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.itwriting.com/blog/wp-content/uploads/2010/02/image_thumb10.png" width="404" height="318" /></a> </p>
<p>I can’t actually recommend H3Viewer in the current&#160; beta. It takes ages to read 440,000 index entries every time you start it up and view the index pane – a message notes that “a late fix in the RC release has slowed down the reading of index items dramatically”. In addition, it does not cope well if you set your help preference to online. Still, H3Viewer will likely improve.</p>
</p>
<p>Speaking personally, I don’t mind the idea of search-based help, provided that the search works really well. In practice, it is often easier to Google for what you want to know, bypassing the official help completely, though that may mean getting to the same place by another route. Nevertheless, a reliable online reference is important and it seems that a lot of developers do in fact use the local index.</p>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/2217-visual-studio-2010-rc-arrives-with-go-live-license.html' rel='bookmark' title='Permanent Link: Visual Studio 2010 RC arrives with go-live license'>Visual Studio 2010 RC arrives with go-live license</a></li>
<li><a href='http://www.itwriting.com/blog/1275-first-screenshots-of-visual-studio-2010-ui.html' rel='bookmark' title='Permanent Link: First screenshots of Visual Studio 2010 UI'>First screenshots of Visual Studio 2010 UI</a></li>
<li><a href='http://www.itwriting.com/blog/1435-new-visual-studio-2010-beta-has-wpf-user-interface.html' rel='bookmark' title='Permanent Link: New Visual Studio 2010 beta has WPF editor, Silverlight designer'>New Visual Studio 2010 beta has WPF editor, Silverlight designer</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/2247-visual-studio-2010-testers-unhappy-with-help.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>XML literals come to PHP via Facebook: XHP</title>
		<link>http://www.itwriting.com/blog/2225-xml-literals-comes-to-php-at-facebook-xhp.html</link>
		<comments>http://www.itwriting.com/blog/2225-xml-literals-comes-to-php-at-facebook-xhp.html#comments</comments>
		<pubDate>Wed, 10 Feb 2010 08:19:38 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[xhp]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/2225-xml-literals-comes-to-php-at-facebook-xhp.html</guid>
		<description><![CDATA[<p>Facebook engineer Marcel Laverdet has written up the XHP project on which he has been working at Facebook, and which he says is “quickly becoming a cornerstone of front-end PHP development at Facebook”. XHP enables XML fragments to be valid PHP expressions. In addition, most HTML elements have been pre-defined as variables. The project is <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/2225-xml-literals-comes-to-php-at-facebook-xhp.html">XML literals come to PHP via Facebook: XHP</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/566-microsoft-discusses-next-gen-msdn-on-facebook.html' rel='bookmark' title='Permanent Link: Microsoft discusses next-gen MSDN &#8230; on Facebook'>Microsoft discusses next-gen MSDN &#8230; on Facebook</a></li>
<li><a href='http://www.itwriting.com/blog/1024-salesforcecom-linking-with-facebook-amazon.html' rel='bookmark' title='Permanent Link: Salesforce.com linking with Facebook, Amazon'>Salesforce.com linking with Facebook, Amazon</a></li>
<li><a href='http://www.itwriting.com/blog/262-facebook.html' rel='bookmark' title='Permanent Link: Facebook'>Facebook</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Facebook engineer Marcel Laverdet has <a href="http://www.facebook.com/notes/facebook-engineering/xhp-a-new-way-to-write-php/294003943919">written up</a> the XHP project on which he has been working at Facebook, and which he says is “quickly becoming a cornerstone of front-end PHP development at Facebook”. XHP enables XML fragments to be valid PHP expressions. In addition, most HTML elements have been pre-defined as variables. The project is hosted on github and you can read a <a href="http://wiki.github.com/facebook/xhp/">quick summary here</a>. PHP inventor Rasmus Lerdorf has had a <a href="http://toys.lerdorf.com/archives/54-A-quick-look-at-XHP.html">quick look</a> and says:</p>
<blockquote><p>The main interest, at least to me, is that because PHP now understands the XML it is outputting, filtering can be done in a context-sensitive manner. The <a href="http://php.net/filter">input filtering</a> built into PHP can not know which context a string is going to be used in. If you use a string inside an on-handler or a style attribute, for example, you need radically different filtering from it being used as regular XML PCDATA in the html body. Some will say this form is more readable as well, but that isn&#8217;t something that concerns me very much.</p>
</blockquote>
<p>Lerdorf goes on to express concern about performance, but says that in combination with <a href="http://pecl.php.net/package/APC">APC</a> caching it is much better, and with <a href="http://wiki.github.com/facebook/hiphop-php/">HipHop</a> compilation to native code becomes “a viable approach”.</p>
<p>One of the benefits here is that getting XML markup out of quoted strings means that it can be checked as it is parsed, so that errors are caught earlier. There are parallels with Microsoft’s work on <a href="http://msdn.microsoft.com/en-us/netframework/aa904594.aspx">Linq</a> (Language Integrated Query) which pulls database queries into the language, and <a href="http://msdn.microsoft.com/en-us/library/bb687701.aspx">XML literals in Visual Basic 9.0</a>. Ideally, developers should not have to hide code such as SQL, XML or Javascript within strings that are not checked for valid syntax until runtime.</p>
<p>This might also re-ignite the <a href="http://www.infoq.com/news/2007/03/CSharp-XML">debate</a> <a href="http://iqueryable.com/CommentView,guid,a40f0be3-a9e4-4b3c-9adb-dd66a8b91a27.aspx">about</a> <a href="http://logicaloptimizer.blogspot.com/2009/05/problem-with-c-40.html">whether</a> XML literals should be in C#, now also gaining more attention because of the popularity of ASP.NET MVC.</p>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/566-microsoft-discusses-next-gen-msdn-on-facebook.html' rel='bookmark' title='Permanent Link: Microsoft discusses next-gen MSDN &#8230; on Facebook'>Microsoft discusses next-gen MSDN &#8230; on Facebook</a></li>
<li><a href='http://www.itwriting.com/blog/1024-salesforcecom-linking-with-facebook-amazon.html' rel='bookmark' title='Permanent Link: Salesforce.com linking with Facebook, Amazon'>Salesforce.com linking with Facebook, Amazon</a></li>
<li><a href='http://www.itwriting.com/blog/262-facebook.html' rel='bookmark' title='Permanent Link: Facebook'>Facebook</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/2225-xml-literals-comes-to-php-at-facebook-xhp.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visual Studio 2010 RC arrives with go-live license</title>
		<link>http://www.itwriting.com/blog/2217-visual-studio-2010-rc-arrives-with-go-live-license.html</link>
		<comments>http://www.itwriting.com/blog/2217-visual-studio-2010-rc-arrives-with-go-live-license.html#comments</comments>
		<pubDate>Tue, 09 Feb 2010 08:57:32 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[visual studio 2010]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/2217-visual-studio-2010-rc-arrives-with-go-live-license.html</guid>
		<description><![CDATA[<p>Microsoft has made the Release Candidate of Visual Studio 2010 available for download to MSDN subscribers. From tomorrow (10th February) the same release will be available to everyone. There is a go-live license so you can use this in production if you wish, though if the full release comes in April as planned, it hardly <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/2217-visual-studio-2010-rc-arrives-with-go-live-license.html">Visual Studio 2010 RC arrives with go-live license</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/1435-new-visual-studio-2010-beta-has-wpf-user-interface.html' rel='bookmark' title='Permanent Link: New Visual Studio 2010 beta has WPF editor, Silverlight designer'>New Visual Studio 2010 beta has WPF editor, Silverlight designer</a></li>
<li><a href='http://www.itwriting.com/blog/2202-whats-new-in-visual-studio-1010-more-than-you-may-realise.html' rel='bookmark' title='Permanent Link: What&rsquo;s new in Visual Studio 2010 &ndash; more than you may realise'>What&rsquo;s new in Visual Studio 2010 &ndash; more than you may realise</a></li>
<li><a href='http://www.itwriting.com/blog/1892-visual-studio-2010-to-launch-march-22-with-azure-team-foundation-server-for-all.html' rel='bookmark' title='Permanent Link: Visual Studio 2010 to launch March 22 with Azure, Team Foundation Server for all'>Visual Studio 2010 to launch March 22 with Azure, Team Foundation Server for all</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Microsoft has made the Release Candidate of Visual Studio 2010 available for <a href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx">download</a> to MSDN subscribers. From tomorrow (10th February) the same release will be available to everyone. There is a <a href="http://blogs.msdn.com/somasegar/archive/2010/02/08/visual-studio-2010-and-net-framework-4-release-candidate-now-available.aspx">go-live license</a> so you can use this in production if you wish, though if the full release comes in April as planned, it hardly seems worth it in most scenarios.</p>
<p>What’s new since the beta? Jason Zander says <a href="http://blogs.msdn.com/jasonz/archive/2010/02/09/announcing-vs2010-net-framework-4-release-candidate-rc.aspx">mainly performance</a>. Note that the <a href="http://blogs.msdn.com/ricom/archive/2009/10/19/my-history-of-visual-studio-part-10-final.aspx">Chief Architect of Visual Studio</a> is Rico Mariani, formerly Microsoft’s .NET performance guru, which is encouraging in this respect.</p>
<p>The blow-by-blow account of issues with the RC is <a href="http://download.microsoft.com/download/A/F/F/AFFE9A0D-E43C-4402-99C1-DD4E0E58AB60/VS2010RCReadme.htm">here</a>.</p>
<p>Whatever your views on the direction and future of Microsoft’s platform, there’s no doubting the huge scope of this release, though <a href="http://www.itwriting.com/blog/2202-whats-new-in-visual-studio-1010-more-than-you-may-realise.html">in my view</a> the company has not communicated this particularly well, saying too much about things like SharePoint development, top of its <a href="http://msdn.microsoft.com/en-us/vstudio/dd441784.aspx">list of walkthroughs</a> but still an ugly business, and not enough about features such as IntelliTrace debugging, or the new ability to float windows out of the IDE and onto a second display, which will have a more immediate impact on developers. Note that the Visual Studio IDE has been re-built using WPF (Windows Presentation Foundation), and that it comes with a the first completely new version of the .NET Framework since 2005.</p>
<p>Silverlight 4.0 is another area of interest, though I understand that it will not be complete in time for this release. Visual Studio 2010 will have Silverlight 3.0 out of the box, with the ability to install the 4.0 preview release and eventually the final release as an add-on. I’ve also heard that Silverlight 4.0 is <a href="http://weblogs.asp.net/scottgu/archive/2010/02/08/vs-2010-net-4-release-candidate.aspx">not yet supported at all in the RC</a>, so be cautious if this is your area of work – you may need to stick with the last beta for the moment.</p>
<p>New is not always better, of course. I’m interested in hearing from developers working with Visual Studio 2010 – whether performance and stability issues have been overcome, and what you think of it overall.</p>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/1435-new-visual-studio-2010-beta-has-wpf-user-interface.html' rel='bookmark' title='Permanent Link: New Visual Studio 2010 beta has WPF editor, Silverlight designer'>New Visual Studio 2010 beta has WPF editor, Silverlight designer</a></li>
<li><a href='http://www.itwriting.com/blog/2202-whats-new-in-visual-studio-1010-more-than-you-may-realise.html' rel='bookmark' title='Permanent Link: What&rsquo;s new in Visual Studio 2010 &ndash; more than you may realise'>What&rsquo;s new in Visual Studio 2010 &ndash; more than you may realise</a></li>
<li><a href='http://www.itwriting.com/blog/1892-visual-studio-2010-to-launch-march-22-with-azure-team-foundation-server-for-all.html' rel='bookmark' title='Permanent Link: Visual Studio 2010 to launch March 22 with Azure, Team Foundation Server for all'>Visual Studio 2010 to launch March 22 with Azure, Team Foundation Server for all</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/2217-visual-studio-2010-rc-arrives-with-go-live-license.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
