Announcing LightSwitch in Visual Studio 2013 Release Candidate!

The release candidate for Visual Studio 2013 is available for download! The release candidate bundles many of the features we mentioned in the Visual Studio 2013 Preview—such as better support for team development and a refined Solution Explorer experience—with some noteworthy additions that were requested in the forums.

Download: Visual Studio 2013 RC

I am particularly excited about the new HTML table control, global date time handling support (i.e., DateTimeOffset), runtime performance improvements, the built-in created by/modified by fields on entities, and the new person semantic type. The enhancements are a healthy mix of optimizations for building business applications on Office 365 and across-the-board product improvements that have surfaced regularly in the forums and through customer feedback. Let’s take a look at some of the biggest additions.

New Table control

In response to increasing requests for higher information density in our HTML client, the jQueryMobile table control is now available. This control is a great alternative to our List and Tile list controls in situations where you want to display tabular data.LightSwitchTableControl

The new table control honors our responsive design principles, making it a good choice on the breadth of devices and screen sizes. Just keep in mind that this control is not intended to be an editable grid: editing activities are still done in a separate screen to provide an immersive, task-centric user experience in the application.

Created By / Modified By fields on tables

We see a lot of questions related to the general problem of data timestamping, auditing, and tracking data changes in the forums. Tracking user changes to data rows is a common application requirement that’s hard to get right, so we went ahead and added CreatedBy/ModifiedBy as well as timestamping to all intrinsic data tables (i.e., data tables created as part of the app, not attached data).

There are four fields that are added when you enable this feature:

· CreatedBy: Stores the id of the user who created the record. The format of the user id is dependent on the authentication mode of your app.

· Created (DateTimeOffset): Stores the timestamp for the created record in UTC time. Note that this value is calculated in the LightSwitch middle-tier, not in the database.

· ModifiedBy: Denotes the user id who last updated the record.

· Modified (DateTimeOffset): Stores the timestamp for the last update to the record. Again, this is stored in UTC time.

While these fields are not intended to implement true database auditing, they are a huge productivity boost when you need to display, query, or correlate user activity in the app. You won’t see these new fields in the table designer, but they are automatically added when you create new tables in your app. If you need to enable or disable these fields for new or existing tables, there is a new property on the table to control the behavior:


Person semantic type

Visual Studio LightSwitch is an optimal tool for building applications that model business processes within an organization. People are central to business processes; and the information that’s stored as part of the app that models the process is often related to the people who have helped create it. We’ve heard a lot of questions about relating users of the app to entities in the forums, and the possible solutions to that problem have never been particularly straightforward—often code and custom services were required. This feedback motivated us to create a new person semantic type.

Person fields represent a single user in the application. When you create a field of type person, you’re creating an implicit relationship to someone in your organization.

Person semantic type


Person fields in SharePoint 2013-enabled applications will be displayed using a people viewer or people picker. The people picker will allow you to select values for the person field from your existing SharePoint user store, which will commonly be backed by your organization’s Active Directory. (Note: the people picker and viewer controls are not included the Visual Studio 2013 RC.)

Fields of type person also include an API, which allows you to access the SharePoint user profile.

Person semantic type API

New Project types

One of the first things you’ll notice when you create a new project with Visual Studio 2013 is that the New Project dialog has been cleaned-up: the LightSwitch folder now appears under the Visual C# and Visual Basic nodes:

NewProject Dialog - LightSwitch

We have also added a new project template titled “Cloud Business App”. This new template provides an optimized experience for building Office 365 business applications with LightSwitch.

NewProject Dialog - CBA

Today the Cloud Business App template includes a SharePoint-enabled LightSwitch project with all of the aforementioned features. You can expect to see a growing investment in Office 365 focused features in the Cloud Business App project type as we move forward.

DateTimeOffSet /UTC date time support

LightSwitch has always supported Date and DateTime types; however, a number of folks have requested that we add support for DateTimeOffset to better accommodate globalized app scenarios. We’ve added the new type and it’s available on all entities.

Runtime performance improvements for the HTML client

Performance and bandwidth usage are top-of-mind concerns when building great mobile apps. We continue to make inroads in our HTML client to make excellent runtime performance a key part of our offering. When you update your apps to use Visual Studio 2013 RC, your HTML clients will immediately run faster—often much faster—because we’ve switched to using “minimalist metadata” (AKA, JSON-lite) when communicating between our HTML client and middle-tier. The extent of the performance improvement will depend on your data model, but a 50% savings in bandwidth is pretty common. Note that our Silverlight client already uses JSON-lite; we’ve just brought the HTML client up to parity in this regard.

Download Visual Studio 2013 RC

The above improvements are some of my favorites, but I think you’ll find many of the less glamorous bug fixes included in the release to be equally valuable. Please take a minute to download Visual Studio 2013 RC today and let us know what you think! It’s always a good idea to read the system requirements and platform compatibility before you get started.

Note that your existing LightSwitch projects created with Visual Studio 2012 (including Update 1 or Update 2) or Visual Studio 2013 Preview, can be upgraded to Visual Studio 2013 RC (just open it and the product will do the rest). The LightSwitch forum is the best place to post your feedback. Many of the most valuable product improvements are drawn from forum posts and discussions. We very much appreciate you taking the time to try Visual Studio 2013 release candidate and provide feedback.

– Joe Binder, Program Manager

Visual Studio LightSwitch