Mike Taulty's Blog
Bits and Bytes from Microsoft UK

Browse by Tags

Blogs

Mike Taulty's Blog

Elsewhere

  • Videos from DevWeek: Catching up with Aaron Skonnard

    I was lucky enough to have a chance to chat with Aaron Skonnard at DevWeek last month and I captured a few videos which I thought I’d share here. Aaron (as you probably know) is a co-founder of the Pluralsight company and is a great trainer and technical presenter and was keynoting DevWeek with a talk about Cloud Computing so I manage to snag him and ask him a few questions about “the Cloud”. I’ve broken this down into a couple of sections, the first one here mostly being about timelines as we head towards Cloud; and then the second one here being more about how developers can prepare for Cloud computing; and then this last one here was really more of a “fun” question where I asked Aaron what he was currently playing with. I always find this an interesting question as I think all developers are always secretly toying with some bit of technology even if it means staying up late :-) Here’s Aaron’s answer; Enjoy!
  • April CTP of the Live Framework SDK and Tools

    I missed this one for a couple of days as I’ve been out on holiday. There’s a new April CTP of the Live Framework SDK available. You can pick up the original post; here and good news is that the Live Framework Client does side-by-side with the consumer Mesh client and that it all works on Windows 7. That’s another item for my “list of things I need to install” :-)
  • Live Framework SDK – DataEntries, SyncEntries, NewsItems

    I’ve been playing with a little WPF desktop application that creates “notes” using the Live Framework SDK on Live Mesh. It’s intentionally simple and it looks like this; and the notes are the little TextBoxes over in the ListBox on the right hand side. There are buttons (top left from top to bottom) to; Connect to the Local/Cloud Live Operating Environment (LOE) Create a MeshObject and DataFeed. The application stores all the notes on a single DataFeed inside a single MeshObject and it is this button that creates these. It’s really only intended to be used once as a “setup” operation. There’s no option in the application to invite any user to share the MeshObject although I’ve written a little about that elsewhere ( here and here and here and here ). Connect the application to the DataFeed and MeshObject that are already created. Delete everything so that I can start again (note – the application needs shutting down after pressing this button). So the first time I run it I would do perhaps (1) and then (2) and...
  • Powershell and the Live Framework SDK?

    I have this little command line app that I’ve been using to navigate my developer Mesh with the Live Framework SDK. It started out as very basic but then today I realised that I should really extend it so that you can use it something like; cd cloud list objects cd meshObject1 list objects and so on. I was about to set about doing this when I realised that this is essentially already part of Powershell and a much smarter move would be for me to write a plug-in provider for Powershell that exposed the local/cloud Live Operating Environment as something that can be navigated from the shell. Now…I didn’t actually set about it yet ( mostly because I realised that I’d have to download the entire Windows SDK to get going – can that be right? :-) ) If anyone goes ahead and builds it then let me know and I’ll link to it here, otherwise I’ll try and build it myself when “spare time” comes around.
  • Mesh Squared

    Ahh…..this post lets me have my developer Mesh and my consumer Mesh. Use Mesh Client Beta and Live Framework Client Side by Side Lovely.
  • Live Framework SDK – Revised WPF Photo Sharing Application

    I’ve taken the application that I last mentioned here and I’ve been working on it a little more. I’m not quite where I want to be just yet but I thought I’d walk through it a little and share the code. The application runs up like this; and it immediately tries to connect to the Local Live Operating Environment ( it depends on a Local Live Operating Environment ( LOE ) and will fail if you don’t have one ). It pulls the user id from that Local LOE and offers a chance to log in but you can skip it if you like as it’s only needed for Contacts which have to come from the Cloud LOE as the Live Framework doesn’t make them available from the Local LOE yet. Either way, it then shows something like this; one that UI is present I can drag and drop single photos or multiple photos from the desktop to the UI as in; It’s not possible to see the drop location on the screen capture above but it’s over the window on the left where I’m about to drop the 3 selected image files. On the right is a Virtual PC where I have a Windows...
  • Live Framework SDK - “Concurrent Operations are Not Supported”

    I’m trying to write some code against the Live Framework SDK and I was trying to avoid hanging my UI so I figured that what I’d do is to use all the async options within the object model. So…as a for instance – if I have data backed by 5 MeshObjects on the screen and the user selects 3 of them and presses Delete then I’d want to delete those items and I’d want to do it asynchronously. However…more than one “in flight” async operation against the current Live Framework object model seems to hit you with a; “Concurrent Operations are Not Supported” error so this post is just a word of warning if you encounter this. It’s tricky for me because I have other instances where I want to display N images on the screen. These are data-bound with WPF and the original intention in the property accessor that supplies the Image was something like this; public BitmapImage Image { get { if (image == null ) { MeshData.GetMediaStreamForPhotoAsync( this , s => { image = new BitmapImage(); image.BeginInit(); image.StreamSource...
  • Live Framework SDK - more on inviting others

    This previous post had me thinking that the WPF application that I built across these posts; Live Framework SDK - More Steps Live Framework SDK - Having a Single MeshObject Live Framework SDK - Adding a Silverlight MEWA would start to improve if I offered the opportunity to "invite others" to shared groups of photographs. So, I re-worked the code. There were a couple of things that I came across whilst doing it; It's a bit painful that you can't do everything whilst created to the Local LOE. I wanted to write 100% of my code against the Local LOE but, because you can't get a list of Contacts from the Local LOE right now it means that you have to connect to the Cloud LOE to get them. Additionally, as far as I could tell you also need to use the Cloud LOE to send a user an invitation to share a MeshObject. I don't think you can do that with the Local LOE even if you already have gathered Contact information from the Cloud LOE. That was my finding, anyway. Mappings. I'm still not 100% sure about Mappings, MeshObjects...
  • Live Framework SDK - Inviting Others

    Following on from this previous post , the WPF and Silverlight code that I've been running tries to access a MeshObject ( containing a DataFeed of photos ) that the code itself creates at initialisation time. What I wasn't sure about at all was how that'd work if I wanted to make the same data available to another person altogether. As it stands, my WPF code runs up and does; Check local mesh for "photos" MeshObject. If not present, check cloud mesh for the same. If not present, create it. If I want to share my photos with lots of other users of the same application then is that what I want? All my users will end up with their own MeshObjects with their own photos and none of them will ever see each other. So...I set about trying to figure out what the "shared data story" is. There's a sample in the walkthroughs called MeshageBoard ( no, really :-) ) which helps quite a lot with this in that it shows the way in which one user can send invitations to another. In order to experiment with this, I decided that it...
  • Live Framework SDK - Adding a Silverlight MEWA

    Having written a small amount of WPF code for the previous post , I was wondering how hard it'd be to now write a Silverlight Mesh Enabled Web Application ( MEWA ) and access the same data that I was using from my WPF application. I set off down the route of building a Silverlight MEWA. So, in Visual Studio with the Live Framework Tools installed that's File->New Project; and then I did a quick Build to make sure I had something that was basically working and then I pressed F5 which sprung up this dialog; and that launched this dialog; which led me through visiting the developer portal; creating a new project up there; entering some details like the name (TestMewa), choosing to create a "MEWA" rather than a "Web Site", and then revisiting the dialog in Visual Studio and clicking the "Copy Link to ZIP file" entry; and then using that to upload the package on the website; which then gave me the Application's Self-Link to paste back into the dialog in Visual Studio; Visual Studio then did some uploading and launched...
  • Live Framework/Mesh - Screencasts

    I added a few screencasts to Channel9 around the Live Framework/Mesh. They're pretty introductory but might be helpful if you're looking to start out with Live Framework and want to save some time by re-using some of what I've already tried to figure out about the SDK. The screencasts are here ( note - these are just pictures rather than fancy embedded Silverlight players :-) ); Getting Started Syncing Some Simple Data "Hello World" from a Mesh Enabled Web Application Enjoy ( all errors are mine :-) )
  • Live Framework and Mesh-Enabled-Web-Applications ( MEWAs )

    I've been experimenting with trying to take the code that I wrote here and move it into a Mesh-Enabled-Web-Application ( MEWA ) written with Silverlight. I can write a MEWA either with Silverlight or with HTML and Javascript and there are libraries to assist in talking to the Live Framework either way. I instantly get stuck in terminology. It seems to me that I have a number of different kinds of applications now; desktop - this is an application built against the full .NET Framework (3.5 Sp1) and the Live Framework SDK assemblies. It can run; against the Cloud LOE ( assuming that we have an internet connection ) against the Local LOE ( assuming the user has installed the client ) against a mixture of the two although I think that might be a bit "over the top". Generally, I think it makes sense to write the code to talk to the Local LOE as that simplifies any loss-of-connectivity issues and lets the Mesh sort out the synchronisation issues. then I have my MEWA applications which can run in one of two settings;...
    Filed under: ,
  • Live Framework SDK - Having a Single MeshObject

    Following up from the previous post where I'd been trying to write a little bit of code that shares some photographs via the Live Mesh using a standard, installed, client application written in WPF. That all worked out fine but the main problem that I encountered was that I wanted to have a single MeshObject ( let's call it Photos ) which had a single DataFeed that was used by all instances of my application. This is problematic as the client runs off the Local Live Operating Environment (LOE) which is not necessarily bang up to date with the Cloud LOE. So you can have a situation such as; Client runs on PC 1. Client checks its local LOE to see if the Photos MeshObject exists or not. Photos MeshObject does not exist so the client creates it. Client runs on PC 2. Client checks its local LOE to see if the Photos MeshObject exists or not. Photos MeshObject does not exist so the client creates it. Both clients are now happy but at some point they will synchronise with each other and they'll possibly never share any...
  • Live Framework SDK - More Steps

    Following up on this post , I thought I'd see if I could share some files through the Live Mesh and perhaps move on from writing a console application. Photos seem to be the most obvious choice so I thought I'd start there. What I figured was that I would just want a very simple way of storing the data so I figured I'd use a single MeshObject with a single DataFeed hanging off it and into that DataFeed I would add my photos. I also figured that I'd want to work against the Local Live Operating Environment all the time because I don't really want to have to figure out network status and connect/disconnect from the Cloud Live Operating Environment - that's too complex and seems unncessary to me unless I'm running in a situation where I don't expect the user to have installed the Local Live Operating Environment ( i.e. the "Live Framework Client" ). So...easy. Or not :-) What I got stuck with was how to deal with the various interleavings of synchronisation. Imagine the scenario; My application runs up on Machine1...