Announcing Next Generation Business Intelligence Software with Silverlight
I have been excited about Silverlight since Silverlight 1.1 Alpha was announced in early 2007. I have seen tremendous potential in the RIA technology from its inception. Being through the .NET 1.0 release in 2002 and seeing how Microsoft can make a powerful framework that can integrate with across their products made me feel secure that Silverlight was going to get full integration support by Microsoft. Fast forward to 2009 and we are in the third release of Silverlight. Silverlight has evolved tremendously and has caught up feature-wise with Adobe's RIA products (Flash, Flex, AIR) and is ahead in some features. If you have been following this blog or my identity online, you are aware I am very passionate about the technology well beyond a Flash alternative. I think Silverlight often gets compared to other RIAs and does not properly distinguish its attributes that make it a great business RIA. Features like enterpise service integration (WCF, .NET RIA Services), HD Smooth Streaming, SharePoint (web parts), Bing SDK/Map integration, cloud computing (Azure), mobile, parallel computing, etc., are not amplified enough.
One of my complaints is that the message of what this technology can accomplish in a business environment is currently being under-represented by the online community and Microsoft. It is easy to find an article on how to do a flip animation or bind to a datagrid. However, I think Silverlight needs to be represented better as a busines tool and how the RIA architecture can be applied to solve real business problems. Take a look at the list of books available for Silverlight (http://www.silverlightshow.net/Books.aspx). Looking at the list, you will notice that a majority of the books are essentially intros to Silverlight features. Some of the books have different names, but essentially you are not getting an application of the technology to solve business scenarios. Don't get me wrong; some of the books I have read truly stand out (i.e., John Papa's Data Driven Services, SharePoint Dev using Silverlight, Jeff Paries's Foundation Silverlight Animation) and go well beyond listing object properties and show you how to apply advanced engineering concepts using Silverlight. However, I saw an opportunity to provide a resource that shows how Silverlight can be applied to solve business problems.
Over the last two years, I have had the opportunity to use Silverlight in the enterprise and saw its potential for delivering Business Intelligence (BI) solutions. Silverlight's ability to execute on the client and deliver visual intelligence makes it a fanastic option to surface interactive Business Intelligence analytical modules. I decided to combine my experience of designing Business Intelligence solutions and apply these principles to Silverlight in a new book. After about six months of work, I am pleased to announce my book Next Generation Business Intelligence Software with Silverlight 3. The book will be available in the October/November timeframe and is currently listed as a pre-order on Amazon, Barnes and Noble, etc.
What will you learn from investing in this resource?
Covering the entire scope of BI and applying these concepts to Silverlight applications is simply not realistic in one single resource. Even if I had the option of writing 750 pages or more, important facets of BI would be missed. Therefore, I decided to focus on the presentation tier of Business Intelligence applications. For example, I didn't think it was fair to focus on the data and services tier with these technologies going through a rapid implementation and tooling evolution (RIA Services, WCF REST, Oslo, ADO.NET Data Services 1.5, etc.). However, Silverlight's rendering and client processing engine is mature enough to warrant a guide on how to implement client-side BI concepts. Therefore, topics like visual intelligence, data visualizations, predictive analytics, collective intelligence, interactive tools, parallel computing, working with large data sets, etc., are covered in my book on the presentation tier.
Who is this book for?
This book has three intended audience segments and their goals:
- Silverlight Developers - Learn how to extend your Silverlight knowledge in real-world applications. Learn the basics of Business Intelligence 2.0.
- Business Intelligence Professionals - Get a better understanding of how Silverlight can help you overcome some of the challenges to implement simple BI tools.
- Strategic Decision Makers (architects, CIO, technical director, etc.) - Understand if Silverlight is the right platform to deliver BI software.
What is the chapter list?
- The first chapter (Business Intelligence 2.0 Defined) is an introductory chapter to Business Intelligence. This chapter will introduce BI and the new wave of BI 2.0. The content will show how Business Intelligence is evolving and embracing new software development advancements. This chapter will contrast classic BI and BI 2.0 by showing numerous examples of current software offerings. Lastly, this section will define the core items of BI 2.0 which will be implemented throughout this book using Silverlight.
- The second introductory chapter (Advantages of Applying BI 2.0 Using Microsoft Silverlight) introduces the Microsoft RIA technology: Silverlight. This chapter is dedicated to analyzing the current Microsoft Business Intelligence product vertical and providing opinions why Silverlight is a good fit for implementing Business Intelligence tenets. After reading this chapter, you will understand the key enterprise and business integration features of Silverlight that will be discussed in this resource.
- Chapter Three (Silverlight as a BI Client) looks at what makes an effective BI client. It goes on to specifically detail Silverlight tools and features that can be used to create a fantastic functioning analytical experience. The chapter goes into specific functionality such as LINQ data queries, business algorithm implementations and local storage.
- In Chapter Four (Adding Interactivity to BI Data), the information from the previous chapters is used to show how to use Silverlight to bring interactivity to BI applications. This chapter will teach by example on how to add simple interactions that can make a BI client easier to use and feel more fluid. It concludes with how these concepts can be leveraged for future designs with multi-touch screens to create the ultimate interactive experience.
- Chapter Five (Introduction to Data Visualizations) is the first chapter in a series of chapters about Visual Intelligence. The content in this chapter will show the empirical advantages of creating a visual representation of data versus classic tabular layouts. This chapter shows how visualizing data has matured and grown over the last several years. The concept of natural visualizations is introduced by defining the different characteristics and Silverlight implementations.
- Chapter Six (Creating Data Visualizations for Analysis) continues to build on the visual intelligence topic by showing how to enhance data visualizations with features to make turn them into analytical tools. This chapter will show you how to create advanced visualizations by extending the default Silverlight data visualization presentation.
- Chapter Seven (Enhancing Visual Intelligence in Silverlight) is the last chapter that focuses on creating complex composite data visualizations. You will also see how Silverlight as a professional visual intelligence environment can implement BI 2.0 functionality.
- Chapter Eight (Applying Collective Intelligence) introduces collective intelligence as a form of social Business Intelligence. This chapter defines the importance of Collective Intelligence on the web today. Furthermore, you will see how Silverlight can be used to gather and surface Collective Intelligence to users.
- Chapter Nine (Predictive Analytics) will describe how to integrate forward-looking data structures in our client logic to perform "what-if" scenarios. This chapter will also show how statistics used on aggregates can deliver instant insight on future events.
- Chapter Ten (Improving Performance with Concurrent Programming) is an advanced chapter that covers additional enhancements that can be gained by using multiple cores to aid in BI calculations. You will see how you can enhance the performance of BI modules by leveraging Silverlight’s advanced CPU and GPU programming features.
- Chapter Eleven (Integrating with Business Intelligence Systems) is a chapter that shows you how to apply the concepts that you have learned and integrate them into new solutions or existing BI systems. Silverlight in an SaaS delivery model as well as Silverlight web parts are covered in this chapter.
- Appendix A (Prototyping Applications with Dynamic Data) includes a short primer on prototyping data applications in Microsoft Expression Blend 3. This short section provides a quick overview on how to use Blend’s dynamic data feature to quickly create and add data to UI functionality without having to spend time architecting databases and services. This is a powerful tool to prototype BI 2.0 analytical modules without needing access to large-scale data repositories.
Companion Web Site
In addition to providing the source code and samples with this book, I have decided to create a companion web site for this resource. I don't think it would be fair for me to claim that this book can be fully understood by non-Silverlight developers if all that was provided was a zip file with source code. The companion web site will include all of coding scenarios as live demos which will allow readers without the full Silverlight development environment to fully understand the content. Furthermore, it will include the source code and samples that were not covered in detail in the book. I plan to use the companion web site as a vehicle to deliver further information on Business Intelligence and Silverlight in the form of web resource links, training videos, whitepapers and more advanced examples. I am currently working on the companion web site and it will be launched when the book is closer to being published.
If you are a Silverlight developer or interested in Business Intelligence, I encourage you to give my book a try to see how visual and interactive analytical tools can be delivered to average users with Silverlight.
Sample Content of What You Will See In This Book
Creating a Silverlight Predictive Analytics Tool to estimate future sales revenue
Optimizing Data Processing with Concurrent Programming (looks scary; it really isn't)
Learn about distributive client-side architecture for BI
Silverlight as an enterprise Visual Intelligence Environment (Trellis Data Visualization with KPI goals)
Don't worry if this is all alien to you...I will walk you through BI 2.0 fundementals as well...
Silverlight 3 Relase Download Links and Installation Instructions
Silverlight 3 has been released here are some of the released links:
Silverlight 3 Runtime
Blend 3 with Sketchflow
VS 2008 Tools
.NET RIA Services (July 2009)
Silverlight Control Toolkit (July 2009)
Change list of the Silverlight Control Toolkit: http://silverlight.codeplex.com/Wiki/View.aspx?title=Silverlight%20Toolkit%20July%202009%20change%20list
Seven Additional Navigation Themes
Still waiting on these:
- Bing Enterprise Map Control for Silverlight (currently in CTP)
- ADO.NET Data Services (currently 1.5 CTP)
- Prism Update (saw some blog post MVVM templates they were adding to the framework)
- Visual Studio 2010 Beta 1/2 tools for Silverlight 3 RTW
- Other (Silverlight Mobile maybe (?), XBOX Developer Add-Ons etc.)
Installation notes for developers:
- You need to uninstall EVERYTHING Silverlight developer related to get it to work: Silverligh 3 SDK, Visual Studio 2008 Tools, Blend 3 Beta. Otherwise you will get a message saying your developer tools are out of date.
- Silverlight Control Toolkit March 2009 will not work with Silverlight 3 RTM
- Expression Blend 3 is NOT RTM it is apparently RC (Update: the version out now is RC, which will work with Silverlight 3 RTM. Expression Studio 3 RTM is shipping within the next 30 days.)
- When you upgrade your projects from Silverlight 2/3 Beta to Silverlight 3 RTM make sure you have the correct assemblies referenced! Note some controls have moved from the SDK to the Control Toolkit and vice versa.
Installation Order (if you have Visual Studio 2008 SP1)
- VS 2008 Silverlight Tools (installs the runtime, SDK as well)
- Expression Blend 3 Trial
- .NET RIA Services
- Silverlight Control Toolkit
Installation notes for casual users:
- Your users will automatically be upgraded to Silverlight 3 (if they have the auto update selected, which is the default).They can always upgrade manually.
- If you are developing a product on Silverlight 2, you should turn off automatic updates of the runtime...just in case.
Visual Studio 2010 - How It Should Have Looked
A few years ago (before Twitter, StackOverflow, DotNetKicks), one of my great sources of info was CodeProject.com. I remember some of the great articles from that time. When Visual Studio 2010 came out, it reminded me of something I saw over 4 years ago on that site a concept of the Visual Studio 2010 IDE.
If you have installed Visual Studio 2010, you can note it has a new look and feel. It has a new skin/theme. It resembles an Expression Blend feel. The shell of the IDE is using WPF technology. It pretty much looks like the screen shot below:
As mentioned above, a while ago I came across an article on CodeProject that really had a great set of ideas. I really hoped that Microsoft would adopt some of these concepts. Take a look at some of the screens below:
Visual stack trace idea is really neat and the concept UI looks a lot "cleaner" and softer on they eyes than Microsoft's version
Concept IDE that shows error trapping
You can check out the full article with all of the author's ideas on CodeProject here (http://www.codeproject.com/KB/cs/concept_ide.aspx). It is a shame that Microsoft's version hasn't really changed all that much since Visual Studio 2003. Obviously, a lot of these concepts are provided in different ways and with other add-ins. In fact, I think with the new WPF shell we might even see these new concepts come to life. However, you can see that over 4 years ago the concept IDE was pretty advanced and even holds up by today's standards of modern UIs.
Installing Visual Studio 2008 - Error 1330
This week I had to re-install all of my software again on my laptop that runs Vista. That is never fun. However, with all the SDKs and software I use, the computer tends to slow down and this becomes a necessary evil. In installing all of my software again, I ran into a problem with installing Visual Studio 2008. I haven't run into a problem with installing Visual Studio 2008 since it was in beta (I have probably done over a dozen installations of VS 2008, various editions).
I downloaded the ISO from MSDN Subscriptions and fired up the Visual Studio 2008 installation and then, bam! "Error 1330. A file that is required cannot be installed because the cabinet file c:\download\vs2008\cab5.cab has an invalid digital signature. This may indicate that the cabinet file is corrupt." I tried different install options, re-mounting the ISO and eventually re-downloaded the ISO. I never saw this before and figured this had to be a fluke thing. After it downloaded overnight, I tried again the next day and the same thing happened: "Error 1330. A file that is required cannot be installed..."
Then I started looking around on the web for any solution and noticed that many other people were having the same error (Error 1330); however, they were getting different cabinet files as the culprit. Heath Stewart's blog article on this is referenced in a lot of forums and is the first hit on Google when searching for Error 1330. His suggestion was to not install from a DVD and copy the files to the HD. I was already doing that. A further search on forums didn't really help with having success by disabling Microsoft Live Care (which I do not use).
What ended up being the problem was that I installed SQL Server 2008 first and had SQL Browser enabled (I tried a bunch of different stuff prior to this). I turned that off and also disabled search indexing on the HD. As soon as I disabled those two services, the installation worked. Just to double check that was the solution, I tried the installation again and it worked! I don't understand why either of these essentially change the signature of the cabinet file; however, it does make sense it was a service as users were reporting different cabinet files in the 1330 Error.
I wasted probably over seven hours trying to get around the Error 1330, so I decided to do a quick post to help anyone else out there that is facing the same error (as the solutions provided online didn't seem to help).