Posted by: Matthew | June 6, 2008

Extended Silverlight ‘Surface’ sample

Most people will be aware of Microsoft Surface, the multi-touch, table top computer. As a learning aid for Silverlight, I was looking for a great sample project to look at. This is when I came across the Silverlight Surface sample available from Microsoft (take a look here).

So, my aim was to learn from the code and improve on it where I could.

Silverlight Surface sample, with enhanced Video support

With a strict time limit of one (very wet!) weekend, I extended it by:

  • Adding support for Video items,
  • List of Photo’s and Videos to show are retrieved by call to server, leveraging LINQ-to-SQL,
  • Items can have captions,
  • Improved code structure.

 

Click on the image above, or click hereto go to the online version. I will be making the code available too … it’s a great way to learn. I’ve been involved with more ASP.NET applications in recent years than Windows Forms.

What struck me most was how much I really missed the rich, state-ful experience that Windows Forms provides. Now that the same experience is available through a browser using Silverlight, is simply fantastic.

UPDATE: With the recent release of Silverlight Beta 2, this sample has now been updated. If you have problems viewing it, just make sure that you have the latest version installed on your machine.

UPDATE: Thanks to all those that requested the source code for this. I’m pleased to say that it is now (finally) available for download from www.pureblue.co.nz.

UPDATE: With the final release of Silverlight 2.0, the code and demo site has now been updated.

Posted by: Matthew | May 21, 2008

Microsoft Surface – Whiteboard (Touch Wall)

Reading Nigel Parker’s blog, there is a link to a video of Bill Gates demonstrating Touch Wall. It’s an interesting adaptation of the original Surface concept from Microsoft, but this time everything is presented vertically (makes a lot of sense really). What I found interesting from the video was the use of Deep Zoom like technology to browse around a large ‘surface’ and then manipulate any objects available. I say ‘Deep Zoom like’ because I don’t think manipulating objects, like what’s demonstrated in the video, is officially supported by that technology or WPF … not yet anyway.

Catch the video here. It’s worth 5 minutes of your lunch break.

Posted by: Matthew | April 12, 2008

Where’s Blend Express?

Microsoft is ramping up it’s push for Silverlight all the time. The new Microsoft Download Beta site, written with Silverlight, is an attempt to show off what it can do (it’s also a good way to get Silverlight installed on users machines!). Microsoft has the push at the moment of getting designers and developers to collaborate and have two great tools to do that, with Expression Blend (& Blend 2.5) for designers and VS2008 for developers. Realistically though, the designer and the developer are the same person in the majority of cases, at least for the initial phases of a project.

It’s a thought I’ve had for a while now. In the same way that the free Express versions of Visual Studio target the hobbyist developer, the same needs to be done with Blend. If you get the hobbyists onto Silverlight, you’ll start to see it everywhere! Hence, Blend Express!

To get Silverlight more competitive with Flash it’s going to take developer (not designer) acceptance. Silverlight is all about the UI, but it’s just hard work to do that at the moment!

Posted by: Matthew | April 5, 2008

LaunchWave08: Keep your eye on your postbox

If you attended the recent LaunchWave08 sessions in NZ, you’ll likely remember that the Vista SP1 disk that was meant to be in your delegate pack, was missing. Microsoft said they would send them out to everyone once they had them … well, they’ve gone one step further and sent a copy of Vista Ultimate (with SP1 of course) instead.

Good on them. I would have preferred the promised version Windows 2008 (which delegates did get, but with a one year license!) … but I’m not complaining. This makes it the 3rd complementary version of Vista Ultimate I’ve been given!

Posted by: Matthew | April 4, 2008

Great Silverlight 2 demos

I’ve not made the switch to developing in Silverlight yet, but look for examples with interest:

Hard Rock cafe example that was shown at MIX08. – http://memorabilia.hardrock.com/

“Woodgrove Online Bank” (some nice UI effects in this one)- http://www.cookingwithxaml.com/meals/financials/default.html

I’ve run into a javascript problem a few times which -for a refreshing change – shows itself as Firefox not behaving as you might expect (… well Firefox together with ASP.NET at any rate).

The issue surfaces when you try and invoke a button click on an input element of type “submit” through javascript. Simply use myButton.click()you say? Well, unfortunately no. It can be the case that the click appears to work in terms of invoking any other javascript that might be attached to that event, but it actually does not invoke the postback to the server. The button works perfectly when use the mouse, but just doesn’t work with the click() method.

So the solution is to fake the button being clicked with the mouse when in firefox, and otherwise to just use what you’d expect:

if (button.dispatchEvent)
{
var
e = document.createEvent(“MouseEvents”);
e.initEvent(“click”, true, true);
button.dispatchEvent(e);
}
else
{
button.click();
}

Posted by: Matthew | February 8, 2008

ASP.NET Wiki

Announced yesterday is a new ASP.NET Wiki launched on the Microsoft ASP.NET site (beta of course)

http://wiki.asp.net/

Most of the early content is from Scott Hanselman, but if the uptake is good, it promises to be a good focal point for those “how-to’s” that you often have to scour blogs to find.

Posted by: Matthew | February 4, 2008

Read inserted Id from LINQ entity

LINQ really does require a different mindset at times. I came across the following post when I was trying to find out how to read the Id (Primary Key) of an entity that I had just inserted into the database.

http://blog.jemm.net/articles/databases/how-to-common-data-patterns-with-linq-to-sql/

 The answer is to simply read the property from your entity object directly after calling “SubmitChanges()”:

Read the Id of an entity after insert

Posted by: Matthew | February 1, 2008

Microsoft makes offer to buy Yahoo!

At $31 a share, the deal would be $44.6 Billion in cash and shares. The reason behind the move is to tauted to be about gaining a greater share of the online search and advertising revenue, with the obvious focus being to compete more strongly with Google.

But it is not just advertising and search that Microsoft want to compete on. They are continuing their drive towards online software-as-a-service products. Steve Ballmer has said:

“The Windows user wants to be live. There will be a Windows Live. There will be an Office Live”

Yahoo! will provide an advantage in this area too due it’s recent development efforts and aquisition of Zimbra (online email and calendar product). Let’s see what happens if it goes ahead.

Related: Ballmer’s Internal E-Mail to The Troops Explaining the Yahoo Acquisition

Posted by: Matthew | January 30, 2008

Launch Wave 2008 Technical Briefings

It seems as though it’s that time of year again for Microsoft to push it’s latest and greatest development innovations. This year (last year was Vista) it’s the turn of VS2008 and SQL 2008 to get the limelight.

http://www.microsoft.com/nz/events/launchwave/default.mspx 

I’ve probably been to a few similar sessions to those advertised, but as is typical, I wasn’t using the technology at the time so I’ve forgotten most of what was mentioned. So, it’ll be good to hear it again and it should make a lot more sense this time.

As always, the $149+GST entry fee goes on the ‘freebies’:

“All attendees will receive a promotional pack containing limited ‘not for resale’ versions of the Launch Wave products together with other software goodies.”

So this means a copy of Windows Server 2008, VS2008 (a trial only by the looks of it) and SQL 2008 (when it’s released) … very nice!

« Newer Posts - Older Posts »

Categories

Follow

Get every new post delivered to your Inbox.