You are on page 1of 47

July 2011

Reviewers Guide

Contents

TABLE OF CONTENTS Abstract, Copyright Information, Disclaimer . . . . . . . . . . . . . . . . . . . . II Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . III LightSwitch Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IV LightSwitch in Action: Sample Use-Case Scenarios + Law Firm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 + Optometrist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 + Toy Company . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 + Restaurant Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Top Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Product Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

MICROSOFT VISUAL STUDIO LIGHTSWITCH 2011 > REVIEWERS GUIDE

PI

Abstract

This reviewers guide was created to give you an overview of Microsoft Visual Studio LightSwitch 2011, the new Visual Studio product that lets you quickly and easily build powerful business applications. This guide begins with an overview of LightSwitch, and then outlines a few use-case scenarios to give you an idea of how it could apply to a range of businesses. From a law firm to a toy company, from espresso machine repairs to an eye doctors office, there are countless opportunities to efficiently build the applications you need to meet your unique business challenges. Well do our best to update this document as new information becomes availableas we continue to improve the product, the information you read here is subject to change. For the latest information about Microsoft Visual Studio LightSwitch 2011, please visit http://www.microsoft.com/lightswitch.

Copyright and Legal Notice


2011 Microsoft Corporation. All rights reserved. This document is provided as-is. Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it. Some information relates to pre-released product which may be substantially modified before its commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here. Some examples are for illustration only and are fictitious. No real association is intended or inferred. This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes.

MICROSOFT VISUAL STUDIO LIGHTSWITCH 2011 > REVIEWERS GUIDE

P II

Introduction

Welcome to the family, LightSwitch!

For years, weve built tools and environments for professional developers, including Microsoft Visual Studio 2010 Professional, Premium, and Ultimate. On one hand, development projects have gotten increasingly complex, and more features were needed to help programmers build their dream applications. On the other, more and more people are savvy technology users and busy professionals who have a specific business problem to solve. LightSwitch lets you build business-critical applications quicklyand you only need a little technical code know-how to get it done. Before you know it, youll have a right-fit solution for your team, project, or department that helps you get back to the business at hand.

MICROSOFT VISUAL STUDIO LIGHTSWITCH 2011 > REVIEWERS GUIDE

P III

LightSwitch Overview

Build what you need without a computer science degree.

Power up LightSwitch, and youll have a working application up and running in mere minutes. Thats rightminutes. You dont have to worry about where to start or all the geeky back-end technology. Just choose the programming language youre more comfortable inVisual Basic or Visual C#tap into the data, and get to work on the business logic. Yup, its that easy. The only coding youll do is the coding that only YOU can do. LightSwitch includes all the core plumbing youll need to build a custom business application. Since most business apps are centered around data and screens, you can use screen templates and built-in common features (like validation, auto-save, cut and paste, etc) to create your solution more quickly. Use the built-in capabilities, grab what you need from the Visual Studio Gallery, piece it together, and customize the bits that are unique to your business. Then deploy to desktop, Web, or cloud, and get back to your priorities.

MICROSOFT VISUAL STUDIO LIGHTSWITCH 2011 > REVIEWERS GUIDE

P IV

LightSwitch Overview

Your application will play well with others, too. You can pull data from a number of existing data sources, (including SharePoint 2010, SQL Server, and other third-party databases) as well as export data to Excel for reporting and analyzing data. And when youre ready to extend your solution, you or another developer can open it up in Visual Studio Professional (or above) and party away. Since its built using architectural best practices, your application will be easily extensible. LightSwitch takes care of the tedious parts of development, without getting in the way of your creativity. Its the fastest, simplest way to develop a business application. And its so flexible, any business can benefit from a custom LightSwitch application. The next 34 pages cover a few sample use cases to get your imagination going about how you can put LightSwitch to work.

MICROSOFT VISUAL STUDIO LIGHTSWITCH 2011 > REVIEWERS GUIDE LIGHTSWITCH In ACTIOn

PV

USE SCEnARIO // LAW FIRM

COMPANY: Andersen, Price & Hill

Billing by the minute:

INDUSTRY: Law Firm COMPANY SIZE: 240+ ISSUE: Time tracking

Lawyers accounting for time is good for accounting.

Andersen, Price & Hill is a growing law firm that needs to dial up some efficiencies. Theyve got 240 billable employees across five national offices, and, while theyre doing great work for their clients, its tough for the accounting team to keep up with the growth. To maintain the firms current profitability levels, they need to streamline some systems. The biggest opportunity? Get the lawyers into the habit of tracking their time better, so those hours can be processed and billed to the client more efficiently. Currently, the poor accounting team has to, first, nag the lawyers and paralegals to actually submit their timesheets. This involves email reminders, phone calls, more email reminders and sometimes, in-person visits to guilt people into reporting what theyve done for the past week. It isnt fun for anyone.

LIGHTSWITCH In ACTIOn

P1

USE SCEnARIO // LAW FIRM

When the timesheet data does come in, it creates a whole new world of work for the accounting team to process. Currently, it seems like everyone has their own method of keeping track of their hours.

Accounting and Ops have seen it all: + Vague spreadsheets that line item the client and ballpark minutes spent on each per week. + Detailed Excel spreadsheets down to two-minute increments, with client contact namesbut not their company. + PDF files that are clearly from shareware or freeware programs, but need to be manually entered into the database and arent tracked by a :10 hour. + And emails sent by the billable employees in response to getting four reminders to submit their time.

Clearly, AP&H lawyers like doing lawyerly things and arent happy with the administrative part of their jobs. The time-tracking and reporting issues came up during a quarterly meeting among executives. Partners were trying to award bonuses to top performers; HR was ascertaining comp days for over-achievers; and the COO was escalating the accounting teams biggest frustrationtracking billable hours and invoicing accurately.

LIGHTSWITCH In ACTIOn

P2

USE SCEnARIO // LAW FIRM

The next day, the IT director, Mark, got an earful from the department headsand each wanted their needs met by the end of the quarter. Mark tasked his teamJosh and Shauna, both IT support techniciansto get it done. He outlined the parameters that had been assigned to him as must-haves in the solution. The new time-tracking tool would need to: + Be intuitive and really, really easy to use. + Track time both by a user-initiated stopwatch or via manual entry, and round to ten-minute increments. + Offer drop-down fields for client, task type, billability, and descriptions.

+ Allow for double-billing. + Standardize the data and generate utilization reports for HR, management, and executives, then export the data to Excel for additional analysis. + Flag time that doesnt look rightask user to confirm accurate time when machine has been idle for more than 30 minutes. + Allow partners to assign budgeted hours to team or project and alert partner when budget is 75% consumed and every 5% increment thereafter. The team had six weeks to get the job doneand still had their day-to-day responsibilities to take care of. First, they tried to find suitable off-the-shelf software

+ Allow for partners to approve paralegal and associate timesheets, if needed. + Include functionality for creating and submitting expense reports. + Pull client data from SharePoint when new clients are added to the system, populating the time-tracking program. + Send individual users weekly or daily reminders, depending on personal preference (or how delinquent they typically are).

that could be customized to meet the requirements. Everything they found was either too simple or too robust (meaning too expensive). But they didnt have timeor the experienceto build it entirely from scratch. Thats when they came across Microsoft Visual Studio LightSwitch 2011. Josh and Shauna were more experienced in installing and updating software than developing it, but Josh coded the firms website and eNewsletter, and Shauna had built a few Excel spreadsheets with macros for some of the lawyers throughout the firm. That would pretty much be enough to get to work.

Clearly, this is going to be the best time tracking program EVER.

LIGHTSWITCH In ACTIOn

P3

USE SCEnARIO // LAW FIRM

LightSwitch was the perfect answer.


The foundation was already built, and they could fit together the required component parts to get a working prototype up and running quickly. Then, they could customize the parts essential for the business needs. Josh installs the trial version on his machine, and powers it up. He creates a new project in Visual Basic, and the product guides them to start defining the data.

He starts defining the properties associated with each employee: + FirstName, LastName + EmployeeID + Email + Position/Title, constrained by choice list (Associate, Partner, Paralegal, Admin) + UserName

The Designer is used to create new tables.

Start your project using Visual Basic or Visual C#whichever youre most comfortable with.

Once he sets up similar tables for Clients and Projects, he wants to assign multiple projects to each client as needed, as well as assigning a team to each project. He is going to need another table

He identifies the first set of things he needs to track: Employee, Client, Project, and TimeEntry.

that would track additional information with the employee-to-client relationships, including specific hourly rates. Once he builds this table, EmployeeProject, he begins adding relationships with just a couple of clicks.

LIGHTSWITCH In ACTIOn

P4

USE SCEnARIO // LAW FIRM

Each project will be associated with a client; each EmployeeProject has a relationship to a project; and each EmployeeProject will have TimeEntries attached to it. Once the team is assigned to a project, relationships will be added so employees could only bill to projects they are assigned to.

She defines the parameters of the screen: + Drop down to select project + Enter start time and end time + Default to current time period (1-15, 16-31), which she creates by adding a bit of custom code.

Adding relationships connects multiple tables.

Josh has some service tickets to catch up on, so he hands the project over to Shauna to add screens. She starts with the timecard entry screenthe one that employees would be using every day. She opens up a new data screen and adds two data elements: TimeCard and TimeCardEntry.
Configure the screen template to meet your needs.

She decides that it would be useful to have a screen where managers can review and approve timecards for their team. This will also be a handy screen to help team leads keep track of project burn.

Use built-in templates to create screens for common tasks.

LIGHTSWITCH In ACTIOn

P5

USE SCEnARIO // LAW FIRM

Shauna quickly builds this screen and tries it out. She sees that she needs to add a query.

Now, how are managers going to know if their staff is keeping up with their timesheets? Shauna thinks two things should happen: Individual employees should be able to submit each timesheet to their manager for approval, and managers should be alerted when they log in if there are timesheets awaiting approval. Thisll be a snap. She updates the Save button to say Submit Timecard. (Lawyers at AP&H tend to be kinda picky, so she wants the button to be really specific about what its for.)

The screen is completed, but it would benefit from additional data.

She right-clicks the Project table and adds a query to filter projects by manager. She then selects the TimeEntry table and adds a query to filter the time entries by project so managers will only see timecards for their direct reports. She changes the screen to now use the query, updates it, and the tool is up and running.
Adding a submit timecard button is simple.

LIGHTSWITCH In ACTIOn

P6

USE SCEnARIO // LAW FIRM

Hrm. One thing Shauna notices when shes testing it out is that people can submit timecards with negative hours. Thats not good. She adds code to make sure the end time is after the start time. Then, Shauna needs to set permission levels for managers, allowing them to approve timecards and in turn, notifying the accounting team as to what hours are billable to the client. The easiest, most efficient way to make this happen is to create a new PendingTimeCards screen. This new screen will display only the timecards awaiting approval for client projects the logged-in manager is responsible for. Shauna adds a new screen and uses the SearchByManager query on TimeCards she previously created to populate the screen. Once she has the screen up, she goes into the Access Control settings for the project and creates a new Permission token, TimeCardApprovers. She then selects the PendingTimeCards screen and adds code to the CanView method to check if the user has TimeCardApprover permissions before allowing the screen to be displayed.

Users are assigned a permission token, which differentiates the people who can approve timesheets.

Authorization levels allow users with the right permission levels to see the appropriate screens.

LIGHTSWITCH In ACTIOn

P7

USE SCEnARIO // LAW FIRM

Shauna runs the application to test the new functionality. As expected, the new PendingTimeCards screen doesnt appear in her navigation menushe hasnt granted herself the permission. She stops the application, goes back into the Access Control setting for the project, and grants herself the TimeCardApprover permission for debugging. She refreshes the tool, sees the updated Pending TimeCards screen, and it works just as expected. When an employee submits a timecard, the tool will automatically send a notification email to the appropriate manager that a timecard is awaiting approval. If it hasnt been approved within 72 hours, another reminder is sent. Every time a manager logs in to the system, theyll see which timecards need to be approved, and which employees are slacking and still need to complete one. Jumping back to the TimeCardEntry screen, Shauna adds a button, ApproveTimeCard, which will mark the timecard as approved to forward the information to Accounting and HR.

After a week of chipping away at the program in their spare time, Shauna and Josh have about 85% of it up and running. But they get stuck on the stopwatch feature. Time for a chat with the boss.

LIGHTSWITCH In ACTIOn

P8

USE SCEnARIO // LAW FIRM

Mark, the IT director, is stumped too. They could hire a freelancer to write a custom bit for them, but that would be a hassle. Before searching through a bunch of contractor rsums, he pulls up LightSwitch and opens up the Extension Manager. Maybe someone already solved this and was sharing it with the community. He searches for stopwatch. Score! A partner had already built one and it was available for twenty bucksa small price for such a major feature. He clicks through to the partners website, buys it, then downloads and installs it.

Mark restarts LightSwitch and goes back into the properties of the project. Now that he sees the StopWatch extension in the list of available extensions, he includes it in the project. To incorporate the stopwatch, Mark needs to add a custom control to the TimeCardEntry screen. He dashes off a bit of custom code to connect it to the StartTime/EndTime fields. Mark, Josh, and Shauna try it out for a few days and dial in a couple of the screens. The guys think its ready to go, but before they deploy, Shauna wants to gussy up the look a bit. She knows that the lawyers will be more receptive to using a new tool if it looks slick. They love their new Windows Phones, so theyre going to want something that looks more consumer-y. She pops into the Extension Manager and searches for shells. Based on the previews, there are a few that look pretty good.

The Extension Manager includes loads of free or affordable useful add-ons developed by both Microsoft and third-party partners.

LIGHTSWITCH In ACTIOn

P9

USE SCEnARIO // LAW FIRM

Shauna selects a metro-inspired theme and enables it for the project. She goes into the Properties, selects it from the list of available Themes, and just like that, the app looks totally differentbut still works just the same.

Theyre ready to publish. Since Marks the boss, he gets to push the button. Mark decides to keep it as a desktop application, since they already have an IIS server in house. So he simply specifies the server location, selects the database server, and clicks publish. They fire off an email to the entire company with a link to download and install the new software. Even though it takes a week to roll it out across the whole company, everything goes smoothly. From the admins to the executives, everyone finds it really easy to use. Its simple enough to get the hang of the first time around, without training, and it has just enough features but not too manyto get the job done.

The application is functionally complete, but it could look a bit snazzier.

There are plenty of themes to choose from in the Extension Manager to spruce up the application without being a designer.

LIGHTSWITCH In ACTIOn

P 10

THE FInAL LIGHTSWITCH SOLUTIOn

Basically, its exactly what the firm needed.


The executive team was thrilled with the solution. It was slicker than they expected from the IT team. And since the hard cost was so low, the firm had a positive return on the investment within a single week of getting more accurate billings reporting. While accounting still had to nag folks in person from time to time, and tracking time is still kind of tedious, the solution removed a lot of tension between departments and actually made it quite a bit easier to get better insight into billingsand to get invoicing turned around within hours instead of days.

LIGHTSWITCH In ACTIOn

P 11

USE SCEnARIO // OPTOMETRIST

COMPANY: Litware

A small vision clinic sets their sights on better service.


Litware, a four-doctor optometrist practice, has about 3,000 patients they see each year. Business is steady and theyve just gotten a new office manager, Zach, to manage the receptionist and the day-to-day operations of the practice. After a month on the job, Zach has identified a number of improvements that could be made to the business. First off, all the patients are being tracked using index cards. In a recipe box. Clearly a contact database needs to be drawn up that can store billing, prescription, referral, and insurance information, along with a history of past appointments. Ideally, this could be attached to the email system to send reminders to schedule annual examinations.

Inventory and Insurance:

INDUSTRY: Optometrist COMPANY SIZE: 8 ISSUE: Outdated admin systems

LIGHTSWITCH In ACTIOn

P 12

USE SCEnARIO // OPTOMETRIST

Zach also saw that the frame inventory was very well managed by the spectacle sales manager, Eva. She kept a detailed inventory in Excel, which made reordering frames easy. She also tracked which styles and brands were most popular, managed the pricing, determined when to discount frames, and knew that they could turn the entire frame wall at least four times a year.

Fabrikam sent over one of their consultants, Jeff, to meet with the Litware administrative team to get a sense of what they needed. After 90 minutes discussing the details, Jeff and Zach had a pretty detailed list. Jeff proposed creating two custom software solutions one to track and manage client and insurance data, and a separate system to monitor contact lens inventory. The trick was to design them both within budgetJeff knew hed want to use LightSwitch to keep the solution affordable. Once they agreed on a price, Jeff got to work. Jeff is familiar with LightSwitch, so he fires it up and goes straight to the Extension Manager to search for an existing template for the client tracking system. Success! He pulls it down and starts a new project with it. He runs it to see what hes working with.

On the other hand, Litware had absolutely no system for managing the contact lens inventory.
They had over 30 brands on hand, and once a month the receptionist was tasked with sorting through them and ordering more if any given lens had fewer than three in stock. This included both the lenses that were resold to patients at a profit, as well as those the doctors would give out to patients as samples for fit and comfort. If a lens was out of stock, the doctors would frequently change their initial recommendation to a secondary choice. Not great for the patients. Meanwhile, the office had $3,000 in contact lens inventory, but no idea if it was making a profit on it. Zach brought these two key opportunities up with the doctors, and proposed bringing in a computer consultant to set up the customer database properly and build an Excel spreadsheet with Pivot Tables. They were game as long as it didnt get too expensive. After a little online research, Zach found Fabrikam (yup, the very firm who crafted Cohos solution in the Visual Studio 2010 Reviewers Guide), and called them up.

Dont start entirely from scratchhead to the Extension Manager to download a project template.

LIGHTSWITCH In ACTIOn

P 13

USE SCEnARIO // OPTOMETRIST

FPO

Its got the basics: First Name, Last Name, Phone, Phone 2, Email (optional), Address, Employer, and Employer Address. He sees, however, that fields for insurance informationincluding provider, policy number, group number, and Social Security numberare missing. He creates a new table for the insurance information, then establishes a relationship between the insurance and client tables. He implements a custom validation rule to ensure the Social Security number is the right length and the right format.

Add validation to ensure consistent, accurate data entry.

Based on health care regulations and company policy, some employees would have limited access to patients personal data, including Social Security numbers. Zach and the bookkeeper would need to see Social Security numbers for processing insurance, but the doctors, Eva, and the receptionist wouldnt need access. Jeff goes into the Application Properties and selects the Access Control tab. He creates a new permission: CanViewSSN for Zach and the bookkeeper.

Its simple to tweak the Client Table with custom fields, like Social Security number.

Build in various permission levels to make sure sensitive information stays private.

LIGHTSWITCH In ACTIOn

P 14

USE SCEnARIO // OPTOMETRIST

He returns to the customer table and adds code to the customers CanRead Method. Hell add users later on before deploying the application.

If a user doesnt have permission to view Social Security numbers, the data is hidden from them.

Its a snap to create organized, customized product tables to manage inventory.

Hes psychedthis has only taken about 15 minutes so far. Time to move on to the contact lens inventory solution. He builds out the product table first, then adds suppliers. The Product Table includes: + Brand Name + Product Name + SKU + Lens Strength + Hard/Soft + Daily/Monthly Disposable + Quantity per pack + Toric/Non-Toric + Special Notes

Next he builds the Supplier Table. Thats easy, too. The Supplier information includes: + Company Name + Address + Contact Person + Phone + Website Now he can add the relationship before building out the end-user screens. Using the Add Relationship from the action bar in LightSwitch, he specifies that the Supplier can have one or more Products and that every Product must have a Supplier.

LIGHTSWITCH In ACTIOn

P 15

USE SCEnARIO // OPTOMETRIST

Creating a grid screen for the inventory will make it easy for users to understand.

Once products are entered, adding a relationship connects each item to its supplier.

Jeff is ready to work on the front end of the application and gets to work adding the screens. To allow users to manage and maintain the inventory, he builds a simple grid screen so the doctors and office manager can see at a glance whats currently in stock. They can drill into the details from here if needed. For convenience, he adds a custom validation rule so items turn red when in-stock inventory drops below 10.
Users can drill into details when they need to manage the stock.

LIGHTSWITCH In ACTIOn

P 16

USE SCEnARIO // OPTOMETRIST

To minimize the hassle of counting each lens as it comes in, Jeff orders Litware a barcode scanner. (Fabrikams making a good profit on this job using LightSwitch, so hes not worried about the $30 expense.)
The Query Designer steps you through developing queries and setting parameters.

He adds another screen so when Zach or the receptionist scans a SKU code on a lens, it pulls up the product details and allows him to adjust the inventory. Adding a query for ProductBySKUCode, he builds a search screen based on the query results from available data. When an end user scans an item, the system will retrieve the product that matches that SKU.

The new query captures input from the barcode reader and searches the inventory.

LIGHTSWITCH In ACTIOn

P 17

USE SCEnARIO // OPTOMETRIST

If the SKU doesnt exist in the current inventory, Jeff wants to prompt the user to add a new product. He builds a screen and writes some code to handle this.

A quick checklist within the application makes sure everything gets captured on each customer invoice.

If the query doesnt return results, you can prompt the user to add a new product.

The invoice is related to both customer and products. Jeff implements logic so when Contact Lenses is selected, it prompts the user to scan the SKU and then automatically subtracts it from inventory. Litware currently handles all their invoicing in Microsoft Word,

For tracking inventory being sold and coming OUT of the system, Jeff needs to include a simple POS system that will generate customer invoices on the spot. Thisll be a snap. He creates the new code, tables, and screens to support invoicing, then adds a button to the customer screen: Create New Invoice. It doesnt make sense to invoice separately for contact lenses and frames, so he adds the core services the office offers in a screen, allowing the receptionist to check off the appropriate fields: + Routine Exam [Amount fixed] + Follow-up Exam [Amount open] + Special Treatment [Amount open] + Contact Lenses + Frames + Glasses Lenses

and Jeff doesnt really see a need to force too much change on the little company. To keep the invoicing experience consistent with their current practices, he just adds a button to the invoice screen Generate Invoice, which will open a Word template populated with the invoice values. This just takes a bit of code to get it working the way hed like.

LIGHTSWITCH In ACTIOn

P 18

USE SCEnARIO // OPTOMETRIST

Hes ready to head back to the Litware office. He sets up a time with Zach for the next weekhe doesnt want to let on that it took him less than two days to put the application together for them. Once hes in the local Litware environment, he deploys the app to their Windows Small Business Server 2011. First he installs it on the receptionists machine. Since its the first time the application is running on a local machine, hell need to set up the user accounts. He logs in to the administrator account and heads to the user maintenance part of the application to set up the profiles and permissions. Adding a new user is totally straightforward, just as youd expect. Jeff simply defines the role (receptionist) and gives her a log-in name and password. Since hed already established that the default setting for viewing Social Security numbers would be no, hell only have to tweak that permission for Zach and the bookkeeper.
The LightSwitch application now generates invoices in Microsoft Word with no effort from the end user.

A bit of Visual Basic code creates detailed and easy-to-read customer invoices.

LIGHTSWITCH In ACTIOn

P 19

THE FInAL LIGHTSWITCH SOLUTIOn

Litwares new client solution was ready to go.


He installed it on the rest of their machines within an hour and gave them a quick 30-minute tutorial on using it. Since it was so intuitive, the team got the hang of it right away. Slogging through the recipe box of patient cards would be time-consuming, but once all the data was entered, the new application felt like magic, and the clinic was getting patients checked in and out faster than ever. The upshot for Jeff? His bosss boss saw the sweet profit on the little project, and gave him a couple of comp days as a reward for being so efficient with LightSwitch.

LIGHTSWITCH In ACTIOn

P 20

USE SCEnARIO // TOY COMPAnY

COMPANY: Tailspin Toys

Planning a product launch:

INDUSTRY: Toy Company COMPANY SIZE: 1,200 ISSUE: Managing a product launch

Being organized at a toy company without being a killjoy.


Boris had what his buddies thought was the best job everfor the past six years, he managed releases at a video game company. But he always had a soft spot for more traditional toys. . . ones you could get your hands on and play with. So when a headhunter called him about a gig at Tailspin Toys as a project manager, he jumped on it. Tailspin was a perfect fit for his passion. They created puzzle, card, and strategy games. The company had around 1,200 employees in six offices across the globe. From ideation to creation, they handled every step of designing and developing toys (without actually running any factories). His first assignment? Bringing a new puzzle game to market. Code name Amazeballs, this game was a 3D multi-marble maze, and it was super cool.

LIGHTSWITCH In ACTIOn

P 21

USE SCEnARIO // TOY COMPAnY

Boris had plenty of experience in wrangling disparate teams and managing schedules with overlapping dependencies. He was used to slipping release dates and working with distribution channels to make sure he still had shelf space. What he wasnt prepared for in his new role was all the manufacturing, testing, and certification that building an actual toy requires. But he wasnt alone. There was a four-person team in place to bring Amazeballs to market, and they had another 18 weeks to pull it off in time for the holidays.

Geoffs marketing content lived on a SharePoint 2010 site where all the stakeholders could access and update at willbut version control was a mess and the packaging still wasnt locked. The lead designer and engineer had used Microsoft Project to manage the workflow up through the approved prototyping, and handed that off to Shanae to finish up the testing and certification. So they had a timeline in place, which only accounted for the best-case scenario of sailing through the process in six weeks. Boris was nervous.

Each person on the team had a different focus.


Lyssa handled the overall budget; Shanae was covering the testing and certifications; Geoff was on marketing; and Boris was tasked with packaging and distribution. The team had a couple of check-in meetings each week, and while it was clear everyone was collaborating, everyone left the meetings with their own agenda in mind. And no one really had a handle on the bigger picture. Lyssas budget was 100% on trackwhich is always a red flag. She tracked everything in Excel, and was relying on estimates to drive the budget without having much visibility into the actual spend.

Clearly, this product launch could go off the rails without any warning. Potential risks and issues were being collected as little more than meeting notes in Excel. Without consolidating all these workstreams and data, the team wouldnt really know what they were up against to hit their launch date. And missing the holidays would be a major fail. Near the end of one of their weekly touch-base meetings, Boris cleared his throat and asked if itd be okay to consolidate everyones contributions into a single application to track their progress. The gang was a little skepticalhe was supposed to be working on packaging and distribution, after allbut once they heard his idea, they agreed.

LIGHTSWITCH In ACTIOn

P 22

USE SCEnARIO // TOY COMPAnY

He proposed whipping up a quick application that would give them an updated daily dashboard with next-step tasks and dependencies that would carry them to launch. It would pull key information from Project Server and SharePoint, so everyone could still work in the programs they were most comfortable in. But this extra tool would help level up any risks and give people insight into others progress. The team spent 20 minutes brainstorming and whiteboarding their needs. The AmazeApp would need to: + Map estimates and actuals against the budget. + Flag critical issues in the testing process and tie in with the engineers resource management to make sure someone is available to tweak the product as needed. On the bus ride home that night, Boris jots down + Track all content deliverables and filter on deadlines (whats due this week, this month, etc.). + Track open issues and risks, including those found in the testing process. + Track budget. While it sounded like a full-time job to some folks in the room, Boris assured everyone it could be done by the end of the week if he skipped the next hour-long check-in meeting. He had a trick up his sleevein his former job, hed seen developers using LightSwitch to build custom applications and he knew a bit about development himself. AmazeApp would also have to: + Be available from anyones PC, including some non-Windows machines. + Have basic authentication: user/pass. some additional criteria for the solution.

He snapped a pic of the whiteboard notes on his cell phone and was amped to make some progress.

LIGHTSWITCH In ACTIOn

P 23

USE SCEnARIO // TOY COMPAnY

Skipping the scrum two days later, Boris closes his door and gets to work. He downloads and installs LightSwitch hell just expense it laterand gets to work. Picking the programming language is easy. Since he is tapping into local data sources and is most concerned about creating intuitive visualizations, he goes with C#. (It didnt hurt that hed seen lots of C# code samples online.) He starts by pulling in data from the existing data source. Everything lives in SharePoint currently, so thats the only one hell have to tap into. Then, its a matter of adding code to handle the overdueness of a given work item.

A screen for milestones is built with the Screen Designer and a couple of queries to populate it.

LightSwitch applications can easily connect to SharePoint 2010 data sources. A bit of code is added to track and manage the status of the milestones.

Then he digs in to create the screens hell need, starting with a dashboard using the List and Details screen template that shows the status of each taskbudget vs. actuals and critical milestones in the timeline. He generates queries to populate this screen.

Overall, the solution is clean and simple, and since it isnt too specific to Amazeballs, it could be repurposed for other launches.

LIGHTSWITCH In ACTIOn

P 24

USE SCEnARIO // TOY COMPAnY

Total time to get AmazeApp up and running? 2.5 hours.


Three days after he came up with the idea, Boris is ready to show AmazeApp to the team. It lived up to its nameit was pretty much what they needed to get their game on the shelves, without being too fancy or cumbersome. It just worked. And then, Tailspin got word that they didnt pass one of the critical steps in the testing process. One of the edges on the toy was deemed too sharp, and theyd have to modify the shape to reduce their risk. Shanae got the designers and engineers to work, pronto. And Boris was also alerted by email about the issue automaticallyBoris had added some custom code to send an email alert whenever a new issue was entered into AmazeApp. The packaging would have to be modified to accommodate the new design changes.

Of course, no one wants to release a potentially dangerous toy.

Code to send email notifications.

LIGHTSWITCH In ACTIOn

P 25

USE SCEnARIO // TOY COMPAnY

The issue was resolved quickly, since everyone was alerted right away and it got prioritized in the issues list. The toy was safe and the project back on schedule. Amazeballs hit the shelves just after Thanksgiving, beating the business-critical holiday deadline. It was a huge success parents and kids loved itbut even more important to Boris, his AmazeApp solution caught the eye of other project managers at Tailspin. Seeing the new guy pull off a launch within 18 weeks of starting was impressive, and other groups wanted to get their own AmazeApps. Boris didnt have the bandwidth (or

the interest, frankly) to work on every product launch, so he handed it off to the IT/Engineering department to tweak it as needed. No problem. The IT department regularly used Visual Studio 2010 Ultimate, and opened up the LightSwitch application without a problem. Since it was built on sound architecture, they didnt have any clean-up work to do. Instead, they were able to tweak it using the tools they were more comfortable with, while using more advanced tooling and code to tailor the solution for other groups.

LIGHTSWITCH In ACTIOn

P 26

THE FInAL LIGHTSWITCH SOLUTIOn

Within a couple of months, several teams were communicating better and getting more done each day all because Boris raised his hand, skipped a couple of meetings, and spent a few hours solving a problem.

LIGHTSWITCH In ACTIOn

P 27

USE SCEnARIO // RESTAURAnT MAInTEnAnCE

COMPANY: Contoso

Maintaining a high:

INDUSTRY: Restaurant Maintenance COMPANY SIZE: 260 ISSUE: Field management

Making sure people get their buzz by keeping espresso machines running smoothly.
Now that the country is hooked on coffee, technology is making it even easier to get the fix we need in the morning. Espresso machines are smarter than ever, and they need constant attention to perform consistently. That takes some serious upkeep to dial in the perfect pull. Enter Contoso, a subsidiary of a national restaurant maintenance company, which focuses on keeping cafe equipment finely tuned. They just landed a HUGE regional account with Fourth Coffee and are now in charge of keeping all the chains 284 locations in the Pacific Northwest running smoothly. Its a great contract with an opportunity to expand into other regions. And Gianna is in charge of ensuring it all runs smoothly.

LIGHTSWITCH In ACTIOn

P 28

USE SCEnARIO // RESTAURAnT MAInTEnAnCE

Shes determined to impress her boss and prove that Contoso can handle the Fourth Coffee accountand do it efficiently.

Gianna is the customer service manager for the area and has 29 field reps at her disposal to handle the new account. Fourth Coffee is incredibly particular about their needs, so while the field reps are at a weeklong training seminar, she needs to come up with a plan to manage both the ongoing maintenance and day-to-day issues that might come up. From handling smaller accounts, shes already used to Contosos internal resource management tool to make sure she has a tech servicing her clients. The application was pretty good about managing the technician locations and service requests, but trying to scale it brings up some challenges.

Her current solution is falling short in a number of ways: + Theres no way to easily plan and manage multiple client visits by geography. + Each locations maintenance needs vary based on customer traffic. Busier shops require more frequent visitssome demand 2 visits or more a week. This frequency is much higher than their typical restaurant contracts. + The contract outlined very specific service-level agreements, and Contoso has committed to a 2-hour or less response time to emergencies. + Contoso is new to this size contract, so management is asking for detailed analytics about how the field team is performing to ensure theyre profitable.

LIGHTSWITCH In ACTIOn

P 29

USE SCEnARIO // RESTAURAnT MAInTEnAnCE

All in all, this job is going to require more data and analysisand more quick-changes in the field than Contoso is set up to handle. Gianna is going to need more than her smarts to keep tabs on incoming service requests, regularly scheduled maintenance, and the technicians working in the field. She taps her go-to IT guy, Stefan, and asks how he can help. After outlining her situation for a half hour, he realizes that he cant just tweak the current management tools in placetheyre going to need something special for Fourth Coffee, but itll have to tie in to some of the current databases already set up. Stef promises to do some research, and as soon as he hears about LightSwitch, he knows hes found an answer. LightSwitch is the perfect tool to get something up and running in less than a week, plus it can tap into in-house databases, and be used on the netbooks that technicians already have. He downloads and installs LightSwitch in 15 minutes, then gets to work on a quick prototype of the application he thinks will work for Gianna.

First, he picks up the existing resource-management application, along with the database that hosts the technician information, service requests, and GPS technician transponder data. After he creates a new LightSwitch application, he connects it to the existing data on their in-house SQL Server. The old in-house application will still be up and running for the rest of the company. Stefans new application for Gianna will simply piggyback onto its database, pick up the GPS coordinates from the transponder data, and add some layers of customization that Gianna needs.

LIGHTSWITCH In ACTIOn

P 30

USE SCEnARIO // RESTAURAnT MAInTEnAnCE

Fourth Coffee is growing like mad in the region. Theyre scheduled to open another 2030 stores by the end of the quarter. Instead of asking Gianna to enter all the store information manually (which would be tedious and more prone to error), Stefan decides to tap into Fourth Coffees store locator database. The database is accessible on Fourth Coffees website, so he uses WCF RIA Services to draw the data into the application.

By connecting the two databases in his LightSwitch application, he can attach address information to incoming service requests automatically. Stefan writes a query that will pull in the address and phone numbers and attach it to the service request.

A simple query will automatically attach addresses and phone numbers to each service request.

Attaching to a WCF RIA Service lets you pull in data from a web source.

Gianna wants to be able to easily assign the closest technician to incoming emergency requests.

Once he reviews the store information, hes psyched to see that the data includes store numbers, as well as phone numbers and addresses. Service requests will be submitted by store number, and it seems silly to ask the store managers to enter their physical location every time.

The best way to do it? A map overlay.

LIGHTSWITCH In ACTIOn

P 31

USE SCEnARIO // RESTAURAnT MAInTEnAnCE

Hes in luck. After searching the Extension Manager, Stefan finds a Bing extension ready to go. He downloads it and activates it for this project. Its perfectnot only is his map problem solved, Gianna can use it for estimating travel time between locations as well. The stores are easy to map. Its just another query to write. The program also needs to use GPS information from transponders in the service trucks. Since this is already being handled with the core on-premises app, its another quick query to pull up the GPS locations. He uses the query designer and a bit of code to tie the GPS results to the Bing Map extension.
And a little more code is needed to pull it all together.

A real-time visualization brings together multiple data sources, making it easy for the end user to understand.

Gianna now has a real-time visualization for which techs are closest to which stores. To dispatch a technician
Another query is added to retrieve GPS data.

to a location with an emergency, she can simply assign them the service request and let them know the old-fashioned waywith a phone call. The technicians, on the other hand, are going to need to know each morning where theyre scheduled to be. Theyre all equipped with laptops in the field, so its just a matter of creating personalized to-do lists for them.

LIGHTSWITCH In ACTIOn

P 32

USE SCEnARIO // RESTAURAnT MAInTEnAnCE

He creates a technician dashboard, and adds some simple user/ password authentication that will deliver a personalized task list. Since Gianna is stressing out about the level of reporting shell need to do, Stefan adds a layer of functionality that will keep an eye on technicians. For each service request he creates a button, Task Complete, which then submits the task done, complete with a time stamp.

Each technician can pull up a personal to-do list.

After some testing and final tweaking, its on to deployment. Stefan


A Task Complete button is added to keep the real-time status accurate and up to date.

simply publishes the application to existing Contoso servers. He sends the link to Gianna so she can install it on her machine

The Task Complete button also prompts the screen to refresh, showing him the next assignment on his to-do list. The technician can see where hes headed next and how long itll take to get there. Bonus? Since the technicians will know Gianna has the same information, they cant dilly-dally between service calls. This will definitely improve efficiencies across the field.

and play around with it. Within a half hour, she discovers that it does everything she asked forand more. (Stefan is SO getting a six-pack for his great work.)

A couple more things and the application will be ready to go. Gianna will need to slice and dice the data a few different ways, especially early on when shes trying to figure out what the client will want. Stefan figures that shes savvy enough in Excel to manipulate the numbers, so he adds a button to Giannas dashboard. Theres a built-in function for exporting to Excel, so it only takes a second. Its the first thing shell click in the morning when she comes in.

Users can quickly export application data to Excel, where they can slice and dice it in any way theyd like.

LIGHTSWITCH In ACTIOn

P 33

THE FInAL LIGHTSWITCH SOLUTIOn

And its just in time, too. Its the day before the technician training is finished, and she arranges to take over their lunch hour. She shows up with pizza, and walks the technicians through the new program. Within 30 minutes, theyve all got the hang of it. Its super-intuitive and a huge improvement over the intranet theyd been using to access service requests in the past. Plus, they appreciate how proactive the companyand especially Giannahas been in on-boarding the new client.

A few months later, Gianna has clearly shown big savings, in both money and time, to her boss. Fourth Coffee is thrilled with the level of service theyre getting. And Contoso is ready for the next big client wholl need fast response times.

LIGHTSWITCH In ACTIOn

P 34

TOP FEATURES

The best things about Microsoft Visual Studio LightSwitch 2011


You can build business applications fast.
With LightSwitch, you can create custom applications that rival off-the-shelf solutions. And no, you dont have to be a hard-core developer. By fast, were talking hours or daysnot months. You get a head start with built-in, pre-configured screen templates that give your application a familiar look and feel. All you have to do is define the data sources and screens, while LightSwitch handles the behind-the-scenes plumbing. LightSwitch gives you what you might call a kit of parts. The LightSwitch runtime manages most of the core functionality you need for routine application tasks like input validation, screen rendering, and exporting to Excel. Plus, you get easy tools that help you through the process of building your solution. Since you dont want to force users out of their comfort zone, you can always flip the data back into their hands by exporting it to Microsoft Office Excel for reporting and sharing. This lets your users slice and dice the data to make it work best for them, while wrangling some key business demands of getting the job done. To make it all look professional, you can pull down themes that will skin your application to suit the style of your business. (Or design your own for a fully branded experience.)

Its all about data and screens. (Again, build it fast and move on.)
When youre building a LightSwitch application, you can attach it to existing data sources, including Microsoft SQL ServerTM, Microsoft SQL AzureTM, and third-party databases. Wizards will walk you through designing screens that relay the information to end users. You get to define buttons, actions, personalized dashboardsall that good stuff.

MICROSOFT VISUAL STUDIO LIGHTSWITCH 2011 > TOP FEATURES

P 35

TOP FEATURES

Tweak it to meet your business logic.


If youre savvy on writing custom code, go for it! Use Visual Basic or Visual C# to tweak your application. LightSwitch was designed for people who arent afraid of writing code occasionally (or doing a search online to find a solution). When youre starting an application from scratch, just pick between Visual Basic and Visual C#whichever you prefer.

During this final step, youll be able to specify where your custom data residesin a local database, an existing SQL Server, or on SQL Azure. No more worrying about what to do when youve finished your app. Its a snap to get it into the hands of your users.

Theyll love it. Let it grow.


A great LightSwitch application is designed to solve a unique, practical business need. Once people see it, theyll be inspired to extend it to meet their needs. LightSwitch gives you awesome capabilities to let the core application flourish and thrive. While its hard to let go sometimes, we understand that other peopleincluding professional developersmight want to pick up your application and extend it. Could be for future, unpredictable needs, or it could be that youve started solving a bigger business need that would be valued in other parts of your company. LightSwitch was designed to be scalable, and can be picked up by any Visual Studio developer to further customize it. Or you can tap into our partner network and pick up extensions that we didnt think of yet, including templates, data sources, shells, themes, business
data types, and custom controls.

Deploy to the desktop, Web, or cloud. Easy-peasy.


You can deploy to the desktop, browser, or cloud to get your application out there. No tedious installation process. LightSwitch includes a Publishing Wizard that helps you package and deploy your finished LightSwitch application. You can easily publish your app the way it best suits your needs: + A stand-alone desktop application + A desktop application connected to a back-end service on Windows Server or Windows Azure + A browser-based Web application hosted on Windows Server or Windows Azure

MICROSOFT VISUAL STUDIO LIGHTSWITCH 2011 > TOP FEATURES

P 36

PRODUCT COMPARISON

When is LightSwitch the right fit?


If youve made it this far through this guide, youll now know that LightSwitch is perfect for quickly developing business applications that are essentially data and screens with a touch of custom code. And since LightSwitch applications are built upon best-practices architecture, they can always scale up to get hardcore customizations using Visual Studio Professional and above. But there are certainly cases when youll want to start from scratch in Visual Studio Professional. LightSwitch isnt the right tool, for example, for making Web sites, video games, Windows Phone apps, or add-ins for Office applications. It IS well-designed for savvy information workers, IT pros, and anyone who is ready to take on building an application without getting a CS degree. Use this chart to double-check if you should power up LightSwitch or Visual Studio Professional to bring your next idea to life.

LIGHTSWITCH VS. VISUAL STUDIO PROFESSIOnAL Visual Studio LightSwitch LightSwitch Runtime Visual Studio Project System IntelliSense Team Explorer (Team Foundation Server integration) LIGHTSWITCH APPLICATIOn DEVELOPMEnT Predefined Screen Templates Application Skinning and Theming Data Entity Designer Business-oriented Data Types (e.g. EmailAddress, PhoneNumber, etc) Automatic Data Input Validation Windows Azure Deployment SQL Azure Support Yes Yes Yes Yes Yes Yes Yes Yes1 Yes1 Yes1 Yes1 Yes1 Yes1 Yes Yes Yes Yes Yes2 Visual Studio Professional Yes1 Yes Yes Yes2

MICROSOFT VISUAL STUDIO LIGHTSWITCH 2011 > PRODUCT COMPARISOn

P 37

PRODUCT COMPARISON

LAnGUAGES, EDITORS, & COMPILERS Visual Studio LightSwitch Visual Basic Visual C# Visual C++ Visual F# HTML/JavaScript Silverlight/XAML Editor PROJECT TYPES LightSwitch Application ASP.NET ASP.NET AJAX ASP.NET MVC Console Application Database Projects Office Applications & Add-ins Setup Projects SharePoint Applications & WebParts Test Projects Visual Studio Add-ins Windows Forms Windows Phone
1 For LightSwitch application development, requires Visual Studio LightSwitch and Visual Studio Professional to both be installed. 2 Requires a Team Foundation Server Client Access License (CAL).

Visual Studio Professional Yes Yes Yes Yes Yes Yes Yes1 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes

Yes Yes

Yes

WCF WPF XNA Games

MICROSOFT VISUAL STUDIO LIGHTSWITCH 2011 > PRODUCT COMPARISOn

P 38

SYSTEM REQUIREMENTS

System Requirements for Microsoft Visual Studio LightSwitch 2011

Supported Operating Systems: Windows 7; Windows Server 2003 R2 (32-Bit x86); Windows Server 2003 R2 x64 editions; Windows Server 2003 Service Pack 2; Windows Server 2008 R2; Windows Server 2008 Service Pack 2; Windows VistaTM Service Pack 2; Windows XP Service Pack 3 + Windows XP (x86) with Service Pack 3 all editions except Starter Edition + Windows Vista (x86 & x64) with Service Pack 2 all editions except Starter Edition + Windows 7 (x86 and x64) + Windows Server 2003 (x86 & x64) with Service Pack 2 all editions Users will need to install MSXML6 if not already present + Windows Server 2003 R2 (x86 and x64) all editions + Windows Server 2008 (x86 and x64) with Service Pack 2 all editions + Windows Server 2008 R2 (x64) all editions Supported Architectures: + 32-Bit (x86) + 64-Bit (x64) (WOW) Hardware Requirements: + Computer with a 1.6GHz or faster processor + 1024 MB RAM (1.5 GB if running in a virtual machine) + 3 GB of available hard-disk space + 5400 RPM hard drive + DirectX 9 capable video card running at 1024 x 768 (or higher) resolution display

MICROSOFT VISUAL STUDIO LIGHTSWITCH 2011 > SYSTEM REQUIREMEnTS

P 39

GETTING STARTED

Ready to go? Give it a try.


Its easy to get going with LightSwitch. Download the program, install it, and start solving problems! Heres how to get the bits you need.

1. Download a trial version


Confirm that your machine meets the System Requirements on page 39, then go to http://www.microsoft.com/lightswitch to download the Free Trial version of LightSwitch. You can start building your solution and see if its a right fit for your needs.

2. Buy the full version


Within the LightSwitch Trial Version, you can go to Help > Register Visual Studio LightSwitch 2011 to enter purchasing information and get a registration code.

3. Get training, help, and more


While LightSwitch is intuitive and easy to use, youll probably need a little help with customizing your first application. There are tons of resources out there to guide you. Below are some of our current getting-started favorites. Training: http://msdn.microsoft.com/lightswitch Custom code: http://bit.ly/LightSwitchSamples Extensions: http://visualstudiogallery.msdn.microsoft.com

MICROSOFT VISUAL STUDIO LIGHTSWITCH 2011 > GETTInG STARTED

P 40

You might also like