Mike Taulty's Blog
Bits and Bytes from Microsoft UK

Mike Taulty's Blog

Mike Taulty's Blog

Mike's Badges

Follow on Twitter
View mike's profile on slideshare
Add to Technorati Favorites
CW Blog Awards
  • Catching up on blog reading…

    It was very warm and humid last night in Manchester, UK and so I sat up late catching up on a whole bunch of blog-reading that I haven’t done for a few weeks. I tend to use my blog-reader ( FeedDemon ) in the same way that I use Outlook. I go through everything, delete anything I’m less interested in and then revisit the other stuff at a later point and I thought I’d spend some time today visiting all those posts I’d flagged as interesting. Whilst doing that, I thought I’d share what they were here – note that some of this stuff is a little old now as I’ve not been reading those blogs as frequently as I used to. I’m sure I was meant to be doing something else but I found a day mostly made up of reading other people’s posts really useful and enjoyable so I reckon it was a day well spent. WPF Multi-touch in WPF 4 Beta 1 – this seemed particularly relevant to me based on my recent experiments with multi-touch Workflow 10-4 Good Buddy, First Look at WF 4 Learning by Example with 4 Introducing the WF4 Designer Introduction...
  • TODO List

    There’s a bunch of things that I feel I need to know a whole lot more about so I thought I’d write it down. This is my current list of technologies that are buzzing around in my head, nagging me to spend time on them. Azure Services Platform - Microsoft .NET Services Azure Services Platform – Windows Azure .NET Framework V4.0, Specifically Windows Workflow Foundation V4.0 Windows Communication Foundation V4.0 Windows Presentation Foundation V4.0 and the new Client Profile XAML in .NET Framework V4.0 Revisit Parallel Extensions in V4.0 as that’s changed since I last looked at it. Entity Framework in V4.0 Office Development in VS 2010 Managed Extensibility Framework in V4.0 Some of the core enhancements such as; Security changes GC changes Side-by-side hosting changes etc. ADO.NET Data Services V1.5 CTP .NET RIA Services Framework WCF REST Starter Kit Dublin Geneva Server A major refresh of what the P&P Group has these days – especially around Prism. T4 Templating I daresay I’ll come up with more as I think...
    Filed under:
  • Windows 7: Experimenting with Multi-Touch on Windows 7 ( Part 4 )

    Following up on this post , I wanted to see if I could continue to use the interop wrappers in order to add inertia to my multi-touch manipulations. The intertia API in Windows 7 is really “just” a physics engine that you can use to add more realism to things like touch interactions. There’s some detail on that physics engine in the docs and, specifically, here . As an example, for a manipulation that involves a translation ( like a pan ) your object is moved in some direction by the manipulation along some 2D vector (Ai + Bj) and the inertia engine picks up when the manipulation is over and takes the object’s position, the displacement vector and a deceleration value and then calculates new positions for the object over a specified time period at a specified interval. The documents of course refer to the COM implementation whereas the interop wrappers wrap all this up for you and surface it a slightly different way and it took me a little while to get even a little used to what was going on – for me, perhaps...
    Filed under: ,
  • Windows 7: Experimenting with Multi-Touch on Windows 7 ( Part 3 )

    Following on from the previous post and the one before , it was fun to play with my own interop wrappers for a while but I figure it’s going to be a lot more productive to use the interop wrappers contained up at; http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=WindowsTouch&DownloadId=4525 and they also include wrappers for the manipulation API and its friend the inertia API which I didn’t really want to get into wrapping if I could avoid it. Wrapping those COM objects might not have been too ugly a job but the initial thought of trying to track down the TLB info for the COM objects involved ( assuming that there is TLB info for those COM objects because it’s a lot less fun if there’s not ) and then try and get it imported into the .NET world didn’t fill me with joy and so switching to using someone else’s wrapper seemed like a smart move. I wanted to experiment with those wrappers and see whether it made life easier or more difficult and so I thought I’d quickly replicate what...
    Filed under: ,
  • Upgrading Community Server 2.1 to 2008.5 Service Pack 1

    I’ve been a bit stuck with blog engines. I run Community Server and have done for a long time and, during that time, the product’s become very big and very rich and I only use about 10% of what it does. I just want a blog engine. I was recently considering what to do about this as I’ve been getting behind on Community Server versions. I tried Graffiti CMS which looks to be a fork of Community Server designed for people like me who just want the blog engine bits but, frankly, whilst the UI looked great and it seemed so much simpler than Community Server I found that the migration process from Community Server didn’t really work for me and I was also left wondering whether the product was very “alive” as there’s quite a bit of discussion out there about it dying off and my questions to the forums went unanswered. So, I returned to Community Server and decided that it was time to upgrade to the latest and greatest and I thought I’d blog my experiences for anyone else that has the same situation. Firstly, let me explain...
    Filed under:
  • Windows 7: Experimenting with Multi-Touch on Windows 7 ( Part 2 )

    Following on from my previous post and remembering that I’m just playing around here and there are better resources up at; http://code.msdn.microsoft.com/WindowsTouch which will lead you to a full, sample interop library wrapper. I wanted to carry on a little with my experiment though and move up into the world of touch gestures. This seemed easier as it turns out to be the default and there’s no need to call RegisterTouchWindow if you just want WM_GESTURE messages so that’s nice and I changed my test harness and code behind it to reflect that. You can also use SetGestureConfig and GetGestureConfig in order to control what gestures you’re interested in for a particular Window and so I wrote a bit of code around that ( again, dropping to C++/CLI to do that ) – not entirely sure that this is correct at this point, mind but here’s the header file; namespace NativeCodeHelpers { public enum class GestureType { Zoom = 3, Pan = 4, Rotate = 5, TwoFingerTap = 6, PressAndTap = 7 }; } namespace NativeCodeHelpers { [Flags...
    Filed under: ,
  • Windows 7: Experimenting with Multi-Touch on Windows 7 ( Part 1 )

    I was down in the Microsoft Technology Centre at Reading the other week where I got a chance to take a look at a piece of proof-of-concept work that one of our customers is doing around using touch in Windows 7 to improve the user experience of one of their applications. ( I’ve captured this on video and will share at a later point as I’m not able to just at the moment ). But this got me thinking about Multi-Touch in Windows 7 and wondering how easy/hard it is. I’ve done some work with the Tablet PC in my time and that wasn’t too tricky and I gave an example of that at DevDays the other week in that I used a simple WPF application that handles basic ink gestures; and that’s just using a WPF InkCanvas with its gesture mode set to GestureOnly and a little code behind it ( download the source here if you like ). So, that was easy enough but what about Multi-Touch? Well, the first “problem” I have is that I don’t have any multi-touch-enabled hardware. I’ve seen 2 multi-touch-enabled machines, the HP TouchSmart; and...
    Filed under: ,
  • Video Catch-Up: Trip reports from DevDays Holland and NxtGenUG Fest 09

    I dropped a couple of videos to YouTube around recent trips that I’ve made. A couple of weeks ago I was at DevDays Holland delivering some sessions around Silverlight 3 and WPF and I captured a bit of video with the intention of giving people a flavour of what that conference looks like and also some of the “speaker experience” of turning up, finding the session room and setting up kit and so on; if you’re in the UK and you’ve never considered DevDays then it’s worth a look at because I think it works out cheaper than some other European conferences and even conferences in London and the atmosphere is great, the speakers are great and a lot of it happens in English. Then, just last Friday, I was down at the NxtGen User Group’s “Fest 09” un-conference down at Microsoft Research in Cambridge and I captured a bit of footage from that one as well; Enjoy.
    Filed under:
  • Speaking at MIX Essentials, Dublin, 24th June

    Just a quick plug – I’ll be doing some sessions on Silverlight 3 at MIX Essentials in Dublin on the 24th June. Click the picture above to jump to the site where you can register. It’s an all day event with 2 tracks running concurrently and I like the strap-line that says “ Completely Free” :-) Maybe see you there…
    Filed under: , ,
  • WCF, Type Names and BehaviorExtensionElement

    This is one purely for a search engine. If you’re ever looking at WCF and adding a BehaviorExtensionElement in order to add custom behaviors then take care if you see an error message like; "Verify that the extension is registered in the extension collection at system.serviceModel/extensions/behaviorExtensions" It looks like a bug ( see report here and here ) in that if you use a typename like this in your config file; <extensions>   <behaviorExtensions>     <add name="clientInterception"          type="ProductsApplication.MyInspector,ProductsApplication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>   </behaviorExtensions> </extensions> then you’ll see a failure whereas if you use one like this; <extensions>   <behaviorExtensions>     <add name="clientInterception"          type="ProductsApplication...
    Filed under: ,
  • Silverlight: Product Maintenance Application ( Part 6 – Porting to WPF )

    Following on from this post . As expected, porting my Utilities library to WPF wasn’t too difficult. It was a matter of creating a WPFUtilities class library, adding the existing source from Utilities as linked code files and then referencing PresentationCore and PresentationFramework and hitting build. then again, there were only a couple of very basic classes in there so it’s not too surprising. Next, I thought I’d try and port my Security project and so created another Class Library project WPFSecurity and added the existing source files as linked files again. This project though is a bit more complex in that it has 2 sets of WCF service references in order to call the Authentication and Role services made available by ASP.NET. I need to add service references to my WPFSecurity project and try and ensure as few code changes as possible by doing that. In adding the references, I made sure to use the same proxy namespace names; and also all references in Silverlight are asynchronous and so my...
    Filed under: , ,
  • Silverlight: Product Maintenance Application ( Part 5 – Running the app and thinking about WPF )

    Following on from my previous post it’s time to run up the app ( it’s not exactly a visual feast :-) ) and experiment a little with it. I can log in as my user ursula ; and she’s presented with “the UI” ( the graph should probably be hidden for users that are not in the viewers role but I’ve left it for now ); and then she can search for some data; and get back a bunch of paged data; and then navigate through it; because she’s neither a viewer or editor that’s all she can do and the grid is read-only and the Insert button and the View button on each row of data are disabled. If I log in as veronica who’s both a user and a viewer then the view button is enabled and I can bring up the sales history chart data; and then, finally, if I log in as eric who’s both a user and an editor then the grid becomes enabled as does the Insert button and the Save Changes button (as/when we make any changes) and so I can alter data and submit changes and so on; and that...
    Filed under: , ,
  • Silverlight: Product Maintenance Application ( Part 4 – Adding some controls )

    Following up on this post I thought the first control I’d build would be a graph control so I just referenced the Silverlight Toolkit for its graphs and very quickly had; <UserControl x:Class="SilverlightApplication6.Controls.ChartDisplayControl" xmlns=" http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x=" http://schemas.microsoft.com/winfx/2006/xaml" xmlns:charts="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit" xmlns:localCtl="clr-namespace:SilverlightApplication6.Controls"> <Grid x:Name="LayoutRoot"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <StackPanel Orientation="Horizontal"> <TextBlock Text="Historical sales data for product" /> <TextBlock Margin="5,0,0,0" Text="{Binding ProductName...
    Filed under: , ,
  • Silverlight: Product Maintenance Application ( Part 3 – Getting some data )

    Following up on this previous post I wanted to start building out some classes that managed data for me “in front” of the services I’d built. I figured that I needed data for my chart, data for my products and reference data and so I sketched out a “DataModel” class; public class DataModel : PropertyChangeNotifier { public DataModel() { salesChartData = new ChartData (); referenceData = new ReferenceData (); productData = new ProductData (); } public ChartData SalesChartData { get { return (salesChartData); } } public ReferenceData ReferenceData { get { return (referenceData); } } public ProductData ProductData { get { return (productData); } } ChartData salesChartData; ReferenceData referenceData; ProductData productData; } and I want to provide this ( or pieces of it such as DataModel.SalesChartData to various controls throughout the app so that they can data-bind to it ). There seemed to be a bit of commonality in the various classes I wanted to write in that each of them does...
    Filed under: , ,
  • Silverlight: Product Maintenance Application ( Part 2 – Building some web services )

    Following up from this post , I set about building some services to power my application’s data requirements. These aren’t perfect by any means but they’re enough for a sample application to get going with. Working from the sketch of how the services need to look given at the end of the previous post , I put together a LINQ to SQL diagram; and left LINQ to SQL to do concurrency checking based on every column in the Product table ( I only plan to modify the Product table ) which is its default if I remember correctly ( and, usually, overkill but it’ll do for me here ). And I then produced a rough service interface; public class L o o k u p D a t a I t e m { public int I d { get ; set ; } public string T i t l e { get ; set ; } } public class P r o d u c t S a l e s { public string M o n t h Y e a r L a b e l { get ; set ; } public decimal T o t a l S a l e s { get ; set ; } } public class P r o d u c t S e a r c h R e s u l t { public int P a g e { get ; set ; } public int T o t a l P a...
    Filed under: , ,
1 2 3 4 5 Next > ... Last »
(C) Mike Taulty, 2009. 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