Why LightSwitch and SaaS/LOB can change everything

In “The Lightning Framework for Smart Client”, a book I wrote back in 2006, I alluded to the idea that Smart Client applications would present new possibilities for SaaS applications in the future. Little did I know then how long it would take for this idea to become reality. In the computer age, five years is a very long time. While Steve Jobs was reshaping the smart phone and appliance landscape enabling incredible breakthroughs in consumer level computing, the landscape for business applications changed only incrementally.

During the last five years came a massive shift to cloud computing, but one could argue that very little technological change was needed to enable it. Much of the networking infrastructure, processing power, and software to enable cloud computing either existed in it’s current form or fell far short of anything approaching a decent geometrical progression. There have been isolated exceptions, but for the most part the technology of business computing has been stagnate compared to the consumer side of the house.

We could assume the curve will remain consistent along the business/consumer tracks and the evidence shows this is the most likely scenario. Even in the absence of Steve Jobs, the likelihood that technological improvements in consumer computing will outpace those in the business world is a safe bet. Right now there is at least a perception of a bigger piece of the money pie in the consumer segment and the brightest minds are more likely to be lured in that direction.

Change on the business front may come in a surprising form. The obstacle most difficult to vault in the SaaS/LOB arena is made up of the multitude of platforms an application must run on to be considered a true enterprise solution. IT departments have settled for the ease of deployment offered by web applications and it would be easy to assume that a new technology like HTML5 would solve the platform problem as well. But that assumption runs against the fact that requirements often conflict with the assertion that good enough will do. For applications requiring high data entry speeds, direct hardware interfaces, physical security, always connected data sources, and the absolute best possible graphics experience, kernel level deployments will remain necessary.

HTML5 offers some remediation for many of the issues confronting developers of SaaS/LOB applications, but in the end, selecting a single platform for this type of business development will only fly with the minority of businesses that have limited requirements or an unhealthy reliance on decision makers with a propensity for over simplification.

In the end, the vast majority of SaaS/LOB applications will be deployed as HTML5 applications, but not as the sole application platform. Most applications will be spread across diverse platforms to support a myriad of business requirements. For applications with limited functionality, a single platform may prove to be sufficient and for these platforms, the development environment will be chosen based on supporting that limited functionality in the most cost effective manner. A greater number of applications will require more architectural input and a development platform that enables the greatest reach for the application out-of-the -box.

There are two basic architectural choices for developing these applications. The first choice, and the least attractive, is to create a single prototype application and then port that application to the remaining platforms. In this scenario, the architect will often choose to develop the most complex form of the application (perhaps the desktop version with the greatest number of interdependency’s) and then develop the remaining applications by manually copying functionality to the remaining platforms. For this scenario, a highly skilled development team will be required for each language/platform combination. It may be difficult to develop for multiple platforms in tandem given the complexity of managing these teams. It may also be difficult to recruit highly qualified development talent for the sole purpose of copying an existing application.

In the second, and most desirable scenario, the architect will choose to develop a prototype application using a platform and development environment (a tool) that allows for the greatest flexibility and reuse of assets when automatically generating sister applications for additional platforms. In this scenario, the initial prototype application may act only as a template or type of simulator, with no intention of using the application in a production environment. The tool for developing this prototype application will be required to create a great deal of meta-data that can be used later to generate the remaining variants of the application. It will also need to consume data in an application agnostic manner.

The tool that enables our second scenario, if crafted carefully and improved substantially from version-to-version, could change the face of computing and reverse the trend of technological growth dominated by the consumer market. In this new world, the vast majority of business applications will be developed using the tool or one of many intelligent code generators developed to utilize the meta data it creates. The data consumed by most of these applications will originate from a centrally managed data repository with millions of independent sources, all exposed via RIA Services. Millions of applications will be available to the masses of business users and the organizations they work for, all driven by a single tool, Visual Studio LightSwitch.

*If you would like to join us and participate in this exciting journey, watch this blog for additional information about how our new venture, LotsaApps.com will enable a new level of incredible growth for Software as a Service for line-of-business applications.

 

Print Friendly

Will Microsoft LightSwitch port to HTML5?

With the release of Windows 8 fast approaching and Microsoft’s commitment to using HTML5 as a graphic display platform, the earth gets flatter and flatter from a software development perspective. No doubt, other vendors not already on the HTML5 bandwagon will soon join and before we know it a great number of applications (business or otherwise) will be written or ported to use HTML5 for graphic display.

This distinction “for graphic display” is an important one. Remember that while HTML5 has some fantastic new features, it is not an actual programming language. Rather, it is a markup language used for displaying content. Without some underlying programming language (Really a development platform like C# on Microsoft .Net or PHP on Apache.) HTML5 is relegated to doing a few cool graphical tricks without the ability to access remote data or include complex application logic.

When we ask the question for which this article was named, we must consider the fact that few software applications can be ported to HTML5 alone. There must be a development platform underpinning the display of graphics made possible by HTML5.

Microsoft LightSwitch (and therefore Silverlight) applications can be ported to applications using HTML5 just as it is possible to port a Microsoft LightSwitch application to any other development/display language/platform.

With Microsoft LightSwitch there are distinct advantages when porting to other platforms. The first and most obvious advantage is enabled because Microsoft LightSwitch applications access remote data exclusively through RIA services. For a ported application to consume the data used by a Microsoft LIghtSwitch application it must simply consume the same RIA services consumed by the Microsoft LightSwitch application.

The second advantage may be less obvious. Under the covers all Microsoft LightSwitch applications use a very verbose set of meta data to create application screens, navigate between screens and interact with the data created by the RIA services the application consumes. This meta data is in a simple to read (and aggressively deconstructed by the author) format that can be used by most code generators to create similar screens on other (non Silverlight) platforms including HTML5.

These two advantages mean that porting Microsoft LightSwitch applications to other platforms is as simple as generating the screens for the new platform using the existing Microsoft LightSwitch meta data and then writing the code to populate those screens with the data made available by the existing RIA services created for the original LightSwitch application.

The bottom line is that Microsoft LightSwitch applications can be ported easily. In future posts we will examine specific porting examples including porting LightSwitch applications to ASP.NET MVC3 using HTML5 for the web and to WPF using XAML for the desktop. If you find other scenarios are common we would love to hear about those as well.

 

 

 

Print Friendly

Microsoft LightSwitch can be a very Powerful Platform

Many line-of-business applications can be hosted in a web browser and require little interaction with the host (Windows, Mac, Linux, etc.) operating system. These applications generally have few if any dependencies on other applications and offer little in the way of extended functionality.

While simple applications have an important role, applications that can interact with the host operating system can offer much more functionality in the more secure environment of the desktop.

Desktop applications (including Microsoft LightSwitch applications using Silverlight as the application platform) on the Windows operating system can interact with Microsoft Office applications to create very powerful tools for conducting business.

The first benefit you will see when deploying a Microsoft LightSwitch application to the desktop is the ability to export data directly to Excel. In addition, you can create applications that interact with Word, PowerPoint, Outlook and other Office applications to create applications that can read and output data in dozens of formats difficult or impossible to duplicate with a browser based application.

To learn more about using Microsoft LightSwitch with Microsoft Office, click here. You can download an extension to rapidly enable Office integration from here.

Print Friendly

Microsoft LightSwitch makes the hard choices for you!

Maybe the number one question I am asked about Microsoft LightSwitch is “why should I use it?”.

I don’t yet have my elevator speach ready, but I can tell you that I am convinced that without Microsoft LightSwitch or another 4th generation development tool like it, many software applications would never be written.

The number of decisions required just to start developing a new software application can be overwhelming for many. Which database to use, language to program in, business rules to enforce, data access methods to employ, storage facilities to use, development platform to use, best practices to adopt, and the list goes on.

The bottom line is that Microsoft LightSwitch enables rapid development of business applcations, not just because of its ease-of-use, but because using LightSwitch means that many of these tough decisions are made up front using best practices developed by Microsoft, the worlds largest software menufacturer.

Take a look here to see some of the reasons Microsoft recommends using LightSwitch.

Print Friendly

Comparing Microsoft LightSwitch to Microsoft Access

Every once in a while I will drive past a Best buy or Barnes and Nobles before the store opens and see a crowd of people lined up to get the latest greatest book or gadget. I often wonder, but seldom have a clue, as to what it is they are all excited about. In my forty-eight plus years, Microsoft Access is the only product for which I have done the same.

When Access was launched almost twenty years ago I stood in line outside the Micro Center in Westerville Ohio with about a hundred other excited fans (geeks) anxiously waiting for what was predicted (rightfully so) to be the next step in relational database management systems (RDBMS). Access was touted as being a time saving, easy to use application for building business applications (known now as line-of-business (LOB) applications) and over the next several years it proved to be just that.

Microsoft Access has evolved over the years, replacing the original Access basic programming language, first with Visual Basic and now with the .Net programming languages. As it evolved, thousands (maybe more) of business application developers (sometimes called productivity developers) have kept pace learning Visual Basic and one or more of the .Net languages (C#, VB, Cobol, and others). Many of these developers found they enjoyed software development more than their ‘real’ jobs and have made the transition to full-time ‘professional’ software development.

A few years ago Microsoft began creating a framework for developing applications that would run on multiple platforms and operating systems. Silverlight can run in a web browser or on the desktop. It has great graphics capabilities (for a business application platform) and uses Extensible Application Markup Language (XAML) for creating the user interface. It can use any data store (although Microsoft has a definite advantage here) and uses web services exclusively for remote data access.

Silverlight has a good local caching mechanism, well thought out security, a growing library of business oriented classes, and with the release of version 3 and then 4, became a good platform for developing LOB applications. With Silverlight you can create applications that are available to a wide user base including corporate enterprise users and consumers willing to install a Silverlight plugin in their browser or install a click-once deployment to the desktop.

Silverlight is a great platform for professional developers to create sophisticated business applications, but it is not easy to learn the intricacies of XAML or the many factors affecting deploying Silverlight applications in a secure business environment. Unlike Microsoft Access, Silverlight has no development environment for drag and drop business application development. At least not until Microsoft LightSwitch was released a few weeks ago.

Microsoft LightSwitch helps power users and productivity developers bridge the gap between the complexities of the feature rich Silverlight API and the drag and drop capabilities of Microsoft Access. With LightSwitch, users can quickly create simple business applications without writing any code. With the power and flexibility of Silverlight, those applications can be deployed to a wide user base and extended to include functionality that is difficult or impossible to duplicate with Access.

Most Microsoft LightSwitch applications begin as simple LOB applications with a few screens created from the small set of standard screen templates available in the application designer wizard. Similar to the fairly simple master-detail and edit screens available in Access, the basic templates provide much (and sometimes all) of the functionality needed to create read, update and delete (CRUD) business data. There is also search; edit and new data screens and the screens are automatically linked in the wizard. An experienced user can create a search screen, a screen for editing record details, a screen for adding new records, and a button for deleting selected records in just a few minutes. From there, power users can write code for implementing complex business logic and expand their Microsoft LightSwitch application with 3rd party controls. Productivity developers can develop custom controls, screen templates and even extend Visual Studio with code generators and custom logic for developing even more complex interfaces.

There are millions of Microsoft Access applications being used by business users at every level. Access has become an easy to use environment for solving business problems and will continue to be a good choice for many. Access applications can link with many different data sources and as a desktop application is well suited for power users and business developers. It can be used by professional developers when time is critical and requirements for extending an application are not likely to change.
Microsoft LightSwitch offers deployment options Access will never be able to match. LightSwitch is still young but users can expect Microsoft and 3rd party developers to quickly fill-in missing functionality for more complex scenarios. With Microsoft LightSwitch there are fewer deployment limitations to deal with and more opportunity to build applications that must scale bigger. As companies like WebTech One and Affordable Custom Databases share their experiences porting applications from Microsoft Access to Microsoft LightSwitch, the body of knowledge for developing new Microsoft LightSwitch applications and for porting Access applications will grow. With this knowledge will come new opportunities for building world class software solutions. We hope you will join us in the journey.

Print Friendly

Welcome to LightSwitchable.com!

Here you can learn about and contribute to our ever-growing library of information about switching from and to Microsoft LightSwitch.

Microsoft LightSwitch is a platform for developing business applications with Microsoft Silverlight. It is integrated into Microsoft Visual Studio and presents an opportunity for power users and professional developers to quickly create robust business applications.

This site will concentrate on offering training, tips and tools for converting existing business applications to Microsoft LightSwitch and converting Microsoft LightSwitch applications to other platforms.There are myriad reasons for converting to and from LightSwitch and we will attempt to explore and explain best practices for doing so.

*Microsoft and LightSwitch are trademarks of Microsoft Corporation®.

Print Friendly