If you’ve ever wondering how the Silverlight update works – Christoph Schittko distills it down here. It’s important to understand how the technologies you are working with play in your environment.
eRubyCon wrapped up yesterday.
First talk of the morning – I heard Muness Alrubaie and Dan Manges, both from ThoughtWorks, talking about Ruby and Agile on a large project with ThoughtWorks. They have 30 people working on a single app – all at one war table in a conference room in Atlanta for 10 hours a day 4 days a week. They pair with the guy next to them. They shift pairs on every iteration. They move extremely quickly. It was interesting to hear them talking about the challenges of working an agile project with that many people. One of the small changes was that they had to formalize the format of their story cards, estimation and such. On smaller teams, they could be a touch looser because people all knew each other and each others styles. They standardized on the desktop setup, toolset that they are going to use, configuration of the tools such as colors in the editors and other things that are usually personalized per developer or at least on a pair level. The big thing that would have been fantastic to see would have been a ton more on the gotchas and pitfalls to watch out for. These are hard to verbalize but important. Some of these can be inferred from the things that they had to alter for the the larger group. They didn’t go into detail on issues that they had with integration which I’m sure that they had with that many pairs making extraordinarily aggressive changes a language that’s a compact as Ruby is. That has to lead to stomping on each other occasionally. It was a fantastic talk – I just always want more. One thing is for sure – they are proving that agile can work in large projects.
Then I got to talk! This was a ton of fun. I’ll be honest, it was daunting to be speaking at eRubyCon and especially after so many fantastic speakers. My session was an introduction to Silverlight for Ruby programmers. My big demo was that I wrote a simple rails app that served up a Silverlight front end and then the Silverlight front end communicated back to the server via JSON. That was cool. I’ll be posting my slide deck here in a little bit. It’s not all my deck, I stole a lot of it from Scott Barnes and adapted it to work with my style and such. I did video the talk and plan on posting it at some point in the near future – but that’s going to take some work and time. I really wish that I had been able to show IronRuby off, but I don’t have any bits as they are supposed to drop next week. To quote John Lam, I had an “unfortunate timing issue” as the team is putting something out publicly next week.
After that I got to listen to Glenn Vanderburg with the closing keynote of the conference. He talked about a lot of the things that I’ve been talking (I need to blog a lot of this) about recently with IT as a cost center and how that’s dangerous. He had some great points about the implications of cost centers. In short, cost centers lead to wanting to cut down on the costs which leads to wanting to build things fast, cheaply and have them last for 30 years and are easy to update and change constantly to meet new requirements and regulations. He quoted Scott Bellware quite a bit and talked about the process of “Software Creationalism”. In short, Scott’s (and Glenn’s) contention is that the vast majority of tools and frameworks out today are all about the point of creation of software and don’t have nearly enough focus on the ongoing survivability and maintenance of the application. That results in “The creation of software is easy but the changing of software is hard”. I strongly agree that this is the current state of the discipline. Obviously, his conclusion is that what the enterprise needs is agile development. “To make it easier to change software, then built it by changing it”.
Another great quote - “If that’s not a one line change, then we need to refactor until it is.” – Glenn Vanderburg, eRubyCon 2007.
I’m speaking at eRubyCon next week (7/16-7/18) joining the other speakers such as Neil Ford, Justin Gehtland, Jim Weirich and Joe O’Brien among many others. It’s going to be an exciting conference. I’m speaking on Silverlight (keep scrolling down – it’s about halfway down). Here’s the Abstract:
Introduction to Silverlight
I gotta say, it’s been a ton of fun putting together this session (not implying that I’m done). I’m playing with so many new technologies and ideas that I’m sure that I’m doing things exactly wrong but it’s fun and I’ve got a cool demo working. I wish that I had IronRuby bits, but the IronRuby bits are to be released at Oscon the following week according to John Lam…
I’m way behind on blogging all of the things that I’ve run across in the past couple of weeks.
I found this video with Scott Holden and Derek Synder showing Silverlight running on a Windows Mobile 6 device. This is a very early prototype so they didn’t commit to a time frame, feature set or anything else but it’s cool. Of course, now that they’ve shown it and gotten some serious buzz going, I’m assuming that they will have to ship something in this space and we’ll get more details on that as time goes on and we get closer to the Silverlight 1.1 release.
I also really like that device but I doubt that it’ll be out on Verizon any time soon.
I’m starting the ArcReady tour in the Heartland District (Michigan, Ohio, Kentucky, Tennessee) next week.
We are talking about architecting for the user exerience which includes the decisions that you have to make along the way to creating a great user expeience. We will also be covering some of the technologies that Microsoft is producing to create great UIs which is a big part of the overall user experience. These technologies include WPF, AJAX and Silverlight.
I’m on the road for two weeks with ArcReady course of the next month.
Then I take a break and hit TechEd. Hopefully I’ll see you there. Come find me if you’re there too.
Then I hit the road again.
Need some help getting your head around Silverlight? Check out http://www.silverlight.net. That’s a full blown community site that has samples, screencasts, forums and a whole lot more. It’s amazing how much content there is out there already.
If you haven’t figured it out yet, I’m pretty geeked about Silverlight and am looking forward to being able to factor it into every browser based application that I work on to see where and when it fits.
Billy Hollis calls HTML the COBOL of the web. There’s a lot of truth to that to be honest. CSS helps. AJAX helps more but you really can’t get to a Rich Internet Application (RIA) with these technologies. Silverlight is Microsoft’s answer to that RIA gap.
Some quick facts about Silverlight:
720P HD Video that is downloaded with the Silverlight runtime
Has a .NET Runtime that downloads with it with a subset of of the Base Class Libraries
Silverlight has fantastic streaming support that integrates well with our new Silverlight Streaming offering. More news coming soon.
It runs on Windows, Mac, mobile platforms and more!
I’m sitting in the back of a Dynamic Languages session by John Lam and Jim Hugunin called “Just Glue it! Ruby and the DLR in Silverlight”. John Lam was a recent hire (January) to Microsoft. Prior to this he was working the Ruby CLR. Jim Hugunin is an architect on the CLR focused on DLR (Dynamic Language Runtime). He joined Microsoft specifically to work on Iron Python and make sure that the CLR was one of the best platform for dynamic languages such as Python.
I recommend that you check out this session on the http://www.visitmix.com site when the recording gets up there. They do a fantastic job showing the power and ease of dev as well as poking a lot of fun at each other.
BTW – long post! Too many announcements!
I’m just out of the MIX07 keynote featuring Ray Ozzie and Scott Guthrie (Yes I find it a lot of fun that the top guys at Microsoft on the technology side blog about what they are doing). I’m still trying to get my head around what I just heard. They have far exceeded my wildest expectations.
First – the client demos were sweet!
Neil Hunt of Netflix got on stage with some guys from Razorfish and demoed the great rich media and interactive video support in Silverlight. One of the cool things is that it was completely integrated into the back-end Netflix site for ratings, ordering and so on, has a chat app inside, collaborative movie watching where two people can watch the same movie from different parts of the world and it will keep them in sync and let them IM during the movie. That was cool and Netflix is a fantastic backer as they are very demanding on their systems and need the highest quality experience for their clients.
CBS got up and showed how they are integrating pro media with community contributed media tied to that pro media so that they can all of the sudden get content and points of view from an amazing number of sources instead of just their one camera guy.
Top Banana – I was already blown away when this section of the keynote came up. It’s one of the first managed applications with Silverlight and written with XAML and C# in Expression Studio, VS.NET and more. It’s a full blown video editor written in Silverlight. Wait – video editing in the browser? This is really blurring the line between desktop and web application. It’s only 50 kilobytes worth of payload to do all of the video editing. Yes – that’s 50k worth of code that’s downloaded. It does film stripping, frame by frame stepping, cutting, mixing, merging and everything that I could do with video. The did all of this in a month.
MLB.com are doing a ton with Silverlight as well. It has integrated overlays so you can watch the full screen video with overlays of your fantasy teams, pitch counts and more. It even ran on a phone! It’s a great experience and I’d love to talk more about it but I’m numb at this point with all the cool stuff.
Third - there had been a lot of rumors and speculation about the next bit of business and that is that the Silverlight 1.1 Alpha is going to have the same exact CLR as the desktop version that allows you to leverage your existing .NET skills in VB.NET or C# to build RIA (Rich Internet Applications). Read that again slowly though. You will be able to write .NET to run in the browser on the client side of one of these RIA’s. In other words – you’ll be able to run .NET on a Mac in a Safari browser! That includes LINQ and the whole ball of wax! That just put Silverlight RIA’s in reach of any dev shops that are currently doing WPF with C# of VB.NET. And we are going to have support for Silverlight in VS.NET Orcas with a free download called the Silverlight Tools Alpha so we have proper tooling for the developers.
Fourth - The tooling is amazing. Expression Blend can export to XAML directly for Silverlight. That means that I’m not nearly as constricted by the limited number of controls and such that are available for Silverlight compared to WPF. It also manages and writes out all of your timelines, media integration, graphics work and so on. Expression Media does a great job of managing and encoding all of your videos. Expression Web has an AJAX Silverlight drop-in bit that can just drop in an RIA inside an existing application through drag and drop. As mentioned, VS.NET Orcas has support for development.
* Big point here * - Cross-Platform Debugging so you can do live debugging across the network to actually debug on the code that’s running on the Mac. You have access to the memory, objects, single stepping code and the whole nine yards! That’s amazing and it truly enables cross platform development!
* Another big point * – all of the tools from a SOAP perspective
Fifth – the Silverlight Streaming, a companion service for Silverlight makes it easier for developers and designers to deliver and scale rich media as part of their Silverlight applications. Silverlight Streaming is a storage and video delivery service that will enable developers and designers to upload their application to Silverlight Streaming and then deliver this application to any website globally. Silverlight Streaming will provide 4GB of free storage as well as unlimited outbound streaming at 700 Kbps. For the first year, the service will be free. As the service moves out of beta it will be offered as part of the overall WL Platform offer, with continued 4GB free storage and free streaming up to 1 million minutes of streaming per site per month. Once a website goes over the 1 million minutes of streaming threshold, the site will have the option to take ads and revenue share or pay a small fee to help cover MSFT costs. Check out silverlight.live.com for more on this!
Fifth - and this one came out of the blue for me. The CLR will have full support for the DLR (Dynamic Language Runtime) including Iron Ruby, Iron Python and Managed JScript! Yes, you read that right – I had to ask for clarification when I heard about this too. You will be able to write your applications in C# or Vb.NET or Ruby or Python or Managed JScript! Sweet! That just put WPF and Silverlight (since it’s running the exact same CLR) in reach of any shop who knows XML so that they can write XAML and does programming. I’m not saying that there won’t be a learning curve, but HOLY COW you can write Ruby to run in the browser on the client side of your application! For those of you who haven’t looked at Ruby and Python, you really need to take some time to delve into those languages and figure out some of the power and flexibility that dynamic languages bring to the table.
Sixth – Silverlight for Mobile!