Moonlight is Available

by marc 15. May 2008 10:46

A lot of people ask me about Silverlight support for Linux. If you want to see it action, you can now, by heading over to the Mono site and downloading from there.

Technorati Tags: , ,

Mashup Economy

by marc 23. April 2008 07:58

I meant to post on this a couple of weeks ago, but forgot...

This report on ProgrammableWeb describes the purchase of Twhirl by Seesmic. Nothing strange in an acquisition, but in this case it's interesting that in Twhirl's case we have a lone developer creating something that is effectively just a wrapper over several existing APIs. (No criticism of the application by the way!). So, there's value in the UX etc. but essentially nothing that couldn't be reproduced by another designer/developer. Or at least - there's no special sauce here, how it is done is easily understood.

So why the acquisition?

Loic Le Meur of Seesmic lists 20 reasons why they acquired Twhirl. I agree with most of the reasons listed, but I suspect that the most important is the second on the list:

Thwirl is the #1 and coolest Twitter client with more than 100,000 downloads and 7% of all tweets posted per day

And there we have it: leveraging an existing user base of an already successful service through a very popular tool should drive that user base to Seesmic.

My only concern is that I'm not sure there's enough data to understand the transience of an audience of a given tool. Maybe Twhirl will lose out to some existing or new tool. That could happen really fast too.

On the other hand, there's a significant opportunity for developers to take advantage of this economy (just like Facebook apps!). Similarly, making access to APIs super-simple is key to technology choice for developing these applications:

  • LINQ capabilities which make accessing XML-based services a breeze, which leaves more time to get that all-important UX differentiation in place.
  • Data-binding capabilities such as those in Silverlight and WPF make the representation and transformation of data to the UI that much faster too.
  •  Take a look at this Digg mashup as an example.

Finally, whilst each app is great I really don't want a raft of these applications on my desktop - it'd be great to see something exploiting the .NET 3.5 AddIn capabilities to plug in the various services I use (Digg, Twitter, Delicious etc.) and become the preferred 'container' for a bunch clients...

Web Sites with MOSS

by marc 1. April 2008 15:33

Working with a customer the other day it came as a bit of a surprise to me that they didn't realise that MOSS (SharePoint in old money) could be used as an externally facing website. But it certainly is.

Take a look at:

It's worth weighing up the value that MOSS may bring to a web site development in terms of framework, workflows, and all of the familiar collaboration capabilities.

Technorati Tags: ,

Ruby Ruby Ruby Ruby

by marc 29. March 2008 05:00

I casually mentioned that learning new stuff - Ruby in this case - is sometimes a bit hard. So Huw challenged me to define what I found hard and maybe they could sort that out in their implementation of Sapphire.

I've been revisiting Ruby the past couple of weeks following a conversation with a colleague. (I spent some time learning Rails a couple of years ago to see what the furore was about). With the IronRuby and DynamicSilverlight efforts going on, it's probably Very Handy to know.

So, actually I found I struggled with some concepts much less than I did last time. The key issues for me had been:

  • Symbols. Just found them a bit weird. This wasn't really a big deal. I suppose one of the issues here is that their use can depend on the individual coder rather than as a language practice so they can seem a bit intangible.
  • Codeblocks. This is owing to them not being declared in the method signature (you can, but no-one does). You have to look for the yield keyword. On the other hand, recent practice with lambdas and so on in C# means that I understand the general subject a lot better now.
  • Macros. How to achieve the Rails-y belongs_to :post type statements in the class was just a piece of knowledge I didn't have, but I now understand how to create these macros so another mystery is solved.

Overall then, I'm much more positive about my Ruby skill levels. One thing Huw mentioned was that you can make assertions about the expected arguments and their types in comments  for methods in the RubyInSteel IDE which appear as part of the intellisense capability. Now, I've owned the product for quite a while but of course I hadn't read the manual. This seems useful for a relative n00b like me - at least while learning.

Technorati Tags: , ,

Geek Weekend I

by marc 17. March 2008 06:23

It might not surprise you to learn that my main hobby is also 'computer related stuff'. I was reminded of this when being asked to fill out a bit of pre-work for an upcoming 'team building day'. Oh my, that'll be fun then...

Anyhow, Dan sent on a link to the GeekDad blog and suggested I might be interested. Sure am. I was already aware of it (mainly through reading Chris' Long Tail blog, and Wired in general), but Dan spurred me into some action.

Pieces of EightEvan was supposed to go to a pirate party this weekend, but was a bit down from her two-month jabs, so we dressed her up anyway, but didn't get to the party. (Present is in the post, Monty).

OK, so Geek Weekend I.

I went out and bought a Bluetooth GPS device: one of those sports tracker things, and signed up for SportsDo. SportsDo are a great example of a S+S style proposition, producing mobile (Windows and Java) software to create 'activities' and then a website to plot the relevant GPS data on Virtual Earth or Google Maps.

Typically this would be used by skiers, cyclists or runners. Now, I don't ski or cycle, but I do run a lot. This is on a machine at the gym at TVP typically though, so not much interesting GPS info. (I guess I could plot my movements around a pool table...).

Anyway, as an experiment, we took the kit shopping and it produced very accurate results. You can even see us meandering up and down the aisles... A lot of fun anyway.

I'll put some more of my journeys on SportsDo at some point.

Technorati Tags: ,

Silverlight in Financials Demonstrator

by marc 15. March 2008 03:44

I have 5 minutes while I transfer a giant VPC image, so just enough time to mention...

Jaime Rodriguez has posted up an article with links to a great Silverlight 2 demonstration app. This one is a true RIA with a lot of great features - the animated, rangeable (is that a word? no...) graphs being my favourite.

Even better, the source code has been released for it. Run, don't walk.

Technorati Tags: ,

IIS Web Playlists

by marc 28. February 2008 07:41

I thought it was worth drawing attention to the launch of Windows Media Services 2008 and the 'web playlist' feature that is described here.

Technorati Tags: ,

Software + Services: Multiple Channels

by marc 24. February 2008 06:46

Quite often, one of the easiest ways to think about S+S is when thinking about multiple channels for exploitation from a central service: desktop, web, mobile clients talking to a cloud service.

Whilst I don't think this describes S+S fully, it's a relevant and useful story - I talk about Exchange and it's various clients (desktop, web, mobile, voice) as an example of S+S myself. Though in the case of Exchange, there are also other things to think about: hosting location and attached services for example.

Let's explore the multiple channels issue a little more.

When I discuss new projects with customers then more often than not most will have some kind of view as to whether they'd like to create a 'mobile' version of the software. This is typically driven by market, or a particular feature of the solution (e.g. "most of our market is web" or "video on mobile is still a pain, so we'll concentrate on web"). More often than not, there isn't a lot of thought on the differing experience that mobile (or whatever) can provide.

Exploiting multiple channels is a Web2.0 phenomenon too: there is a (perceived) need to surface a solution/product offering in many different 'web-flavours' such as gadgets, or Facebook apps (or Netvibes, or PageFlakes, or or...). One of the solutions in the Web2.0 space is to create the core proposition yourself, and then rely on the 'wikinomics effect' to have the crowd construct all of the other channels for you. This has worked extremely well for Flickr, for example. A great example of a 'really simple idea' that is exploited in multiple channels is Remember The Milk.

Apart from the exploitation, it is worth thinking about the experience. I feel a sense of dismay when I see a mobile offering, or even a web gadget that tries to do what the original experience did. Different channels can serve different purposes. Taking the gadget example - when Apple released OSX, complete with widgets, they wrote a best practice guide on widget construction and specifically said something about 'complementing' rather than replacing a Web UI (I've searched but can't find this original guide - other folks' references also point to a 404).

Last year, Ray Ozzie said: "In my view, we only have one shared future as a software industry. And that is centrally deployed code that has a different lifetime associated with it on the device it's deployed to."

Ray was thinking about software construction and related issues, but since I read this then I've considered that one of the useful ways to think about the exploitation of available channels, and the experience they should offer is around the 'lifespan of a user session'. So, on a desktop, this could be a lengthy period of time - I have many of my desktop apps open all day - but on the web is likely to be much more transient. This transience is increased with 'gadget'-type platforms as it is likely that the gadget is merely one part of some sort of aggregation. Mobile channels are useful for 'directly relevant information, right now'.

Small pieces of software such as the Flickr uploader, Windows Live Photogallery, or Picasa can significantly enhance a user experience for the central cloud service: the smaller lifespan of my browser session means that upload of photographs are less reliable, and less natural than the use of a long-lived desktop session.

Any given channel will have attributes that require consideration before exploitation: cross-platform for desktop, richness and response for the web, geolocation for mobile and so on. Lifespan of a user session is applicable across all of these in different ways.

Technorati Tags:

ZoomIt

by marc 24. February 2008 05:07

I hadn't seen this before, but a colleague returned from Redmond and mentioned it had been used to good effect in presentations he'd seen. Being a PowerPoint jockey, naturally I had to take a look.

ZoomIt provides really simple zoom and annotation capabilities when you're running demos, or technical discussion.

http://www.microsoft.com/technet/sysinternals/Miscellaneous/ZoomIt.mspx

Technorati Tags: , ,

Xobni Experience

by marc 8. February 2008 11:49

I guess a couple of people must have clicked on the Xobni badge in my previous post, as I've been on the beta now for a week or so.

Reflections:

  • I was quite pleased that it doesn't seem to slow down Outlook as so many add-ins have a tendency too. I guess YMMV but my experience was good.
  • I'm not totally convinced that I'm getting huge value from it yet, beyond a gimmick.
  • However, the connections and 'staying in touch' features are of value in my line of work - lots of meeting people, lots of connections.

Overall I still think that the core principles are good, and probably just some of the use cases need tightening, with a few more options - limiting indexes to certain folders and so on.

Technorati Tags: ,

Powered by BlogEngine.NET 1.4.0.0
Original Theme by Mads Kristensen and adjusted by me

About the author

Marc Marc Holmes
An Architect Evangelist at Microsoft

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in  anyway.

© Copyright 2008