<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6615373</id><updated>2024-03-08T15:56:48.552+00:00</updated><title type='text'>Dogpike</title><subtitle type='html'>Adam Young&#39;s Blog</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default?alt=atom'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default?alt=atom&amp;start-index=26&amp;max-results=25'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>98</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6615373.post-113145230463441155</id><published>2005-11-08T12:05:00.000+00:00</published><updated>2005-11-08T12:18:24.646+00:00</updated><title type='text'>MS Will Release VS Service Packs!</title><content type='html'>I&#39;ve blogged about it before, but back in the old days (for Visual Studio versions prior to 7, aka .NET), MS used to release regular service packs for bugs in the development environments. This was back when most languages had their own IDEs (by version 6 they were pretty much integrated, apart from VB). As I&#39;ve said, regretfully, MS abandoned this when Studio 7 (&quot;.NET&quot;) came out. Although they&#39;ve released a few service packs for the .NET Framework, they didn&#39;t bother patching the IDE. Oh, there were loads and loads of little &quot;hot fixes&quot;, but you had to contact support for those, and there was no real guarantee of quality.&lt;br /&gt;&lt;br /&gt;Finally, finally, finally, MS have announced they&#39;ll be releasing &lt;a href=&quot;http://blogs.msdn.com/scottwil/archive/2005/11/07/490007.aspx&quot;&gt;service packs for Visual Studio 2003, and 2005&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Unfortunately, these won&#39;t be available until the middle of next year. I don&#39;t understand why the service pack for VS 2003 isn&#39;t available until June 2006. I mean, how long has this product been out already? As for VS 2005, there have been &lt;a href=&quot;http://minimsft.blogspot.com/2005/11/hey-shareholders-vs-2005-is-fantastic.html&quot;&gt;worrying rumours of nasty bugs and poor performance&lt;/a&gt;. I&#39;ve got plenty of experience of using the beta versions of the original Visual Studio .NET, as my company at the time made the exciting and frankly foolhardy decision to use beta 1 for a major product development. Since those painful days, I&#39;ve steered well clear of beta releases of MS dev tools (unless they&#39;re quarantined in a VM and I don&#39;t have to do any real work with them other than &quot;playing&quot;). So, I think I&#39;ll steer well clear of VS2005 RTM until the release of sp 1 sometime in the 1st half of next year.&lt;br /&gt;&lt;br /&gt;Ignoring the Express Editions, Visual Studio is an expensive beast. Expensive, and buggy, in my opinion. I&#39;ve used it &lt;em&gt;every day&lt;/em&gt; since the release of beta1 in December 2000 - that&#39;s just shy of five years. And I&#39;m still waiting for the cool, efficient and stable dev tool they promised us back in the summer of 2000.</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/113145230463441155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/113145230463441155' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/113145230463441155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/113145230463441155'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/11/ms-will-release-vs-service-packs.html' title='MS Will Release VS Service Packs!'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-112784468148541830</id><published>2005-09-16T19:11:00.000+01:00</published><updated>2005-09-27T19:15:52.916+01:00</updated><title type='text'>MS Expression</title><content type='html'>I&#39;ve talked about XAML / Avalon in previous posts, and how this will be used to generate revolutionary new UIs. MS have come up with previews of 3 new tools to enable this. The product range is known collectively as &quot;Expression&quot;, and comprises:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.microsoft.com/products/expression/en/web_designer/default.aspx&quot;&gt;Quartz Web Designer&lt;/a&gt;;&lt;br /&gt;&lt;a href=&quot;http://www.microsoft.com/products/expression/en/graphic_designer/default.aspx&quot;&gt;Acrylic Graphic Designer&lt;/a&gt;;&lt;br /&gt;&lt;a href=&quot;http://www.microsoft.com/products/expression/en/interactive_designer/default.aspx&quot;&gt;Sparkle Interactive Designer&lt;/a&gt;;&lt;br /&gt;&lt;br /&gt;The next version of Visual Studio, codename &quot;Orcas&quot; will replace the current Web Forms designer with Quartz. I&#39;m assuming Sparkle will form the equivalent designer for Windows Forms (some folks are also comparing Sparkle with Flash). Acrylic is a graphic design tool, which you can use in conjunction with both Quartz and Sparkle. If you take the time to read up on these tools, and see what Avalon is capable of, you&#39;ll see that there&#39;s an exciting time ahead for UI development.</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/112784468148541830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/112784468148541830' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/112784468148541830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/112784468148541830'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/09/ms-expression.html' title='MS Expression'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-112495856990001787</id><published>2005-08-24T20:22:00.000+01:00</published><updated>2005-09-27T09:24:17.180+01:00</updated><title type='text'>More Evidence for an Apple Tablet</title><content type='html'>I mentioned in a previous post that it looked like Apple might be considering putting out a &lt;a href=&quot;http://dogpike.blogspot.com/2005/05/apple-to-release-tablet-mac.html&quot;&gt;Mac with the Tablet form factor&lt;/a&gt;. Engadget are reporting that &lt;a href=&quot;http://www.engadget.com/entry/1234000757055799/&quot;&gt;Apple are now looking for a new handwriting recognition engineer&lt;/a&gt;, so maybe this idea isn&#39;t as far fetched as some were claiming.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://dogpike.blogspot.com/2005/01/why-tablet-pc-will-succeed.html&quot;&gt;I&#39;ve said before&lt;/a&gt; that I think the Tablet is a great idea, and that I really want one. At the moment, they&#39;re in a bit of a niche position. Most manufacturers are producing them, with the notable exception of Dell, and they&#39;re not really seen currently as anything more than a toy.&lt;br /&gt;&lt;br /&gt;The competition from Apple might just be good for the form factor, and encourage the likes of Dell to take Tablet machines seriously.</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/112495856990001787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/112495856990001787' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/112495856990001787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/112495856990001787'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/08/more-evidence-for-apple-tablet.html' title='More Evidence for an Apple Tablet'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-112435841577508203</id><published>2005-08-18T22:36:00.000+01:00</published><updated>2005-09-27T09:24:32.846+01:00</updated><title type='text'>The Future of MS Platform Apps Development</title><content type='html'>I&#39;m sure everyone knows by now that the next generation of apps for the Win platform will make use of Xaml (extensible application markup language), which is an Xml dialect used to define UIs - one set of markup will work just as well for thin and thick client apps (see my earlier posts on Xaml and Avalon &lt;a href=&quot;http://dogpike.blogspot.com/2005/02/xaml-avalon-part-1.html&quot;&gt;pt. 1&lt;/a&gt;, &amp;amp; &lt;a href=&quot;http://dogpike.blogspot.com/2005/02/xaml-part-2.html&quot;&gt;pt. 2&lt;/a&gt;, now known as Windows Presentation Foundation).&lt;br /&gt;&lt;br /&gt;A lot of people recently have been comparing Xaml with Flash, and it&#39;s true - you will be able to have real whizzy graphical effects in your apps. Within a few years, the programs you use and develop today will be unrecognisable.&lt;br /&gt;&lt;br /&gt;&quot;So,&quot; everyone asks when I tell them this, &quot;does that mean I need to become a graphic designer?&quot;&lt;br /&gt;&lt;br /&gt;MS have quietly released a preview version of a graphics tool called Acrylic, which apparently &lt;a href=&quot;http://blogs.msdn.com/ianm/archive/2005/08/18/453000.aspx&quot;&gt;now exports to Xaml&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This tool will find its way into the next generation of dev tools from MS (apparently there&#39;s also another related tool on the way) - we&#39;re talking a year or two down the line once Vista is out - but you can begin to imagine what things will be like.</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/112435841577508203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/112435841577508203' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/112435841577508203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/112435841577508203'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/08/future-of-ms-platform-apps-development.html' title='The Future of MS Platform Apps Development'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-112254907842625724</id><published>2005-07-28T22:09:00.000+01:00</published><updated>2005-09-27T09:25:19.090+01:00</updated><title type='text'>Some First Impressions on IE7</title><content type='html'>Robert McLaws has installed IE7 beta1 and has some interesting &lt;a href=&quot;http://www.longhornblogs.com/robert/archive/2005/07/28/14241.aspx&quot;&gt;first impressions&lt;/a&gt;; looks like he hates the way tabbed browsing is implemented, and the new UI reorganisation (where the menu is no longer at the top, it&#39;s in the middle... see my last post).&lt;br /&gt;&lt;br /&gt;Personally, I&#39;m toying with the idea of installing Vista on a VM on a spare machine, but I may wait for beta 2.</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/112254907842625724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/112254907842625724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/112254907842625724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/112254907842625724'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/07/some-first-impressions-on-ie7.html' title='Some First Impressions on IE7'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-112254058670161550</id><published>2005-07-27T23:26:00.000+01:00</published><updated>2005-07-28T09:49:46.706+01:00</updated><title type='text'>Want Info on IE7 Beta1?</title><content type='html'>Download the technical overview doc &lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyId=718E9B3A-64FE-4A4C-9DDF-57AF0472EAD2&amp;displaylang=en&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Key features:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Anti-phishing (enhancements to the security status bar to alert users to issues with site certs, maintains a list of known phising sites and warns the user, etc);&lt;/li&gt;&lt;li&gt;1-click cleanup of browser history;&lt;/li&gt;&lt;li&gt;Tabbed browsing! (sigh). Number 1 requested feature. Personally, I think it&#39;s overrated. The IE team had to make a &lt;strong&gt;lot&lt;/strong&gt; of changes to the IE codebase to add this; I&#39;m sure I&#39;ll learn to love it;&lt;/li&gt;&lt;li&gt;Toolbar search. Integrated, extensible searching built into the toolbar;&lt;/li&gt;&lt;li&gt;Improved printing;&lt;/li&gt;&lt;li&gt;A &quot;Cleaner, Sleeker UI&quot; - they&#39;ve monkied around with the toolbars; the Back /Forward buttons now sit to the left of the address bar; the stop and refresh buttons have been combined and now sit where the little green &quot;Go&quot; button used to be (i.e., to the right of the address bar); next comes the tabbed browsing tabstrip, finally, the menu (that used to be right at the top) &amp; the toolbar with smaller buttons to maximise screen real estate. Frankly, it looks a little odd... and I&#39;ve heard that not all the UI enhancements are in beta1... we must wait for beta2 (incidentally, this is also true of Win Vista itself, so I guess they&#39;re still working on Aero Glass &amp; we have to wait a little longer to see it);&lt;/li&gt;&lt;li&gt;RSS Support - discovery &amp; subscription, &amp;amp; more features slated for beta2;&lt;/li&gt;&lt;li&gt;Not much on developer features, but apparently there&#39;s better CSS &amp; transparent png support;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Finally, a lowdown of how all those project codenames have changed:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&quot;Longhorn&quot; - Windows Vista (apparently MS want us to pronounce this &quot;veesta&quot;, but sod that) - actually, I quite like the name, but don&#39;t confuse it with &lt;a href=&quot;http://www.vistawindows.com.au/&quot;&gt;Vista Windows&lt;/a&gt;, or, er... &lt;a href=&quot;http://www.vistawindowco.com/&quot;&gt;Vista Windows&lt;/a&gt;;&lt;/li&gt;&lt;li&gt;&quot;Avalon&quot; - Windows Presentation Foundation (yawn);&lt;/li&gt;&lt;li&gt;&quot;Indigo&quot; - Windows Communication Foundation (yawn, yawn, yawn);&lt;/li&gt;&lt;li&gt;Direct3D 10 - Windows Graphics Foundation 2.0 (WGF2);&lt;/li&gt;&lt;li&gt;&quot;ClickOnce&quot; - they were going to give this a swanky new name... trouble is, they couldn&#39;t think of anything swankier than &quot;ClickOnce&quot;, so that&#39;s what it will be called.&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/112254058670161550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/112254058670161550' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/112254058670161550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/112254058670161550'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/07/want-info-on-ie7-beta1.html' title='Want Info on IE7 Beta1?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-112202028743743435</id><published>2005-07-21T21:17:00.000+01:00</published><updated>2005-09-27T09:26:05.096+01:00</updated><title type='text'>Windows Vista, aka &quot;Longhorn&quot;</title><content type='html'>Apparently the product name of the next version of Windows (project &quot;Longhorn&quot;) will be Windows Vista...</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/112202028743743435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/112202028743743435' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/112202028743743435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/112202028743743435'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/07/windows-vista-aka-longhorn.html' title='Windows Vista, aka &quot;Longhorn&quot;'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-112179229023444116</id><published>2005-07-19T17:38:00.000+01:00</published><updated>2005-07-19T17:59:00.350+01:00</updated><title type='text'>More Romany Words in Current English Usage</title><content type='html'>Following on from my last post, and to highlight the fact that Gypsy culture has been integrated with English culture for the last couple of hundred years, here&#39;s some AngloRomani loan words (I already mentioned &lt;em&gt;chav&lt;/em&gt;, &lt;em&gt;pal&lt;/em&gt; and &lt;em&gt;cosh&lt;/em&gt;); at least some of these words will be familiar to fans of &lt;em&gt;Only Fools and Horses&lt;/em&gt;:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Kushti&lt;/em&gt; - lucky;&lt;br /&gt;&lt;em&gt;Scran&lt;/em&gt; - food (or to beg);&lt;br /&gt;&lt;em&gt;Shiv&lt;/em&gt; - a blade / knife;&lt;br /&gt;&lt;em&gt;Mush&lt;/em&gt; - means bloke, and incidentally:&lt;br /&gt;&lt;em&gt;Bloke&lt;/em&gt; - means man, from the Romany word &lt;em&gt;loke&lt;/em&gt; (same word in Hindi);&lt;br /&gt;&lt;em&gt;Wonga&lt;/em&gt; - means money, but derived from Romany word &lt;em&gt;wanga&lt;/em&gt;, meaning &quot;coal&quot;;&lt;br /&gt;&lt;em&gt;Nark &lt;/em&gt;(as in informer) - originally from the Romany word &lt;em&gt;naak&lt;/em&gt;, meaning &quot;nose&quot;;&lt;br /&gt;&lt;em&gt;Posh&lt;/em&gt; - disputed, but believed to derive from &lt;em&gt;posh karoon&lt;/em&gt;, meaning &quot;half a crown&quot;, coins which Romanichals used as buttons to show off their wealth;&lt;br /&gt;&lt;br /&gt;Interesting, eh?&lt;br /&gt;&lt;br /&gt;Quite the opposite of the Daily Mail&#39;s decision to portray Romanichals as troublemakers and interlopers.&lt;br /&gt;&lt;br /&gt;More can be found &lt;a href=&quot;http://www.takeourword.com/Issue101.html&quot;&gt;here&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/112179229023444116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/112179229023444116' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/112179229023444116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/112179229023444116'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/07/more-romany-words-in-current-english.html' title='More Romany Words in Current English Usage'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-112135856812617534</id><published>2005-07-14T18:00:00.000+01:00</published><updated>2005-07-18T15:07:20.630+01:00</updated><title type='text'>Hell is Other People&#39;s Code</title><content type='html'>There are two real phenomena out there in IT.&lt;br /&gt;&lt;br /&gt;The first one is what I call &lt;strong&gt;&quot;Hell is other people&#39;s code&quot;&lt;/strong&gt; (with apologies to &lt;a href=&quot;http://www.brainyquote.com/whosaidthat/whosaidthat_103690.html&quot;&gt;Jean-Paul Sartre&lt;/a&gt;). This is where you inherit a code base that you must now maintain and extend. You declare to all who will listen that &quot;it&#39;s rubbish&quot;. You&#39;ll swear and curse as you read through it. You&#39;ll make jokes about it in the pub with your friends.&lt;br /&gt;&lt;br /&gt;Joel Spolsky describes this pretty well in &lt;a href=&quot;http://joelonsoftware.com/articles/fog0000000069.html&quot;&gt;Things you should never do, part 1&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The second is what I call &lt;strong&gt;&quot;IT Proselytes&quot;&lt;/strong&gt;. This is where people adopt every little new &quot;trendy&quot; methology or tech that crops up. OK, so we have &quot;agile development&quot;, XP, then Scrum... all of a sudden someone else jumps onto the bandwagon and invents &quot;Lean Software Development&quot;, which creates further spin-offs. Then you have the proselytes, who gush about these things in their blogs in a bid to be the first to declare that they&#39;re using XYZ technology with abc process, and how you should be using it too... I guess there&#39;s a certain amount of kudos in this. It&#39;s the IT equivalent of inventing a new diet. &quot;I used iXP and shed 50 pounds!&quot;&lt;br /&gt;&lt;br /&gt;Mike Spille describes why this isn&#39;t such a good idea in &lt;a href=&quot;http://www.pyrasun.com/mike/mt/archives/2005/07/13/21.45.29/index.html&quot;&gt;Action Hippo Rangers&lt;/a&gt;! People who are the first onto a bandwagon tend to be the first to fall off.</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/112135856812617534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/112135856812617534' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/112135856812617534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/112135856812617534'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/07/hell-is-other-peoples-code.html' title='Hell is Other People&#39;s Code'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-112003355365664808</id><published>2005-06-29T09:16:00.000+01:00</published><updated>2005-06-29T09:25:53.660+01:00</updated><title type='text'>Hooray for Atlas!</title><content type='html'>Whe I first started using ASP.NET I was intrigued by the concept of server controls. I thought, wow, we can lose all that client-side script that is so tricky to write and debug. It quickly became clear the model was flawed. You really, really can&#39;t abandon client-side technologies when you&#39;re creating web pages. The user experience is just too disjointed and sluggish. Sure, MS intriduced Smart Navigation, to try to reduce some of the issues intriduced by postbacks, but it was always just a sticking plaster over a deeper problem. To write a decent site, you had to pretty much abandon server controls, viewstate, and so on, and pull out your DHTML and JavaScript reference.&lt;br /&gt;&lt;br /&gt;I was always really annoyed that MS completely ignored client-side scripting  - there&#39;s just no real tool support.&lt;br /&gt;&lt;br /&gt;I&#39;ve already &lt;a href=&quot;http://dogpike.blogspot.com/2005/03/ajax-is-nothing-new.html&quot;&gt;commented on AJAX&lt;/a&gt; on this blog. I&#39;m really pleased to see that MS are planning a new suite of tools &amp; techs - codenamed Atlas - built on ASP.NET 2.0, to support client-side web development. You can read about it on &lt;a href=&quot;http://weblogs.asp.net/scottgu/archive/2005/06/28/416185.aspx&quot;&gt;Scott Guthrie&#39;s blog&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/112003355365664808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/112003355365664808' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/112003355365664808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/112003355365664808'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/06/hooray-for-atlas.html' title='Hooray for Atlas!'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-111891554908895596</id><published>2005-06-16T21:49:00.000+01:00</published><updated>2005-06-17T09:52:27.890+01:00</updated><title type='text'>The Future of VB</title><content type='html'>I &lt;a href=&quot;http://dogpike.blogspot.com/2005/03/vb6-and-evil-dead-join-ussss.html&quot;&gt;recently mentioned&lt;/a&gt; the outcry of VB.old devs at the prospect of moving to VB.net now that the mainstream product support for VB.old has expired. My basic point was that VB.net is better than vb.old, and I was finding it hard to understand why anyone would want to cling to a dying language and toolset.&lt;br /&gt;&lt;br /&gt;Then I got to thinking a little more deeply about the issue...&lt;br /&gt;&lt;br /&gt;VB was always meant to be a RAD language / toolset. The idea was that you could have folks with rudimentary IT skills create simple programs and automate tasks. For this reason, VB became extremely popular - it was trivial to create GUIs, compare with C++; you could do so much more in a fraction of the time. Gradually more and more people adopted VB, including seasoned developers. As a result, developers demanded more and more from the toolset, the most common cry was for OO, which was &lt;em&gt;kind of&lt;/em&gt; delivered in VB5 (arguments raged over whether VB was an object oriented language or not - but let&#39;s face it, &lt;em&gt;it wasn&#39;t&lt;/em&gt;).&lt;br /&gt;&lt;br /&gt;So, VB had to serve two masters - the experts who liked the ease of use but wanted a &quot;proper&quot; programming language, and the less sophisticated developers, who just wanted to get the job done. Two kinds of applications were developed as a result - enterprise level apps, that frequently hit the limitations of VB, and small-scale apps that were frequently hard to maintain and extend.&lt;br /&gt;&lt;br /&gt;With VB.net 1.x, a lot of the RAD was lost; suddenly there was a yawning gulf between what VB.old developers knew, and where they had to go in order to upgrade their skills. The language now supported OO, and this in itself was a tricky learning curve for those VB devs unused to the discipline. The .net Framework is vast, and there&#39;s a lot to learn. VB.net became a grown-up language, and so pleased half of the VB devs (although a lot of these migrated to C#)  but left the other half of the user base cold.&lt;br /&gt;&lt;br /&gt;So where does VB go from here?&lt;br /&gt;&lt;br /&gt;A major problem preventing migration of VB.old to .net are all those VB legacy apps; the conversion wizard in .net 1.x wasn&#39;t good enough for most devs, in that it only converted some of your code, leaving large parts untouched for devs to code themselves. When you&#39;re new to the framework, this is a daunting proposition; for this reason, the usual recommendation is to re-write your apps in .net, rather than migrate. Perhaps the wizard is improved in version 2?&lt;br /&gt;&lt;br /&gt;It seems MS are making concerted efforts to return RAD to the language with version 2, what with &quot;Edit &amp; Continue&quot; restored, and the My classes wrapping up and simplifying large chunks of the .net framework; My seems to be attempting to make .net accessible to the less sophisticated programmers,&amp; .net novices, and reduce the amount of code that needs to be written. This prevents VB devs having to learn the framework, and will shield them from complexity, but it will become a crutch - if you&#39;re using the My wrapper, then you won&#39;t learn how to code the underlying framework equivalents. Meanwhile, C# gets refactoring support, while VB.net doesn&#39;t...&lt;br /&gt;&lt;br /&gt;There is a certainly a movement in the 2.0 release towards more hand-holding for VB, and access to more advanced tools for C# developers. I believe this is part of a trend that will continue with the next release. MS will continue to simplify VB.net, and so it will eventually return it to its state of being a novice&#39;s language; I&#39;m not trying to denigrate VB or VB developers (I used to be one myself, back in the COM days), but I think eventually the language will dumb itself down to the point where most serious developers will move to C#. The target audience for VB.net will be beginners, students, and end users looking to automate work-flows.&lt;br /&gt;&lt;br /&gt;Again, I&#39;ve no wish to denigrate VB - when I used to develop with VB.old &amp; VB.net, I was always exasperated by the &quot;C++ / C# is better&quot; argument, and thought it unfair that C# got features that VB.net didn&#39;t (operator overloading, which VB gets in 2.0, an allegedly more efficient MSIL compiler, etc). However, the point I am trying to make is that BASIC was originally designed as a beginner&#39;s language back in the 60s &amp;amp; VB followed this trend by bringing development to novices; the productivity VB brought was a mix of syntax and productivity tools in the IDE, which are now accessible to C# and C++ devs (the great debugger, the forms designer, etc). VB can&#39;t serve both pro and novice developers, and so something&#39;s got to give...</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/111891554908895596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/111891554908895596' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111891554908895596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111891554908895596'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/06/future-of-vb.html' title='The Future of VB'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-111816211701512335</id><published>2005-06-07T17:34:00.000+01:00</published><updated>2005-06-07T17:35:17.020+01:00</updated><title type='text'>Visual Studio 2005, SQL Server 2005, BizTalk Server 2006 RTM: November 7 2005</title><content type='html'>More in the press release &lt;a href=&quot;http://www.microsoft.com/presspass/press/2005/jun05/TechEd2005Day2PR.mspx&quot;&gt;here&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/111816211701512335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/111816211701512335' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111816211701512335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111816211701512335'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/06/visual-studio-2005-sql-server-2005.html' title='Visual Studio 2005, SQL Server 2005, BizTalk Server 2006 RTM: November 7 2005'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-111590070577725688</id><published>2005-05-12T13:20:00.000+01:00</published><updated>2005-05-12T13:25:05.783+01:00</updated><title type='text'>Apple To Release Tablet Mac</title><content type='html'>That&#39;s right - according to &lt;a href=&quot;http://www.engadget.com&quot;&gt;engadget&lt;/a&gt;, Apple are going to release a &lt;a href=&quot;http://www.engadget.com/entry/1234000790042949/&quot;&gt;Tablet version of the Mac&lt;/a&gt;; I&#39;ve talked about Tablet PC &lt;a href=&quot;http://dogpike.blogspot.com/2005/01/why-tablet-pc-will-succeed.html&quot;&gt;before on this blog&lt;/a&gt; - I really do believe that the Tablet&#39;s time has not yet come, but it will be the next big thing. Seems that, if Apple go ahead with this, suddenly everyone will want a Tablet - maybe this is the spur the concept needs to get it into the mainstream...</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/111590070577725688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/111590070577725688' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111590070577725688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111590070577725688'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/05/apple-to-release-tablet-mac.html' title='Apple To Release Tablet Mac'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-111589463849279158</id><published>2005-05-12T11:42:00.000+01:00</published><updated>2005-05-12T11:43:58.496+01:00</updated><title type='text'>More Win Forms Annoyances</title><content type='html'>I&#39;ve just found a site describing a problem with the default control font in Win Forms that has not been addressed in Win Forms 2.0: &lt;a href=&quot;http://weblogs.asp.net/kdente/archive/2005/03/13/394499.aspx&quot;&gt;Things They Didn&#39;t Fix in Whidbey...&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/111589463849279158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/111589463849279158' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111589463849279158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111589463849279158'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/05/more-win-forms-annoyances.html' title='More Win Forms Annoyances'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-111589409335574552</id><published>2005-05-11T21:04:00.000+01:00</published><updated>2005-05-12T12:12:31.706+01:00</updated><title type='text'>Windows Forms Annoyances 3.</title><content type='html'>OK, time for part 3 of my Win Forms rant. This time: &lt;strong&gt;Help&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;First off, support for user help is heading in the right direction, but there are a couple of problems with the implementation as it stands:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;em&gt;What&#39;s This?&lt;/em&gt; help is implemented badly; you want all your help topics in a compiled help file (.chm). So, your BA will compose help in RoboHelp, and create a help topic for every control on your form; the idea being that the user will click on either the question mark icon in your form, then click the control s/he wants information on (or they hit F1). Unfortunately, in Win Forms, the HelpNavigator&#39;s &lt;span style=&quot;font-family:courier new;&quot;&gt;SetHelpString()&lt;/span&gt; method (which is designed for &lt;em&gt;What&#39;s This?&lt;/em&gt; Help) only takes a string as a parameter - the implication being that the help topic text should be hard-coded into your app or come from a resource file. This is obviously flawed, and means you have to resort to using the HTML Help API to get your &lt;em&gt;What&#39;s This?&lt;/em&gt; help topics out of your help file.&lt;/li&gt;&lt;p&gt;&lt;li&gt;Also, for &lt;em&gt;What&#39;s This?&lt;/em&gt; help, you need to associate each control on a form with a help topic; of course, there&#39;s no integral way to do this as Win Forms stands, so you are forced to use the Control&#39;s Tag property to store the Help Topic ID. Again, not ideal.&lt;/li&gt;&lt;p&gt;&lt;li&gt;The &lt;strong&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;HelpRequested&lt;/span&gt;&lt;/strong&gt; event - great, an event that tells us when the user requested help for our form; we can use this to get the control that the user wants help for; the event doesn&#39;t tell us this - all it gives us is the mouse position. So we need to use this data to find where the user clicked the mouse in order to locate that control. Unfortunately, this event could be fired in one of two ways: by clicking the little question mark in the form banner (the mouse pointer turns into a little &quot;question mark&quot; icon) then clicking on a control, or by setting focus to a control and hitting the F1 key. So, when we attempt to locate that control with the Point the &lt;span style=&quot;font-family:courier new;&quot;&gt;HelpEventArgs&lt;/span&gt; provides, how do we determine whether or not the user clicked F1? I mean, imagine that the user leaves the mouse hovering over an OK button, then tabs to a TextBox and hits F1 - what help topic do we show? The one for the OK button, or the textbox? We really don&#39;t know what the user did, so we have to &quot;guess&quot; what topic to show. Fiddly &amp;amp; error prone.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;I&#39;ll be interested to see how this has been improved (if at all) in Win Forms 2.0...&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/111589409335574552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/111589409335574552' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111589409335574552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111589409335574552'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/05/windows-forms-annoyances-3.html' title='Windows Forms Annoyances 3.'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-111572560979212304</id><published>2005-05-09T22:58:00.000+01:00</published><updated>2005-05-10T12:46:49.883+01:00</updated><title type='text'>Windows Forms Annoyances 2.</title><content type='html'>Continuing my previous post on what I don&#39;t like about the current implementation of Win Forms, I&#39;ll expand on a throwaway comment I made about MVC.&lt;br /&gt;&lt;br /&gt;Win Forms doesn&#39;t really support MVC; the model MS favoured was the Document\View pattern, implemented in MFC, and later in Visual Basic.old. The benefits of this is that it eliminates the complexity of MVC (which relies heavily on eventing, pointers, and decouples your UI application into a user interface and an underlying object model - so good OO skills are a must).&lt;br /&gt;&lt;br /&gt;So, when MS came to create WinForms, they pretty much took the existing VB model and development mindset and gave it a new gloss; as I said in my last post, this makes the transition for VB developers to Win Forms relatively trivial, but IMO it was a &quot;warts and all&quot; port; sure, there&#39;s some good stuff, but there&#39;s also a lot of nasy stuff that should really have been re-thought (see my last post for more on this). My main objection is that it &lt;em&gt;is&lt;/em&gt; possible to do MVC in Win Forms, but by default you&#39;re pushed into the default document/view model.&lt;br /&gt;&lt;br /&gt;So, when you come to create a Win Forms app, what do you do? First off, the IDE will put the app&#39;s entry point, &lt;span style=&quot;font-family:courier new;&quot;&gt;Main()&lt;/span&gt;, in the default form (this is &quot;fixed&quot; in VS2005). You will then drag and drop controls onto this form, and in most cases double-click on them to add code behind the exposed events. Next, you decide you need data; so you&#39;ll make calls to a database, or web service right there in the event code in your form (or perhaps you&#39;ll show some initiative and create a class that wraps the call for data, but it really just amounts to the same thing). Perhaps some buttons or controls will navigate you to other forms; again, you&#39;ll instantiate and show those forms right there in your form&#39;s code.&lt;br /&gt;&lt;br /&gt;Let&#39;s go a little deeper and look at two popular controls, the TreeView and ListView; in Win Forms, these are pretty much identical to their VB.old predecessors; you can quite easily add Nodes to a tree by clicking the Nodes property and using the little dialog that pops up - you can just &quot;hard-code&quot; the data right into the control - that&#39;s OK for prototyping, but it breaks MVC. While we&#39;re on the subject of patterns, let&#39;s take a look at the look &amp; feel; don&#39;t like it? OK, so change the border style - oops, just 3 styles to choose from and no way to set the colour - time to subclass TreeView and use System.Drawing to create a custom border. What we should have seen here is the use of the &lt;a href=&quot;http://c2.com/cgi/wiki?StrategyPattern&quot;&gt;Strategy pattern&lt;/a&gt; to allow new behaviour to be applied to the border property at runtime.&lt;br /&gt;&lt;br /&gt;Why is this bad?&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You end up with your form having navigation code &quot;hard-coded&quot; within it; in the example above, what happens if you want to add a splash screen that shows before the default form is displayed? Some &lt;em&gt;nasty&lt;/em&gt; code in the form_load event that hides one while showing the other? &lt;/li&gt;&lt;li&gt;Your calls to fetch data are tightly coupled into your UI code; even if you have a separate class, a separate component, that does the dirty work of actually getting the data from a database or web service, it&#39;s still initiated from your UI (view) code.&lt;/li&gt;&lt;li&gt;Your forms will get very, very big and unwieldy; and it&#39;s not just about the amount of code I&#39;m taling about - the majority of your app&#39;s structure lies in its navigation graph and how it stores and manipulates data - and if it&#39;s all in your form code (see previous two bullets) then your app is going to get very hard to maintain very quickly.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Personally, I think this is the reason why so many VB apps are so difficult to maintain, change, and debug. MS have a write-up of &lt;a href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpatterns/html/DesMVC.asp&quot;&gt;MVC&lt;/a&gt; (albeit from a web-focussed perspective), and they have (predictably) added a caveat at the bottom indicating that Document/View is superior, which is no surprise considering that Win Forms and ASP.NET both utilise it. MS produced the User Interface Process (UIP) Application Block, to address this issue and bring MVC to .net UI dev; unfortunately, the UIP was excessively web-focussed, and it was hard to apply the navigation model to a thick client application (note that two new versions of UIP will be developed for &lt;a href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/entlib.asp&quot;&gt;Enterprise Library&lt;/a&gt;, one for web and one for Win Forms).&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/111572560979212304/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/111572560979212304' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111572560979212304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111572560979212304'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/05/windows-forms-annoyances-2.html' title='Windows Forms Annoyances 2.'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-111477655997701126</id><published>2005-04-29T12:23:00.000+01:00</published><updated>2005-04-29T13:09:19.980+01:00</updated><title type='text'>Windows Forms Annoyances</title><content type='html'>I&#39;ve not yet looked at Beta2, but here&#39;s my list of annoyances with Win Forms 1.x; Win Forms in its current incarnation is like a poor cousin in the .NET world - it&#39;s like it was developed as an afterthought to ASP.NET, C# and the .NET Framework.&lt;br /&gt;&lt;br /&gt;1. The Win Forms Designer -&lt;br /&gt;&lt;ol&gt;&lt;li&gt;it deletes your controls after you&#39;ve carefully composed a form (apparently fixed in beta2); this bug alone &lt;span style=&quot;color:#000000;&quot;&gt;really makes me &lt;/span&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;&lt;strong&gt;mad&lt;/strong&gt;&lt;/span&gt;! So I don&#39;t use the damn thing as I prefer to complete a task once and not every time the tools decide to destroy my work!&lt;/li&gt;&lt;li&gt;when you drag controls around, it adjusts the relationships of the controls to each other - so if you have neatly arranged your controls in a line, when you drag them to another location they&#39;ll be all out of alignment...&lt;/li&gt;&lt;li&gt;if your form code has a bug (e.g. you&#39;ve got a custom control that barfs while the designer is rendering it) then the forms designer blows up - that&#39;s fine, but at least tell us the exception details and give us a stack trace so we can work out what went wrong!&lt;/li&gt;&lt;li&gt;Aligning controls is just too damn fiddly! It&#39;s actually easier to layout a UI design in Visio than it is to implement it in VS 1.x.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;2. The Win Forms Controls&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Listviews, treeviews, etc all require an ImageList control to work - just like the VB.OLD controls did! This is rubbish, as it requires you to load an ImageList at design time with all your images and bind it to the control in question - but I want to be able to use multiple resource files to hold my images and load the control directly from them at runtime! I really, really hate ImageList, and the behaviour of the control really hasn&#39;t changed an awful lot since the VB.OLD days;&lt;/li&gt;&lt;li&gt;All the controls work and look pretty much the same as the VB.OLD controls; this is no bad thing, as it&#39;s easy to pick up Win Forms if you have experience with putting VB UIs together; but unfortunately you have to take the good with the bad - for instance events that give you very little information other than the standard eventargs - which mouse button was clicked? In a tree, did the user click the icon, the expando button, the text...? Unfortunately, I guess we&#39;ll be stuck with this now as it&#39;s unlikely that future Win Forms will introduce breaking changes by redesigning control interfaces.&lt;/li&gt;&lt;li&gt;XP Theme support sucks - not all the controls support it (e.g. the spinner controls); try making a tab control take on the Xp theme... the listview doesn&#39;t support grouping... having to set the flat style on controls that support it is a dumb hack... some of the controls&#39; borders won&#39;t take on the XP border style so you have to resort to owner-drawn controls... Application.EnableVisualStyles() is buggy (it fires a native Win32 PostMessage() off &lt;em&gt;asynchronously&lt;/em&gt;, and if it fails to complete you&#39;ll get random&lt;br /&gt;System.Runtime.InteropServices.SEHExceptions forcing you to call the abomination Application.DoEvents() to ensure the PostMessage() completes before your call to Application.Run() - aaaargh!);&lt;/li&gt;&lt;li&gt;How about some MVC support? And no, I &lt;strong&gt;do not&lt;/strong&gt; want to use the UIP application block, as this is really only appopriate for use in web applications (and I&#39;ll fight anyone to the death who says otherwise) - fortunately MS have &lt;a href=&quot;http://blogs.msdn.com/edjez/archive/2004/08/24/219789.aspx&quot;&gt;admitted this&lt;/a&gt; and are working on a new &lt;a href=&quot;http://blogs.msdn.com/tomholl/archive/2005/03/01/383330.aspx&quot;&gt;Win Forms specific implementation&lt;/a&gt; in Enterprise Library; but let&#39;s see support for this in Win Forms itself. It&#39;s about time the Patterns &amp; Practises group started putting its money where its mouth is.&lt;/li&gt;&lt;li&gt;Why is context-sensitive help so poorly implemented in Win Forms? How do I tell whether the form&#39;s Help button was clicked or whether the user pressed F1 easily? Why can&#39;t I pull context sensitive help out of a Help file without invoking APIs (the managed interface expects you to hard-code context-senstive help in your application code and have it completely separate to your help file - gaargh!);&lt;/li&gt;&lt;li&gt;Overall, the Win Forms controls are just thin wrappers around the native Win32 controls, designed to emulate the VB.OLD interfaces; well, OK there are some changes, but they offer very little in the way of value-add.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;I&#39;m sure I&#39;ll come up with more soon enough. I&#39;m looking forward to trying out VS 2005 to see if any of these are fixed or at least addressed.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/111477655997701126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/111477655997701126' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111477655997701126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111477655997701126'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/04/windows-forms-annoyances.html' title='Windows Forms Annoyances'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-111389917992825078</id><published>2005-04-19T09:16:00.000+01:00</published><updated>2005-04-19T09:26:19.930+01:00</updated><title type='text'>VS 2005 Beta 2 Timebomb</title><content type='html'>A few more points re. VS 2005 beta 2 - it has a timebomb that expires &lt;strong&gt;May 1, 2006&lt;/strong&gt; - that&#39;s a pretty wide margin, and let&#39;s hope that we don&#39;t have to wait until then to get the RTM (we&#39;ve waited long enough since VS 2003 was released).&lt;br /&gt;&lt;br /&gt;You should also note that the version available on the MSDN site is the Standard (i.e. bottom of the scale) version - no sign yet of Pro, or the other uplevel versions; I guess this is because of the way the product has changed to offer Developer, Architect and Tester versions, all rigged up to Team System (&amp;amp; also the way that they are changing MSDN Universal to only allow access to one of these products per subscription). Personally, I&#39;m going to hold off downloading beta2 until they post the other versions.</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/111389917992825078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/111389917992825078' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111389917992825078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111389917992825078'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/04/vs-2005-beta-2-timebomb.html' title='VS 2005 Beta 2 Timebomb'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-111381253034331522</id><published>2005-04-18T09:19:00.000+01:00</published><updated>2005-04-18T09:22:10.343+01:00</updated><title type='text'>Visual Studio 2005 Beta 2 is Out!</title><content type='html'>If you already have Beta1, follow the instructions &lt;a href=&quot;http://lab.msdn.microsoft.com/express/uninstall/&quot;&gt;here&lt;/a&gt; for removing the bits (the order you remove things is critical). You can then install the beta 2 bits after downloading from the &lt;a href=&quot;http://msdn.microsoft.com/subscriptions/&quot;&gt;MSDN Sub site&lt;/a&gt; (you need an MSDN sub, however...).</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/111381253034331522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/111381253034331522' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111381253034331522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111381253034331522'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/04/visual-studio-2005-beta-2-is-out.html' title='Visual Studio 2005 Beta 2 is Out!'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-111331520226195712</id><published>2005-04-12T15:05:00.000+01:00</published><updated>2005-04-12T15:15:50.296+01:00</updated><title type='text'>Win Forms Nasties; or, Where did all my controls go?</title><content type='html'>I&#39;ve complained about Visual Studio .NET 1.x in previous posts, so I won&#39;t rehash old rants; but one bug in the IDE that really, &lt;em&gt;really&lt;/em&gt; annoys me is when you&#39;ve spent ages putting a form together only to have the IDE just zap your controls away. &lt;em&gt;Pop&lt;/em&gt;! And they&#39;re gone. For those of you who haven&#39;t had the pleasure, when this happens it&#39;s a similar feeling to what happens in ASP.NET when you spend ages prettifying your markup only to have the IDE zap it into an unreadable splodge of text.&lt;br /&gt;&lt;br /&gt;Well, it looks like this feature is fixed in VS 2005! Hooray to &lt;a href=&quot;http://blogs.msdn.com/cyrusn/default.aspx&quot;&gt;Cyrus&lt;/a&gt;, who explains &lt;a href=&quot;http://blogs.msdn.com/cyrusn/archive/2005/04/10/406969.aspx&quot;&gt;what caused it, and how he fixed it&lt;/a&gt;! Nice one, Cyrus!&lt;br /&gt;&lt;blockquote&gt;In order for them to accurately display what your form will look like they need us to accurately examine, decompose, and report back the meaning of your InitializeComponent method. In the past we would just depend on our potentially out of date symbol graph, but it ended up being the source of many bugs and major headaches for the user (ever had all your controls disappear? There’s a good chance it was due to that). So, in VS2005, we changed our model so that if WinForms is asking us for data we will block the foreground thread until the background thread is finished working. In effect, for this circumstance we’ve moved to the VB model. Now, in order to not give you a horrible experience where you’re asking yourself “why the heck isn’t the system responding” we will pop up a progress dialog to tell you what’s happening, why, and how long there is left. In that case we considered it important enough because in the event of us sending bad information to WinForms, we could end up corrupting your form.&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/111331520226195712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/111331520226195712' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111331520226195712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111331520226195712'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/04/win-forms-nasties-or-where-did-all-my.html' title='Win Forms Nasties; or, Where did all my controls go?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-111114296865484863</id><published>2005-03-17T19:15:00.000+00:00</published><updated>2005-03-18T10:49:28.656+00:00</updated><title type='text'>Ajax is Nothing New</title><content type='html'>There&#39;s suddenly a load of fuss in the java world about &lt;a href=&quot;http://www.adaptivepath.com/publications/essays/archives/000385.php&quot;&gt;Ajax&lt;/a&gt;. This is a supposedly new way to create responsive web apps - you basically use xmlhttp from client-side script to connect to the web server, obtain data, then display it - i.e. there&#39;s no full-page postback, so it leads to more responsive web apps. &lt;a href=&quot;http://www.google.com/webhp?complete=1&amp;hl=en&quot;&gt;Google Suggest&lt;/a&gt; uses it to fetch search suggestions as you type.&lt;br /&gt;&lt;br /&gt;But hang on a minute - we&#39;ve been able to do this for at least the last five years; &amp; it&#39;s not just a java thing - MSXML gives us this capability, as does the &lt;a href=&quot;http://msdn.microsoft.com/library/default.asp?url=/workshop/author/webservice/overview.asp&quot;&gt;Web Service Behavior&lt;/a&gt;. &lt;a href=&quot;http://msdn.microsoft.com/msdnmag/issues/05/01/CuttingEdge/default.aspx&quot;&gt;ASP.NET 2.0 will support it&lt;/a&gt;, too, and the emitted html and script will apparently be cross-browser compatible.&lt;br /&gt;&lt;br /&gt;Basically, &quot;Ajax&quot; is just a new name for old stuff. I guess by wrapping this up with a new buzz-word it will begin to hit the mainstream, and so you&#39;ll see more sites using it. It does make web UIs more responsive, especially where you&#39;re creating data-centric applications and users are keying in a lot of data. Unfortunately it leads to a phenomenon I call the &quot;JavaScript Fat Client&quot;, where you wind up with more and more UI logic in the client-side script (because it improves performance), so you lose your nice thin client. It also masks a fundamental flaw in some apps: if you need a fast, responsive UI where the user is keying in &amp; retrieving shed-loads of data, then the app should be a thick client, not web pages.&lt;br /&gt;&lt;br /&gt;&quot;Ajax&quot; is nothing new to web devs in the Microsoft world; we&#39;ve been using it for years to get around the problems of creating a responsive UI with web pages. In fact, we&#39;ve already moved on to Smart Clients - the &lt;em&gt;real&lt;/em&gt; next big thing. Trouble is, I don&#39;t think java can really do smart clients, hence the need for them to cling to web UIs.</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/111114296865484863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/111114296865484863' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111114296865484863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111114296865484863'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/03/ajax-is-nothing-new.html' title='Ajax is Nothing New'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-111088809736801688</id><published>2005-03-14T21:16:00.000+00:00</published><updated>2005-03-15T12:03:17.496+00:00</updated><title type='text'>VB6 and The Evil Dead - &quot;JOIN USSSS&quot;</title><content type='html'>I saw &lt;em&gt;The Evil Dead&lt;/em&gt; last week for the first time. In the film (as if you didn&#39;t know) a group of youngsters take a holiday in a deserted log cabin, which just so happens to have been the former home of an occultist. Obviously, lots of bad things happen; just when you think someone&#39;s dead, they come back to life as a hideous zombie hungry for blood, and have to be dismembered to finally put them to rest.&lt;br /&gt;&lt;br /&gt;The reason I mention this is that at the end of this month (March 31), &lt;a href=&quot;http://msdn.microsoft.com/vbasic/support/vb6.aspx&quot;&gt;VB6 comes to the end of its &quot;mainstream&quot; lifecycle&lt;/a&gt;. It will then enter an &quot;extended&quot; phase, which is the limbo all products experience before they finally go up to the bityard in the sky.&lt;br /&gt;&lt;br /&gt;So VB6 is dead...&lt;br /&gt;&lt;br /&gt;Wait! What was that noise?! No, it can&#39;t be! VB6 stirs, the lips part and cry &quot;JOIN US!!&quot;.&lt;br /&gt;&lt;br /&gt;Yes. A group of VB6 developers (including a bunch of MVPs) have started a &lt;a href=&quot;http://classicvb.org/petition/&quot;&gt;petition&lt;/a&gt; to keep VB6 (or VB.com as they&#39;ve chosen to call it) alive. If they get their way this decaying abomination will live on in VS.NET side by side with C# and VB.NET.&lt;br /&gt;&lt;br /&gt;Why? Because these developers have decided that the step to VB.NET is a step too far. After years of crying out for a proper OO language and full access to the underlying OS (without having to rely on esoteric API calls), these devs have &lt;em&gt;rejected&lt;/em&gt; VB.NET. They want to keep VB6, warts and all.&lt;br /&gt;&lt;br /&gt;In the movie, a variety of tools (chainsaws, knives, axes, shotguns) are used to dispatch the walking dead and to put them to rest. Ignoring them is not an option. Fortunately, in the case of VB6 ignoring it is the only option. Eventually these devs will realise that VB6 really is dead. They may get angry, say they&#39;ll drop MS technologies; but where are they gonna go? I mean, to Java? If they can&#39;t handle VB.NET then they ain&#39;t gonna get on with Java. Maybe one of these smart guys will invent a time machine and return to 1991.&lt;br /&gt;&lt;br /&gt;&quot;Join us&quot;? Get outta town!</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/111088809736801688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/111088809736801688' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111088809736801688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111088809736801688'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/03/vb6-and-evil-dead-join-ussss.html' title='VB6 and The Evil Dead - &quot;JOIN USSSS&quot;'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-111082243460338748</id><published>2005-03-14T18:00:00.000+00:00</published><updated>2005-03-14T17:47:14.606+00:00</updated><title type='text'>Datasets...</title><content type='html'>I had a go at Datasets on a &lt;a href=&quot;http://dogpike.blogspot.com/2004/10/binary-serialization-of-datasets.html&quot;&gt;previous post&lt;/a&gt; a while back. My main dislike of Datasets are that they&#39;re non-OO, and generally quite slow (especially when using them to transport data between tiers). Another problem I have with them is that MS tend to push Datasets as if they&#39;re the only option - there&#39;s not much in the documentation about using custom collections and objects instead of typed / untyped Datasets.&lt;br /&gt;&lt;br /&gt;Seems MS have published an &lt;a href=&quot;http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnaspp/html/CustEntCls.asp&quot;&gt;article &lt;/a&gt;deriding Datasets in favour of &quot;custom entity classes&quot;. This is long overdue. Most devs take to Datasets because they&#39;re easy to get up and running, with the result that object-orientation (and a more elegant, efficient solution) is overlooked. Object orientation is not just about creating classes with properties and then using them (even VB6 had this &quot;class-based&quot; approach): it&#39;s a different mindset altogether. I see the abandoning of Datasets to be an essential first step for MS developers seeking to reach out towards proper OO ways of thinking and developing software.</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/111082243460338748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/111082243460338748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111082243460338748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111082243460338748'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/03/datasets.html' title='Datasets...'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-111046052141141026</id><published>2005-03-10T00:47:00.001+00:00</published><updated>2005-03-10T15:42:19.870+00:00</updated><title type='text'>IE 7</title><content type='html'>Looks like MS have been working on IE7 for &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2005/03/09/391362.aspx&quot;&gt;at least four months&lt;/a&gt; already. As is well-known, the IE team were pretty much &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2005/02/22/378470.aspx&quot;&gt;disbanded after IE6 was released&lt;/a&gt;, and the majority began work on &quot;Avalon&quot; (this is why IE has since stagnated and lost market share to Firefox) . Looks like some of them, including Chris Wilson (who was on the IE team between 1995 and 2001), have now gone back to IE development.&lt;br /&gt;&lt;br /&gt;It sounds like MS are going to be making a big push towards standards support in IE7, in a bid to get web developers back on side. What drew me to IE in the first place (back in &#39;96) was that it was just so much easier to develop for than Netscape; when I saw IE3, I immediately dropped Netscape and have never used another browser since (despite a very brief flirtation with Firefox). It&#39;s also the reason most intranet sites are written for IE - why spend loads of time and money on cross-browser compatibility when you can control which browser your users have? Despite recent criticism, for a long time IE was light years ahead of Netscape in terms of standards support (DHTML, XML, CSS, and so on), but then things just died off after IE6...&lt;br /&gt;&lt;br /&gt;So, now we know that IE7 will have much improved security features, and improved standards support; we know that they will maintain backwards compatibility for the sake of all those websites out there that depend on IE&#39;s quirks to function (it will be a different story under &quot;Longhorn&quot;, though).&lt;br /&gt;&lt;br /&gt;If my reckoning&#39;s right, I believe that IE7 will have:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;UI enhancements; they&#39;ve made it clear that adding tabs was not an easy addition to IE, so perhaps they&#39;ve completely re-written the shell - unlikely, but it&#39;s possible that the &quot;Longhorn&quot; browser has been backported to XP, and utilizes the existing IE rendering engine, which is where the backwards compatibility would come in. So worse case scenario is tabbed browsing and a new security options page in the UI;&lt;/li&gt;&lt;li&gt;It may even have portions of, or at least hooks into (to provide an upgrade path), &quot;Avalon&quot; code; remember that &quot;Avalon&quot; will be available on XP - &quot;Avalon&quot; utilises XAML, and a means to render this is required sooner or later on XP;&lt;/li&gt;&lt;li&gt;Anti-spyware (based on their new Anti-Spyware app) and anti-phishing security features;&lt;/li&gt;&lt;li&gt;Developer-friendly standards support.&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/111046052141141026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/111046052141141026' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111046052141141026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/111046052141141026'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/03/ie-7.html' title='IE 7'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6615373.post-110932741970661939</id><published>2005-02-24T22:07:00.000+00:00</published><updated>2005-02-25T11:50:11.790+00:00</updated><title type='text'>XAML Part 2.</title><content type='html'>Ok, what is XAML and what does it look like?&lt;br /&gt;&lt;br /&gt;XAML defines an application&#39;s UI, with tags representing standard Windows controls and attributes representing their properties. Nothing revolutionary there! Here&#39;s a simple XAML page:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:8pt;&quot;&gt;&lt;br /&gt;&amp;lt;Canvas xmlns=&quot;http://schemas.microsoft.com/2003/XAML&quot; ID=&quot;sample&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Label ID=&quot;exampleLabel1&quot; FontFamily=&quot;verdana&quot; FontSize=&quot;8&quot; Canvas.Top=&quot;10&quot; Canvas.Left=&quot;10&quot;&amp;gt;This is a label&#39;s text!&amp;lt;/Label&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;TextBox ID=&quot;exampleTextBox1&quot; FontSize=&quot;8&quot; Canvas.Top=&quot;8&quot; Canvas.Left=&quot;75&quot;&amp;gt;This is some text in a TextBox!&amp;lt;/TextBox&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Label ID=&quot;exampleLabel2&quot; FontFamily=&quot;verdana&quot; FontSize=&quot;8&quot; Canvas.Top=&quot;35&quot; Canvas.Left=&quot;10&quot;&amp;gt;Another Label control&amp;lt;/Label&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;TextBox ID=&quot;exampleTextBox2&quot; FontSize=&quot;8&quot; Canvas.Top=&quot;33&quot; Canvas.Left=&quot;75&quot;&amp;gt;&amp;lt;/TextBox&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Button ID=&quot;exampleButton&quot; Width=&quot;50&quot; Canvas.Top=&quot;60&quot; Canvas.Left=&quot;155&quot;&amp;gt;OK&amp;lt;/Button&amp;gt;&lt;br /&gt;&amp;lt;/Canvas&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note that the example above is based on the original &quot;Avalon&quot; preview - I haven&#39;t had chance to check out the latest bits, but note that the schema namespace is &lt;a href=&quot;http://schemas.microsoft.com/winfx/avalon/2005&quot;&gt;http://schemas.microsoft.com/winfx/avalon/2005&lt;/a&gt; in the latest release.&lt;br /&gt;&lt;br /&gt;Each XAML page consists of a root panel element (a Canvas in this case) that contains nested controls, such as Labels, TextBoxes, and Buttons. &quot;Avalon&quot; deserializes these elements into live object instances of strongly-typed controls, using the attribute values (such as ID or Width) to set the object property values. Note that positioning is handled by the strange Canvas.Left, Canvas.Top construct; these are known as &quot;extended attributes&quot;, and elements inherit these because they are nested within a Canvas element. This is strikingly similar to the way &quot;expando&quot; properties work in IE (you may have used them when using DHTML Behaviors); but that&#39;s no coincidence - the IE team members are heavily involved with &quot;Avalon&quot;.&lt;br /&gt;&lt;br /&gt;Each XAML element corresponds to a class in the &lt;a href=&quot;http://longhorn.msdn.microsoft.com/?//longhorn.msdn.microsoft.com/lhsdk/ref/avreference_entry.aspx&quot;&gt;&quot;WinFx&quot; release of the .NET framework&lt;/a&gt;. When the application runs the XAML markup is deserialized into objects by the runtime; markup elements become object instances, and properties are set according to the values defined in the XAML elements&#39; attributes. The concepts involved are exactly the same as how you serialise and deserialize objects to and from XML using .NET 1.x today.&lt;br /&gt;&lt;br /&gt;The root element of all XAML documents is one of the subclasses that inherit from the Longhorn &lt;a href=&quot;http://longhorn.msdn.microsoft.com/lhsdk/ref/ns/system.windows.controls/c/panel/panel.aspx&quot;&gt;Panel&lt;/a&gt; class. There are several different panels that provide positioning and layout services. If you create a XAML Application with the Visual Studio.NET &quot;Whidbey&quot; alpha on the &quot;Longhorn&quot; preview, it creates a default &lt;a href=&quot;http://longhorn.msdn.microsoft.com/lhsdk/ref/ns/system.windows.controls/c/canvas/canvas.aspx&quot;&gt;Canvas&lt;/a&gt; panel, which provides something similar to absolute positioning in Web pages or the standard positioning model in Windows Forms.&lt;br /&gt;&lt;br /&gt;Just like a web app, a XAML application is made up of pages. A &lt;a href=&quot;http://longhorn.msdn.microsoft.com/lhsdk/appcore/overviews/appmodel_proj_reference.aspx&quot;&gt;.proj&lt;/a&gt; file groups the pages together into an &lt;a href=&quot;http://longhorn.msdn.microsoft.com/lhsdk/appcore/overviews/appmodel_appobject2.aspx&quot;&gt;application&lt;/a&gt;, and in addition to containing information about each XAML page, also specifies compiler settings, such as version info. It also controls whether the app will run in the browser (i.e. run from the server, like a web app), or be displayed in a window (i.e. installed to the client, like a thick client). An application definition file defines the application&#39;s navigation model and application-level events. If you&#39;re familiar with .NET, then you should be seeing shades of ASP.NET and Win Forms development by now... but a subtle combination of the two...&lt;br /&gt;&lt;br /&gt;More soon... inlcuding some info on &quot;rival&quot; application markup initiatives... and some products that allow you to create XAML applications that run on .NET 1.x...&lt;br /&gt;&lt;br /&gt;If you need more info on any of the above (keep in mind that &quot;Avalon&quot; is still under development, and anything can change until it ships!), please see the &lt;a href=&quot;http://longhorn.msdn.microsoft.com/?//longhorn.msdn.microsoft.com/lhsdk/port_lhsdk_home.aspx&quot;&gt;MS &quot;Longhorn&quot; SDK site&lt;/a&gt;, which contains all the publicly available info on &quot;Longhorn&quot;, &quot;Avalon&quot; and XAML.</content><link rel='replies' type='application/atom+xml' href='http://dogpike.blogspot.com/feeds/110932741970661939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6615373/110932741970661939' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/110932741970661939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6615373/posts/default/110932741970661939'/><link rel='alternate' type='text/html' href='http://dogpike.blogspot.com/2005/02/xaml-part-2.html' title='XAML Part 2.'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>