Recent posts

ReSharper versus CodeRush through the eyes of a keyboard addict

I've been a very long-time and very happy user of ReSharper, and I’ve become very dependent of it. I wouldn't know what to do with a plain Visual Studio 2010 installation. However, I also heard many great things about the combination of DevExpress's CodeRush and their Refactor! Pro products. Apparently my many tweets about the greatness of R# have attracted some attention, so DevExpress offered me a one-year license to try their products out. To be fair, I did pass this blog post to DevExpress to make sure I was not overlooking something and they've provided me with some great feedback. Nevertheless, this is my personal opinion, even though I've really tried to be as unbiased as possible.

Read more…


Published: 29-11-2010 by Dennis Doomen | 0 Comments | 0 Links to this post
 

The subtleties of Silverlight’s cross-browser compatibility

Last week we put our first full-blown Silverlight 4 line-of-business application into production, and just yesterday, we’ve run into our first production issue. Consider the width specifications of the DataGrid columns in this XAML fragment:

image

This XAML file was generated by Expression Blend and has not caused any problems throughout the development phase and during user acceptance tests. However, on one particular Windows XP/IE7 system it caused a crash, even though all systems were using Silverlight 4.0.50917.0. After a bit of investigation we learned that by design a star-sized specification should include an integer and not a double. The big mystery is why this is not detected by the compiler and why it works on all other systems…


Published: 16-11-2010 by Dennis Doomen | 0 Comments | 0 Links to this post
 

TechEd Europe 2010 Day 4

I made it to the sessions this day, but memories of the Dutch country drinks kept coming back. Anyway, the most interesting part was a deep dive into the database performance of using the Entity Framework 4 as data access layer and LINQ. When you use these do you by definition make code that is less efficient than carefully coded stored procedures? The surprising answer is: No. You have to abide by the following rules though:

- Use the Entity Framework 4 and not earlier incarnations, because everything before EF4 sucks.

- Never use literals in your conditions, because this will result in less efficient (non-RPC) SQL queries

- Do not return whole entities unnecessarily, because in returning all internal entities the query suddenly bloats with LEFT OUTER JOINS

Bottom line is that the queries that EF4 queries easily outperform badly written stored procedures. Exceptions are queries affecting multiple records and stored procedures that process data in a way that is better expressed in SQL. Happy coding with EF4!


Published: 15-11-2010 by Wim The | 0 Comments | 0 Links to this post
 

TechEd Europe 2010 Day 3 Windows 7 Phone

A special post to mention a session by Robert Garfoot showing us end-to-end how to write a Windows 7 Phone app that accesses the Cloud to send and receive notifications to another Windows 7 Phone. Here we saw a piece of state of the art programming, leading the way to quality apps for the Windows 7 Phone. The use of various patterns, like MVVM and the Command pattern allows you to write fully testable code. This way the code can make excellent use of the Silverlight capabilities of the phone. Awesome. And did I mention the equally awesome Windows 7 Phone party in the Berlin brewery? I think I did.

Speaking of parties. Yesterday ended with a bang. The Dutch country drinks this time complely outdid every Dutch party of any previous TechEd for me. Shuberg Philis gave us DJ’s in a Back To The Future setting, complete with a Delorean and fully functional Commodore 64s and corner with Xbox 360 Kinect games. The lovely and funky dressed hostesses completed the party, making sure everyone had a good time. I say, keep up the good work and … ow my head hurts.


Published: 15-11-2010 by Wim The | 0 Comments | 0 Links to this post
 

TechEd Europe 2010 Day 3 SharePoint

This day was very much SharePoint 2010 themed. A session about SharePoint governance failed to make a real impression, but was useful nonetheless. I assume that you have a complete and very much alive governance document at your site (erm..). If not, you should start working on that now. On the one hand your end users expect miracles from your implementation and in your governance documents you can write down the promises you can keep. Oh, and that means for every web application of course.

The other thing is that extending SharePoint can also help you automatically keep your SharePoint running, instead of end in chaos. The extensibility of the new Health Analyzer in SharePoint allows you to keep track of sloppy installations or features being installed on your machine. Wouter van Vugt showed how you can go even beyond that fully control what users can and can’t do with features on your site. Interesting stuff, though the code of the Feature Blocker feature might not fully comply with my governance rules.

If you are looking for a way to make a succesful implementation in SharePoint speakers like Wouter van Vugt and Daniel McPherson , I must say I couldn’t agree more, stressed the following points:

- Make sure Search works such, that the user can find what they’re looking for and no, the out of the box solution is not good enough.

- Allow users to do stuff, instead of locking and blocking all SharePoint functionality. On the other hand, make sure that features like the social features are used sensibly.

- Remove friction. Like having to log on again and again. SharePoint 2010 has a fluent UI and you should keep the flow going.

Most sessions I attended suffered from the shorter time slots. Enterprise Content Management extensions can be the essential tools that make the business run like an oiled machine,  so it was a pity that a subject like In Place Record management almost got crushed. Imagine datasets with cover pages that allow you to make documents a record with the push of a button. Having a unique document ID across farms is useful, but less impressive. The cool thing here however is that Wouter got to show how to build a SharePoint service. Awesome template.

SharePoint online, or Office 365, sneaked into every SharePoint session. It is really fascinating how powerful it can be (on line around the world Intranet portal) and at the same time how limited it (still) is. Yes you can simply fire SP2010 Designer and do the funky stuff you can do with it. No, you do not have Central Admin access, BCS or fully trusted webparts. At Microsoft they are looking into ways to give access to Office 465 SharePoint services to external (cloud) services. By the way, there is always the option to use Silverlight or jQuery based webparts.


Published: 15-11-2010 by Wim The | 0 Comments | 0 Links to this post
 

TechEd Europe 2010 Day 2

This day had a definite theme: Claims based authentication. A new way of authenticating your users for SharePoint 2010. Specially the sessions by Wouter van Vugt gave a clear step by step way of getting Claims based authentication to work:

1. Understand claims based authentication

2. Set up your Security Token Service, which could be ADFS V2 on top of an AD and define the claims it will provide

3. Register the STS and its certificate as a new Home Realm in SharePoint

4. Enable the registered STS in a Web App in SharePoint.

5. Configure the way SharePoint will decide which Home Realm should be used

6. Configure how the claims will be used which kind of user you will be in SharePoint 2010

7. Log on

After these steps several things: There is no UI to register the STS and its certificate as a new Home Realm only Powershell scripts. You will probably also need a proxy STS when you want to accept external logins in the DMZ. You might want to look at the new “ADFS in the Cloud” Azure AppFabric Access Control Service. So you see, a lot has changed since you only had Windows Authentication and Forms Based Authentication.

This post is quite short, but this has to do with me attending the Windows 7 Phone Developers Party in the Sudstern Brewery. I met a lot of interesting people and talked all night with people from all over Europe. I got to test all beers they had on offer and I must recommend the Heller and Weisse. These beers also made me forget most about what happened today.


Published: 10-11-2010 by Wim The | 0 Comments | 0 Links to this post
 

TechEd Europe 2010 Day 1

It came as a bit of a shock to find out that sessions for this event only last 1 hour at most. I could have seen this when syncing to my calendar but I only noticed it into the second session. As a 10 times veteran TechEd this was a surprise. At the one side it’s a good thing, because 90 minutes sometimes felt like a marathon. On the other hand some sessions really need more time. Mixed feelings.

Also the first session was not a good one, I chose the SharePoint 2010 Boot Camp and the first boot camp was really about beginning SharePoint programming. I chose to skip it halfway, but there was still a good demo in this session showing off how to integrate with Excel and Word with the corresponding SharePoint services and the OpenXml SDK. If your customer is well equipped for Office 2007 or 2010, the SDK and the services allow you to build reliable office automation solutions. Generating documents and sheets integrated with business information is something that can really help build end to end solutions.

Other SharePoint 2010 sessions were mostly too short to dive deep. PerformancePoint? Yes it works, when you know what you’re doing. Building Compelling Intranets and Extranets? Some great tips, like taking your Search seriously. Greatly overlooked in a lot of implementations. The new social functions in SharePoint 2010 have to offer a lot but it will suit some organizations better than others. And being less restrictive instead of more restrictive also helps acceptance and creativity of course.

As a consolation for the bad start I decided to treat myself to a dive into the Windows Phone 7 track. In a previous job I got to build a few very rewarding mobile applications so this was like coming home. Most interesting is that the Microsoft team, guided by our speaker Larry Lieberman, decided that they needed to be more in control of the platform. So there are a lot of do’s and don’ts that are carved in stone by Microsoft, 800x600 resolution, capacitive touch, separate landscape and portrait UI’s, support for the Back key, etc, etc.

Also worth noting is that Silverlight has been chosen as the development platform of choice for your regular phone application. Not only for its fancy graphic design capabilities, but also because of its animation capabilities. Animations are considered a great way to guide the user in an application by giving interactivity and key visual cues that users understand instantly. The phone implementation of Silverlight has been optimized, enhanced (Pivot and Panorama) and tuned for use on a mobile device.

Larry reminds us developers here that its not another form of desktop, it’s a phone! Remember that it has capabilities to connect to the Cloud, or Internet services in general, but you can’t access all phone technology. Bluetooth is off limits, calling and SMS has to be approved by the user every time. On top of that a Windows 7 Phone app has to be certified to appear on the market. More restrictive than Android.

I ended my Windows 7 phone track with a dive into connecting Windows 7 Phone applications to the Cloud. Rob Tiffany showed an example of the wiring and bits and bytes you have to be aware of. Here you have to keep in mind that your on a mobile device all the time. Limit bandwidth, make your application capable of handling being online or offline. Having WCF and various related serialization techniques makes this a realistic way of building mobile solutions. Odata now seems an easy way to get going, but sends a lot of data over the line. You might want to reconsider here, rather than blindly imitate the stuff they show in Keynote demo’s.


Published: 10-11-2010 by Wim The | 0 Comments | 0 Links to this post
 

TechEd 2010 Day 0

So here I am, after a 6 hour train trip to Berlin to the TechEd 2010 venue. Quite comfortable I must say and a 240V socket is a good companion for a traveler with a laptop. Monday could be called Day 1, rather than Day 0, because it had the Keynote session in it. For a true developer, however the event starts with the first technical session. My main reasons for attending are SharePoint 2010, Software Architecture, Project Management and everything that’s new and hot. That might include Windows Phone 7 and Azure.

The Keynote was led by Brad Anderson, more a security/IT person maybe than a developer. The opening was a Kinect live demo.  Then the Keynote more or less repeated the themes of the PDC 2010 Keynote. It added some IT aspects to the cloud and a dive into the new VDI RemoteFX stuff. No doubt this is fireworks for the IT people. The developer side showed some repeats or slicker versions of Windows Phone and Azure demo’s. Day 1, or Tuesday, will be the first ‘real‘ event day


Published: 09-11-2010 by Wim The | 0 Comments | 0 Links to this post
 

More quotes from QCon

Well, QCon 2010 is over, so it is time to travel back to the Netherlands and finally see my wife and daughter again. However, after the previous post, the quotes have been coming in on Twitter space. So, to complete one of the most intense conferences ever, here are some more funny, inspiring and brain hurting quotes.

Read more…


Published: 06-11-2010 by Dennis Doomen | 0 Comments | 0 Links to this post
 

Deliberate Discovery, No SQL and CQRS at QCon

The 2nd day of QCon was not one where I chose wisely. My focus for this conference was everything Agile and anything from the well-known speakers. So I ignored most sessions that had words like REST, SQL or Java in it. How wrong I was…. But I did not discover that until I heard and read about all the great feedback those got while the only ones that could keep my attention where hosted by Dan North and Erik Meijer.

Read more…


Published: 05-11-2010 by Dennis Doomen | 0 Comments | 0 Links to this post
 
 Next >>