04 Sep 2012

Rapid Business Development: LightSwitch vs. Dynamics CRM vs. SharePoint vs. ASP.NET MVC

Over a year ago I wrote a post where I compared four technologies that can be used to build business applications rapidly. The original post was inspired by how similar a number of products have become over the last few years and more importantly how Visual Studio LightSwitch, which is a specialized rapid business tool development platform built on top of Visual Studio, is going to affecting the development eco-system. That post was written in the LightSwitch Beta 2 timeframe and the world has changed a lot since then – LightSwitch has shipped, not once but TWICE! So it is about time it got a refresh.

As with the previous post I am going to compare LightSwitch against Dynamics CRM, SharePoint & ASP.NET MVC Scaffolding. If you are not aware of these different products see my older post for a brief overview of them.

I think the differences between these four are very interesting and while each has its strong & weak points, this should definitely not be looked at as a pick one only post. There are many scenarios where you want to combine them for even better experiences.

To be clear that ASP.NET MVC is greater than ASP.NET MVC Scaffolding – you can do almost anything with MVC, however for this article we are looking at the concept of rapid development and comparing MVC with MVC scaffolding, scaffolding will give you a more rapid development with trade-offs. An example of this is databases supported, where MVC supports anything .NET does but scaffolding is a subset of databases.

I have broken down the issues into twenty two (!) aspects (key points we can compare them against each other) which are grouped into six scenarios to make it easier to digest. Each scenario starts with a list of the aspects and a brief description followed by a comparison table of those aspects. All the aspects are numbered so you can easily scan the table & if there are notes available the information will give you the relevant note numbers (see image below for more info).

image

Starting

  1. Ready to go out of the box: Once installed, can it do anything? Seems silly, but quick turnaround at the start, even if actual development is longer is important as it helps with prototyping, shows some rapid development and hints at how hard it is to learn (for me at least, if it does something I find I can experiment and learn quickly). Important to note, we are not looking at making it align with your company needs here, we just want it to do something. Eating CPU cycles & RAM is not something either.
  2. Northwind Style Sample development costs: This aspect looks further than the above aspect and looks at how much more would it take to get it tailored for a company, like the fictional Northwind, to have a XRM type system as it can be done across all four. Fewer $ signs means less time and/or resources for the functionality.

LightSwitch (LS)

Dynamics CRM

SharePoint 2010 (SP)

ASP.NET MVC

My Notes

Aspect 1

Ready to go out of the box
(faster is better)

Medium

(see note 1)

Fastest

(see note 2)

Fast

Slowest

(see note 1)

  1. LS & MVC need development, while SP needs at least 5min of tailoring.
  2. CRM, is ready to go once installed.
Aspect 2

Northwind Style Sample development costs
(less is better)

$

(see note 2)

$$

$$

$$$

(see note 1)

  1. ASP.NET MVC has the highest development costs as so little is out of the box.
  2. LightSwitch excels in this scenario.

Finishing

  1. Cost for on-premise deployments: This looks at the money cost for licensing to get the solution up and running on premise (i.e. in your company). Licensing is, of course, flexible and this will vary based on who you are – so this is not indicative for all. It does not include such things as server hardware or common costs, for example operating system licensing.
  2. Deployment Complexity: Getting a solution up and running shouldn’t be difficult for an organization and a lot of time can be lost (and costs incurred) changing, upgrading and troubleshooting systems that do not want to be deployed.
  3. Deployment Documentation: When it happens that you need to deploy, having a wealth of documentation (be that video’s, best practice guides, troubleshooting material) is vital and plays a large part in getting a solution up that works every time.

 

LightSwitch (LS)

Dynamics CRM

SharePoint 2010 (SP)

ASP.NET MVC

My Notes

Aspect 1

Cost for on premise deployments

$$

Visual Studio licenses. No per user costs.

(see note 2)

$ to $$$

Cost per user & cost per server. Visual Studio only if you are doing integrations or custom workflows.

(see note 1)

$$$$ to $$$$+

Cost per user & cost per server. Visual Studio licenses for any serious work.

$$

Visual Studio licenses. No per user costs.

(see note 2)

  1. CRM on the small scale with low development is very cheap but since you pay per user can get expensive.
  2. LS & MVC only have development software costs, which is more expensive up front but do not increase as you add users to the system.
Aspect 2

Deployment Complexity
(easier is better)

Easy

(see notes 1 & 2)

Hard

(see note 1)

Hardest

(see note 1)

Easiest

(see notes 1 & 3)

  1. LS, CRM & SP all have requirements that they need to work, in increasing deployment complexity, but CRM & SP are significantly harder than LS though due to their more complete product nature.
  2. LS has a deployment system which makes it significantly easier to deploy.
  3. MVC is easiest because there is no constraints from it and with using web deploy it solves many of the headaches for administrators.
Aspect 3

Deployment Documentation

Yes

(see note 2)

Yes

(see note 2)

Yes

(see note 2)

Yes

(see note 1 & 2)

  1. With the introduction of Web Deploy, ASP.NET MVC applications have gained not only excellent tooling but also documentation.
  2. All four have GREAT communities to help as well!

User Experience

  1. Front End Technology: A good looking, feature rich UI can seriously ease adoption, and what we are looking at here is the richness level of technology used for the out of the box front end user interface.
  2. How good the standard UI looks: Completely subjective and really this is based on what I think looks best.
  3. Flexibility of out of box front end: In this aspect we are concerned about how easy it is to adjust and tweak the out of the box front end.
  4. Themability: Corporate branding is massive business and making sure the application out of the box looks like it is part of your business is important. It is important to note that both CRM & SharePoint can have custom front ends built which enable this scenario, but that requires extra development, and we are focusing on the out of the box options here and assuming you have the theme built already.

 

LightSwitch (LS)

Dynamics CRM

SharePoint 2010 (SP)

ASP.NET MVC

My Notes

Aspect 1

Front End Technology

Silverlight. Supports out of browser (desktop) & in browser
Future: HTML 5

(see note 1)

Web

Just ASP.NET

Web

ASP.NET under the covers with sprinklings of Silverlight

ASP.NET

(see note 2)

  1. LS is hampered here with the lack of communication about the Silverlight future – I wrote about this early this year. If you can avoid that pitfall, then it has the most user rich experience of all. Microsoft has also announced that LS will support HTML 5 in the future.
  2. ASP.NET MVC out of the box scaffolding isn’t pretty (that is subjective to my views of pretty – that said it has improve a lot in .NET 4.5) but can easily be improved.
Aspect 2

How good the standard UI looks (very subjective)
(higher is better)

Medium

(see note 2)

Medium

(see note 3)

Today: Very Low

Future: Medium

(see note 1)

Depends on your web designer

(see note 3)

This is the most subjective aspect:

  1. SP2010 (today) has a fairly plain out of the box UI with a bad UX to go with it. However the 2013 version of SP has a much better UI out of the box.
  2. LS ships with two UI, a ribbon inspired UI called Metro and another one called Cosmopolitan – which is a much better UI for business UI. 
  3. CRM is much better out of the box and if you are going down the MVC route you will likely be taking advantage of the best UI thanks to the complete flexibility – but that depends on how good your designers are.
Aspect 3

Flexibility of UI development in the tool
(higher is better)

High

(see note 1)

Medium

(see note 2)

Medium

(see note 2)

High

(see note 1)

  1. MVC & LS can almost do anything on the front end, especially if you combined MVC with Silverlight.
  2. SharePoint & CRM too have lots of options and work with Silverlight.
Aspect 4

Themability
(higher is better)

Today: High

Future: Highest

(see notes 1, 2 & 3)

Low

(see note 4)

Medium

(see note 3)

Highest

(see note 1)

  1. The flexibility of MVC is highest as it is a pure programming, with LS following up thanks to its strong theme support (it allows for the theme & layout to be handled separately too).  It is also important to point out the vast number of themes & shells in the community for MVC & LS.
  2. When the HTML client ships for LS, themability will be done using CSS and will be very powerful.
  3. SharePoint can be themed but not the same level as LS.
  4. CRM will always look like CRM.

Extensibility

  1. API for integration: In the short term having an API means it is easy to get data into your new solution, in the medium term it means more ways to sync data and mash up your systems and in the long term it gives you a way to get your data out. It is vital to have an API.
  2. Marketplace: Apple kicked the idea of having an AppStore into reality for many of us and now having a marketplace to get extensions, customisations or themes is an important aspect. I am ignoring public sites, like Codeplex for example, and only focusing on an official marketplaces. Galleries are just marketplaces with no vetting, which means they are bigger but the quality bar is not guaranteed.
  3. Additional Authentication Options: Only your employees or customers (which may be everyone if you are lucky enough) should access your solutions. What do we get out of the box to limit access to the system? All four systems support Windows & Forms based authentication so I am only listing other options which are available.
  4. Permission Structure (Authorisation): Being able to control what parts of a solution you can access, once you have logged in is also vital and having a lot of flexibility in this space is also important as very seldom will one structure work for everyone.

 

LightSwitch (LS)

Dynamics CRM

SharePoint 2010 (SP)

ASP.NET MVC

My Notes

Aspect 1

API for integration

Yes

(see note 2)

Yes

(see note 3)

Yes - at least 5 of them.

(see note 3)

Yes

(see note 1)

  1. MVC you can use the WebAPI to get an API for almost free or you can build a custom one.
  2. LS creates OData services for us. LS also now has the option of a service only deployment which does enable it to be a pure API system.
  3. CRM & SP both have API’s, but SP is more complex as it supports so many different API’s with different subsets of features supported.
Aspect 2

Marketplace

Gallery available

(see note 3)

Yes

(see note 1)

Nope

(see note 2)

Gallery available

(see note 3)

  1. CRM leads here in a big way with a REAL marketplace.
  2. ASP.NET MVC has its own gallery plus a strong 3rd party marketplace ecosystem.
  3. LightSwitch uses the same gallery as MVC, but with a much smaller ecosystem than MVC.
Aspect 3

Additional Authentication Options

Anonymous, Custom, Windows Authentication (AD) & Forms based.

(see notes)

Claims based authentication via STS

Anonymous and more available through custom development (e.g. Windows Live). Claims based authentication (custom development required).

Anonymous and more available through custom development (e.g. Windows Live). Claims based authentication (custom development required).

LS makes use of ASP.NET Authentication Provider so it fits nicely into the technologies developers already know.

Aspect 4

Permission Structure (Authorisation)

Very complete model for permissions. Minor coding required.

(see note 2)

Fantastic out of the box option, plus plenty of extensibility if needed.

(see note 3)

Good structure with many levels of customisation.

Out of the box is very simple.

(see note 3)

Basic support for it but can be extended through development. A lot of XML work though may be needed.

(see note 1)

  1. MVC is the lightest here, supporting authorisation options but enforcing it is up to the developer to implement.
  2. LS is much better with a great model & UI options out of the box. The only downside being that some magic strings need to be configured during development and enforced with simple (one liner) code.
  3. SP authorisation is as varied & powerful as what CRM offers. However SP get messy, users can easily can break permission inheritance, while CRM enforces authorisation all the time and makes for a better structured environment.

Information Worker Features

  1. Offline support: Being able to work when you are not in the office is a vital need for many people. So how do these platforms enable that scenario? In theory it is always possible to build this, so we are just looking at the out of box offering. This scenario is focused on offline with a laptop, not a tablet or mobile phone.
  2. Easily Import Data: How do we get information into the solution, besides the API? Does the product make this easy with out of the box tooling?
  3. Printing: Despite the promise of a paperless office, it still is not the case and being able to print is important, even if it is just to XPS or PDF for invoicing.
  4. Office Integration: Integration into Microsoft Office products (i.e. Word, Excel, Outlook, PowerPoint, Access, Publisher, and InfoPath & OneNote) means that your IW’s will be able to work in the tools that they are comfortable with, easing adoption and productivity.
  5. Mobile Device Support: Information workers are increasingly mobile and having good mobile device support is a critical feature. When I look at this I am not just thinking about the simple, does it support it but also how well it supports mobile devices.

 

LightSwitch (LS)

Dynamics CRM

SharePoint 2010 (SP)

ASP.NET MVC

My Notes

Aspect 1

Offline support

No

(see notes)

Yes

(see notes)

Yes

(see notes)

No

(see notes)

Being able to work offline is important if you are a roaming user. LS & MVC offer nothing in this space while CRM & SP both offer offline via Outlook.

Aspect 2

Easily Import Data (out of the box)

Nope

(see notes)

Yes, from CVS.

(see notes)

Yes. Multiple options.

(see notes)

Nope

(see notes)

In all cases there are tools and other ways to import data (for example LS has the http://officeintegration.codeplex.com extensions) but CRM & SP have an out of the box options.

Aspect 3

Printing (out of the box)

Nope

(see note 1)

Yes

(see note 4)

Yes – Poor

(see note 3)

Browser Level

(see notes 1 & 2)

  1. LS & MVC can have custom development solutions for printing, other than that they both offer nothing out of the box.
  2. As browser printing has improved MVC has a slight advantage being HTML based normally.
  3. SP has printing, but it is very poor.
  4. CRM leads the way here with a great print scenario.
Aspect 4

Office Integration

Low

One way export to Excel in out of browser mode only.

Others can be custom developed or use the OfficeIntegration extensions (http://officeintegration.codeplex.com)

Medium

One way to Excel. Mail merge with Word & Outlook.

Deep integration with Outlook is available too.

High

Only Publisher doesn’t have some integration with SharePoint.

Every other Office product does, some like Excel are one way while others like Access are two way.

SP internally has features that understand Office files too, for example PowerPoint Libraries show thumbnails.

None

Can be custom developed.

 
Aspect 5

Mobile Device Support

Today: Limited

Future: Fantastic

(see note 1)

Good

(see note 2)

Okay

(see note 3)

Fantastic

(see note 4)

  1. LS is today hampered by Silverlight which isn’t supported by any mobile platform, but the OData service really does make it easy to build mobile solutions. The HTML 5 future for LS does solve this completely.
  2. CRM has good features today with mobile apps for some platforms and an API that enable custom solutions to be built.
  3. SharePoint offers limited apps for platforms, but does have an out of the box system – however the out of the box HTML system is severely limited.
  4. ASP.NET MVC 4.5 has introduced fantastic new mobile support into the framework and thus is clearly today’s leader for out of the box.

Other

  1. Databases Supported: Where the data can come from for your application is a critical piece of the puzzle because it means the difference between building ETL solutions to handle moving it around if the source is supported or having it just work.
  2. Minimum Skills for Tailoring: Tailoring is what I refer to when I think of customisation of a system, without the need for a programming language. At some point you will need a developer but how far away that is and what can be done by a analyst or super user early on is important from a time to solution and cost perspective. Lower is better here.
  3. Can run in the cloud? If you not thinking about how you can leverage the cloud, then you are not thinking. Making sure the solutions can cater for the cloud is an important consideration. All four solutions can run in the cloud but how do they run is also important
  4. ALM Experience: How does this tool work with a full ALM experience? Can I unit test it easily? Will it go into source control easily and what happens when multiple developers are updating the same files? How about build server and development tool integration? All important questions in understanding a complete picture of that these tools cost or what you sacrifice with some of them.
  5. Requires Silverlight: Despite decent market penetration and ease of deployment in corporate scenarios, the requirement for Silverlight can be a deterrent to business, especially those where the CEO uses an iPad. This is not answered in the table as only LightSwitch requires Silverlight today (in the future it will support HTML). CRM has no dependencies, SharePoint has a fall back mode and if you used Silverlight with MVC it would be possible to have a fallback mode, provided you developed it.
  6. Data performance: This is also not in the table since it only applies to LightSwitch. For CRM, MVC & SharePoint I assume your front end (web) is always close enough, for example the same LAN, to the database but in LightSwitch you can really separate them. Here it is important to note LightSwitch is NOT great with data performance between backend & frontend out of the box, however with careful tailoring of data sources & screens you can greatly improve it. It sends massive amounts of data around. In my view it really does not feel optimised for low bandwidth WAN scenarios.
 

LightSwitch (LS)

Dynamics CRM

SharePoint 2010 (SP)

ASP.NET MVC

My Notes

Aspect 1

Databases Supported

Out of the box:

  • SQL Server
  • SQL Azure
  • SharePoint
  • Anything supported by WCF RIA services
  • Anything supported by OData
  • Anything that has an Entity Framework provider
  • Custom connectors can be developed for other databases.

SQL Server

SQL Server normally.

With advanced skills can use external data sources with BDC.

External content types can also be used in place of BDC with a lower skill set (power users) but at a smaller feature set supported.

For scaffolding anything supported by LinqToSQL or Entity Framework.

 
Aspect 2

Minimum Skills For Tailoring
(lower is better)

Low

(see note 3)

Lowest

(see notes 1 & 3)

Low

(see note 1)

Highest

(see note 2)

  1. Being able to tailor with less skill is a big plus for CRM & SP.
  2. MVC doesn’t have tailoring as it is all development.
  3. LS really stuck in the middle ground here – for setting it up nothing more than power user is needed and developers only needed for more complex situations, in the same was as CRM – however the requirement of Visual Studio may scare off non-developers thus it is not as low as CRM.
Aspect 3

Can run in the cloud?

Platform as a service using SQL Azure for database & compute instances for front end.

Also supports the new Azure Websites options.

Software as a service: Can get it from Microsoft & Partners at a cost per user per month.

Software as a service: Can get it from Microsoft (Office 365) & Partners at a cost per user per month.

Platform as a service using SQL Azure for database & compute instances for front end.

Also supports the new Azure Websites options.

 
Aspect 4

ALM Experience
(higher is better)

Medium

(see note 3)

Low

(see note 3)

High

(see note 2)

Highest

(see note 1)

  1. ASP.NET MVC is a pure development experience and so works well with ALM.
  2. SP plus Visual Studio 2010 or 2012 is a great ALM experience (although mocking is difficult).
  3. LS & CRM are oddly very similar with customisations in XML though so expect some source control pain. Plugin’s for CRM and LS Extensions are a great ALM scenario. CRM falls short in the unit testing scenario though.

Finally

A post like this is not possible to do without some amazing people providing feedback and I want to say a special thanks to:

22 Aug 2011

Community night in September 2011 - IMPORTANT INFO

Community Night, the best way to meet, mingle and learn (if you don’t know about it – read here) happens on the second Tuesday of the month… except in September due to an event at the venue on the Tuesday which can’t be moved.

So for September it will take place the Monday before, in other words Monday the 12th September. Please help get the word out to the various user groups and communities!

See you there!

26 Jul 2011

Community night in August

Important Notice for August 2011

Community night is normally the second Tuesday of the month, however since that is a public holiday it has been moved to Monday the 15th of August!

What is community night?

For those who do not know this is a FREE event that happens monthly where a variety of user groups get together at Microsoft's offices. User groups are not influenced by Microsoft, they just use the facilities. User groups that are there on a regular basis:

  • Information Worker: Technical focused SharePoint & Office
  • Business User Workshops: User group that looks at the issues that face power users in enterprises. This month the understanding where a portal ends and CRM begins.
  • Game Dev: One of the biggest with plenty of game developers & artists getting together.
  • JavaScript: For all you JS fixes
  • Mobi: My good friend Rudi Grobler hosts this group focused on mobile (iPhone, Android, Symbian and Windows Phone)
  • UX: For those who understand there is more than 16 colours
  • Architecture: For architects of any IT systems!
  • Languages: For developers who are interested in learning the pros & cons of other languages.
  • SQL: The fantastic Gail Shaw runs the best SQL user group anywhere!

There is also FREE beer, cool drinks & pizza!

Where is Microsoft’s offices?

Microsoft Bryanston Office
3012 William Nicol Drive
Bryanston
2191 Johannesburg
South Africa

Click here for map and more details.

Times?

Various user groups starts at different times. I think the first UG kicks off at 16:00 and it can run to 21:00.
However depends if you attend multiple UG, stay for passage conversation, etc…

So up to you, I have nights where I arrived after 17:30 and other times left at 18:00, no pressure!

03 May 2011

Rapid Business Development: Lightswitch vs. Dynamics CRM vs. SharePoint 2010 vs. ASP.NET MVC 3

In this post I am going to look at comparing four technologies that can be used to build business applications easily. This post was inspired by how similar a number of products have become over the last few years and more importantly how the new kid on the block Visual Studio Lightswitch, which is a specialised rapid business tool development platform built on top of Visual Studio, is going to affect this eco-system. It is important to also remember that this is being written in the Lightswitch Beta 2 timeframe, so some details may change by launch.

Lightswitch feels very similar to me, to another product I have worked with in the past: Dynamics CRM, which is a Customer Relationship Management tool from Microsoft. CRM does very well in the xRM (x = extensible) scenario, where I think it will come up against Lightswitch a lot. I haven’t had an opportunity to use the latest CRM release yet, so I have had to rely on the help of experts to fill in my gaps!

SharePoint 2010 is another product I have worked with, can of course be used for building business applications quickly cause it is the “operating system of the enterprise” and has good features for these types of applications.

Finally, while watching Scott Hanselman do the ASP.NET MVC 3 demo in the MIX 11 Keynote, I was struck with how that is very close to a rapid business user development tool with all the new scaffolding features. ASP.NET MVC is a real outsider in this group because it is first a development toolset for web development and, maybe a rapid tool second where the rest are rapid development platforms or tools first.

I think the differences between these four are very interesting and while each has it’s strong & weak points, this should definitely not be looked at as a pick one only post. There are many scenarios where you want to combine them for even better experiences.

I have broken down the issues into twenty one(!) aspects (key points we can compare them against each other) which are grouped into six scenarios to make it easier to digest. Each scenario starts with a list of the aspects and a brief description followed by a comparison table of those aspects.

Starting

  • Ready to go out of the box: Once installed, can it do anything? Seems silly, but quick turn around at the start, even if actual development is longer is important as it helps with prototyping, shows some rapid development and hints at how hard it is to learn (for me at least, if it does something I find I can experiment and learn quickly). Important to note, we are not looking at making it align with your company needs here, we just want it to do something. Eating CPU cycles & RAM is not something either.
  • Northwind Style Sample development costs: This aspect looks further than the above aspect and looks at how much more would it take to get it tailored for a company, like the fictional Northwind, to have a XRM type system as it can be done across all four. Fewer $ signs means less time and/or resources for the functionality.
  Lightswitch (LS) Dynamics CRM SharePoint 2010 (SP) ASP.NET MVC My Thoughts
Ready to go out of the box Fast Fastest Fast Slowest LS & MVC need development, while SP needs at least 5min of tailoring. CRM, is ready to go once installed.
Northwind Style Sample development costs $ $$ $$ $$$ ASP.NET MVC has the highest development costs as so little is out of the box. Lightswitch excels in this scenario.

Finishing

  • Cost for on-premise deployments: This looks at the money cost for licensing to get the solution up and running on premise (i.e. in your company). Licensing is, of course, flexible and this will vary based on who you are – so this is not indicative for all. It does not include such things as server hardware or common costs, for example operating system licensing.
  • Deployment Complexity: Getting a solution up and running shouldn’t be difficult for an organisation and a lot of time can be lost (and costs incurred) changing, upgrading and troubleshooting systems that do not want to be deployed.
  • Deployment Documentation: When it happens that you need to deploy, having a wealth of documentation (be that video’s, best practice guides, troubleshooting material) is vital and plays a large part in getting a solution up that works every time.
  Lightswitch (LS) Dynamics CRM SharePoint 2010 (SP) ASP.NET MVC My Thoughts
Cost for on premise deployments $$$

Unknown.
Likely cost per developer seat.
No per user costs.
$ to $$$

Cost per user & cost per server. Visual Studio only if you are doing integrations or custom workflows.
$$$$ to $$$$+

Cost per user & cost per server. Visual Studio licenses for any serious work.
$$

Visual Studio licenses.No per user costs.
CRM on the small scale with low development is very cheap but since you pay per user can get expensive. LS & MVC only have development software costs, which is more expensive up front but do not increase as you add users to the system.
Deployment Complexity Medium Hard Hardest Easy LS, CRM & SP all have requirements that they need to work, in increasing deployment complexity, but CRM & SP are significantly harder than LS though due to their more complete product nature. MVC is easy because there is no constraints from it (other than a web server).
Deployment Documentation Yes Yes Yes No Only MVC has no official documentation, which makes sense as it is a development tool. All four have GREAT communities to help as well!

User Experience

  • Front End Technology: A good looking, feature rich UI can seriously ease adoption, and what we are looking at here is the richness level of technology used for the out of the box front end user interface.
  • How good the standard UI looks: Completely subjective and really this is based on what I think looks best.
  • Flexibility of out of box front end: In this aspect we are concerned about how easy it is to adjust and tweak the out of the box front end.
  • Themability : Corporate branding is massive business and making sure the application out of the box looks like it is part of your business is important. It is important to note that both CRM & SharePoint can have custom front ends built which enable this scenario, but that requires extra development, and we are focusing on the out of the box options here and assuming you have the theme built already.
  Lightswitch (LS) Dynamics CRM SharePoint 2010 (SP) ASP.NET MVC My Thoughts
Front End Technology Silverlight.

Supports out of browser (desktop) & in browser
Web

Just ASP.NET
Web

ASP.NET under the covers with sprinklings of Silverlight
ASP.NET LS clearly best here, since it will give the richest UI out of the box. ASP.NET MVC out of the box scaffolding isn’t pretty but can easily be improved.
How good the standard UI looks (very subjective) Low Medium Very. Low Depends on your web designer This is the most subjective aspect: LS & SP both have a fairly plain out of the box UI but SP has a bad UX to go with it. CRM is much better out of the box and if you are going down the MVC route you will likely be taking advantage of the best UI thanks to the complete flexibility – but that depends on how good your designers are.
Flexibility of UI development in the tool High Medium Medium High MVC & LS can almost do anything on the front end, especially if you combined MVC with Silverlight. SharePoint & CRM too have lots of options and work with Silverlight.
Themability Medium Low Medium High The flexibility of MVC is highest as it is a pure programming, with LS following up thanks to it’s strong theme support. SharePoint can be themed but not the same level as LS. CRM will always look like CRM!

Extensibility

  • API for integration: In the short term having an API means it is easy to get data into your new solution, in the medium term it means more ways to sync data and mash up your systems and in the long term it gives you a way to get your data out. It is vital to have an API.
  • Marketplace: Apple kicked the idea of having an AppStore into reality for many of us and now having a marketplace to get extensions, customisations or themes is an important aspect. I am ignoring public sites, like Codeplex for example, and only focusing on an official marketplaces. Galleries are just marketplaces with no vetting, which means they are bigger but the quality bar is not guaranteed.
  • Additional Authentication Options: Only your employees or customers (which may be everyone if you are lucky enough) should access your solutions. What do we get out of the box to limit access to the system? All four systems support Windows & Forms based authentication so I am only listing other options which are available.
  • Permission Structure (Authorisation): Being able to control what parts of a solution you can access, once you have logged in is also vital and having a lot of flexibility in this space is also important as very seldom will one structure work for everyone.
  Lightswitch (LS) Dynamics CRM SharePoint 2010 (SP) ASP.NET MVC My Thoughts
API for integration Yes Yes Yes - at least 5 of them. N/A In MVC you could build one, oData for instance, but it doesn’t have one out of the box. LS creates a WCF RIA Service for us. CRM & SP both have API’s, but SP is more complex as it supports so many different API’s with different subsets of features supported.
Marketplace Once it is released a gallery will exist. Yes Nope Gallery available CRM leads here in a big way with a REAL marketplace. ASP.NET MVC has it’s own gallery plus a strong 3rd party marketplace ecosystem.
Additional Authentication Options Anonymous and more available through custom development (e.g. Windows Live). Claims based authentication(custom development required). Claims based authentication via STS Anonymous and more available through custom development (e.g. Windows Live). Claims based authentication(custom development required). Anonymous and more available through custom development (e.g. Windows Live). Claims based authentication(custom development required).  
Permission Structure (Authorisation) Very basic and really just a half a step ahead of editing XML that MVC needs. Fantastic out of the box option, plus plenty of extensibility if needed. Good structure with many levels of customisation.
Out of the box is very simple.
Basic support for it but can be extended through development. A lot of XML work though may be needed. LS & MVC are the lightest here, both supports authorisation options but enforcing it is up to the developer to implement. LS is better slightly better at guiding the developer and needs no XML editing. SP authorisation is as varied & powerful as what CRM offers. However SP can easily get messy, users can break permission inheritance, while CRM enforces authorisation all the time and makes for a better structured environment.

Information Worker Features

  • Offline support: Being able to work when you are not in the office is a vital need for many people. So how do these platforms enable that scenario. In theory it is always possible to build this, so we are just looking at the out of box offering.
  • Easily Import Data: How do we get information into the solution, besides the API? Does the product make this easy with out of the box tooling?
  • Printing: Despite the promise of a paperless office, it still is not the case and being able to print is important, even if it is just to XPS or PDF for invoicing.
  • Office Integration: Integration into Microsoft Office products (i.e. Word, Excel, Outlook, PowerPoint, Access, Publisher, InfoPath & OneNote) means that your IW’s will be able to work in the tools that they are comfortable with, easing adoption and productivity.
  Lightswitch (LS) Dynamics CRM SharePoint 2010 (SP) ASP.NET MVC My Thoughts
Offline support No Yes Yes No Being able to work offline is important if you are a roaming user. LS & MVC offer nothing in this space while CRM & SP both offer offline via Outlook.
Easily Import Data (out of the box) Nope Yes, from CVS. Yes. Multiple options. Nope In all cases there are tools and other ways to import data but CRM & SP have an out of the box options.
Printing (out of the box) Nope Yes Yes – Poor Browser Level LS & MVC can have custom development solutions for printing,  other than that they both offer nothing out of the box. As browser printing has improved MVC has a slight advantage being HTML based normally. SP has printing, but it is very poor. CRM leads the way here with a great print scenario.
Office Integration Low

One way export to Excel.

Others can be custom developed
Medium

One way to Excel. Mail merge with Word & Outlook.
Deep integration with Outlook is available too.
High

Only Publisher doesn’t have some integration with SharePoint.
Every other Office product does, some like Excel are one way while others like Access are two way.

SP internally has features that understand Office files too, for example PowerPoint Libraries show thumbnails.
None

Can be custom developed.
 

Other

  • Databases Supported: Where the data can come from for your application is a critical piece of the puzzle because it means the difference between building ETL solutions to handle moving it around if the source is supported or having it just work.
  • Minimum Skills For Tailoring: Tailoring is what I refer to when I think of customisation of a system, without the need for a programming language. At some point you will need a developer but how far away that is and what can be done by a analyst or super user early on is important from a time to solution and cost perspective. Lower is better here.
  • Can run in the cloud?: If you not thinking about how you can leverage the cloud, then you are not thinking. Making sure the solutions can cater for the cloud is an important consideration. All four solutions can run in the cloud but how do they run is also important
  • ALM Experience: How does this tool work with a full ALM experience? Can I unit test it easily? Will it go into source control easily and what happens when multiple developers are updating the same files? How about build server and development tool integration? All important questions in understanding a complete picture of that these tools cost or what you sacrfice with some of them.
  • Requires Silverlight: Despite decent market penetration and ease of deployment in corporate scenarios, the requirement for Silverlight can be a deterrent to business, especially those where the CEO uses an iPad2 Smile with tongue out. This is not answered in the table as only Lightswitch requires Silverlight. CRM has no dependencies, SharePoint has a fall back mode and if you used Silverlight with MVC it would be possible to have a fallback mode, provided you developed it.
  • Data performance: This is also not in the table since it only applies to Lightswitch. For CRM, MVC & SharePoint I assume your front end (web) is always close enough, for example the same LAN, to the database but in Lightswitch you can really separate them. Here it is important to note Lightswitch is NOT great with data performance between backend & frontend. It sends massive amounts of data around. In my view it really does not feel optimised for WAN scenarios.
  Lightswitch (LS) Dynamics CRM SharePoint 2010 (SP) ASP.NET MVC My Thoughts
Databases Supported SQL Server, SQL Azure, SharePoint or anything supported by WCF RIA services. SQL Server SQL Server normally.

With advanced skills can use external data sources.
For scaffolding anything supported by LinqToSQL or Entity Framework. LS & MVC feel very close here, however LS has it’s own OM which MVC uses established ones meaning more options in the MVC camp.
Minimum Skills For Tailoring Intermediate
Lowest
Low Highest Being able to tailor with less skill is a big plus for CRM & SP. MVC doesn’t have tailoring as it is all development. LS really stuck in the middle ground here – for setting it up I suspect nothing more than power user but that ends much sooner and moves to needed a developer than with CRM and SharePoint.
Can run in the cloud? Platform as a service using SQL Azure for database & compute instances for front end. Software as a service: Can get it from Microsoft & Partners at a cost per user per month. Software as a service: Can get it from Microsoft & Partners at a cost per user per month. Recently launched in beta with Microsoft. Platform as a service using SQL Azure for database & compute instances for front end.  
ALM Experience Medium Low High Highest ASP.NET MVC is a pure development experience and so works well with ALM. SP2010 plus VS2010 is a great ALM experience (although mocking is difficult). LS & CRM are oddly very similar with customisations in XML though so expect some source control pain. Plugin’s for CRM and LS Extensions are a great ALM scenario. CRM falls short in the unit testing scenario though.

Special Thanks

A post this in depth could not have been done without input from my “brain trust”, and I thank each one of you for your help:

11 Apr 2011

Community Night: BE THERE

Clipboard01Tomorrow is another community night, and I realised that there is MANY people who do not know about this fun event. This is a gathering of communities (or user groups or interest groups if you prefer) who meet on a regular basis. This is a totally free event which takes place the 2nd Tuesday of every month at Microsoft’s offices in Bryanston.

*Yawn* another Microsoft marketing session? WRONG! This is run by communities and Microsoft has NO say in the content or agenda, unless a community allows them Smile with tongue out Microsoft is really trying to help all communities by providing the facilities – not the content!

MobiZATo give a concrete example MobiZA, a user group focused on mobile development is doing a session on Android! talk about not Microsoft marketing there!

There is also a variety of communities in a attendance so you can also see things you would not have seen before, for example the business user group or the game developer group! And of course there is plenty of corridors for interesting discussions and some even contain food & drinks!

Hopefully I have given you a taste of what is in store and why you should attend and you can find more details on the DPE team blog.

mapFinally, if you have a user group maybe you should think of joining us at community night? Free venue, projectors, seating, food & drink. Plus plenty of people attend, could be a great way to grow your group. I would personally love to see some Linux & PHP groups there because it would allow those who have not had a chance to see the non-Microsoft world an opportunity and hopefully learn that it isn’t so cut & dry out there.

Remember, tomorrow 12th April 2011 @ Microsoft (map to the left) from first sessions kick off at 16:30 and second sessions get started between 17:30 & 18:00!

24 Aug 2010

Tech·Ed Africa 2010: Want to go for free?

Win 1 of 4 Tickets to Microsoft Tech·Ed Africa 2010 worth R6 150 each!!!

Venue:    ICC Durban

Date:       17th - 20th October 2010

All you need to do is take a photo of a Microsoft Tag in a really cool/funny/practical place and upload the picture to the Facebook competition page.

More details in the competition animated video here.

Full Competition Rules on our Facebook page.

Dates for Submissions & Announcements of Winners:

  • 25 Aug 2010    -    Last Date For Submissions (week 1) (5pm)
  • 27 Aug 2010    -    Week 1 Winner Announced
  • 01 Sep 2010    -    Last Date For Submissions (week 2) (5pm)
  • 03 Sep 2010    -    Week 2 Winner Announced
  • 08 Sep 2010    -    Last Date For Submissions (week 3) (5pm)
  • 10 Sep 2010    -    Week 3 Winner Announced
  • 15 Sep 2010    -    Last Date For Submissions (week 4) (5pm)
  • 17 Sep 2010    -    Week 4 Winner Announced

Submissions & Announcements of Winners:

  • A new winner will be selected weekly.
  • Last date for submissions for a particular week is 5pm Wednesday of that week.
  • Winner for that week will be announced on the Friday.
  • Submissions after 5pm will count towards the following week.
  • Submissions which did not win in a previous week will still be considered in following weeks and need not be re-submitted.
  • A person can only win once, thereafter all his other submissions will be ignored.
  • You cannot submit on behalf of another person.
  • Submissions are done by posting a photo to the Facebook page wall.

Terms and Conditions apply:

This competition is limited to Tech·Ed Africa 2010 entrance and does not include Travel, hotel or any other expenses. You will be required to help out at the Developers Community Lounge at Tech·Ed Africa 2010 for 3 hours a day if you do win. For Full list of rules please consult the Facebook page.

08 Dec 2009

Presentation Data Dump

Over the last year I have done a number of presentations and recently some of uploaded them (unfortunately I cannot upload all, as some contain NDA information) to SlideShare so here is the collection of presentations from the last 15 months or so, in no particular order:

  • ASP.NET Dynamic Data
  • JSON and REST
  • What’s Microsoft CRM all about?
  • Source Control 101
  • SQL Server Integration Services
  • ASP.NET MVC
  • What’s new in the .NET Framework 3.5 SP 1

Click the read more link to see and download them...

ASP.NET Dynamic Data

 

JSON and REST

 

 

What’s Microsoft CRM all about?

Source Control 101


SQL Server Integration Services

 

 

ASP.NET MVC

 

 

What’s new in the .NET Framework 3.5 SP 1


16 Jan 2009

CRM 4 Rollup Pack 2

If you thinking, jeez this sounds familiar well it was only 1 month and 19 days ago that rollup pack 1 shipped.

You can download it at http://www.microsoft.com/downloads/details.aspx?FamilyID=aa671769-61e9-45c4-919f-c88199aa4241&displaylang=en

So what’s new?

113 known (rather publicly known issues) and 18 private (i.e. MS did not publically post articles on those) fixes!

My highlight reel of fixes

  • 949844 (http://support.microsoft.com/kb/949844/ ) The Async service stops unexpectedly or you cannot start the Async service after you import an organization from another Microsoft Dynamics CRM 4.0 deployment
  • 950266 (http://support.microsoft.com/kb/950266/ ) You are looped in the sign-in page when you try to run the Data Migration Manager Wizard in Microsoft Dynamics CRM 4.0
  • 950372 (http://support.microsoft.com/kb/950372/ ) You are prompted to enter your user name and password multiple times when you start Outlook, or when you click a Microsoft Dynamics CRM folder in Outlook, on a Windows Vista-based computer
  • 954313 (http://support.microsoft.com/kb/954313/ ) Error message when you try to log on to the Microsoft Dynamics CRM Web site from the Microsoft Dynamics CRM 4.0 server: "Request IP Address has different address family from network address"
  • 956112 (http://support.microsoft.com/kb/956112/ ) Error messages in the Application log on the Microsoft Dynamics CRM server after you delete a quick campaign: "Deletion Service failed to clean up table=[Table_Name]"
  • 956282 (http://support.microsoft.com/kb/956282/ ) Error message when you use the Microsoft Dynamics CRM 4.0 SDK to develop a Custom Workflow Activity assembly: "The Key cannot be NULL"
  • 956859 (http://support.microsoft.com/kb/956859/ ) The Microsoft Dynamics CRM toolbar is disabled in Outlook after you lose the network connection for less than one minute
  • When you use impersonation in an Internet-Facing Deployment (IFD) environment, you receive the following error message: 0x80040204 Invalid user auth
Any major risks?

You can uninstall Update Rollup 2. So make sure you have backups if you need to re-install!

There are four fixes which you need to manually configure:

  • 955138 (http://support.microsoft.com/kb/955138/ ) You experience slow performance or timeouts when you try to access some views in Microsoft Dynamics CRM 4.0

  • 955452 (http://support.microsoft.com/kb/955452/ ) Line feeds are not used when you send an e-mail message that uses an e-mail template to render data that has line feeds in Microsoft Dynamics CRM 4.0

  • 955745 (http://support.microsoft.com/kb/955745/ ) Error message when you try to configure the Microsoft Dynamics CRM 4.0 client for Outlook: "This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms"

  • 956527 (http://support.microsoft.com/kb/956527/ ) The Microsoft Dynamics CRM client for Outlook consumes three times as much memory in version 4.0 as in version 3.0

  • Thanks to Menno for the heads up.

    Tags: 

    Pages

    dontclickme