Ayende @ Rahien

My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:


+972 52-548-6969

, @ Q c

Posts: 6,128 | Comments: 45,550

filter by tags archive

LightSwitchInitial thoughts

time to read 4 min | 609 words

As promised, I intend to spend some time today with LightSwitch, and see how it works. Expect a series of post on the topic. In order to make this a read scenario, I decided that that a simple app recording animals and their feed schedule is appropriately simple.

I created the following table:


Note that it has a calculated field, which is computed using:


There are several things to note here:

  • ReSharper doesn’t work with LightSwitch, which is a big minus to me.
  • The decision to use partial methods had resulted in really ugly code.
  • Why is the class called Animals? I would expect to find an inflector at work here.
  • Yes, the actual calculation is crap, I know.

This error kept appearing at random:


It appears to be a known issue, but it is incredibly annoying.

This is actually really interesting:


  • You can’t really work with the app unless you are running in debug mode. That isn’t the way I usually work, so it is a bit annoying.
  • More importantly, it confirms that this is indeed KittyHawk, which was a secret project in 2008 MVP Summit that had some hilarious aspects.

There is something that is really interesting, it takes roughly 5 – 10 seconds to start a LS application. That is a huge amount of time. I am guessing, but I would say that a lot of that is because the entire UI is built dynamically from the data source.

That would be problematic, but acceptable, except that it takes seconds to load data even after the app has been running for a while. For example, take a look here:


This is running on a quad core, 8 GB machine, in 2 tiers mode. It takes about 1 – 2 seconds to load each screen. I was actually able to capture a screen half way loaded. Yes, it is beta, I know. Yes, perf probably isn’t a priority yet, but that is still worrying.

Another issue is that while Visual Studio is very slow, busy about 50% of the time. This is when the LS app is running or not. As an a side issue, it is hard to know if the problem is with LS or VS, because of all the problems that VS has normally.


As an example of that, this is me trying to open the UserCode, it took about 10 seconds to do so.

What I like about LS is that getting to a working CRUD sample is very quick. But the problems there are pretty big, even at a cursory examination. More detailed posts touching each topic are coming shortly.

More posts in "LightSwitch" series:

  1. (25 Aug 2010) Initial thoughts
  2. (05 Aug 2010) The Return Of The Secretary


Demis Bellot

I'm surprised you're spending a lot of time reviewing it. After watching a couple vids my conclusions is that it looks like access only worse.

George J. Capnias

@Demis Bellot: I do not doubt your conclusions, but LightSwitch is "Enterprise Tool" after all...

And Ayende loves "Enterprise Tools"!

Jim Burger

I applaud ayende for taking an honest look. It is easy to dismiss this stuff so early.

Although this [might|will|could] not be the case, I do hope that the 'KittyHawk' team take this type of feedback on board as they move to RTM.

Bill Campbell

I am so excited to see you are taking an interest in these tools as I have total respect for your opinions and analysis. Thank you for taking the time and effort to really give this a good look!


Kinda reminds me of foxpro.. Except vfp is 1000 times faster and more productive...


Most of my customers will not move from TRUE RAD stuff like Foxpro or VB6 simply because they dont want to spend the money on .NET overkill or SQL server over kill... Microsoft killed its RAD stuff like Foxpro and VB6 and now they come out with Lightswitch? Why not just make a VFP.Net language and maybe small to middle size companies will take the plunge. I know Microsoft needs to make money.. they keep coming out with something new every time you turn around..[Windows Forms.. Presentation... Silverlight.. on and on] which technology is better? Who or what are they all targeted for? Microsoft originally said DYNAMIC Languages would be too hard to be part of .NET.. Until the DLR.. And now C# 4 uses DYNAMIC variables... huh? I'm not sure what the target audience is for Lightswitch. Maybe its all the VFP and VB6 developers they lost when the dropped these products...

Arnis L.

Keep em coming, Ayende. This is great stuff.

Comment preview

Comments have been closed on this topic.


  1. The worker pattern - about one day from now

There are posts all the way to May 30, 2016


  1. The design of RavenDB 4.0 (14):
    26 May 2016 - The client side
  2. RavenDB 3.5 whirl wind tour (14):
    25 May 2016 - Got anything to declare, ya smuggler?
  3. Tasks for the new comer (2):
    15 Apr 2016 - Quartz.NET with RavenDB
  4. Code through the looking glass (5):
    18 Mar 2016 - And a linear search to rule them
  5. Find the bug (8):
    29 Feb 2016 - When you can't rely on your own identity
View all series


Main feed Feed Stats
Comments feed   Comments Feed Stats