Mike Taulty's Blog
Bits and Bytes from Microsoft UK

Blogs

  • “What’s New in Visual Studio 2010 – More Than You May Realise”

    I was reading Tim’s post over here with the same title as this one where he was suggesting that Microsoft may be underselling Visual Studio 2010. I suspect that the problem is that VS 2010 is huge and there’s a lot of material out there but some of it looks to be published in small fonts and isn’t perhaps as navigable or discoverable as it might be. I thought I’d highlight a few resources around VS 2010. In terms of What’s New in VS2010, there’s a decent MSDN topic here; What’s New in Visual Studio 2010 which breaks things down into Languages VB 10 C# 4 C++ F# .NET Framework Team System Editor Deployment Office Development Data Development SharePoint Development Concurrency Runtime ( i.e. C++ rather than Parallel ) Extensions Start Page I won’t break down all those topics but the .NET Framework one is worth breaking down although I’m not breaking it down in quite as detailed a fashion as the website does; .NET Framework V4.0 App Compat & Deployment incl Client Profile & in-process side-by-side .NET Parallel...
    Posted to Mike Taulty's Blog by mtaulty on Wed, Feb 3 2010
    Filed under: ,
  • Silverlight 4 & MEF – Switching on functionality based on application context

    In my head, I see Silverlight 4 applications as either running; In Browser Out of Browser Out of Browser and Trusted Out of Browser and Trusted and in the presence of COM interop ( i.e. on Windows ) and you might write functionality that only works in certain of those contexts – e.g.; HTML display only works out of browser. You can only read the contents of “My Documents” when out of browser and elevated You can only run any COM interop code when in the presence of COM interop and I thought that it might be a good use of MEF as a way of only bringing in the functionality that is going to work in a particular context. So, I defined an enum; [Flags] public enum AppContextStatus { InBrowser = 1, OutOfBrowser = 2, InOrOutOfBrowser = 3, OutOfBrowserTrusted = 4, OutOfBrowserCOMInterop = 8, All = 15 } and then I wanted to be able to figure out which of these particular states my code might be running in. So, a little class; public static class AppContext { public static AppContextStatus CurrentStatus { get { AppContextStatus...
    Posted to Mike Taulty's Blog by mtaulty on Mon, Feb 1 2010
    Filed under: ,
  • MIX10

    I’m excited as it’s looking pretty likely that I’ll be able to get to my first ever MIX conference – MIX10 in March, Las Vegas. The current plan is that I’m going to pitch in and deliver the Silverlight Bootcamp;   with “Mr Silverlight TV” himself, John Papa . I’m looking forward to it – hope to catch you out at MIX if you’re heading out there. The way the agenda’s shaping up, I think I’ll be lucky in that my first MIX will hopefully be the best MIX so far :-)
    Posted to Mike Taulty's Blog by mtaulty on Mon, Feb 1 2010
    Filed under: ,
  • Silverlight Session on MEF at Silverlight User Group, 3rd February, Microsoft London

    Just a quick advert for something that I thought I’d already publicised but now I’m “not so sure” as I can’t find it on my site :-) I’ll be giving a talk about the Managed Extensibility Framework (MEF) in Silverlight down at the Silverlight User Group in London on Wednesday evening this week. This happens in the Microsoft office and you can find the details & registration by clicking the image below to jump over toe Mark’s blog which details the agenda including a session on Bing Maps from Johannes .   Hope to see you there :-)
    Posted to Mike Taulty's Blog by mtaulty on Mon, Feb 1 2010
  • MSFT – A Simple System for Microsoft Session Feedback

    I’ve been to lots of conferences or meetings where people (Microsoft or not) are delivering technical sessions relating to Microsoft technology. I’ve also spoken at lots of those things as well. A recurring problem is getting feedback. Sometimes it’s a long paper-based form to fill in. Sometimes it’s a website or a terminal where you tick boxes to provide your view on the sessions you’ve seen. Sometimes it seems that the organiser has gone to great lengths to make it so difficult for you to provide feedback that you don’t bother and the speaker is none the wiser as to whether they did a great job or not. The obvious solution these days is to use something like Twitter and people do exactly that but I wondered whether it might be possible to come up with a simple, “standardised” way of providing session feedback via Twitter rather than leaving it to be ad-hoc. How would that help? It’d help the speaker as they could easily formulate a Twitter search to find their feedback or write a tool to do it. It’d help the...
    Posted to Mike Taulty's Blog by mtaulty on Sun, Jan 31 2010
    Filed under:
  • Silverlight in “Advert Worth Watching” Shocker! :-)

    There’s an ad over on MSN UK for the new “Mass Effect 2” game and it’s very distinctive as it’s done in Silverlight and has some really cool aspects to it such as making use of Smooth Streaming and DeepZoom. It’s not often ( well, ever ) that I’ve linked to an ad before or suggested that someone watch one but I think this is really worth a look at to see the sort of quality that you can get from Silverlight in an ad like this. It’s also worth going full screen with it and experimenting with the navigation system. Click the image below to jump to the page ( although, of course, ads run for a duration and so I guess it may not still be there if you get to this post in a few days/weeks time ). You can find more detail on the ad from the guys at Metia ( ooh – nice Silverlight home page too :-) ) who put it together. Steve Ellis has a post over here about it and Dean Gifford has one here which spells out a little more detail about what you’re looking at. I don’t know whether it’s a “true first” for Silverlight or not...
    Posted to Mike Taulty's Blog by mtaulty on Sat, Jan 30 2010
    Filed under: ,
  • Silverlight 4 – Writing a Windows-Only Application via COM Interop?

    I was reading Tim’s post over here on “Silverlight 4 with COM can do anything – on Windows” which referenced Justin’s amazingly detailed post with a bunch of COM interop examples from Silverlight 4 . A Silverlight 4 beta application that has been explicitly installed as trusted by the user can create COM objects if they have a registered ProgId and if they implement IDispatch. As anyone who’s been around Windows for a while and especially anyone who wrote scripting code like ASP pages will know, that opens up quite a lot of code to those applications. I think that was made pretty clear at the PDC when the feature was first announced. My personal view is that the COM interop feature is something that you'd use sparingly to add additional functionality that becomes available when and where COM interop is turned on rather than writing a tonne of code that takes the COM interop route. Why’s that? Firstly, you might find your application goes into an environment where the users aren't allowed to run trusted...
    Posted to Mike Taulty's Blog by mtaulty on Fri, Jan 22 2010
    Filed under: ,
  • Silverlight in Seventy Seven Slides ( yes, I know ;-) )

    Back in the old days, I used to do a lot more in-person talks/sessions for developers and one of the things that myself and colleagues would discuss is whether a topic was well developed enough to warrant a; What Is? session or a; What’s New With? session. That is – was the technology new enough that people still needed to start from scratch or was it well enough advanced that you bore most people by explaining the core concepts yet again by doing what I’ve heard described as a; “ First the Earth cooled…” kind of session. The reality of turning up at a company or a user group or a conference is that it’s rare that someone gives you time to do both an introduction to the basics alongside coverage of recent additions to a technology. If you decide to try and do both in the space of the 45,60,75,90 minute slot that someone’s given you then you invariably end up talking at a very high level and the attendees feel that you’ve cheated them in some way by only managing to say “IIS is a web server and there’s some new...
    Posted to Mike Taulty's Blog by mtaulty on Mon, Jan 18 2010
    Filed under: ,
  • Silverlight, Bing Maps, Vectors and “Did I blog this or did I just dream it?”

    I was looking for an example of how Silverlight content is drawn with vectors that I could use in a slide-deck and it occurred to me to look at Bing Maps . I think the Bing Maps beta is pretty stunning and I was searching my blog for where I’d made reference to the beta and I realised that I don’t think that I have made reference to it; I must have just dreamt it. Or, more likely, dropped it onto Twitter. Anyway, if you haven’t seen the Bing Maps beta with Silverlight & PhotoSynth and all that goodness then read this post from Chris and then go and check it out although I warn you that it can eat quite a bit of time once you get playing with it. Anyway, back to vectors. It’s easy to see the “vector effect” on Bing Maps by just zooming the browser up to 200% or 400% where you can see the quality of the fonts and UI elements such as;   and you can very quickly see where bitmaps are used in the UI like in this weather symbol ( and the maps :-) );
    Posted to Mike Taulty's Blog by mtaulty on Wed, Jan 13 2010
    Filed under: ,
  • Silverlight 4 Beta & MEF – Experimenting with an alternative Programming Model

    One of the things that seems hard-baked into MEF if you watch the Silverlight 4 and MEF screencasts that I’ve made is that MEF relies on attributes. It’s common to see an example such as this skeleton class; public class PluginManager { public PluginManager() { PartInitializer.SatisfyImports(this); } [ImportMany] public IEnumerable<IPlugin> Plugins { get; set; } } which is using an ImportMany attribute so if it happens to be composed with these 2 types below; [Export(typeof(IPlugin))] public class PluginA : IPlugin { public string Name { get { return ("PluginA"); } } public void DoSomething() { throw new NotImplementedException(); } } [Export(typeof(IPlugin))] public class PluginB : IPlugin { public string Name { get { return ("PluginB"); } } public void DoSomething() { throw new NotImplementedException(); } } then creating a new instance of PluginManager would result in MEF composing an instance of PluginA and PluginB onto/into that property called Plugins on PluginManager. However,...
    Posted to Mike Taulty's Blog by mtaulty on Mon, Jan 11 2010
    Filed under: ,
  • End of Year Traffic Report :-)

    I was reviewing the traffic figures that my hoster ( http://www.webhost4life.com ) gives me for this blog site and I thought I’d share. This is how 2009 ended; So around ~30M hits to around ~15M pages and just under 1TB of data shifted across the network. Those are much bigger numbers than I’d have expected so a big “thanks!” to people who subscribe and read the feed and/or stumble across these pages from a web search. I’ve no idea how accurate the individual numbers are as I’ve never looked very hard at how they’re measured but I assume the hoster must know what they’re doing and they’re useful for relative comparisons to previous years like 2008 and 2007; which seems to indicate that the traffic coming to the site is generally growing although not every figure is growing in the same way so I should perhaps zoom into some of that in more detail - it’s definitely more than I had way back in 2004 which is the first full year that I have data for :-)   Now…to see if I can get those figures to go up through...
    Posted to Mike Taulty's Blog by mtaulty on Mon, Jan 11 2010
    Filed under:
  • Silverlight 4 – Displaying a Bunch of Files from a Zip File

    One of the things I often find when publishing blog posts is that I want to display a bunch of files. For instance – in talking about WPF or Silverlight you might be trying to show something that involves a XAML file and a couple of code files and it can be a bit painful if you have to do that with 3 separate lumps of embedded text inside of a blog post. I was thinking about that problem a bit more generally and I wondered how I could do something such that I’d have a control that I could just drop into a blog post in order to display a number of files. Almost like a mini-explorer view across a set of files. I figured that I could use Silverlight for this and then I pondered a little on how I’d want to file-set packaged in order that it’d be as little trouble as possible to create one of these plug-ins. I decided on Zip. There are a few zip libraries out there for .NET but I settled on using the DotNetZip   project from CodePlex which I brought down in source form and hacked to work with Silverlight. When...
    Posted to Mike Taulty's Blog by mtaulty on Mon, Jan 11 2010
    Filed under: ,
  • Silverlight Session at NEBytes, 20th January, Newcastle

    Just a quick plug for a session that I’m delivering at a new Microsoft User Group in Newcastle on the 20th January. The group is called “NEBytes” and you can find it and details of the sessions on the 20th by clicking their banner below; I’m delivering a session on Silverlight. The intention is to try and talk from version 1 through to version 4 with an emphasis on the later versions (3 and 4) – it should be entertaining to try and fit all of that into an hour long session so I’ll have to set a level for the talk that lets me get it in. If you’re in the area come along and support the new group & I look forward to catching you there.
    Posted to Mike Taulty's Blog by mtaulty on Thu, Jan 7 2010
  • iMeta Agility & Silverlight

    Just a little plug for a video I made just before Xmas with the guys from iMeta , a UK company that’s built a scrum tool called iMeta Agility with Silverlight. The picture’s hyperlinked to their video on Channel 9 – click to take a look and, also, try the latest version of the application .
    Posted to Mike Taulty's Blog by mtaulty on Wed, Jan 6 2010
    Filed under: ,
  • Silverlight 4 Beta – More on MEF and the PackageCatalog

    One of the things that I talked about in the screencasts that I made about Silverlight 4 and MEF was the PackageCatalog. By the way – to make any sense of this stuff you need to install Visual Studio 2010 Beta 2 and Silverlight 4 Beta . The PackageCatalog is currently part of the Silverlight 4 Toolkit . It comes with a friend called Package which can asynchronously download a XAP file to produce an instance of Package. You can then take that instance and add it to a PackageCatalog that’s being used by a MEF CompositionContainer in order to add functionality dynamically and asynchronously to an already running application It’s important to remember that the Silverlight Toolkit represents a place for innovation and is something that’s not supported in the same way as Silverlight itself so when you’re using types from there, bear that in mind ( and especially when things are in beta/preview phases ). As a simple example, imagine I’ve got an “application” that looks like this ( code deliberately shortened to the shortest...
    Posted to Mike Taulty's Blog by mtaulty on Mon, Jan 4 2010
    Filed under: ,
1 2 3 4 5 Next > ... Last »
(C) Mike Taulty, 2010. All rights reserved. The information in this weblog is provided "AS IS" with no warranties, and confers no rights. This weblog does not represent the thoughts, intentions, plans or strategies of my employer. It is solely my opinion. Inappropriate comments will be deleted at the authors discretion. All code samples are provided "AS IS" without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.
Powered by Community Server (Non-Commercial Edition), by Telligent Systems