|
|
every day is just a game of give and take... [ follow me on twitter: @mark_mann ]
-
School holidays over so it’s time for another meeting! Heralding a call to return back to some of the more fundamental aspects of Silverlight development, I’m pleased to announce that the next meeting will feature Guy Smith-Ferrier (who organises the .Net Developer Network) talking about Internationalizing Silverlight.
In case you missed it - Silverlight 4 underwent a service update yesterday too. It’s optional for end-users because it depends on the settings in the plugin on whether the user wants to silently accept all updates or be notified. The latest version of Silverlight 4 is now 4.0.50826.0 and the full details can be found in the Microsoft Knowledge Base article KB2164913. Tim Heuer has given a concise roundup of the more important aspects of the changes/fixes, more so because the SDK has been updated too.
For those that have been head scratching at the positioning of Silverlight and the massive advances in the forthcoming HTML5, the Silverlight Team have published their view of when to use Silverlight to complement HTML5 or vice-versa. Read it all here.
Finally, keep your eyes peeled for a Windows Phone 7 (WP7) handset coming to a shop near you. Some lucky developers out there have been given exclusive use of pre-release handsets to test their new apps out on (I can only say that I have handled a test WP7 handset for a couple of hours… I had to give it back afterwards!) However, there is a noticeably growing hubbub of excitement as the news that the consumer release of Windows Phone 7 will be expected very soon! After playing about with the developer handset (an LG model) I was delighted that the touch screen was responsive and the applications quick – the form factor was a bit on the chunky side, but this model features a slide out keyboard. I was not sure if I could publish any photos of the handset, so take a look at the photos by pocket-lint.com instead!
Meeting details are below:
| Date: |
Wednesday 15th September 2010 |
| Time: |
Registration @ 18:00, Kick off @18:30 – please don't be late! Till about 21:00 |
| Where: |
EMC Consulting, (formerly Conchango), Notcutt House, 36 Southwark Bridge Road, London, SE1 9EU. |
|
Registration is required, space will be limited, so please register by sending us an email.
|
| Registered attendees will be notified with any final details by Monday 13th September. |
AGENDA
Registration @18:00
Welcome/Kick off @ 18:30
“Internationalizing Silverlight 4?” with Guy Smith-Ferrier
So you’ve written your Silverlight application and you want it to work in another language ? Then this session is for you. World-Readiness is all of the work that a developer needs to do to globalize an application and make it localizable (ie: capable of being localized). Whereas these concepts are well established in Windows Forms and ASP.NET, Silverlight is not only a cut-down version of the .NET Framework but also cross platform and client-side. In this session you will learn how to localize Silverlight applications using .resx files, download culture-specific resources on demand so that users only download resources for the culture they need, understand what System.Globalization types and properties Silverlight does not support and why, what globalization and font support you can expect on Windows and the Mac, what the Silverlight installation user experience is for non-English users and what language support you can expect from the Silverlight framework.
End.
Most of our user group are Tweet’ers, so if there’s anything you want to share amongst the group, then check out our Twitter hashtag or user accounts:
|
@mark_mann  |
#sluguk
 |
@michelleflynn |
Please register and I hope to see you there!
mark.
Want to join the discussion? The event is geared to please/interest/inform both developers and designers alike, so if you are interested in coming along then please contact either myself or Michelle Flynn (here) and we will be glad to add you to our events mailing list.
Want to present or showcase? We are always on the lookout for presenters for future sessions - whether it be a high or low level coding walk through, a workflow perspective or showcase demo. If you think that you have a topic/presentation that ought to be shared with the community then please contact me (here) and I'll see if I can get you scheduled in!
|
-
Some may lament England’s exit from the World Cup 2010 Finals, but it means there’s less distraction to trying all the latest technologies, open APIs and devices this summer…. namely Visual Studio 2010, Silverlight 4, Windows Phone 7, Bing (Maps too), Silverlight Pivot, IIS Express, Razor, WebMatrix…. oh and those other hyped up devices such as the iPad and iPhone4.
If you’ve read my previous July Update, its’ been a bit tough securing speakers throughout the World Cup 2010 Finals and summer holiday season, thus it’s thanks to Ian Blackburn and Richard Griffin for providing some Windows Phone 7 subject matter.. and potentially showing off a couple of real devices. oooooh!
Meeting details are below:
| Date: |
Wednesday 21st July 2010 |
| Time: |
Registration @ 18:00, Kick off @18:30 – please don't be late! Till about 21:00 |
| Where: |
EMC Consulting, (formerly Conchango), Notcutt House, 36 Southwark Bridge Road, London, SE1 9EU. |
|
Registration is required, space will be limited, so please register by sending us an email.
|
| Registered attendees will be notified with any final details by Monday 19th July. |
AGENDA
Registration @18:00
Welcome/Kick off @ 18:30
“Windows Phone 7 is nearly here – now what?” with Ian Blackburn from bbits
WP7 is almost upon us, and, as we know, it uses Silverlight (and XNA) as it’s platform. That’s pretty exciting on the surface but I am sure many of you will want to know what can it really do, what are the limitations and what are the opportunities? Ian Blackburn, ably assisted by Rich Griffin, and (hopefully) a real WP7 device or two, will explore the developer and designer opportunities from both a commercial and a personal (i.e. App store) perspective. We will aim to give you a rounded and honest opinion of this exciting and growing area of our industry, and see how it stacks up against Android and iOS 4…
End.
Most of our user group are Tweet’ers, so if there’s anything you want to share amongst the group, then check out our Twitter hashtag or user accounts:
|
@mark_mann  |
#sluguk
 |
@michelleflynn |
Please register and I hope to see you there!
mark.
About Ian Blackburn |
 |
Ian Blackburn is founder and director of bbits who offer specialized .net training, development and consultancy in the UK. Ian has worked with a wide variety of clients ranging from small start-up companies, to blue-chip companies, and prestigious institutions such as the House of Lords. Ian has authored numerous articles and books and is available for technical consultancies and presentations worldwide. |
|
twitter.com/IanBlackburn | backofabeermat.co.uk | bbits.co.uk/blog |
Want to join the discussion? The event is geared to please/interest/inform both developers and designers alike, so if you are interested in coming along then please contact either myself or Michelle Flynn (here) and we will be glad to add you to our events mailing list.
Want to present or showcase? We are always on the lookout for presenters for future sessions - whether it be a high or low level coding walk through, a workflow perspective or showcase demo. If you think that you have a topic/presentation that ought to be shared with the community then please contact me (here) and I'll see if I can get you scheduled in!
|
-
Since our last meeting in April featuring the enigmatic Jesse Liberty, we’ve seen a big rise in the interest in Silverlight 4 and Windows Phone 7 on blogs, feeds and twitter. That said, it appears to have been a slow start for the proliferation of Silverlight 4 amongst the global masses since it’s launch on April 13th. I’ve been tracking Silverlight 4’s progress through riastats.com and the results have recently looked more promising. The adoption of the new plugin seems to have taken an astronomical ascent on 4th-6th July – not sure why - I did not see a massive publicity drive from Microsoft nor any other internet wide event that might have caused it. I’ll shrug my shoulders and just celebrate the fact that the people of the internet are slowly upgrading their computers to Silverlight 4. Well, unfortunately, the adoption of Silverlight 4 has not been my only concern recently. I have to apologise in that we have not had a Silverlight UK User Group meeting recently – getting presenters organised has been a bit turbulent. One would hope that the underlying cause of late cancellations, just as I get things finally mobilised, is due to the exuberance of getting their first Silverlight 4 and Windows Phone 7 demos/applications written – but to be honest I’ld blame the upcoming World Cup 2010 Finals in South Africa or summer holiday season. Nevertheless, I am still canvassing for presenters and even though I’m chasing down a couple more on my list, if you would like to present at a Silverlight UK User Group, then please send me an email). In the mean time, here are some other user group events that might be of interest.  | | UK Bing Maps User Group – 2nd Meet! 16th June 2010 - Canary Wharf, London Paul Graham - Overview of the Eurocar Surface and Silverlight app using Bing Maps Ricky Brundritt - Building Bing Map Applications More details… |  | | EdgeUG – June Meet. 16th June 2010 - Victoria, London Andrew Westgarth - Overview of IIS 7 Mark Rendle - Functional Alchemy More details… |  | | NxtGenUG 14th July 2010 – Cambridge Glenn Block on MEF - Silverlight Application Partitioning and Extensibility with MEF More details… |  | | NxtGenUG Fest10 - “Being beside the C# Side” 16th July 2010 – Bournemouth Pier multiple presenters, multiple sessions, a geek dinner and more! More details… | I hope that these will keep you occupied while I finalise the next Silverlight UK User Group. mark.
|
-
It gives me great pleasure to announce that Jesse Liberty will be presenting at the next Silverlight UK User Group meeting on April 13th. There, I said it… I can’t hide the excitement! Michelle and I actually knew about this a while ago, hence Michelle already posted this event’s agenda while I was on paternity leave, but on my return we snuck in an extra event in March to relay the news and views of the recent MIX10 conference. So this agenda post puts me back in sync. Jesse Liberty has been in the computer software business for a long time. The first book I bought that was written by him was the popular “ANSI C++ in 21 Days” back in 1996! From C++ to C#, ASP.NET and AJAX, Jesse has now settled on Silverlight and established himself as one of the more authoritative figures on the subject - particularly with the Silverlight Hyper Video Platform. He’s doing a tour of the UK and Ireland presenting a number of community events so we grabbed the opportunity to team up with the London .Net User Group in hosting an evening that coincides with the Microsoft UK Tech Days week (more details of that event is right at the bottom of this post). Meeting details are below: | Date: | Tuesday 13th April 2010 | | Time: | Registration @ 18:30, Kick off @19:00 Till about 9:30pm | | Where: | Vue Cinema Shepherds Bush, West 12 Shopping & Leisure Centre, Shepherds Bush Green, London, W12 8PP | | Nearest Tube is Shepherds Bush (Central Line) | | You can register here or via Michelle . | | Registered attendees will be notified with any final details by Friday 9th April. | AGENDA Registration @ 18:30 Welcome/Kick off @ 19:00 “Silverlight 4, MVVM and TDD: A Brave New World” with Jesse Liberty, Silverlight Geek, and Developer Community Program Manager for Microsoft This will be a technical session (Level 300) on building applications focusing on the points below: 1. MVVM and Silverlight to build test-driven programs 2. Understanding Refactoring and Dependency Injection 3. A Walk through of a non-trivial application Afterwards, Jesse would be delighted to have the opportunity to mingle and answer any questions you may have. End. Most of our user group are Tweet’ers, so if there’s anything you want to share amongst the group, then check out our Twitter hashtag or user accounts: | @mark_mann  | #sluguk
 | @michelleflynn | Please register and I hope to see you there! mark. About Jesse Liberty | | Jesse Liberty, Silverlight Geek, is a Developer Community Program Manager for Microsoft (US). Lately he has been focused on Component-based, Test-Driven, Cross-platform line-of-business application development, and has led the development of the open source Silverlight HyperVideo Platform. Jesse is the author of over two dozen books .NET and object-oriented programming including Programming C#, Learning ASP.NET with AJAX, Programming .NET 3.5 and forthcoming Programming Silverlight 4 and thus his blog is a required resource for Silverlight programmers. His twenty years of programming experience include stints as a Distinguished Software Engineer at AT&T; Vice President of Human-Computer Interaction at Citibank and Software Architect at PBS/Learning Link. | | twitter.com/jesseliberty | silverlightgeek.me/ | For more details of the Microsoft UK Tech Days week, visit their website now! There are various developer and ITPro tracks and a number of Fringe events too. The subject matter is varied; from the launch of Visual Studio 2010, Essential MIX, Rich Client Technologies and Windows Phone 7, Virtualisation, Office 2010, Windows 7 Deployment and SQL Server 2008 R2. Want to join the discussion? The event is geared to please/interest/inform both developers and designers alike, so if you are interested in coming along then please contact either myself or Michelle Flynn (here) and we will be glad to take your details. Want to present or showcase? We are always on the lookout for presenters for future sessions - whether it be a high or low level coding walk through, a workflow perspective or showcase demo. If you think that you have a topic/presentation that ought to be shared with the community then please contact me (here) and I'll see if I can get you scheduled in!
|
-
So, “possibly the biggest Silverlight show on earth” was over and gone… but not everyone had the chance to go and experience the event first hand - even with the wonders of Silverlight web streaming, you could probably only pick up half of the buzz that was going on.
Even though the event has now passed, there is still a ton of post-event information on the MIX10 website… including videos (streaming and download), resource links and much more.
I have to admit, I was one of the unfortunate majority that was not able to attend (although I did have a baby boy to deliver instead!) and so there was a general consensus a while ago to run an evening off the back of the MIX10 Conference, to help spread the buzz, experience and highlights of MIX10 and allow everyone to discuss the biggest and poignant takeouts from the event… from both a developer’s and a designer’s perspective (should they be different?). So, it was a rather smaller affair this time round at the EMC Consulting London office, but nevertheless just as cosy as we did manage a full house on the 24th March.
Thank you to those that registered and attended the evening. Special thanks to our four presenters for getting organised at MIX10 itself(!) and pulling together the slide decks and material at short notice:
-
Adam Kinney (Microsoft Expression Evangelist and regular Channel9 presenter) kindly adapted his current UK touring schedule to present a Designer’s roundup of MIX10 and Expression Blend 4.
-
Richard Griffin (Expression Blend MVP) who discussed some of the newer features to Blend and the new contributions to Xaml
-
Ian Smith* ( Irascian) gave overviews of the conference, night-life, and a Developer’s view of the Silverlight, IE9 and other major announcements.
-
Ian Blackburn ( bbits) also summarised key points for developers, but also delved deeper into what Windows Phone 7 tools and toys are available to play with now!
*Note: the lack of video this time round was twofold, (i) our cameraman Ian Smith was presenting and (ii) we could not guarantee sound quality during any audience participation in the discussions, so sorry! the slides will have to suffice this time!
We have grabbed a Twitter hashtag since many of our members have some existence on Twitter and has been gathering a pace of activity… check it out!
#sluguk
You can either follow me using the Twitter widget in the right-hand panel of this blog, or on Twitter as @mark_mann.
I’ve embedded all the slide decks from Adam Kinney, Richard Griffin, Ian Smith and Ian Blackburn (chronological order). If you did not make it to the evening, or have not yet attended a Silverlight UK User Group evening you can join the mailing list here and we’ll keep you informed or of course, you can just check back with my blog.
Goodies…
We also handed out some Expression-Blend3-Design-Template-Fridge-Magnets and some Microsoft-Expression-Blend3-Supersize-Mugs as freebies… (the in-joke being that they needed shifting before Blend4 is released! not true!)
Finally, I would like to acknowledge and thank our current sponsors…
 |
for providing the venue. |
 |
for providing the beer & softies. |
Want to join the discussion? The event is geared to please/interest/inform both developers and designers alike, so if you are interested in coming along then please contact either Mark Mann or Michelle Flynn (here) and we will be glad to take your details.
Want to present or showcase? We are always on the lookout for presenters for future sessions - whether it be a high or low level coding walk through, a workflow perspective or showcase demo. If you think that you have a topic/presentation that ought to be shared with the community then please contact me (here) and I'll see if I can get you scheduled in!
Facebook In addition to emailing us directly there is also a Facebook group for the "Silverlight UK User Group" group that we set up. Check for updates there too!
|
-
There’s been an annoying dialog box popping up each time I open my .NET project, getting rid of it proved a bit of a riddle but an interesting road of discovery which might solve a similar set of issues.
You can obviously select one of the settings and as Visual Studio to remember your decision, but I’m normally quite paranoid about such things and like to make the informed decision each time (for instance, would you blindly accept any sample code you downloaded from the internet?). So on clicking More Details, Visual Studio tells me that I’ve got an untrusted targets reference in my project file.

Now, in my case it’s moaning about a Microsoft.Expression.Blend.Silverlight.targets but it could be any other target file, particularly if you’ve added your own custom msbuild actions.
In my case, we’ve enabled font embedding into our Silverlight 3 application by ticking the checkbox in Expression Blend 3 (as shown below). This means that any non-standard web font that we use in the application will be available and therefore keeping the UI design as originally intended.
However, this functionality is not built-in on a standard Silverlight project and actually requires an extra build step to embed the font file when the project is compiled and the XAP file constructed. Not-standard? That’s right, it’s an Expression Blend feature that either requires you to have Expression Blend 3 installed or the Expression Blend SDK (the latter is recommended if trying to compile the project on a build server).
Download the Expression Blend 3 SDK from here if you need it: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=f1ae9a30-4928-411d-970b-e682ab179e17
Since the prompted resolution is a registry setting in the Visual Studio tree, I guess that neither Expression Blend 3 or the Expression Blend SDK have the responsibility of adding this registry key, hence the warning. Thinking that it would be simple to follow the instructions on the screen, I did a search of the registry hive at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\MSBuild\SafeImports and found nothing… not even the registry node…

Mass panic. Not only do I not have the node, but I have not got a clue as to what the format of any key or string value is meant to be*. The dialog’s instructions are not completely clear. That’s when I realised that I’m on 64bit Windows, in which parts of the registry are replicated/accessed in via a special node. Thus I should have been looking at HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\MSBuild\SafeImports instead – where, I found plenty of other examples.
So, now we know where the node it meant to exist, the format is to add a new string value to the appropriate node where:
Value Name: Microsoft.Expression.Blend.Silverlight.targets Value Data: C:\Program Files (x86)\MSBuild\Microsoft\Expression\Blend\3.0\Silverlight\Microsoft.Expression.Blend.Silverlight.targets (note, this is the valid path to the targets file).
After the registry value has been added, restart all instances of Visual Studio so that the solutions/projects pick up the change.
Tidied up, you could put this into a registry file like in the examples below:
For 32bit Windows
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\VisualStudio\9.0\MSBuild\SafeImports] "Microsoft.Expression.Blend.Silverlight.targets"="C:\\Program Files\\MSBuild\\Microsoft\\Expression\\Blend\\3.0\\Silverlight\\Microsoft.Expression.Blend.Silverlight.targets"
For 64bit Windows
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\MSBuild\SafeImports] "Microsoft.Expression.Blend.Silverlight.targets"="C:\\Program Files (x86)\\MSBuild\\Microsoft\\Expression\\Blend\\3.0\\Silverlight\\Microsoft.Expression.Blend.Silverlight.targets"
* thanks to Merrick, who's been sharing my 'mass panic' and helped by locating this 64bit registry feature!
|
-
Well it’s MIX time again, no doubt there are a lucky number of people from the Silverlight UK User Group flying out to the 3 day conference in Las Vegas on March 15th-17th. MIX10 is renown as Microsoft’s premier event for web designers and developers building the world’s most innovative websites – it is probably second to none bar the PDC events that Microsoft also host. As can be expected, this is Microsoft will probably make a host of announcements and following some of the pre-conference #MIX10 tweets, there are plenty of rumours about! So if you, like me are not at Las Vegas in the MIX10 hall, I suggest you plug yourself in and watch the event online at LIVE.VISITMIX.COM - the keynotes and select number of sessions will be streamed live (via Silverlight Streaming of course)! So, keeping in tune with the MIX10 theme, we’ll be hosting a Silverlight UK User Group evening where we’ll recap the announcements and get a feel for the latest developments in the Silverlight and Expression world that will help you create and build the world’s most innovative websites. We’ve got two guys from the design world (Adam Kinney and Richard Griffin) and two developer guys (Ian Blackburn and Ian Smith) who between them all will give their experience of the event and what matters or is the focus for each discipline. 17 MARCH – REGISTRATION FOR THIS EVENT HAS NOW CLOSED DUE TO SPACE LIMITATIONS! SORRY! Meeting details are below: | Date: | Wednesday 24th March 2010 | | Time: | Registration @ 18:00, Kick off @18:30 - don't be late! Till about 9:30pm | | Where: | EMC Consulting, (formerly Conchango), Notcutt House, 36 Southwark Bridge Road, London, SE1 9EU. | | You can register here or via Michelle . | | Registered attendees will be notified with any final details by Monday 22nd March. |
AGENDA Registration @18:00 Welcome/Kick off @ 18:30 “MIX10 Roundup – A Designer’s View” with Adam Kinney, Silverlight & Expression Evangelist from Microsoft and Richard Griffin, Expression Blend MVP (freelance) Breakout for refreshments (just a beer pitstop this time)! "MIX10 Roundup – A Developer’s View" with Ian Smith from irascian and Ian Blackburn from bbits End. Most of our user group are Tweet’ers, so if there’s anything you want to share amongst the group, then check out our Twitter hashtag or user accounts: | @mark_mann  | #sluguk
 | @michelleflynn | Please register and I hope to see you there! mark. About Adam Kinney | | Beginning life as an art student, then after a stint in the military joining the world of technology, Adam Kinney feels right at home in that sweet spot between Designer and Developer. Always at least a part-time evangelist, Adam has travelled the trail of UI technologies. First HTML/CSS, then Flash, WPF and now Silverlight, the one client technology to rule them all, he has enjoyed learning, experimenting and teaching them all. Adam’s current focus is Expression Blend, the first interactive design tool that’s really made him happy as a designer and developer. | | twitter.com/adkinn | adamkinney.wordpress.com | About Richard Griffin | | Richard Griffin is an independent freelance consultant, specialising in XAML based technologies (Surface, WPF and Silverlight) to build innovative user experiences for the next generation of applications. He is a regular speaker at Mix, TechEd Europe where he continues his quest to educate Designers and Developers on how to work better together. You can find him hanging out on the Expression Blend forums or read one of his monthly articles published for the Expression Newsletter. Richard is an Expression Blend MVP, and has an interest in design and user experience but he also loves to crank out code and dig into design patterns. | | twitter.com/richgee | blogs.xamlninja.com | About Ian Blackburn |  | Ian Blackburn is founder and director of bbits who offer specialized .net training, development and consultancy in the UK. Ian has worked with a wide variety of clients ranging from small start-up companies, to blue-chip companies, and prestigious institutions such as the House of Lords. Ian has authored numerous articles and books and is available for technical consultancies and presentations worldwide. | | twitter.com/IanBlackburn | backofabeermat.co.uk | bbits.co.uk/blog | About Ian Smith | | Ian Smith is an IT Consultant specialising in Microsoft ASP.NET and Silverlight. He playing with video on the side, for which he can be found lurknig at the back of various user group or Microsoft events. Ian has been our camera man at the Silverlight UK User Group since the beginning, and has already stepped to the front to talk about PRISM. | | twitter.com/irascian | irascianwork.blogspot.com/ | Want to join the discussion? The event is geared to please/interest/inform both developers and designers alike, so if you are interested in coming along then please contact either myself or Michelle Flynn (here) and we will be glad to take your details. Want to present or showcase? We are always on the lookout for presenters for future sessions - whether it be a high or low level coding walk through, a workflow perspective or showcase demo. If you think that you have a topic/presentation that ought to be shared with the community then please contact me (here) and I'll see if I can get you scheduled in!
|
-
Unfortunately at the time of this event, and indeed when the post-event slides and videos became available, our EMC blog server was taken offline unexpectedly. Therefore this is a retrospective cross-post from my personal blog found at blog.mark‑mann.co.uk (which was not offline at the time!) Wow again! We had a tremendous response for the February 2010 meeting of the Silverlight UK User Group. Many thanks to all that attended and especially those that had to stand during the first session. The conference room at Microsoft’s Cardinal Place normally seats 80 and had about 95 attendees in total. We have grabbed a Twitter hashtag since many of our members have some existence on Twitter and has been gathering a pace of activity… check it out! #sluguk You can either follow me using the Twitter widget in the right-hand panel of this blog, or on Twitter as @mark_mann. I’ve embedded the slide decks and the videos from both sessions by Mike Taulty and Johannes Kebeck. If you did not make it to the evening, or have not yet attended a Silverlight UK User Group evening you can join the mailing list here and we’ll keep you informed or of course, you can just check back with my blog. I also drew note to the upcoming MIX10 conference in March at Las Vegas. If you are not one of the lucky ones holding both a conference and plane ticket, then I thoroughly recommend keeping an eye on the conference website during that time because keynotes and sessions will be streamed live… there is keen interest for any potential announcements! Details for MIX10 can be found on their website or in my slide deck below. Silverlight 3 sparked of a lot of interest with the MVVM pattern, and Silverlight 4 has picked up interest this time round with the Managed Extensibility Framework (MEF). Mike Taulty from Microsoft gave a detailed exploration into using MEF within Silverlight 4 and he did not disappoint with an engaging session with lots of demos. Check out Mike’s Blog and Channel9 videos for more instruction on MEF and Silverlight. Johannes Kebeck from Microsoft provided the “visual stimulation” with his impressive manipulation of Bing Maps. Johannes demonstrated many different examples of mapping applications out in the real world that are already utilising the Bing Maps Silverlight Control. Two of particular note were the TwitterMap by Earthware and the EyeOnEarth by the European Environmental Agency and Microsoft. Johannes blogs here. Finally, I would like to acknowledge and thank our sponsors…  for providing the beer, pizza & venue. Want to join the discussion? The event is geared to please/interest/inform both developers and designers alike, so if you are interested in coming along then please contact either Mark Mann or Michelle Flynn (here) and we will be glad to take your details. Want to present or showcase? We are always on the lookout for presenters for future sessions - whether it be a high or low level coding walk through, a workflow perspective or showcase demo. If you think that you have a topic/presentation that ought to be shared with the community then please contact me (here) and I'll see if I can get you scheduled in! Facebook In addition to emailing us directly there is also a Facebook group for the "Silverlight UK User Group" group that we set up. Check for updates there too!
|
-
I’ve been digging through a fair number of my old Silverlight demos/projects and been bashing into a fair number of “upgrade issues" when opening my older code. The two changes that have brought this problem to light is the transition from Silverlight 2 to 3 and a shift in the Silverlight SDK. Consider the example on the left, which is the hosting website for a ‘older’ Silverlight project. The project would have been created (probably at the same time when you created a new Silverlight project) as a ASP.NET website with a whole bunch of files and references to aid you on your way. Of note; In older “ASP.NET with Silverlight” websites the template would have added a reference to System.Web.Silverlight, added a Silverlight.js file, and a couple of generated page examples (one as an aspx file and the other as plain HTML). An empty Default.aspx page is a hangover of the regular ASP.NET website/project template. So, why is there a broken reference (System.Web.Silverlight) after I ran the upgrade project tool? Well, the project upgrade tool actually ran for the Silverlight project itself and not for the hosting ASP.NET website. Therefore it is up to you to sort it out! I don’t have any of the previous Silverlight runtimes, tools or SDK installed and so the System.Web.Silverlight assembly has been moved (both physically and in version number). Basically, the latest version of Silverlight SDK removed the ASP.NET Silverlight control in favour defining the Silverlight area via a HTML object or via JavaScript embedding functions. Therefore any aspx files that declare a <asp:Silverlight /> element will need to be revisited because the reference to System.Web.Silverlight is indeed dead now and also needs to be removed. Even though we have lost the ability to use the ASP.NET Silverlight element in our ASP.NET pages, it is very easy to refactor our ASP.NET code by removing the offending code blocks and adding in either the HTML object notation or via JavaScript embedded functions. For example -- In the <head> of the HTML markup: <style type="text/css">
#silverlightControlHost { height: 100%; }
</style>
<script type="text/javascript" src="Silverlight.js"></script>
<script type="text/javascript">
function onSilverlightError(sender, args) {
var appSource = "";
if (sender != null && sender != 0) {
appSource = sender.getHost().Source;
}
var errorType = args.ErrorType;
var iErrorCode = args.ErrorCode;
var errMsg = "Unhandled Error in Silverlight Application " + appSource + "\n" ;
errMsg += "Code: "+ iErrorCode + " \n";
errMsg += "Category: " + errorType + " \n";
errMsg += "Message: " + args.ErrorMessage + " \n";
if (errorType == "ParserError")
{
errMsg += "File: " + args.xamlFile + " \n";
errMsg += "Line: " + args.lineNumber + " \n";
errMsg += "Position: " + args.charPosition + " \n";
}
else if (errorType == "RuntimeError")
{
if (args.lineNumber != 0)
{
errMsg += "Line: " + args.lineNumber + " \n";
errMsg += "Position: " + args.charPosition + " \n";
}
errMsg += "MethodName: " + args.methodName + " \n";
}
throw new Error(errMsg);
}
</script>
In the <body> of the HTML markup:
<!-- Runtime errors from Silverlight will be displayed here.
This will contain debugging information and should be removed or hidden when debugging is completed -->
<div id='errorLocation' style="font-size: small;color: Gray;"></div>
<div id="silverlightControlHost">
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="ClientBin/Demo.SL.xap" />
<param name="onerror" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="3.0.40307.0" />
<param name="autoUpgrade" value="true" />
<a href="http://go.microsoft.com/fwlink/?LinkID=141205" style="text-decoration: none;">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/>
</a>
</object>
<iframe style='visibility:hidden;height:0;width:0;border:0px'></iframe>
</div>
This is all well and good, but looking at the updated ASP.NET website, I wanted to take it one step further…. what is the bare minimum configuration required by a ASP.NET website?
Extending the solution I alluded to above – I created a new ASP.NET Web Site with the following Visual Studio template:

This skeleton project includes a default.aspx page, but nothing else – at least it compiles! Note, that there is no References section in the Solution Explorer – that belongs to the ASP.NET Web Application template.
Visual Studio will allow you to link your Silverlight project to the new ASP.NET website if it is part of the solution (that’s why I extended the example solution above). To do this, open the project’s Property Pages which are accessed by right-clicking the website root and select Property Pages right at the bottom of the context menu. Select the list item option named Silverlight Applications.
Clicking the Add button will pop up the Add Silverlight Application popup which will hopefully default to the appropriate Silverlight project in the solution. I’ve highlighted that in the screen grab below. Also, ensure that Silverlight Debugging is enabled – which will modify the web.config and prove extremely useful when your application throws a spanner.
A wizard will run through adding all the relevant bits into the website which to no surprise, creates a couple of test pages (one HTML, the other ASP.NET) and a corresponding Silverlight.js file. The default.aspx file existed from before and remains untouched, so I usually delete it and rename the test aspx file to become the default.aspx page instead.
The end result is, the same as I had before though. I thought that there may have been some sort of further optimisation, but there is not. One of the main differences you might have spotted is the lack of added referenced assemblies. References are still part of the website, they just lurk in the project’s Property Pages instead. You’ll then find that there is a list item called References such as that shown below. There are fewer referenced assemblies listed here than there are in a typical ASP.NET Web Application (as shown at the beginning of this article) but this does not necessarily impact any deployment since the .NET Framework includes all these assemblies, it is just that the ASP.NET website is not making them available to code at runtime (in a sense it is giving you a deployment buffer).
To be honest, I would normally stick to using a ASP.NET Web Application project since it has nicer property pages and also works a bit neater with ClickOnce and publishing features of Visual Studio – but that’s just me :)
|
-
Snow has dominated the UK headlines recently, giving rise to the BBC News new media soundbite of Frozen Britain. I wonder if I should have cancelled my ski holiday and headed for the local hills! Hopefully you won’t be suffering from being snowed-in come February 3rd for the first meeting of the Silverlight UK User Group in 2010. I’m very pleased to announce that we have two excellent Silverlight sessions lined up.
We’re running the next meeting from the Microsoft office at Cardinal Place so I would like to thank Microsoft for generously allowing us to use their conference rooms and feeding us as well as providing us with two speakers! I can’t wait!
Anyway, the details are below:
| |
Date: Wednesday 3rd February 2010
Time: Registration @ 18:00, Kick off @18:30 - please don't be late! Till about 9:30pm
Where: Microsoft London (Cardinal Place) 100 Victoria Street, London SW1E 5JL
You can register here or via Michelle.
Registered attendees will be notified with final details by Monday 1st February. |
AGENDA
Registration @18:00
Welcome/Kick off @ 18:30
“A Guided Tour of the Managed Extensibility Framework (MEF) in Silverlight 4” with Mike Taulty, Developer Evangelist from Microsoft
Silverlight 4 has a new framework that can help in building loosely-coupled and extensible applications – the Managed Extensibility Framework or MEF. MEF’s key ability is to flexibly compose an application out of a set of component parts that describe the functionality they expose and the functionality that they depend upon. MEF has the ability to discover components without the need for up-front registration and is extensible in many, many ways. In this session we’ll do a tour around MEF to look at what it does for you, how it does it and how you can use and extend it in your own Silverlight applications.
Breakout for refreshments kindly provided by MICROSOFT (pizza & beer & fizzies) and a bit of mingling!
"Working with the Bing Maps Silverlight Control" with Johannes Kebeck, Bing Maps Technology Specialist from Microsoft
In this session you will have a closer look at the Bing Maps Silverlight Control. We will go through the basic steps to add multimedia content, connect to databases, create thematic maps and more. Throughout the session we will have a look at various options to measure performance and solve performance-related issues.
End.
Most of our user group are Tweet’ers, so if there’s anything you want to share amongst the group, then check out our Twitter hashtag or user accounts:
|
@mark_mann  |
#sluguk
 |
@michelleflynn |
Please register and I hope to see you there!
mark.
About Mike Taulty |
 |
Mike Taulty works in the Developer and Platform Group at Microsoft in the UK where he has spent the past few years helping developers understand and get the best from the Microsoft platform. Prior to this, Mike spent 3 years with Microsoft Consulting Services as a consultant on developer technologies. Before joining Microsoft, Mike spent the previous 9 years working as a software developer for a number of enterprises, consultancies and software vendors working with a variety of operating system, client, communication and server technologies. |
| Mike Taulty's Blog | twitter.com/mtaulty |
About Johannes Kebeck |
 |
Johannes Kebeck is a Technology Specialist for Microsoft’s Bing Maps, supporting customers and partners in Europe, the Middle East and Africa. He is currently based in Reading, UK and has over 14 years of experience in the GI/GIS market. In October 2004 Johannes joined Microsoft in Germany working within the Enterprise & Partner Group and in 2005 he joined the Bing Maps team. Before specialising on Microsoft’s geospatial products and services, he had experience with various GIS, spatial databases, relational database management systems, workflow management, collaboration products and IT security. |
| Johannes Kebeck's Blog | twitter.com/JohannesKebeck |
Want to join the discussion? The event is geared to please/interest/inform both developers and designers alike, so if you are interested in coming along then please contact either myself or Michelle Flynn (here) and we will be glad to take your details.
Want to present or showcase? We are always on the lookout for presenters for future sessions - whether it be a high or low level coding walk through, a workflow perspective or showcase demo. If you think that you have a topic/presentation that ought to be shared with the community then please contact me (here) and I'll see if I can get you scheduled in!
|
-
Wow! Thank you to everyone that came to the Silverlight UK User Group on Tuesday 1st of December at the EMC Consulting office in London. Michelle and I were ecstatic by the response to the signup and thrilled at the full house on the night. At one point I had to give up the last seat in the room! Many of the established members of this user group are avid tweeters, please check out our Twitter hashtag: #sluguk You can either follow me using the Twitter widget in the right-hand panel of this blog, or on twitter as @mark_mann. I’ve embedded the slide decks from both the Silverlight news piece that I did at the start, and from John and Ben’s session which was the main event. Our cameraman, Ian Smith, has been busy in post production on the and I’ll embed both videos here when they are available. If you did not make it to the evening, or have not yet attended a Silverlight UK User Group evening you can join the mailing list here and we’ll keep you informed or of course, you can check back with my blog. Mark Mann from EMC Consulting (hang on that’s me!) gave a quick round up of the announcements from the recent PDC09… too many to keep track so if I’ve missed any more leave me a comment at the bottom of this blog! John Donnelly from Dot Net Solutions and Ben Morris from TrickyBusiness gave a “smashing” presentation (you’ll get the pun if you watch their session’s video) about how designers and developers can work together productively. They gave their candid perspective on how scrum can help deliver great UX driven applications and how the choice of MVVM patterns and Blend can bring their own benefits and concerns. You can find John as @caffienated or at www.dotnetsolutions.co.uk/blog You can find Ben (hiding) on twitter as @2street2tweet or at maybe at http://trickybiz.tumblr.com View on ExposureRoom Goodies… we handed out some Expression-Blend3-Design-Template-Fridge-Magnets courtesy of Microsoft Evangelist Marc Holmes… Thanks Marc! Finally, I would like to acknowledge and thank our current sponsors…  | for providing the venue. |  | for providing the beer & softies. | Want to join the discussion? The event is geared to please/interest/inform both developers and designers alike, so if you are interested in coming along then please contact either Mark Mann or Michelle Flynn (here) and we will be glad to take your details. Want to present or showcase? We are always on the lookout for presenters for future sessions - whether it be a high or low level coding walk through, a workflow perspective or showcase demo. If you think that you have a topic/presentation that ought to be shared with the community then please contact me (here) and I'll see if I can get you scheduled in! Facebook In addition to emailing us directly there is also a Facebook group for the "Silverlight UK User Group" group that we set up. Check for updates there too!
|
-
Not only did Microsoft recently release their first version of the Bing Maps Silverlight Control but they’ve now gone a released even more, remarkable features to the whole mapping experience – notably with the addition of Bing Maps Beta today! Normal links from the Bing homepage will take you to the Bing Maps page (www.bing.com/maps) which is a fully loaded Ajax application.  To get to the new Bing Maps Beta go to www.bing.com/maps/explore instead. If you don’t have Silverlight installed, the site will revert to the Ajax application with a nice big friendly overlay telling you that you should install Silverlight to make the most of what Bing has to offer. I like the fact that some thought has been thought over the user experience when Silverlight is not installed, since Silverlight is creeping up the adoption curve, but is not as mainstream as we like, yet – at least the system falls back to the Ajax offering, thus allowing the user to continue and not get frustrated and moving over to other map sites.  The new site is actually a full screen Silverlight 3 application… yes that includes the Bing header (menu items, sign in, etc) too! The layout is nearly identical to the Ajax version. Content differs immensely though – the left pane now has location awareness and displays weather (annoyingly in Fahrenheit), geotagged photo collections and PhotoSynths too. The left pane also helps draw the user into exploring other areas of the map by providing a sliding set of overlays from which you can turn on/off the various layers that result from the interaction and queries with the map.  Navigation about the map have changed too. Both sets of navigation around the maps work well but I personally think that the the Silverlight version has neater iconography the only niggle is that the controls are not high contrast enough if they are to “float above” the map at the bottom of the screen. You can see this in below: Ajax version (Bing Maps) navigation and options.. neatly tidied in the top left corner and high contrast  Silverlight version (Bing Maps Beta) has funky new iconography, but the contrast is a bit poor so the controls dissolve into the map sometimes  Tucked away at the bottom of the left pane, is a little arrow (I’ve highlighted it below) and this brings up a panel overlay that brings your attention to the exciting new aggregation features available on Bing Maps Beta Although there are 16 content features displayed on this panel, it is scrollable, so I wonder if Microsoft Bing are planning on adding some more content features at a later date? These content features all interact with various datasets behind the Bing search services and just begs to be played with. Being location specific, you might find that at the datasets are a bit sparse at present and zooming out to a higher map level will reveal areas of the map that relate to the content feature selected.  To illustrate a content feature, I clicked on the “What’s nearby” and was pleasantly surprised to see a responsive list of points of interest around the centre of the map. An excellent visual reinforcement of the area of interest is given by a blue “ring of focus” which allows the searching algorithms to perform a “radial search” – restriction without feeling restricted. Once the Bing Maps directory lookup is complete, the map is peppered with points of interest contained within the “ring of focus”… the ring then disappears to unclutter the map window. A very tidy categorisation of waypoints then replace the left hand pane, allowing you to select/deselect the various points of interest of matter to your exploration. As expected, there are rollouts for each of the points of interest, allowing you to plan, save, send or discover more about that individual point – all data supplied by Bing Maps directory listings.  The left pane is pleasingly contextual, in that as you select more layers or content features, a legend appears with a list of the layers applied to the map. From here you can remove or modify your selections and they’ll be immediately reflected in the map window.  Onto Bing Maps StreetSide. Yes, Google StreetView got to the masses first but Microsoft has put together their take on augmented reality and has published StreetSide (it probably helps that all the privacy and legal issues have settled down now). Similar to Google, look for the person icon at the bottom of the map window. Your mouse pointer will then transform itself into either a blue or red person pointer that gives you an indication if StreetSide is available for the area of the map, and what you can do with StreetSide once you have found an enabled location.  | this icon starts the StreetSide experience |  | this map pointer will tell you StreetSide IS available for the part of the map you are viewing |  | this map pointer will tell you StreetSide IS NOT available for the part of the map you are viewing |  | once inside the the StreetSide experience, the mouse pointer will change to give you intuitive directionality around the area and highlight points of interest. | Unfortunately, looking at the London area (specifically around the office I work in) I get the red person pointer (access denied) where ever I go. Since this is a beta programme at the moment, I really should not be too surprised that my local area is not covered!  Indeed, zooming further out from London, then the UK, then Europe, the World, reveals that only some areas of the US are actually covered by StreetSide.  Once you have delved deeper and deeper into the area of the map that is served by StreetSide, the familiar points of interest will reveal themselves and placing the blue person pointer. Selecting either the pin or a highlighted street will take you through a funky animation from map view into the augmented reality view that is StreetSide. The interactions within the StreetSide experience are reminiscent of PhotoSynth albeit there are no frame boundaries to suggest that you are stepping from one image to another – instead it is seamlessly merged and spliced together.  But the fun does not stop there! Contextual information is key to making the mashup of augmented reality and local information work together and enrich the whole exploration and discovery experience. Just like the top-down map view, StreetSide also updates the left panel whenever you move it to a recognised point of interest. Thus, no only can you walk down the street and look at a snapshot in time and feel the atmosphere, but you can turn the corner end up at a museum, look at it in more detail and then read about the opening times or an event held there. I nearly missed the pull out handle on the left pane, but realised that the regular left hand pane is actually a summary view, clicking the handle gives you a much larger viewing panel with detailed information.  Augmented reality does not stop there though, PhotoSynth has been integrated too! If there are any local PhotoSynths to the area you are viewing, it will show up in the left context pane with all the summary information; otherwise you can look specifically for PhotoSynths through the content features which will add a layer to your maps and search a wider area. Unfortunately none of my PhotoSynths turned up when I navigated to the Sha Tin Racecourse, Hong Kong (my PhotoSynths can be found here) Last nugget… We’ve also got Birds Eye view… not a particular big deal since we’ve had this feature in the Ajax’ed version of Multimap and Bing Maps for a while now. But it’s been one of the frequently requested features of the Bing Maps Silverlight User Control that powers a our integration between Silverlight and Bing Map data services. Chris Pendleton and Johannes Kebeck from the Bing Maps team have been touting its imminent arrival, so finally its here!  A couple of notable differences that were not pushed into the Bing Maps Beta version: 1) Sharing options are reduced, mainly because you are not allowed to embed the Bing Maps Beta control within your own website (because it only exists as a full browser window application. You can only send a link to the Bing Maps Beta site. 2) As seen below in the Ajax version, if you zoom deep enough into London, a Tube icon will appear in the left pane (highlighted in red, below) which toggles the Tube line plots, so you can see where the tunnels go! Overall, an amazing evolution for Bing Maps !! UPDATE: there’s a really good demo video here on Channel9 by Chris Pendleton and Laura Foy UK, Silverlight, Microsoft, Bing, Bing Maps, StreetSide, Birds eye, StreetView, PhotoSynth, UK, EMC, EMC Consulting
|
-
Just a couple of days ago, the Bing Maps team broke out the new production-ready release of the “Bing Maps Silverlight Control” which replaces the “Virtual Earth Silverlight Map Control CTP” that had been first revealed back at MIX09 in March. If you’ve played about with the CTP, you’ll find that much of your application code will need only a bit of minor modification (eg: namespaces, events and some custom binding routines) but the biggest mandatory change is a operational one – licensing. If you are starting afresh it will affect you too… Bing Maps traditionally counted how many tiles and service calls an application made to the Microsoft servers and charged appropriately - but Bing Maps have removed this barrier and moved to a per-session giving both developers and not-for-profit organisations a much easier process for using maps without costing the earth (pun intended!). For example, developers using the Bing Maps Platform get 125,000 mapping sessions per year for FREE and get 500,000 Bing Maps Web Service transactions a year for FREE. For all the relevant details see here, which provides a proper summary and links to the full terms and conditions. It should be noted that the Bing Maps Platform consists of both a Silverlight 3 control, AJAX control and lookup Web Services (for geo-locating, directory, routing) and the definitions vary somewhat to cover the variations of usage and what imagery is available – for instance Birds Eye View is not currently available and businesses need to buy licences etc.. Anyway, the important part is that you are going to need an application key which is which is linked to you and your hosting domain. The key is embedded within your application so that the Bing Maps Silverlight Control can extract it and pass it through to the map tile server and various web service endpoints to validate your account and quota. Under the developer rules, you’ll only be able to generate 5 keys… make a mistake and you are foobar’ed because the account management is so basic, there is only add and no remove! Open up, the Bing Maps Platform Account Management Center and you’ll be asked to sign-in with a valid Windows Live ID. Note, this account will be the only account that will be able to manage the application key, so choose wisely or use a team account if you are a band of developers. Also, pay particular to the EULA / terms & conditions for using the Bing Maps Services. Once signed in, the key management screen is displayed. On a developer/free account, you can only generate 5 keys – and you cannot correct any mistakes, so type carefully (I've learnt from bitter experience already!). The application name can be any short name or namespace that you use to identify your project (eg: I used “BingMapsBlogPost” in the example below). The application URL is the name of the domain that the Silverlight/AJAX application will be run from – this is important – if you are going to host from “www.somewebhostname.com” then that is what you use… check your spelling twice over before submitting. If all is successful, you’ll get a record displaying your application name, URL and key. The application key will be embedded within your web application and the Bing Maps Services will check the Referrer URL and the application key before servicing the request. That is why entering the correct application URL is very important. Next, lets get stuck into the code. Of course, this is a introduction to the Bing Maps Silverlight Control so you will need to have Visual Studio 2008 with the Silverlight 3 runtime and SDK installed. Download and install the Bing Maps Silverlight Control afterwards. Now, open up Visual Studio and create a basic Silverlight project, File | New Project I normally create a hosting website for the Silverlight application by accepting the defaults on the next popup. This results in a project structure such as that shown below. In order for the application to use the Bing Maps Silverlight Control, we’ll need to add a reference to it in the Silverlight application project. As a matter of my own practice, I usually copy any referenced 3rd party assemblies into a folder relative to the project, thus the assemblies are in the following folder (or similar if you are running 32bit Windows). C:\Program Files (x86)\Bing Maps Silverlight Control\V1\Libraries Once the references have been added, the map control can be declared, and configured with the application key setup previously. I’ve highlighted the crucial bits of XAML that makes the map display… the other elements within the <m:Map> tag just settle the map to my London office and stretch it to encompass the entire browser window. The CredentialsProvider attribute has a default overload for just specifying the Application Key however there many more options available, but I’ve opted for the simplest case. Alternatively, if you don’t want to set the application key in the XAML (for instance you might need to use the key for the service calls to the other Bing Map Platform functions) then you can create a valid CredentialsProvider by hand. One of the best places to populate it is when the map element has loaded (again, you can hook up the event to pass deeper into your business logic but I’m just wiring it up in the MainPage.xaml ’s code-behind) so create an event handler from the map control’s Loaded event, and add the details into an ApplicationIdCredentialsProvider object which can be passed into the CredentialsProvider. It may be a little extra work, but this way you can share the key about the application instead of embedding it within the XAML markup or a XAML StringResource. Deploying and running the application will spin up the Bing Map in your browser as below. Remember that the application key is directly linked to the domain that the browser is pointing at otherwise you’ll get a neat error in the centre of the map telling you that the application key is invalid. That’s it! It’s really that straightforward to get going with just a little bit of forward planning, but this is really the tip of the iceberg, the Bing Maps Platform is far more reaching than only displaying simple maps. For more information, check out the links below and exploit the Bing Maps Platform whether it be Silverlight or AJAX based. UK, Silverlight, Microsoft, Bing, Bing Maps, StreetSide, Birds Eye, StreetView, EMC, EMC Consulting
|
-
Conference season is here again… the SharePoint Conference recently convened in Las Vegas with plenty of news about collaborating with SharePoint 2010. Next is Tech·Ed Europe which kicks of very soon in Berlin for which there are a couple of new and interesting products becoming public. Finally, we’ve got the PDC for which I know that the guys at Microsoft are particularly busy preparing for… I expect there will be lots of announcements at the PDC around web technologies and Visual Studio in particular (.NET4, VS2010, Azure…). A lot of these events will have live video coverage (via a Silverlight player and IIS7 Streaming of course) so I’ve included links for you below to experience the conference from your desktop if you are not lucky enough to attend in person. So, a little later in the calendar than expected due to conference season, the next Silverlight User Group evening will be… | | Date: Tuesday 1st December 2009 Time: Registration @ 18:00, Kick off @18:30 - please don't be late! Till about 8:30pm Where: EMC Consulting, Notcutt House, 36 Southwark Bridge Road, London, SE1 9EU. You can register here or via Michelle. Registered attendees will be notified with final details by Friday 27th November. | AGENDA Registration @18:00 Welcome/Kick off @ 18:30 “working together: designers & developers” with Ben Morris from TrickyBusiness and John Donnelly from Dot Net Solutions Ben Morris and John Donnelly will demonstrate how the M-V-VM pattern and scrum enable good designer-developer interaction with Visual Studio 2008 and Expression Blend 3. If time permits, Ben and John will also give insight into the graphic and software design decisions on the recently published profileme.pensiondcisions.com application. Breakout for liquid refreshments and a bit of mingling! End. Most of our user group are Tweet’ers, so if there’s anything you want to share amongst the group, then check out our Twitter hashtag or user accounts: #sluguk @mark_mann @michelleflynn Please register and I hope to see you there! mark. About John Donnelly (the developer) John Donnelly is a Senior Software Architect for Dot Net Solutions, with experience in many Microsoft technologies throughout his career as a developer, team lead and software architect. Recent roles have focused on WPF and Silverlight implementations with particular interest in developer-designer workflow. www.dotnetsolutions.co.uk/blog | twitter.com/caffienated About Ben Morris (the designer) Ben Morris is the Creative Director of Tricky Business, his role includes leading the team to create unique and compelling brand experiences for their clients. His work combines his passion for new technology with his experience in interaction design. www.trickybusiness.co.uk | http://trickybiz.tumblr.com Want to join the discussion? The event is geared to please/interest/inform both developers and designers alike, so if you are interested in coming along then please contact either myself or Michelle Flynn (here) and we will be glad to take your details. Want to present or showcase? We are always on the lookout for presenters for future sessions - whether it be a high or low level coding walk through, a workflow perspective or showcase demo. If you think that you have a topic/presentation that ought to be shared with the community then please contact me (here) and I'll see if I can get you scheduled in!
|
-
Someone recently asked me at that last Silverlight UK User Group as to whether communication between Silverlight and a web service can be secured. Silverlight is a plug-in that runs in the context of the browser, and so only supports the HTTP protocol but this does include HTTPS too. So first off, we’ll need to to add a service binding.. if you have a HTTPS service already setup, adding a service reference will do all the hard work for you otherwise you’ll need to specify: <bindings> <basicHttpBinding> <binding name="MySecuredService"> <security mode="Transport" /> </binding> </basicHttpBinding> </bindings> It’s the security mode that is important, normally it is set to None for HTTP, however setting it to Transport turns on HTTPS. Whenever we expose services for Silverlight applications, we need to define a cross-domain access policy that resides within the service’s website. If you are accessing a public web service, then you might have to check with the provider to ensure that there is the appropriate permissions set within this file since it can be configured to only allow access to the services from particular domains or protocols. Hopefully the cross-domain access policy is within your control, in which case a basic configuration is to have a crossdomain.xml file in the root of the domain hosting the service(s). <?xml version="1.0" encoding="utf-8"?> <access-policy> <cross-domain-access> <policy> <allow-from http-request-headers="*"> <domain uri="*"/> <domain uri="http://*"/> </allow-from> <grant-to> <resource path="/" include-subpaths="true"/> </grant-to> </policy> </cross-domain-access> </access-policy> The line of interest is <domain uri="http://*"/> which allows access to an HTTPS service from an HTTP application (normally this is omitted). More details can be found on MSDN here. Really, yes that’s it… If you want to track the calls and information relayed between your Silverlight application and the HTTPS service, use Fiddler2 which has a filter option to trace and decrypt the HTTPS traffic. However, what if you are writing your own HTTP web service? Visual Studio does not have a HTTPS enabled web server to debug against, so you’ll have to look into hosting your HTTP service from your local IIS instead. Setting up your IIS server for HTTPS depends upon a SSL certificate which forms the basis for the trust relationship between the server and any of the clients accessing the HTTPS hosted services. SSL certificates are specific to domains, so trying to debug HTTP against localhost is not going to work. Getting round this is simple enough, just add an entry into your computer’s hosts file for the name of the domain you want the certificate to be setup against and match it against 127.0.0.1. eg: 127.0.0.1 www.mytest.com Your hosts file can be found at “C:\Windows\System32\drivers\etc” and if you are editing the file in notepad, make sure that you do so as an administrator since it is a protected system file. IIS7 allows you to create self-signed certificates which are fine for regular web content but not for services – mainly due to the fact that the certificate is valid but the browser will not immediately trust the certificate because it does not originate from a recognised certification authority. Thus you’ll be presented with the following error in your browser, for which a user can navigate past, but a service call cannot: So, to create a your own certificate for HTTP web service testing we’ll have to dig out the IIS6 Resource Kit and use SelfSSL. I’m going to create a specific website for my testing, so open your IIS Manager and create a new website but add the name of your domain into the hosts name (what you set in the hosts file), so that IIS will look at the host headers if a match, it will redirect to this site. Now, take note of the the new website’s ID, you can find this out by clicking on the Sites node in IIS Manager. The reason why I point it out is because you may have many other websites running and the SSL certificate can only be set against one of these sites. Open up a command prompt (as an administrator if you’ve got UAC turned on) and run up the SelfSSL command: SelfSSL /N:CN=<your domain name> /V:<number of days till expiry> /S:<site id> thus following continuing my example: SelfSSL /N:CN=www.mytest.com /V:365 /S:2 The command prompt will just state that a certificate was successfully assigned, but we can check this by looking at the Server Certificates panel in IIS Manager (click the Root node and then Server Certificates in the IIS section). Note that this is different to creating a self-signed certificate in the IIS7 Manager which creates a certificate issued by your computer’s name instead. Although we have a self-signed certificate, it is still not trusted and we’ll get the following certificate error which can be overridden by the user when browsing to the site. However, we’re now in good stead, since we’ve a certificate issued by a domain name that can be configured to be be trusted. So, going back to the Server Certificates panel, select the certificate just generated and click Export in the actions pane. An export certificate dialog will appear and so fill in the destination for the certificate and a password (make it really secure if you want to use this for a live website). Note, give the destination file a pfx extension so that Windows recognises this as an exported certificate file. Now, if this was a shared web server, you can pass the certificate to all those users that want to access the HTTPS services from the specified domain name. Open a command prompt (as an administrator if you have UAC enabled) and execute the pfx file. This will activate an install certificate wizard. First step is just an introduction, the second specifies the certificate file we are importing: The third step requires you to type in the password that was set for this certificate file, accept the defaults for the other options (as shown): The fourth step is important. Normally, the “Automatically select” option is selected and to enable this trust across web pages and web services exposed by our secured server. If we did allow Windows to automatically select the certificate store it will pick a location for which only browsers can utilise the connection – not services. Thus, select the second option - “Place all certificates in the following store” and then click Browse.  Be patient, the wizard may take a little while to open up the certificate stores. Tick the “Show physical stores” and then select “Trusted Root Certification Authorities”, and then “Local Computer”. Click OK. Note: if you don’t see “Local Computer” you did not run the wizard as an administrator! The final step of the wizard is a confirmation for which clicking OK will add the certificate into the certificate store for this computer. Wow.. look at that. Navigating to my default page did not ask me for a certificate… you’ll find the same for any web service calls no more un-trusted certificate warnings. Additionally, looking in the IE Options panel, on the Content tab, click Certificates: Cycle through the tabs till you find the Trusted Root Certification Authorities tab and somewhere in the list should be the certificate we imported. This process of creating and installing a trusted self-signed certificate does not just apply to Silverlight testing, but is the normal process for adding a certificate to for any HTTPS website or web service testing. enjoy!
|
|
|
|