Tuesday, November 06, 2007
JUXtapose

 Jeff Blankenburg has a new video series that he's starting to do called JUXtapose which stands for Jeff on User Experience. That's a clever twist on words there.

What Jeff doesn't mention is that he "grew up" in the technical end of a marketing firm implementing the whims and ideas of the designers. Through that experience, Jeff learned a lot about user experience and design. He was the designer of the original CodeMash site and gear head logo. imageThat's why in his video he said that he was "familiar" with the gear head.

In his first video, he builds a Silverlight 1.0 gear head with spinning gears. I like it for a number of reasons. It clearly demonstrates the power of declarative vector graphics and timelines in XAML. I've done the stupid demo that everyone does for Expression Blend and Silverlight where you take text, put it on a timeline with a gradient and have it spin about the screen a little. As Chris Bernard put it - that's Silverlight Blink meaning that it's the thing that everyone is going to do because it's simple but it's annoying as all get out to the user. However, that was random movement around the screen. To actually make it do something deliberate like Jeff did has been well outside of my depth.

In his second video, Jeff tracked down the CTO as well as the Dev Tools Product Manager, Visual Design Manager of Component One and interviewed them about the controls that they are creating for Silverlight 1.1. That set of controls, called Sapphire, went Alpha yesterday which happened to be the day that he posted the video. It's a well done video with lots of good information. I liked the their attitude where they see Silverlight as a way to reuse their desktop development knowledge, toolset and more for web development. This is the direction that Microsoft is taking things - extending our current base's (mostly desktop developers) experience and abilities to the space known as RIA. Adobe has been in the RIA space for a while and with AIR, they are trying to extend their base's (mostly web developers) experience and abilities to the desktop. This is a subtle but hugely important distinction that Component One understands and is excited about.

On a side note - it was interesting to hear that Component One, as a control vendor, is an agile shop developing in an iterative fashion.

JUXtapose - Jeff on User Experience


Silverlight | UX
Tuesday, November 06, 2007 1:09:29 PM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

 Friday, November 02, 2007
Continuum of Experience

One of the key messages that I've been talking about with a lot of my customers recently is a continuum of experience.

image_thumb[3]

It starts on the left with Web and it's absolute ubiquity through HTML and CSS. This works on any device with a browser from a phone to any desktop and even a lot of computer based applications (such as search engines or spam email harvesting engines). The tradeoff is that the user experience is less than optimal. Billy Hollis calls it the Cobol of the web referring back to the old time green screens. Whether we like it or not, HTML not only has it's place now, it's going to continue to have it's place long into the future. Unfortunately, one of the reasons that many applications go this direction is not because they need ubiquitous reach but rather because it's easier on the IT department to deploy it. This makes things hard on the user. Oops. Things can get better with AJAX. At this point, you are sacrificing some reach for functionality as you are giving up phones, PDAs and older browsers. Often that's an easy decision to make.

On the right hand side of the continuum is Platform Optimized. This is really giving up broad reach for absolute functionality. As an example, the Halo 3 team knew which video card was in the target machine so they could tailor the experience for the edges of what's possible on that hardware. That's a good position to be in when you can be because it means that you can create the absolute best possible experience available. However, it would be hard to take that same experience and put it on any laptop. Short of knowing what hardware you are targeting, look at the platform that you are targeting. If you know that your users are using Vista or XP with the Service Pack 2, you can target WPF, WCF and so on because you know that it's on the box. Backing up from there, if you can target .NET on the box, great.

Somewhere between the Web and Platform Optimized is the Supplemented Web with Silverlight and Flash/Flex. This is an exciting frontier to be in right now bridging the gap. It's not full ubiquity but it's more reach than platform optimized and it has a far superior user experience than HTML and CSS.

Microsoft and Adobe are working from opposite angles here. Adobe, with Air, is trying to take this supplemented web development paradigm to desktop. It's an interesting idea to be able to bring HTML, Flex/Flash, embedding PDFs and so on to the desktop. Microsoft, on the other hand, is trying to take desktop application development paradigm to the web with Silverlight.

I think that there's room for every type of experience along the continuum but you really need to evaluate your skill set and what type of experience you want to target when starting an application. Today actually, I had a customer meeting where we talked about a blended approach where we build a simple ASP.NET application for their ubiquitous touch and then target a click-once deployable application for those clients that are able to leverage it. This would be a great move on their part as it would give the best possible UX for the greatest possible audience.


AJAX | RIA | Silverlight | UX | WPF
Friday, November 02, 2007 2:01:23 AM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

 Wednesday, September 05, 2007
Dancing in the Moonlight!

Very, very close (It was #1 Explore)         132 times Fav.!When I was at MIX and walking down the hall, I ran into a rather excited group of people that included Miguel de Icaza at the center. I stopped and listened as Miguel was running through the Silverlight 1.0 and 1.1 collateral and saying things like "We've already got that", "That's a week's worth or work", "That won't take too long" and so on. I realized that I was watching the formings of the Mono-Silverlight project later to be named Moonlight.

I didn't foresee this news though!

Microsoft is going to officially endorse the Moonlight project from Novell!

Here's what that means:

  • Microsoft is listening to it's customers and is delivering that they need when they need it.
  • Moonlight, via Novell, is going to have feature parity and compatibility with Silverlight and Silverlight content will run on Moonlight with no changes. Woot! That's going to be ensured because Microsoft is giving Novell access to the same test suites that they are running on Silverlight. That's sweet.
  • One of the large pushes on Silverlight 1.0 is HD video but it's WMV. Guess what - Microsoft is producing codecs for the Moonlight project that are going to run on all distributions of Linux and BSD that Moonlight runs on.
  • That last bullet point means that Moonlight can be distributed commercially because the video codec that they are currently using is not licensed for commercial distribution.
  • Very importantly for me - I am allowed to officially as a Microsoft employee to say that Moonlight is the answer for Silverlight on Linux.

What this does not mean:

  • Microsoft is not going to support Moonlight, that's still up to Novell and the Open Source community.

Miguel de Icaza's post on the subject:
http://tirania.org/blog/archive/2007/Sep-05.html

This is the official press release from Microsoft:
Microsoft Delivers Silverlight 1.0, Extends Support to Linux: “Entertainment Tonight” HSN and World Wrestling Entertainment showcase new online experiences; more than 35 partners commit to Silverlight Partner Initiative.

Technorati Tags: , , , ,

RIA | Silverlight | Moonlight
Wednesday, September 05, 2007 11:49:07 AM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

 Friday, August 17, 2007
Silverlight Twitter Badge

It's by no means perfect, but I've got a new Twitter Badge on http://www.joshholmes.com in the right hand margin.

I was sitting at the Flex and Air Jam and started working with James Ward on a Flex twitter badge and started thinking about what a Silverlight Twitter Badge would look like. James had this concept for creating a clock for the time to really give the badge some context and pop. I liked the idea so I stole it... :).

I'll post the whole source code and all shortly. I've got a few more things that I want to play with - like making the white background transparent.

Technorati Tags: , ,

RIA | Silverlight
Friday, August 17, 2007 10:08:24 PM (GMT Standard Time, UTC+00:00)  #  Comments [1] 

 Tuesday, August 07, 2007
Microsoft ArcReady: Web 2.0

ArcReady is ramping up again for another quarter's worth of content. This quarter we have Jon Rauschenberger from Clarity Consulting putting together content on Web 2.0 based on his experience with creating the FaceBook Developers API and more.

Applying Lessons to Your Company

After Tim O’Reilly’s article “What is Web 2.0” in 2005, there has been considerable buzz around Web 2.0 technologies and the companies that use them. From the open platform Facebook to the rich user interfaces of web mail clients like Microsoft Exchange, the architecture of web applications is changing rapidly. While other companies have begun to see potential business value in Web 2.0 technologies, there is still uncertainty on how to integrate those technologies into corporate activities. How can you balance corporate security needs without negating the architecture of participation that is important in Web 2.0 applications? Where is the line between internal and external applications? What can we learn from the most successful public Web services and does it apply to our internal SOA?

In select cities, our guest speaker will be Jon Rauschenberger, CTO for Clarity Consulting. Together with the Central Region Architect Evangelists, we’ll discuss lessons learned and best practices around collaboration, rich user experiences, and data syndication from existing Web 2.0 application architectures. We’ll also provide guidance how current Microsoft platform technologies like AJAX for ASP.NET, SharePoint Server 2007, and WCF can be used to turn those lessons into a practical corporate Web 2.0 architecture. Finally we’ll take a look at the next generation of Microsoft technologies like Silverlight and Visual Studio 2008 and discuss how architects can design and deploy applications beyond the current Web 2.0 experience.

Hopefully I'll see you there...

  • Detroit - 8/21/07 (I'll be there)
  • Houston - 8/28/07 (Phil Wheat will be there)
  • Dallas - 8/29/07 (Phil Wheat will be there)
  • Austin - 8/30/07 (Phil Wheat will be there)
  • Memphis - 8/30/07 (I'll speaking)
  • Minneapolis - 9/11/07 (Denny Boynton will be there)
  • Chicago - 9/12/07 (Larry Clarkin will be there)
  • Milwaukee - 9/13/07 (Larry Clarkin will be there)
  • Indianapolis - 9/18/07 (Larry Clarkin will be there)
  • St Louis - 9/19/07 (Denny Boynton will be there)
  • Kansas City - 9/21/07 (Denny Boynton will be there)
  • Cleveland - 9/25/07 (I'll speaking)
  • Columbus - 9/26/07 (I'll speaking)
  • Cincinnati - 9/27/07 (I'll be there)
  • Nashville - 9/28/07 (I'll be there)

    Microsoft ArcReady

  •  


    AJAX | Architecture | ArcReady | Silverlight
    Tuesday, August 07, 2007 3:50:48 PM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

     Saturday, August 04, 2007
    John Lam on IronRuby at the Portland .NET Users Group

    John Lam was at OSCON and stopped by the Portland .NET Users Group and did  session. Someone, probably Scott Hanselman, had a video camera and taped the whole session. Scott got the video and posted it on his site as a Silverlight streaming video. It's pretty slick. There's a lot of fun banter between Scott and John.

    image I'll warn you now - he's not going to teach you IronRuby in this video. He assumes a lot of knowledge around dynamic languages in general and a little bit about Ruby in particular. Some of the bits that he gets into are deep in the framework. He talks quite a lot about how the method invocation and object creation bits work, performance and . It's fascinating stuff.

    Fun trivia that will make you popular at parties:

    • .NET's GetType() on an object is 69 machine cycles.
    • MS-Permissive license has been submitted to OSI for approval. If they approve it, then we can officially say that we are doing open source. Otherwise we are just sharing code.

    It was also fun to hear him talk about why he can't go look at the source code for the Mats Ruby Interpreter. Since he can't, he asks a lot of "silly questions" on mailing lists asking about inputs and outputs of particular APIs and the like.

    Since they are working on the language still - they have been doing their best to get to a point where they can run the standard TestUnit, RSpec or even mini-spec. These testing frameworks use way too many features of the Ruby language so they can't get it to run at the moment. John, created a simple mini-spec that does some really lightweight testing and specing. The goal, obviously, is to be able to run a full suite of tests against Ruby and IronRuby to be as close as possible on the original implementation.

    Another bit that very good was that John said that getting Rails running on IronRuby is the only way that anyone will believe that it's Ruby. It's good that they are taking that very seriously.

    John asks - "Would it be valuable to get Ruby running on ASP.NET?" - I'd love to hear the answer to that question myself. Feel free to leave comments or contact me directly

    Scott's original post on the topic is - Silverlight Video of John Lam on IronRuby at PADNUG 

    Direct link to the video - http://www.hanselman.com/silverlight/johnlamonironruby/

    Technorati tags: , , , ,

    DLR | Ruby | Silverlight
    Saturday, August 04, 2007 3:35:49 PM (GMT Standard Time, UTC+00:00)  #  Comments [3] 

     Friday, July 20, 2007
    eRubyCon Day 3 - Recap

    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.

    Josh HolmesThen 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.

    Software Creationalism - Scott Bellware [MVP]


    DLR | Ruby | Silverlight
    Friday, July 20, 2007 1:57:06 AM (GMT Standard Time, UTC+00:00)  #  Comments [1] 

     Wednesday, July 11, 2007
    erubycon - Columbus, Ohio 7/16-7/18

    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

    Silverlight is the latest in the continuum of technologies from Microsoft to help you create differentiated user experience in the supplemented web space. Based on XAML (eXtensible Application Markup Language) for its UI and backed by a number of different options for logic including C#, JavaScript, Visual Basic, IronPython or IronRuby (once it’s released) – it’s a exciting new tool in the back of tricks for any web developer. It brings with it a rich networking stack, fantastic media support, scalable vector graphics and much more on both Windows and the Mac in all of the major browsers including IE, FireFox, Safari and Opera. In this session, we will explore the boundaries of Silverlight, see the integration points and hosting options between Ruby and Silverlight and talk some about what’s coming with IronRuby.

     

    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...

    erubycon - Columbus, Ohio


    DLR | Ruby | Silverlight | Speaking
    Wednesday, July 11, 2007 5:14:24 PM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

     Friday, June 01, 2007
    Silverlight for Windows Mobile

    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.

    Source: YouTube - Silverlight for Windows Mobile

     

    Technorati tags: ,

    Mobile | Silverlight
    Friday, June 01, 2007 11:23:52 AM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

     Thursday, May 17, 2007
    Microsoft ArcReady in the Heartland: Architecting for the User Experience

    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.

    Nashville - 5/21/2007

    Louisville - 5/22/2007

    Cincinnati - 5/23/2007

    Indianapolis - 05/24/07

    Detroit - 5/25/2007

    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.

    Memphis - 6/11/2007

    Cleveland - 06/13/07

    Columbus - 06/14/07

    Grand Rapids - 06/15/07

     

    Link to the official Microsoft ArcReady site 

    Technorati tags: , , ,

    AJAX | ArcReady | Event | Silverlight | WPF
    Thursday, May 17, 2007 12:07:34 PM (GMT Standard Time, UTC+00:00)  #  Comments [1] 

     Wednesday, May 09, 2007
    Ann Arbor Day of .Net

    Wow I've been swamped. There's so much to blog about in the past couple of weeks so I'm just going to catch some of the highlights.

    Ann Arbor Day of .NET was on 5/5/2007. It was fantastic! It sold out at 250 people and of that there were 210 people show up. That's actually really good as most free events have a 40% droppoff and they had less than 20% droppoff. The only downside on the day was that with less than a 20% droppoff - pizza was a little short at lunch.

    They are actually thinking about going to every 6 months instead of every 12 months. I think this would be fantastic!

    I kicked off the day with a session on User Experience technologies at Microsoft. I borrowed from some of the materials that we are putting together for the upcoming ArcReady (Check the site for dates and times across the entire central region - Detroit on 5/25 in two weeks for all those that attended Day of .Net). We dipped into WPF, AJAX and Silverlight. My favorite demo is the Silverlight Airlines Demo. It shows a truly out of the box user experience that's not all glitz and glammor but a truly solid UI for a true business application. Many of the demos, while showing off the platform really well, are marketing apps that show lots of 3D and animation. My customers often look at the glitzy demos and say that they are not doing 3D so they don't look at the technologies. What they are missing is that there are real benifits here with enabling truly rich interfaces that go well beyond text and pictures.

    I had two more 30 minute sessions. In both of those sessions the overwhelming requests were to have more Silverlight content. I had nothing prepared for these sessions but they went really well. In the first session, I pulled Don Burnett, who started Michigan Interactive Designers, out of the crowd and asked him to do a tour around Expression Blend and Silverlight. He got up, completely unscripted, and did a fantastic job! I will definitely be bringing him in to do more demos and presentations - especially when we have a designer based crowd. It turns out that he used to work with Bill Wagner (my former business partner when I was at SRT Solutions) on the Lion King Animated Storybook.

    In the second session, I was on my own but I showed Top Banana, the DLRConsole (python and javascript version - IronRuby will be released as a CTP from CodePlex later this year) and talked about the .NET support in Silverlight 1.1 Alpha. Yes - I actually wrote some Python and did a simple overview for people at the conference. It was a fun day!

    Here are some of the resources that we talked about during the three talks:

    •Windows Forms @ .NET FX Developer Center
    http://msdn.microsoft.com/netframework/windowsforms/

    •WPF @ MSDN Developer Center
    http://msdn.microsoft.com/winfx/reference/presentation/default.aspx

    •.NET 3.0 (WPF, WCF, WF) Community Site
    http://www.netfx3.com/

    •Silverlight
    http://www.silverlight.net

    •ASP.NET AJAX @ ASP.NET Developer Center
    http://msdn.microsoft.com/winfx/reference/presentation/default.aspx

    •ASP.NET AJAX Community Site
    http://ajax.asp.net/

    •DirectX @ DirectX Development Center
    http://msdn.microsoft.com/directx/

    •Microsoft Visual Studio @ Visual Studio Developer Center
    http://msdn.microsoft.com/vstudio/

    •Microsoft Expression
    www.microsoft.com/expression

     

    Day of .NET site

    Link to Day of .Net in Ann Arbor 2007 - Home

    Don Burnett's write-up of the event.

    Link to Don.NET's WPF Designers Blog: Eastern Michigan Day of Dot Net

     


    AJAX | Day of .NET | Silverlight | Speaking | WPF | Event
    Wednesday, May 09, 2007 3:39:46 PM (GMT Standard Time, UTC+00:00)  #  Comments [3] 

     Tuesday, May 01, 2007
    MIX07 - Dynamic Languages

    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.

    They are showing a ton of very cool stuff. They are doing all of their programming in TextMate on a Mac. The samples so far have been in JavaScript, Ruby, Python and even Dynamic VB.

    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.

    What's a lot of fun is the interplay between all of the different languages. For example, they created a library in C# that they could pull in and leverage from Ruby and a JavaScript lib that was doing some 3D work that they pulled in and did some quick and easy work.

    Link to Visit MIX07

     

    Technorati tags: , , , ,

    DLR | MIX07 | Python | Ruby | Silverlight
    Tuesday, May 01, 2007 8:01:02 PM (GMT Standard Time, UTC+00:00)  #  Comments [0]