John Mandia's Points of Interest

Learning is a never-ending adventure :D

This blog has been way too quiet so I recently decided to do a post about one of the things I've been looking into and that's AngularJs. I thought about writing it here but I wanted to try a different approach to writing a blog post and have gone for the new Markdown approach which lets me easily add and edit posts. I decided to try out http://scriptogr.am/ and so far it's been quite a nice experience.

So long story short I may start using http://blog.whydoifollow.com as my main place for posts.
The AngularJs post covers a lot of useful resources and so far feedback has been good.

If you are interested in JavaScript and AngularJs please check it out at:

The first 60 bloggers who will blog this text in their blog and tell us about it, will get a Free Isolator ASP.NET Bundle license (Typemock Isolator + Ivonna). If you post this in an ASP.NET dedicated blog, you'll get a license automatically (even if more than 60 submit) during the first week of this announcement.

Also 8 bloggers will get an additional 2 licenses (each) to give away to their readers / friends.

Go ahead, click the following link for more information on how to get your free license.

I mainly do these short announcements via my twitter account http://twitter.com/jmandia but I have been looking forward to digging into Prism v2 but held off until it was released (which is now :D).

I am glad to see guidance come out that covers WPF and Silverlight and it has been good to see how Prism v2 has changed over the 10 drops they did (and the fact that they asked for feedback on their thoughts on naming conventions and the ideas they were investigating).

The prism team were also very responsive to queries (even ones sent over the weekend. Cheers!).

Anyway this should warrant some of your time if you are interested in Silverlight and/or WPF.

I had resisted signing up to Twitter as I really didn't see the point and now that my little family has grown over the festive season I have even less time (I've heard that reading tweets can become addictive :D ).

I did however see how Twitter could fit alongside my other tools/sites. Twitter will be used for short tech posts instead of this blog (I'd like to keep the points of interest posts going and add some bigger posts in the future).

Some points about the release (Headings taken from the What's New section):

MvcFutures.dll is not included in the beta (as it wouldn't be included in the final release)

The Beta installer installs the ASP.NET MVC assemblies (System.Web.Mvc.dll, System.Web.Routing.dll, and System.Web.Abstractions.dll) into the GAC.

New Simple Membership Features in the Default Project Template

New Filter Types for Authorization and Exception Handling

New Output Cache Filter

Changes for ASP.NET AJAX

Namespaces in Routes

New Interface for Enhanced Testability of TempData

ActionInvoker Extensibility Improvements

ViewDataDictionary (minor change)

ViewEngine Improvements

Helper Improvements

Controller and Filter Improvements

Bug fixes:

Fixed a bug in which the ignore-routes setting (created by using the IgnoreRoute extension method) affected URL generation.

Fixed a view engine caching bug when the application is not in debug mode (that is, when debug="false" is set in the Web.config file). This bug occurred if different action methods in different controllers had the same name. In that case, an action method could render the view for the wrong controller.

Fixed a bug in OutputCacheAttribute in which cached authenticated content did not require authentication. Even though the content is cached, if it requires authentication, the user should be required to authenticate first before seeing the cached content.

Fixed a bug in which RenderPartial does not work when tracing is turned on.

Fixed a bug in the Html.TextArea helper method in which an overload was not looking in ViewData for its value when the provided value is null.

Fixed the OutputCacheAttribute.CacheProfile property so that it works in Medium Trust.

If you haven't looked at ASP.NET MVC before because it was a preview I would have a look at this release to see if ASP.NET MVC is for you (or your current/future project at least :D).

Now that the foundation is laid (a subset of the .net runtime across browsers and operating systems) it will be interesting to see how regular future releases are as the competition heats up. The introduction of Silverlight is good for us but also good for Flash developers as it encourages Adobe to continuously look at ways in which they can improve their Flash/Air offering. Will we see Silverlight enhancements every year (e.g. announced at Mix) or sooner? The fact that the Silverlight player updates itself may make this more likely than not.

I’m looking forward to the PDC to see what is planned for future releases (printing support would be nice ;-) ).

My question is about the "superior search engine optimization techniques" part. I am assuming you mean superior to Flash? I don't really care if it was meant to imply Flash or something else (don't want to kick that discussion off :D) but I can imagine that a lot of thought was given to what should be included in the press release and I was just wondering if there was more information about these superior search engine optimization techniques?

This is an area that interests me a lot so I was just wondering if something new has been added recently to Silverlight or if a document/whitepaper/article was published that I somehow missed?

Anyone else know if there is something I missed (I know there are ways of making Silverlight SEO friendly and I have mentioned them in the past but I was wondering if I missed something new)?

So the bbc iplayer will be a Flash/Air based implementation (The bbc got complaints that the iplayer only worked on certain operating systems). It is a shame Silverlight wasn't picked as that would have been a great win (in terms of increasing the installed base of Silverlight and in terms of a great case study on the power of Silverlight). The one thing really missing I guess is Linux support (I don't think the BBC could go with Moonlight for that side of things just yet). Who knows maybe everything isn't set in stone yet :D

In my last points of interest post I mentioned that an announcement was going to be made today. I thought it would either be a release date announcement (if they were going to miss the PDC) or that Silverlight was actually released. Well it appears it is not out now but will be by the end of tomorrow.

I've decided to restart my "Points of interest" posts. To get the ball rolling I'll start off small:

Open Source

Old news but Jitterbit 2.0 was released in August. http://www.jitterbit.comThe Jitterbit Integration Solution combines intuitive integration
design with robust functionality and scalable performance. Jitterbit is
designed to handle the most complex integration challenges between
legacy, enterprise and On-Demand applications, including Business Process Fusion, ETL, SaaS, and SOA.
The Jitterbit Solution enables organizations to unite their independent
applications and data in record time and for the lowest total cost of
ownership in the industry.

Not specific to .Net but may prove useful for those looking for a way of performing an integration between multiple systems without having to create something yourself or purchase a licence.

Solr is an open source enterprise search server based on the
Lucene Java search library, with XML/HTTP and JSON APIs,
hit highlighting, faceted search, caching, replication, a web administration interface and many more features.
It runs in a Java servlet container such as Tomcat.

Again not specific to .Net but very useful. Was just thinking about the possibility of a database (whatever your preference), Jitterbit, Solr and a Silverlight front end.........talking about Silverlight.............

Silverlight

Big news coming this Monday about Silverlight!!

Can't remember the source (sorry! please add it as a comment and I'll add your link) but someone mentioned that he monitors Microsoft's press pass releases and came across this:

Microsoft Corp. will hold a teleconference with Scott Guthrie,
corporate vice president of the .NET Developer Division at Microsoft.
Guthrie will make a significant announcement related to Microsoft
Silverlight.

Now this could be that Silverlight is released or a date is announced. I'm not 100% sure on it being a release announcement as it has only been a few weeks since RC1 came out and people are still busy updating their beta 2 projects. I hope if it is a date announcement it isn't something along the lines of December 08 (or Mix 09 :D). I assumed it would be released at the PDC but if they are running late then this would make a date announcement essential in order to manage expectations. Out of the two options I think I would prefer it to be an announcement that Silverlight is now live. The argument for that is that they want to make sure other PDC announcements do not get drowned out with news that Silverlight has been released.

I've often commented on my wish for the Silverlight team to focus a little more on Search Engine Optimisation (and printing support....but that's a topic for another day) as I feel that this is one area that could put off a lot of business users (yes you can argue that it is an application and if your application is content rich then possibly your application should be built in asp.net with occassional use of Silverlight to add "islands of richness").

There are ways of having a search engine friendly Silverlight application (my plan was to have something more solid by now but life has been busy...it is however still on my todo list :D) but I was/am hoping that it does get some attention either now or in the near future.

Adobe Systems Incorporated (ADBE) today announced the company is teaming up with search industry leaders to dramatically improve search results of dynamic Web content and rich Internet applications (RIAs). Adobe is providing optimized Adobe® Flash® Player technology to Google and Yahoo! to enhance search engine indexing of the Flash file format (SWF) and uncover information that is currently undiscoverable by search engines. "

I know the team are busy and they only have so much time/resource etc and I really do think they are doing a great job I just wish this and printing support (sorry couldn't resist) got some attention instead of focusing on X number of controls (Third Party Vendors will fill any gap soon enough).

Microsoft is working with Nokia to get Silverlight running on Symbian mobile phones. Would this help influence your decision to use Silverlight for UI over other technologies. It seems like the build up to mix is starting to happen with more and more news coming out as we get closer to the event.

Personally I think we need Silverlight to run on mobile phone browsers as well as the desktop as it is becoming more and more common place to see people browsing the web via their phone. With speeds picking up, phones becoming more powerful and tariffs becoming more acceptable (e.g. here in the UK T-Mobile has helped encourage uptake via it's Web-N-Walk tariff for unlimited* browsing).

* I think it is limited to 1 GB and has a fair usage policy.

If Microsoft are looking to release SL 2 for Symbian then this is indeed great news as it means mobile consumer apps are more of a possibility (if you are restricted to only windows mobile then it wouldn't make sense as they do not have enough market share for a consumer app). If they throw in support for the iPhone as well then we really do have a large segment of the market covered.

I wanted to develop Silverlight apps anyway but this just gives me an additional reason.

Now I usually aim to have either my own content or a collection of links (a points of interest post) instead of a single link to another site but I know a lot of people are on the lookout for anything they can find out about Silverlight 2.0 and Mix so I thought I would post this links.

DNR have just done a podcast with Scott Guthrie (well the first part is with him) where he provides more information about MIX (sounds like SL 2.0 will also have a calender control etc).

Anyway here is the direct link for those of you who want to know more before the big event.

I've been looking at CI (primarily using CC.NET) a lot over the last few months and have been encountering issues with NDoc (given that it is no longer developed and there was never a proper .Net 2 release). I looked at Sandcastle a while back and wasn't happy with it (it seemed like it needed too much work to get working and it was slooooooooow).

I tried the last release and thanks to community projects like Sandcastle Help File Builder was able to easily hook it up to CC.NET. I ran it against a codebase that took 4 hours to generate documentation and that time was cut down to 20 minutes (so some definate improvements on that end).

Some things that still cause me some pain (could be Sandcastle Help File Builder):

It doesn't like interop assemblies (fails on my setup)

It requires your projects to have xml generation on (not a big deal I know but can be to some people)

Dependencies list (I wish there was an option to automatically detect this)

Speed (It still seems slower than NDoc)

Anyway haven't tried this latest release so let's see if things are even better (Msft have introduced a GUI in this release but mention it is not intended to compete with community projects).

John

UPDATE: Sandcastle Help File Builder (http://www.codeplex.com/SHFB) are coming out with an update for the latest release on the 22nd. I've not tested the latest version of Sandcastle yet (waiting on SHFB as the old version isn't compatible with the January release) but I hope that the BuildAssembler.exe improves as right now it is using up 837MB of memory and 50% CPU utilisation on a build server as I write this!!

One of my new resolutions was to look at Silverlight more closely, especially with regards to search engine optimisation which is something I raised back in May in my "Points of interest #6" post. What are some of the things I like about Silverlight (this is not a complete list but some quick points in relation to this post): The browser / browser version is taken out of the equation (to a degree). I should hopefully no longer need to worry about html, css and JavaScript support across different browsers and different operating systems. If something looks good on IE 6 on XP it should look and behave the same on Firefox on the Mac. Easily enhance the user experience (I know Ajax and Flash can achieve this as well) Develop every aspect of your application with C# (or any other managed supported language) - yes I eagerly await Silverlight 2 Beta 1 (although I know you can still achieve a lot with Silverlight 1). Now this is a reduced list (there are many posts out there explaining the benefits Silverlight 1.0 / 2.0 will bring) but point 1 and 2 add a lot of value and if you are not sacrificing seo then you are onto a winner (although in cases where you are building a pure application e.g. an insurance quote application seo plays a lesser role). I thought I would gather links, posts and my own stuff under a custom domain so I bought http://www.silverlightseo.net and just before the new year (30th December) I knocked up a Silverlight page and uploaded it to see if I could get it indexed by the search engines. Less than a week later I am glad with the initial results: Search Term Google Yahoo Live silverlight seo no 2 out of 408,000 no 12 out of 3,210,000 not yet indexed silverlight search engine optimisation no 11 out of 95,000 no 46 out of 482,000 (not as good) not yet indexed silverlight search engine optimization no 42 out of 782,000 no 14 out of 481,000 not yet indexed silverlight search engines no 65 out of 215,000 no 43 out of 855,000 not yet indexed Now it surprised me how quickly I got in there (initially I added http://www.silverlightseo.net to my signature for my forum posts on asp.net/silverlight.net and recently I added a link to my blog and posted about it but other than that there are no links pointing to this site that I know of) but I'm glad to see that the approach was accepted and the content indexed. Now two useful posts about SEO and Silverlight are Michael's October post where he talks about using xslt to extract the content from Xaml and put it into html and Nikhil's May post (I know there are more out there which I will be adding to www.silverlightseo.net as time goes on). When I did this test I had the following in mind: If I generate content (at the moment it is a hard-coded text) where should I store it in the generated Xaml or the host html page? - I selected to have the content rendered in html and have Silverlight extract the rendered text from the host page. How would a search engine view what I was doing (am I trying to show one thing to search engines and something completely different to users)?- The content that is rendered on the html page (in the future by asp.net) is the same content that is displayed within the Silverlight application (consider Xaml as a different form of CSS. CSS can be used to style html tags and Silverlight is providing a style and displaying it using xaml tags).- Now you wouldn't want to display the same text twice so I altered the Z index of the Silverlight control and made the height and width 100% (I thought I might get my hand slapped for that but it isn't being used for keyword stuffing or anything sinister so I would hope it continues to be accepted). Shoul[...]

2007 had its ups and downs but it will always be considered a great year as 2007 was the year I became a dad.

Things to aim for in 2008:

Learn Silverlight (I've had a quick play and read books but I really want to learn it by building an app or site of some kind). One of the ways I'll be aiming to learn Silverlight is by looking at Silverlight and it's impact on SEO (Search Engine Optimisation/Optimization). I'll aim to do this through a site focused on that subject http://www.silverlightseo.net

Just wanted to say Merry Christmas to everyone. I know l stopped blogging about 6 months ago but the reason behind that was I became a dad for the first time and little Sofia came into our lives.

Now everyone says this and I can vouch that it is true, when you do have a kid it is fantastic (yes there are sleepless nights although we have been very lucky in that respect) and you put many other things to the side.

I'm manage to squeeze in some time to stay up-to-date on the latest .Net tech (and some non .Net related things) but haven't had the time to keep my Points of interest posts going (possibly in the new year).

I've been following Silverlight with great interest and I'm glad it has been rebranded as Silverlight 2.0 as 1.1 didn't sit right. I'm also glad about the extended feature set but hope they include some of the features I feel would ease adoption (printing support [add your vote] http://silverlight.net/forums/t/516.aspx etc).

.Net 3.5 is out which is great (just need to find a project where I can actually use it) and I've been following the Fran's posts (http://weblogs.asp.net/fbouma/) about Linq to LLBLGen Pro with interest. I've used every release Fran's has put out but feel he is going to gain a much bigger audience when he has a friendlier way of utilising the code LLBLGen generates.

Anyway have to keep this short and sweet as I'm at the in-laws for Christmas dinner in Denmark.

A slight change this week. POI titles will now include the main topics covered in each post ("Other" and "Learning" will usually be included by default so they won't be mentioned in the title). Here are this week's points of interest: Ajax Google announces Google Gears. Their framework for allowing applications to work online and offline. - With Adobe and Google offering online/offline capabilities is this something you'd like Silverlight to support? The Help.Net blog lets us know that a new release of Script# is out. Discovered an ajax pattern website called ajaxpatterns.org. Another link from Help.Net - talking about Bitjuice an ajax bitmap api. Silverlight/WPF The Expression blog gives us a tutorial on how to create a nice button with Expression Design. Jay shows us how to create an XBAP gadget. Nikhil posts about SEO with Ajax and Silverlight. SilverlightCream posts some useful links. Fritz Onion announces a Silverlight Course. Delay does a great post showing how to create an interface similar to Microsoft Surface using Silverlight with sample code. I came across this Silverlight Learning Guide on TechTarget.com. Page Brooks gives an example of using Isolated Storage. Wynapse.com has a list of Silverlight samples and code. Brian posts about using Playlists in Silverlight. The Canux blog posts a list of useful links covering Silverlight in general, demos and learning videos etc. A post about using the toolbar control that was linked to in a previous POI post. Tim Heuer does a post about using Silverlight to create an osx dashboard widget. MossyBlog provides some tips about how Silverlight allows .zip assets. The WPFSDK blog posts about styling controls on a toolbar. Marc provides links to the deck and demo code used in a recent WPF webcast. P&P Came across an old document based on CAB and SCSF (Last year's release). Worth reading over to get an idea of how it can be used - this links directly to the pdf. Firefox I came across this add-on for Firefox that allows you to run a .NET ClickOnce application. I came across this Firefox Toolbar Tutorial. This is an old tutorial but also covers how to create a Firefox extension in some depth. Lifehacker.com also has a tutorial on Firefox Extensions. SharePoint Lawrence lets everyone know that the new beta of Windows Live Writer (beta 2) now has support for SharePoint 2007. Cameron talks about skinning SharePoint and provides a list of really useful links. SoCalDevGal points us towards 40 SharePoint Templates and some MasterPage samples as well. JOPX gives a list of useful SharePoint 2007 links. Learning The P&P team release the first beta of the "Performance Testing Guidance for Web Applications" book. Krzysztof links to his API design lecture he blogged about a ferw weeks ago (500Mb). Other Vittorio shows us a sample that sends a CardSpace obtained token to an Ajax service implemented with the new Orcas features. Help.Net points to an article that shows you how to do file upload & compression in asp.net John Lam responds to Martin Fowler's post about IronRuby Peter gives a good post about the battle of the maps (google vs msft). Oracle released a beta of the next version of ODP which has support for ASP.NET Providers. Help.Net points to the top 15 free SQL injection scanners. Have a good week! John[...]

Well this week was a nice rest, most of it spent relaxing with my wife. So it was a non-coding week but a range of links did catch my interest:
Silverlight/WPF
Laurent Duveau lets us know that Expression Studio is now available on MSDN.
Ashish posts a lot of links related to WPF.
Brad Abrans posts about search engine optimisation for Silverlight and Ajax.
Scott posts about a Video Player he is working on created with Silverlight.
Delay has a proof-of-concept XPS reader for Silverlight. Very cool.
Karsten talks about 3 new hands on labs for Expression Blend.
Deitel now have a Silverlight resources section.
Charlie has a nice post that walks you through your first Silverlight project.
Mithun Dhar posts another list of Silverlight resources.
Joe Stegman gives a heads-up about breaking changes between Silverlight 1.0 Beta and RTM.
John Pelak is doing a series of posts about porting a WPF app to Silverlight. This points to the fourth in the series.
I came across a new Silverlight related blog : http://blog.silverlightcity.com/
Open Source Related
Al Nyveldt posts about the relases of BlogEngine.Net
I came across Watin - A .NET equivalent of Watir (a way of testing your web applications). I had looked at Watir but ended up using the web testing tool created by Thoughtworks. This does look interesting though.
WatiN Test Recorder (A tool for recording interactions with your web application and saving them in a Watin format).
Need to create RSS / ATOM feeds? Came across this project on codeplex: Argotic Syndication Framework.
Andrew lets everyone know that MBUnit 2.4 has reached RTM.
Ajax
Came across Yahoo User Interface Web Controls for ASP.NET (on codeplex)
Joe Stagner posts a list of a large number of AJAX Frameworks.
P&P
Enterprise Library 3.1 is released
A forum post about how to uninstall GAT/GAX
Bil talks about the SCSFContrib project on codeplex (looking forward to the WPF support they'll be adding to SCSF).
Other
.Net Cheat Sheet by help.net
Coding4Fun posts about the Facebook Developer Toolkit.
Codswallop has a list of 100 Web App Tools which are useful to Freelancer's (and others)
Something new has come out of Google Labs: Google Trends (see what people are searching for)
Boy Genius talks about the HTC Kaiser (I wouldn't mind getting one myself :D)
Aaron posts about strong name signing for Media Center Application Assemblies.
Steve Clayton points us to a free 2007 Digital Outlook Report created by Avenue A|Razorfish.
Mike gives an example (with code) of a HttpRedirection module.
Commercial
Note: If I come across a link which I think may be interesting but also has a commercial benefit (i.e. Products that have promotions to raise awareness etc) then I will add them under a Commercial heading to make it clear.
StyleSpread - StyleSpread is a CSS tool. Now you have TopStyle, the css editor within VS and in other tools such as Expression Web and Dreamweaver so you may be thinking why would you need another (which is what I thought as well). Now I haven't used this tool so I can't comment on whether or not it is more usable than the others but the video clip looks interesting and may be worth a watch. Now if only they offered the option to integrate it with VS (you could always say open file with and select the tool) or Visual Web Developer Express. Competition is always good so it will be interesting to see how StyleSpread does. For bloggers interested in the promotion they can find out more here.
Have a good bank holiday weekend (For those of you in the UK)!
John[...]

Another week has shot by. Didn't have any time to look at Silverlight although I have managed to download the Orcas Beta and get everything set-up so I'm good to go (whenever I find a spare moment). Links that have caught my interest this week are: Silverlight Ernie has created a cool plugin for reflector that allows you to easily peek under the hood of a Silverlight Application. Scott shows us how to get Silverlight applications to display in full screen mode. Jaime releases an early version of snoop for Silverlight 1.0 Chris Craft gives a very good list of Silverlight Resources One of the biggest threads on the Silverlight forums concerns the lack of controls available with the current alpha. Dave Relyea has just published some layout controls he created. Came across this Mix Video that shows the New York Times reader working as a Silverlight App on the Mac. Came across the Silverlight Pad which allows you to change Xaml and see the change via the brower. Has some samples to give you an idea of how things work. Miguel de Icaza posts an update about Silverlight on the Mono Olive mailing list. Alexander Strauss shows how to get silverlight background transparency when developing with Orcas. Came across this post that gives an overview of the basics of a Silverlight Application. Doug provides a list of Silverlight resources. Ozzie shows you how to create a sidebar gadget with Silverlight. Shawn provides some details about the Silverlight Security model. Vivekd - posts a sample Silverlight toolbar. Mike Harsh has created a SilverlightPad and provides a link to the source. Scott talks about the basics of a Silverlight Control James talks about Harmony a Swf to Xaml conversion tool. Jamie announces a beta release of TestDriven.NET with support for Silverlight! Learning Allan Naim is pointing out that Microsoft is offering free WF, WCF and WPF training. Microsoft have 101 Linq samples up on their site. Other Lawrence blogs about some new Moss templates. Benko lists a set of Moss Webcasts Blaine announces the May 2007 release of SCSF and on a comment on a related blog post Ohad announces that he is currently updating his SCSFWPF project (Allows you to create an application that is 100% WPF) so that it supports the May 2007 release. I wonder if SCSF will ever support Silverlight based applications :D Nauma Nauman announces an updated version of the Code Share Addin for Visual Studio 2005 Bruce talks about the windows workflow foundation web workflow approvals starter kit. It looks like ThoughtWorks are about to release an Application for managing Agile IT Projects: Mingle - free for opensource projects and non-profit companies. That's all for this week. John[...]