Welcome to MSDN Blogs Sign in | Join | Help
PDC09Bling_BeforeAfter_136

The Microsoft Professional Developer Conference (PDC09) kicked off in Los Angeles yesterday. This is a significant event for the Microsoft’s cloud computing strategy since this it marks the official release of the Azure platform and consequently much of the keynote sessions on day 1 was dedicated to this platform as a service.

Ray Ozzie kicked off the keynote session describing Microsoft's three screens and a cloud vision, where user experiences are seamlessly connected across PCs (web and rich client), mobile phones, and TVs, by the –based services.

During the opening keynote, Loic Le Meur (@loic) announced the availability of a WPF and Silverlight client for Seesmic and Matt Mullenweg (@mattmullenweg), announced the availability of Wordpress on Azure. An amusing addition to the fold is the Cheeseburger network hosting oddlyspecific.com on Azure.

A surprise announcement for me was the availability of a marketplace for 3rd party services called Microsoft Pinpoint and a data-as-a-service offering called “Dallas” that provides datasets to developers from sources such as NASA, DATA.gov, Associated Press and CitySearch. During this part of the keynote session Vivek Kundra, CIO for the US Government, spoke about a partnership with Microsoft and an initiative NASA has called Be A Martian.

In between keynote session there was a video roll of a number of customer success stories including those worked by some of my colleagues, including a pretty significant partnership with Dominos, which leverages Azure to offset a 50% spike in traffic for the Super Bowl. Other great local stories include CCH/Wolters Kluwer that leverages Azure for tax calculations and Accenture that has a strategy to port their internal applications to Azure.

Bob Muglia kicked off the next session talking about Microsoft’s strategy for and roadmap for integrating on-premise applications into private, hosted and public clouds. Kelley Blue Book, which maintains an additional underutilized data center for disaster recovery, spoke about their use of Azure. Bob also spoke about Windows Server AppFabric, which is a set of technologies that makes it easier to develop and manage scalable Web and composite applications that span both the server and the cloud. This is essentially the product of the hosting and caching technologies known as “Dublin” and “Velocity”. In addition, .NET Services is rolled in AppFabric Service Bus with AppFabric Control Services.

Bob also announced our plans to offer Windows Server virtual machine support on Windows Azure which will essentially provide customers the ability to move their own custom VMs from on-premise to the cloud. In addition, the official release of our claims-based authentication framework called Windows Identity Foundation (“Geneva”) was announced. Finally, Bob also announced the availability of ASP.NET MVC2 beta – you can download the Tailspin Travel demo on Codeplex.

All in all, a ton of great content - one geek out moment I had was when Don Box was talking about SQL Azure and oAuth – very cool stuff! I know I’ve already omitted some of the announcements in this blog entry - if you would like to view a video stream of the keynote sessions, please visit http://www.microsoftpdc.com.

You can track Microsoft PDC news and customer and partner success stories in the Virtual Press Room. You can also follow PDC09 on Twitter and Facebook. You can watch live video interviews with executives, developers, and partners on Channel 9 Live on microsoftpdc.com after the keynotes each day.

A major announcement was made today at the Microsoft Worldwide Partner Conference in New Orleans. After a long wait, we finally have the pricing for Azure which I am happy to report is very competitive with other cloud service provider offerings.

Windows Azure, SQL Azure and .NET Services will have consumption-based pricing when they become commercially available at the Professional Developers Conference 2009. Partners and customers can start building on the community technology preview (CTP) for free today at http://www.windowsazure.com.

Windows Azure Compute $0.12 per hour
Storage $0.15 per gigabyte stored
Storage transaction $0.01 per 10K
Bandwidth $0.10 in/$0.15 out per gigabyte
SQL Azure Web Edition Database, includes up to 1 GB relational database $9.99
Business Edition Database, includes up to 10 GB relational database $99.99
Bandwidth (both) $0.10 in/$0.15 out per gigabyte
.NET Services Messages $0.15 per 100K message operations, including Service Bus messages and Access Control tokens
  Bandwidth $0.10 in/$0.15 out per gigabyte

Service-level agreements (SLAs)

  • Compute Connectivity: 99.95 percent guarantee
  • Storage: 99.9 percent guarantee
  • Automated Service Management: automatically re-instantiates your application so you don't have to worry about it, giving you peace of mind

It's been a while since I've blogged partly because I got some new responsibilities that took up much of my time over the past year and partly because I'm not inclined to post short meaningless entries - I use Twitter for that (follow me on http://twitter.com/robinmestre). As you may have heard, Microsoft has made its entrance into cloud computing, in fact it is one of the six major priorities Steve Balmer has set for our company - it is also one of the primary priorities of Ray Ozzie, who has taken the reigns from Bill Gates as chief architect for Microsoft. This strategy has enabled Microsoft to step ahead of its traditional competitors like IBM and Oracle into this new reality. It also means we have stepped into the realm of a new breed of competitors such as Google and Amazon, but unlike these new competitors who maintain that all apps should run in the cloud, Microsoft's approach is to provide our customers with the choice of deploying software on premise, as in a traditional software licensing model that our customers are all familiar with today, or the option of consuming this software as a subscription service, or a hybrid of both. We call this strategy Software plus Services (S+S).

Going forward you can expect more blog posts from me on the topic of cloud computing and our S+S strategy. I think these are exciting times because many believe that cloud computing is the next major computing platform, akin to the mainframe, PC, client-server, web and mobile platforms. There is a lot of hype and ambiguity surrounding cloud computing, which is to be expected from a nascent platform. There is a lot of terminology and new acronyms being thrown thrown around such as software as a service (Saas), platform as a service (PaaS) and infrastructure as a service (IaaS); another related concept is utility computing.

What is cloud computing?

In my mind, cloud computing encompasses all of these definitions with the following key attributes:

  • Infinite scale on demand and elasticity of scale. Obviously there is no such thing as unlimited resources, but as a service consumer you should not be concerned whether a service provider has sufficient resources to scale your application. More importantly, this scale should be automatic.
  • Abstraction from the underlying infrastructure. This varies greatly from service provider to service provider. At the least abstracted level, IaaS vendors provide you abstraction from the underlying hardware infrastructure; at the most abstracted level, SaaS vendors abstract you from everything from the operating system, underlying data store, and runtimes, e.g. think of SalesForce.com - you don't care what operating system or database it runs on, in fact, they even have a proprietary development language called Apex.
  • No upfront commitment and pay-as-you-go pricing. This is a key differentiator from traditional hosting partners. Traditional hosting providers will allow you to specify how many servers you require for your application and then charge you for those servers on a monthly basis whether you use all the processing power or not. Conversely, cloud computing service providers charge you for the specific amount of resources you consume and is calculated at a very granular level, literally at cents per hour for compute resources, and cents per gigabyte of storage - that is, just like a utility.

What are the business benefits of cloud computing?

The pay-as-you-go pricing model significantly reduces upfront capital expenditure for projects and shift was that expenditure towards operational expenses where the cost of the application is incurred as the benefits of the project are realized which results in better cash flow. It also lowers financial risk because if the company does not realize their return on investment, they would have not incurred the significant upfront capital expenses. The company's balance sheet also does carry the the hardware and software needed to support the application, which are depreciating capital assets, which in turn means that the company can lower return on assets (ROA).

Many cases most IT organizations are struggling to keep pace with the demands of their business users primarily due to the increasing complexity of managing their IT environments and this lack of agility has many business leaders questioning whether IT is a strategic business partner. The ease of provisioning new users and applications in a cloud computing and the ability to scale on demand increases speed to market and reduces opportunity costs due the inability of IT to deliver solutions quick enough to enable the business to take advantage of short term market conditions.

Finally, unlike traditional software where product cycles are measured in years, cloud services cycles are measured in months. The release cycle for Microsoft enterprise software is a major release every four year and an interim release every second year. The result is that our clients often skip releases because they are not able to justify the cost of deploying every release. This is unfortunate because customers do not maximize of the benefits of each software release and also means that they do not derive the full value out of their enterprise agreements - this shelf-ware is also a great concern to traditional software vendors. In the cloud services world it is not uncommon to have releases on a quarterly basis so that customers always have the most current software so that their employees can be more productive.

What's the trade-off?

The greatest tradeoff with cloud computing is that the service consumer does not have the same degree of control of the environment whether it be around upgrade cycles, features and capabilities of the environment, etc. The further up the stack you move, that is from a HaaS vendor to a SaaS vendor, the less control you have. Another oft recited challenge of cloud computing is data privacy since organizations are subject to local and international regulation pertaining to their customer data. This has resulted in many of customers demanding private clouds (on premise instances) or dedicated clouds (stand alone off premise instances). Thee are also technical challenges for moving applications to the cloud - depending on the cloud service provider, some applications can be moved fairly readily while others will require a significant re-architecture especially on hybrid on premise, off premise applications where issues like network bandwidth and latency come into play.

Summary

Cloud computing will have a significant impact on IT portfolios over the next few years as the business and financial benefits are very compelling and they come at a time where a weak global economy is resulting in a lot of scrutiny of IT budgets. It will be those IT leaders who relax their notions of control that will be the first to innovate and transform their IT organizations to garner the benefits this new era. Undoubtedly, this evolution will take many years and it's not unreasonable to argue that we will never see the total demise of on premise software, after all, how many mainframe and VB6 applications do you still have in your IT portfolio? However, a day will come when we look at the hundreds of millions of dollars we invest in enterprise data centers and ask: "What the hell were we thinking?".

QUICKLY ITERATE THE FINAL USER INTERFACE, GRAPHICS AND FUNCTIONALITY OF YOUR SILVERLIGHT APPLICATION WITH EXPRESSION BLEND

Designers and developers can work seamlessly together, sharing Silverlight projects, code, and designs for better productivity and quality. Designers can quickly create stunning, rich user experiences, which the developer can immediately leverage in the underlying application code.  There is no conversion needed, no recreation of graphics in code, simply a smooth transition from the designer to the developer.

This superior Silverlight workflow which separates the XAML user interface from the underlying application code, allows designers and developers to iterate quickly on both the design and code aspects of the application without impacting the work of the other.

This gives both the freedom to be creative and push the boundaries of an application’s design.  This creative freedom for both is liberating. Designers can continue iterating and refining the user experience in Expression Blend much later into the application design cycle safe in the knowledge they are not generating extra work for their development team to integrate the changes into the final application. No longer do developers have to be concerned with last minute design changes having an impact on the underlying code integrity of the application.

image

In building the site for EasyJet, designers also used Microsoft Expression® Studio suite of design and media applications. Included within this suite, Microsoft Expression Blend™ offers a professional design tool for creating rich graphical interfaces for Web and desktop applications. Beau Ginbey, Interaction Designer, Splendid, says: “Expression Blend provided us with a seamless workflow to ensure our designs were ready for the developers to work with, giving us pixel perfect results. It breaks down the barriers that can exist between the user-experience and development teams, helping them work together on one big project, as opposed to separate chunks of work.”

WORK WITH EXISTING DESIGN TOOLS AND ASSETS IN A VARIETY OF INDUSTRY STANDARD FORMATS SUCH AS PSD, AI, AND JPEG.

An important aspect of the design process is the ability for designers to build on ideas and concepts that they’ve created previously.

image

Designers will enjoy exploring the creative freedom of the Silverlight platform while still being able to leverage the work created with other design tools such as Adobe Photoshop and Adobe Illustrator by directly importing the graphics and visual elements into the Expression design tools.

The ability to use industry standard file formats such as PSD, AI and JPEG, as well as leveraging XAML for an enhanced designer and developer collaboration throughout the application design process, increases the ability for the designer to deliver an uncompromised version of their vision without needing to dramatically change their existing work practices.

DEPLOY YOUR APPLICATION ON ANY SILVERLIGHT ENABLED PLATFORM SAFE IN THE KNOWLEDGE THAT IT ITS LOOK AND FEEL WILL BE EXACTLY REPRODUCED IN EACH BROWSER ON EACH PLATFORM.

Designers are passionate about the visual integrity of their work, in the same way developers are passionate about the quality and robustness of their code. The most frustrating area for a designer working on the web today is the almost impossible task of replicating with any degree of accuracy their original vision across different machines, browsers or platforms.

Different monitor resolutions, different screen DPIs, different rendering engines in the many browsers available today all cause the vision of the designer to be compromised from what they intended to deliver.
Silverlight provides a powerful and consistent runtime across different browsers and platforms giving designers the confidence that their design will remain exactly as intended wherever the application is running.

During a project the consistent rendering and playback of the Silverlight platform across its different supported platforms and browsers enable the designer to concentrate fully on the overall application experience, rather than constantly having to tweak and alter the application UI to achieve a consistent playback on different platforms.
From initial concept throughout the entire development process to the final application and from there deployed across different platforms and browser, consistently and uncompromised. The Silverlight platform, Expression tools and Visual Studio combine to enable the designers’ vision to be fully realized.

UTILIZE THE HIGHLY CUSTOMIZABLE CONTROLS TO QUICKLY DESIGN A CUSTOM LOOK AND FEEL FOR YOUR APPLICATION WITHOUT BEING FORCED INTO CODE

The online consumer expects a much more dynamic and fluid experience when they use the web today. Silverlight enables designers to deliver distinctive, branded and targeted applications. These allow customers to find the information they need faster, make complex decisions easier and keep them engaged longer, helping companies be more effective at attracting, engaging and retaining their customers.

To build highly customized branded experiences the components used need to be easily customizable by the designer. Silverlight and Expression Blend combine to provide the designer with a quick and powerful way to reach into each control and visually manipulate, change or completely redesign the look and feel of each individual element of the control.

Developers can extend the functionality of the supplied Silverlight controls and expose that extended functionality to designers through the property inspector in Expression Blend.

The Visual State Manager in Silverlight can be leveraged visually by designers through Expression Blend. The Visual State Manager allows states to be triggered from inside of Silverlight control templates enabling designers to control how the control responds to events such as ‘mouse over’ and ‘pressed’.

In addition to the Visual State Manager, designers can use a style to set properties across multiple controls, allowing the designer to quickly be able to design and apply application wide changes.

PRECISELY ARRANGE YOUR CONTENT HOWEVER THE APPLICATION SCALES WITH FLEXIBLE GRIDS AND LAYOUT CONTAINERS

Building great web applications requires the designer to have absolute control over how elements are positioned and resized relative to one another. Layout containers within Silverlight allow the designer to layout their user interface with the pixel perfect precision they need to deliver a professional and compelling user experience. The designer retains complete control over all aspects of how the UI scales and flows which enables them to ensure they deliver an optimum user experience independent of screen size or resolution. 

YOUR GRAPHICS AND CONTROLS KEEP FULL FIDELITY WHEN PASSED TO THE DEVELOPER THROUGH THE SEAMLESS USE OF XAML, A POWERFUL MARK-UP FORMAT FOR ALL YOUR GRAPHICS

Previously the designer was never able to guarantee that their graphics and user interface concepts kept their full fidelity through to the end of the application development process. Once the graphics had been passed to the developer the designer essentially lost control of their graphics and the developer now had the impossible task of recreating in code, a representation of the user interface the designer had previously created visually.

Inevitably some subtlety of detail from the designer’s vision was lost; whether through the difficulty in replicating the visual elements in code, or more simply due to time constraints in the production workflow, the finished application would never end up looking how the designer originally intended.

In addition to this, making visual changes to the application was a painful process as this necessitated going through the whole design and development workflow again.

Silverlight solves this problem through XAML, its native text based markup language for describing graphics. Figure 20 shows an example of XAML mark-up for graphics.

image

<Ellipse HorizontalAlignment="Stretch"
    Margin="194,90,109,68"
    VerticalAlignment="Stretch" StrokeThickness="20">
    <Ellipse.Stroke>
        <LinearGradientBrush EndPoint="0.5,1"
            StartPoint="0.5,0">
            <GradientStop Color="#FF1F1EF2"/>
            <GradientStop Color="#FFFFFFFF" Offset="1"/>
        </LinearGradientBrush>
    </Ellipse.Stroke>
    <Ellipse.Fill>
        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
            <GradientStop Color="#FF90B1EC"/>
            <GradientStop Color="#FF0F5CE4" Offset="1"/>
        </LinearGradientBrush>
    </Ellipse.Fill>
</Ellipse>

In Expression Design the designer creates their graphical assets with the same professional illustration and drawing tools they will have used previously in other third party design tools. As graphics are finalized and exported they are saved in Silverlight’s native graphical format, XAML. To add interactivity and bring the graphics and user experience to life the designer imports the XAML file into Expression Blend. Expression Blend shares the same format for graphics, XAML, which allows the designer to import and continue manipulating their graphics at full fidelity.

Once the design process is completed the developer can use the same XAML files directly within their Visual Studio Projects. (Visual Studio and Expression Blend even share the same project file format). The same XAML graphic has been used at full fidelity through the whole application design process.

Designer’s can finally create assets knowing that their fidelity will be maintained throughout the entire designer-developer workflow. From Expression Design through Expression Blend to Visual Studio, graphics, user interface elements and design assets move seamlessly from their initial concepts to the finished product. The designers original vision, fully realized with no compromises.

DELIVER COMPELLING USER INTERFACES WITHOUT RESORTING TO BITMAP GRAPHICS BY UTILIZING REAL VECTOR GRAPHICS, GRADIENTS AND ANIMATION

Customers have come to expect compelling, functional and easy to use interfaces wherever they interact with a company, whether it’s on a mobile device, on the web or in the physical world. Designing a user interface from scratch each time is both time consuming and an unnecessary burden on the designer. While bitmap graphics offer great functionality and control for interfaces that will only ever be used at a single resolution and at a single given size, in today’s multi-screen, multi-device, multi-resolution society this translates to is a huge amount of extra work for the designer.

Silverlight utilizes vector graphics that are resolution independent and allow the designers original graphical work to be quickly resized and layouts optimized for different screen sizes and resolutions, while still retaining the capability to use pixel based graphics where appropriate.

The animation capabilities of Silverlight are easily accessible through Expression Blend and allow the designer to add texture to the application in regards to how elements appear on screen and how they react when the user interacts with them.

INTEGRATE HIGH QUALITY VIDEO TO BUILD BRANDED MEDIA APPLICATIONS WITH VISUAL IMPACT AND ADVANCED FUNCTIONALITY

Creating an effective high quality branded video experience involves bringing together many different elements to create visual stunning and exciting experiences. A responsive and compelling user experience, high quality, stutter free video, the capability to utilize animated graphics, video overlays, ad-insertion technologies and easily customizable interface elements are a few of the many pieces which when combined form the overall customer experience.

The Silverlight platform, Expression Encoder and Expression Blend together enable designers to quickly build the type of high impact Silverlight video experiences people expect on the web today. Expression Encoder, shown in Figure 18 below, takes the uncompressed edited video files and prepares them for the web by encoding the video to the highest possible quality utilizing the latest high quality and high performance VC-1 codec gives the designer the control they need over their video whether encoding, individual, batch or live video. Powerful XAML overlays, the ability to add markers that can be used to trigger advert or text overlays at a given point in video or enable other elements within the Silverlight application or web page to be updated and changed giving designers unprecedented scope to build impactful web video experiences as we saw earlier this year with NBC’s web coverage of the Olympics.

    image

    Expression Encoder can automatically wrap the finished video in a complete predefined Silverlight video player template. The video player can be based on one of the many included templates or built from scratch using the interactive design features of Expression Blend.

    Expression Blend gives the designer the ability to quickly build the look and feel of the Silverlight video player experience, adding subtle animation, DVD like navigation and a full range of fully customizable video player controls, the designer can bespoke the player for each individual application quickly and effectively. The finished template is then ready to be applied as part of the encode process with Expression Encoder dramatically increasing the productivity of the designer.

    EXPLORE BRAND NEW PARADIGMS LIKE DEEP ZOOM TO CREATE NEXT GENERATION INTERFACES TODAY

    DeepZoom allows designers to investigate completely new ways of navigating through an application or web experience. No longer are designers constrained by the resolution of a customer’s screen or hampered by limitations in the display capabilities of their chosen delivery technology. DeepZoom not only raises the bar on how images should be viewed and interacted with on the web, but also saves bandwidth by only delivery the precise amount of detail needed at a given resolution.

    What makes DeepZoom compelling for designers is the fact that a DeepZoom image is treated the same as any other image within Silverlight. It behaves like any other Silverlight image and can be controlled by the standard Silverlight animation metaphors with the added capability of being panned and zoomed in-place in the page.
    DeepZoom can already be experienced on sites such as the Renault Laguna Coupe (http://www.laguna-coupe.com/silverlight) and Kelly Blue Book (http://www.kbb.com/kbb/PerfectCarFinder/PhotoEdition.aspx ).

    image

    USE THE TOOLS AND LANGUAGES YOU ALREADY KNOW AND LOVE. CODE IN VISUAL STUDIO USING JSCRIPT, IRONRUBY, IRONPYTHON, VB.NET, C#.

    The Microsoft Visual Studio development system is a suite of development tools designed to aid software developers—whether they are novices or seasoned professionals—face complex challenges and create innovative solutions. It provides features such as efficient code editors, IntelliSense, Wizards, and data designers in one integrated development environment (IDE) to high-end application life-cycle management products in Microsoft Visual Studio Team System. Visual Studio 2008 includes support for XAML editing and building Silverlight projects.

    Regardless of your programming language preference, it’s easy to apply your programming skills to developing Silverlight-based applications and media experiences. The Dynamic Language Runtime (DLR) is used to implement dynamic languages like Python and Ruby on the .NET Framework.

    ENJOY RAPID DEVELOPMENT WITH XML-BASED DECLARATIVE MARKUP AND A FULL SET OF CONTROLS THAT HAVE PUBLICLY AVAILABLE SOURCE CODE.

    Having a full featured set of controls to work with makes applications much easier to build and more responsive to use than AJAX controls. With Silverlight 2, there are many new controls now available, adding richness to the development environment. Here are examples of the new Calendar and Datagrid controls :

    image image

    The following controls are now available in Silverlight 2:

    • Input controls : Button, CheckBox, RadioButton, RepeatButton, HyperLinkButton , ScrollBar (Vert/Horiz), Slider, Togglebutton, Tooltip, Calendar, Password, GridSplitter, Date Picker
    • Layout :Border, Stack, Grid,ScrollViewer, DockPanel*, StackPanel*, ViewBox*
    • Text : Textblock, Textbox, Tooltip, Label* , AutoComplete*
    • Data : Listbox; DataGrid, ItemsControl, Dropdown list, Treeview*
    • Navigation : Scrollviewer, Tab Control
    • Presentation : Image, MediaElement, Ink canvas, MultiScaleImage, Expander*, Accordian*
    • Dialog : File, FontPicker

    imageIn addition, we’re also making many more controls available online via CodePlex. These controls are noted above with an (*). Over the next few months we plan to have over 100 controls available for Silverlight.

    Silverlight allows controls to be directly connected to data sources, and the control itself can have an item template, which knows how to show each item of data. An example would be a list control, which would have a template to create a calendar and text field for each item. If the user then selects or edits these items, the changes are made directly against the underlying data.

    WORK DIRECTLY FROM A DESIGNER’S IMPLEMENTATION OF THE UI BUILT IN BLEND. NO MORE TRYING TO INTERPRET GRAPHICAL MOCK-UPS; JUST OPEN THE BLEND PROJECT DIRECTLY IN VISUAL STUDIO.

    With Silverlight, prototypes can easily become real UI, making it quicker to produce branded applications. In the past, a prototype would be produced as a set of bitmaps, and the developer would then have to work hard to then code layout, graphics and animation. Any changes in design were costly, since the designer could not touch the code produced by the developer; and re-writing code is expensive. In Silverlight, the UI is specified by a text based mark-up language, XAML. Designers can create or edit XAML using the graphical tools they’re used to, without needing any code changes.

    image image

    Our tools have also evolved to support the new roles in producing better-looking applications. Expression Blend shares project format, XAML, and .NET development with Visual Studio for Designer-Developer workflow; and has added support for Silverlight 2. This means that the designer can work on the same project as the developer, and thus requires no re-writing of code or use of exporters or clunky add-ins. It also means that developer practices can be applied to the UI mark-up, such as diff’ing and source control.

    SILVERLIGHT HAS THE MOST COMPREHENSIVE RUNTIME ON THE WEB TODAY. EXPLOIT ALL THE RICHNESS OF THE .NET BASE CLASS LIBRARIES INCLUDING XML, LOCAL STORAGE, INPUT/OUTPUT, GLOBALIZATION AND GENERICS.

    The Common Language Runtime (CLR) provides the underlying programming framework within Silverlight 2. It is an efficient industry-strength component which can scale to build complex applications. It is responsible for managing code execution at runtime, and provides core services such as compilation, memory management, thread management, code execution, enforcement of type safety, and code safety verification. Because it provides a managed environment for code execution, the common language runtime enhances developer productivity and contributes to the development of robust applications. .NET is also consistent between server, client and devices.

    DEVELOP WEB APPLICATIONS USING YOUR EXISTING .NET SKILLS ON BOTH THE CLIENT AND THE SERVER—THE .NET APIS IN SILVERLIGHT ARE A COMPATIBLE SUBSET OF THE FULL .NET FRAMEWORK. FULL SUPPORT FOR FEATURES SUCH AS LINQ, WCF, AND ADO.NET MAKE IT EVEN EASIER TO BUILD A CLIENT-SERVER APPLICATION.

    It can be a lot of work to connect your application to data via web services. In many cases the server is running in a different language than your client, and you need to do a lot of work to stub out methods for each service call.

    With Silverlight, it is possible to leverage the consistent programming model that .NET provides across both the server and the client making it is much easier and quicker. Visual Studio has built in support to create a proxy class from web service metadata and use the proxy to communicate with a web service from your silverlight-based application. 

    Silverlight uses Windows Communication Foundation (WCF) and ADO.NET capabilities to create proxies and send SOAP 1.1 messages over HTTP.

    The ADO.NET Data Services Framework deploys data in a format that can be useful in the Silverlight development environment. ADO.NET Data Services are deployed to the Internet as representational state transfer (REST) resources addressable by standard HTTP protocol. Data is defined as entities and relationships according to the specifications of the Entity Data Model (EDM). Well known formats, such as JSON, AtomPub, and plain XML are used to represent data for text-based transport in response to the HTTP verbs, GET, PUT, POST, and DELETE.

    RAPIDLY ENHANCE EXISTING SHAREPOINT OR ASP.NET SITES INCREMENTALLY BY ADDING SILVERLIGHT COMPONENTS. INTEGRATE HTML AND AJAX WITH .NET USING THE RICH APIS  BUILT INTO SILVERLIGHT

    It’s easy to add richness to existing Ajax applications and reduce cross-browser inconsistencies. Silverlight blends together Web and video standards and unified media formats for simple integration with existing Web technologies and assets. This means Silverlight works with any back-end Web platform technology and integrates with your existing infrastructure and applications, including Apache, PHP and more on the server, as well as JavaScript, XHTML and others on the client; no “rip and replace” required.

    The addition of the .NET Framework to Silverlight not only allows developers to target XAML markup but also lets them target the browser HTML DOM. This not only enables faster and more scalable Web 2.0 sites but also eliminates a substantial part of the testing that is required due to browser differences.

    If you are using ASP.NET or SharePoint, you can also get out of the box components which you can plug in to your existing page to add richer functionality. For example, Nintex provides a set of rich charting components in Silverlight that can be placed in a SharePoint page :

    image Nintex (www.nintex.com) created a series of Silverlight controls hosted within Sharepoint Web Parts.  Their reporting UI displays data using Silverlight barcharts, piecharts, tables, etc.  This allowed them to keep graphical and tabular information in sync between controls, page through data without requiring round trips back to the server, and allowed users to interact with charts to create intuitive drill-down experiences.  The result is a rich, interactive visualization of a great deal of data with sub-second response times.

    Nintex wanted rich visualization through graphical representation of data, but they preferred rendering the data inside the browser rather than having the server handle the image generation.  They also wanted users to be able to quickly and easily interact with the data they were viewing.  When it came to looking at alternatives, Silverlight let us leverage the .NET skills we’d already honed – it just made sense. 

    The solution was released it in August 2008.  Mike Fitzmaurice, VP of Technology reports “The tangible benefit was a 50% reduction time developing the UI compared to AJAX techniques, and probably even more over alternative in-browser environments.  It also meant we had a lot less to code on the server, and didn’t have to worry at all about cache management, static image generation, or any of a long list of inelegant, cumbersome byproducts of non-Silverlight approaches. Plus - let’s not lose sight of this – the end result just plain looks great.  Users like it.  Users understand it.”

    HARNESS ADVANCED SUPPORT FOR 2D GRAPHICS, ANIMATION, LAYOUT, HIGH-DEFINITION VIDEO, DATABINDING, NETWORKING AND CONTROLS TO CREATE RICHER EXPERIENCES THAN PREVIOUSLY POSSIBLE.

    Building a modern Rich Internet Application requires a set of technologies. First, to create the look of the application, Silverlight provides declarative XAML support for rich 2D graphics; providing an object model that goes all the way down to path data and gradient stops. Any attributes can be animated, and we also supply a set of interpolators for easing which make animation less jarring on the eye.

    A dynamic layout system is also essential for an interactive, responsive and high-performance user interface – it allows elements to adapt to the size of their content (e.g. if they are bound to data, or are localized). In addition layout containers provide application developers with readymade controls in which to insert their user interface elements (such as laying out a toolbar and controls within your application), achieving an implementation that closely resembles the idea behind the UI.

    image

    Next, the application needs to be able to access and update data from a server. Silverlight makes this easier by proving built in support for several levels of protocols : at the base it supports sockets and a web client interface to simplify file uploading; on top of this web services can be created. You can create a proxy class from web service metadata and use the proxy to communicate with a web service from your silverlight-based application. At a higher level ADO.NET provides a much wider set of services by allowing you to send queries via the URL and receive back result sets directly.

    Most user interfaces represent data in some way or form.  Data visualization apps often want their data to be separate from the UI components.  Furthermore, most websites are data rich and display data coming from web services etc.  Often times, this data is live such as stock ticker applications.  Data binding provides a way of enabling such apps by providing an easy to use way of connecting data with UI.

    Finally, out of the box Silverlight provides a rich set of controls to make it easy to build an application. Improvements to controls include a new TabControl, new features for TextBox such as text wrapping and scrollbar, and DataGrid now has Autosize, Reorder, Sort, performance increases and more.  Controls are now in the runtime instead of packaged with the application.

    CREATE APPLICATIONS WITH A CUSTOM LOOK AND FEEL THROUGH FLEXIBLE SKINNING OF CONTROLS AND DATA. MANIPULATE PARTS, LAYOUT, STATES AND GRAPHIC PRIMITIVES FOR EVERY CONTROL.

    On the web, creating branded user experiences is important.  Distinct, consistent, and polished look and feels differentiate sites for users, and help attract and retain customers.  A key part of creating this visual design is the look of the controls themselves.

    Sometimes you want to customize the appearance of your application beyond what just setting properties allows you to do. For example, you might want the buttons in your application to be shaped differently than the default. When you replace the appearance of an existing control without changing its functionality, you change the control's skin. However, it can be a huge amount of work to rewrite even a simple control like a listbox so that it handles all scenarios such as layout, accessibility, localization.

    Silverlight makes it easy to create graphics and then use them to customize controls, such as the look of a scrollbar. Silverlight provides templates for each control that allow designers to reach inside the control and change the layout or look of each part of the control without rewriting any code. For example, a scrollbar is made up of a layout container and a set of parts such as the up and down button and draggable thumb. Parts can be rearranged and their appearance changed to fully customize the control. The example below shows re-skinning the thumb and repeat buttons; and in addition shows how even the layout of controls within the scrollbar can be changed :

    image In Silverlight, the skin of a control is defined by its ControlTemplate. Because you create a ControlTemplate in XAML, you can change a control's appearance without writing any code. The example below shows the XAML mark-up used to create a button : image <ControlTemplate>
        <Grid>
            <Grid x:Name="DownStroke" Opacity="0">
                <Rectangle Margin="1,2,1,1" Opacity="0.05" RadiusX="3" RadiusY="3"  
                    Stroke="{TemplateBinding Background}" StrokeThickness="1"/>
                <Rectangle Margin="1,1.75,1,1" Opacity="0.05" RadiusX="3" RadiusY="3"
                    Stroke="{TemplateBinding Background}" StrokeThickness="1"/>
                <Rectangle Margin="1,1.5,1,1" Opacity="0.05" RadiusX="3" RadiusY="3"
                    Stroke="{TemplateBinding Background}" StrokeThickness="1"/>
                <Rectangle.Stroke>
                    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                        <GradientStop Color="#A5FFFFFF" Offset="0"/>
                        <GradientStop Color="#FFFFFFFF" Offset="1"/>
                    </LinearGradientBrush>
                </Rectangle.Stroke>
                </Rectangle>
            </Grid>
            <ContentPresenter Margin="4,5,4,4"/>
            <Rectangle x:Name="DisabledVisual" IsHitTestVisible="false" Opacity="0"
                RadiusX="4" RadiusY="4" Fill="{StaticResource DisabledBrush}"/>
        </Grid>
    </ControlTemplate>

    You can expose control properties to designers. You can use TemplateBinding to connect properties on shapes or other elements in your control to the properties on the control itself. This provides a built in mechanism to easily encapsulate together properties – in the button example above you can connect the background color of shapes inside your button to the background property on the control itself Silverlight also supports the Visual State Manager.

    This allow states to be triggered inside of control templates so that you can specify how your control responds to events such as pressed or mouse over. The example below shows how a gradient with a button is animated in its mouse over state :

    <vsm:VisualState x:Name="MouseOver">
        <Storyboard>
            <ColorAnimationUsingKeyFrames Duration="0"
                Storyboard.TargetName="BackgroundGradient"
                Storyboard.TargetProperty="(Shape.Fill).(GradientBrush.GradientStops)
                    [3].(GradientStop.Color)">
                <SplineColorKeyFrame KeyTime="0" Value="{StaticResource
                     MouseOverLinearBevelDarkEndColor}"/>
            </ColorAnimationUsingKeyFrames>
        </Storyboard>
    </vsm:VisualState>

    In addition, you can use a style to set properties once and apply the style to multiple controls, which gives the controls a uniform appearance. When you apply a style to a control, you can still set properties locally on the control, and the property value that is set locally take precedence over the property value set on the style. For example, suppose you want most of the buttons in your application to be red and the font to be 16 pt, but there is one button that needs to be green, but still have 16 pt font. You can create a style that sets the Background property to red and the FontSize property to 16 pt and apply the style to each button.

    In the example below EasyJet was able to combine custom controls for their map with re-skinned controls such as a slider, button, calendar and listbox. Notice hot the controls reflect the brand and utilize its key orange color :

    image EasyJet (www.easyjet.co.uk), a large UK airline, has used Silverlight to build a smooth interface to help users to explore destinations in detail. It integrates with Microsoft Virtual Earth, so developers can layer the location-relevant data on top of the Virtual Earth map images. Customers who have set dates and destinations in mind can book quickly and easily by using a simple menu. A customer who is less sure of their destination can specify the dates that they’d like to travel and their preferred departure location. The map will then identify all the locations they can travel to within those dates and display fares in real time.

    Paul Curtis, Head of Application Architecture for easyJet, says “Users can quickly compare where they can go on a given date and how much it will cost, without having to submit multiple searches”. The interface overlays prices—the least expensive return fares available—which are revealed at each of the destination points. Curtis explains: “Using Silverlight, we can incorporate a sliding bar at the left side of the screen, which helps the user to set their budget for that trip. Moving the slider up or down reveals or hides destinations according to their cost criteria. All the information is offered in a single seemless interface, whereas standard websites can only do this by constantly re-loading web pages”

    DELIVER CUTTING EDGE USER EXPERIENCES, LEVERAGING THE POWER OF MODERN HARDWARE THROUGH MULTI-THREADING, HARDWARE ACCELERATION, AND MULTI-CORE SUPPORT TO DELIVER THE HIGHEST PERFORMANCE ON THE WEB.

    Using multiple threads of execution is one of the most powerful ways to keep your application responsive to the user and at the same time make use of the processor in between or even during user events. You can segment threads of your code to run separately so that they don’t block.

    Silverlight uses hardware acceleration in several ways. First, Silverlight takes advantage of multi-core for rendering and media playback. Therefore, your Silverlight-based applications will perform faster on multi-core systems. The scanline algorithm which turns vector graphics into pixels to render to the screen is able to be parallelized across the available processor cores in your machine. This means that some of the most labor intensive work in your application can automatically exploit the users CPU without requiring additional coding.

    Second, Silverlight uses the Graphics Processor to perform the blit of the pixels to the video memory. Again, this drastically improves performance, particularly in full screen video scenarios where almost the entire screen must be updated for each frame.

    CALL ON MILLIONS OF EXISTING DEVELOPERS AND THOUSANDS OF BUSINESSES ALREADY FAMILIAR WITH .NET DEVELOPMENT TO HELP CREATE AND DEPLOY SILVERLIGHT APPLICATIONS.

    Silverlight has gained strong industry support from content creators, distributors, software vendors, and solution providers. Over 85 companies now support Silverlight via the Silverlight Partner Initiative, and major enterprises and media companies are announcing plans to integrate Silverlight into their online experiences, promising to truly light up the Web for viewers and end users.

    Since Silverlight is tightly integrated with .NET, millions of developers using Microsoft developer technologies today for desktop and Web-based RIAs can transfer their skills quickly to Silverlight development. Today, millions of developers use .NET technologies, making it easy to find a developer with the right skills.
    In addition, the Visual Studio Industry Partner program (270+ VSIP partners, 25 VSTS partners) provides 800+ VSIP packages and 10,000 Visual Studio Add-Ins. Organizations developing and deploying Silverlight applications can draw on existing internal skills and tools but also leverage the thriving ecosystem built around .NET for a wide range of services and products to ensure success:

    • Partners skilled in supplying .NET and Silverlight development and deployment skills
    • Partners who provide controls and components to add to applications
    • Partners who provide entire applications that can be rebranded
    • Hosting partners skilled in deploying applications on the Web for scalability
    • Content delivery partners with global networks for delivering media content Worldwide

    CREATE RICH WEB APPLICATIONS THAT NATURALLY INTEGRATE WITH YOUR EXISTING BACK-END SYSTEMS. EASILY ENHANCE EXISTING WEB SITES AND SHAREPOINT SITES BY INCREMENTALLY ADDING SILVERLIGHT COMPONENTS.

    Silverlight relies on the market leading Visual Studio development environment and is built on the industry proven .NET framework.

    Development with .NET and Visual Studio integrates Silverlight with a broader range of Server products from Microsoft. This makes integration simple with servers already running business functions including SharePoint Server, SQL Server, Windows Server, Microsoft Dynamics, and BizTalk Server.

    Components are available to rapidly add Silverlight’s interactive functionality to a variety of web platforms including SharePoint sites, ASP.NET sites and simple XHTML sites. This means businesses can enhance the interactivity of their sites piece by piece without the need for a risky ‘big bang’.

    RAPIDLY CROSS-TRAIN WEB DEVELOPERS ALREADY FAMILIAR WITH ONE OF THE MANY LANGUAGES SUPPORTED BY SILVERLIGHT.

    Silverlight is an inclusive developer platform for both .NET developers and those already using Web languages such s Javascript, Python, XHTML and Ruby. With Silverlight, Web developers can continue to use their favourite languages while taking advantage of the advanced interactivity of Silverlight and the industrial strength underpinnings of the .NET framework.

    Silverlight can be quickly and cost effectively adopted by business as their developers already working in businesses can quickly start working with Silverlight with little or no additional training

    REDUCE TIME TO MARKET AND IMPROVE TEAM PRODUCTIVITY THROUGH THE ADVANCED DESIGNER-DEVELOPER WORKFLOW BETWEEN EXPRESSION STUDIO AND VISUAL STUDIO.

    A major obstacle to delivering rich application experiences to the Web is the disconnect between Designers and Developers, both of whom are fundamental in the process. This happens because their toolsets force them into a ‘silo’ mentality with the only point of contact being a one-time hand-over of a graphical representation of the user interface to the developers. This causes several issues:

    • Developers have to re-interpret the graphical design using the tools and technologies they use to implement the user interface. The end result is a developers’ interpretation of a designers’ intent which hardly ever matches the original vision.
    • Designers see the Developers’ implementation and don’t like it so have to find a way to feedback changes to the developer, usually pen & paper. This cycle continues, consumes large amounts of energy and creates tension between Designer and Developer.
    • The final result end up being delivered late and is a poor reflection of the original design.

    Designer and Developer tools for Silverlight overcome these problems by using XAML as a common language to describe user interfaces and for Developers and Designers to collaborate. Designers create user interfaces in Expression Blend and Developers then open the exact same project files and start coding to the user interface. Designers can then review how their design is being implemented and make changes to the design as they realise interaction flows with the Developer.

    image image

    This break-through in Designer Developer collaboration means that creating interactive application experiences is a truly collaborative effort delivering exceptional interfaces in a reduced time to market.

    CREATE APPLICATIONS THAT ARE ACCESSIBLE, DISCOVERABLE BY SEARCH ENGINES, AND SECURE.

    Microsoft Windows is the most accessible operating system platform and with the standard controls, Silverlight aims to continue this accessibility seamlessly from desktop to browser.

    Despite having the power of the .NET framework available within the Web browser, Silverlight remains securely contained within the Web browser, unable to access desktop files or resources.

    Silverlight content is described using XAML, which provides a text based mark-up for all content. A significant benefit here is that this can be quickly transformed into HTML, which can then be appended to the page. This composite can be searched by all major search engines ensuring that your content appears in users’ searches. Going forward, we also expect search engines to be able to crawl XAML files, which will remove the need to transcode to HTML. Figure 8 below shows an example of creating a more searchable site in Silverlight.

    image

    The Toyotafishing.com micro-site was built as a Flash site in 2007. A baseline Position Analysis Report (PAR) was completed and showed dismal results for a set of Toyota branded, Toyota sponsored anglers, and bass fishing terms. The total keywords ranked for by Google, Yahoo!, AOL, MSN, and Ask.com in March of 2008 was two.

    iCrossing examined the current obstacles to search engine indexing efforts on the existing site and to integrate natural search strategy with Microsoft’s Silverlight technology. One of the greatest obstacles to natural search was that there was very little content on the pages that was outside of the rich media player which rendered the site effectively empty to search engines. By breaking up the content and determining which was best suited for display in rich media containers and placing the rest of the content outside in standard html we were able provide the search engine spiders with consumable content to evaluate and index appropriately.

    Kim Kyaw, Sr. Engagement Marketing Planner, Toyota Motor Sales, USA, Inc summarizes:  “Silverlight has allowed us to integrate rich-graphics while still allowing search engines to crawl the entire site. Toyotafishing.com, which initially could not be found by search engines, is now ranking higher in search results.  With the implementation of Silverlight we have seen not only our connectivity to the site increase, but an overall improvement in functionality.”

    DELIVER APPLICATIONS TO ALL MAJOR BROWSERS ON MAC, WINDOWS, AND LINUX.  EXTEND SILVERLIGHT EXPERIENCES TO THE DESKTOP AND MOBILE DEVICES USING THE SAME TOOLS AND TECHNOLOGIES.

    When you create applications for Silverlight you’re actually creating one application that will run equally on   Internet Explorer, Firefox and Safari on Windows, Mac and Linux. Silverlight on different platforms and browsers has exactly the same functionality, ensuring the same experience for all your users.

    Going forward, Microsoft will also deliver these experiences on mobile devices. Bringing Silverlight to devices expands the reach that developers and designers have when creating rich internet applications, and enables them to easily leverage content, assets, and code that they are using today for browser-based Silverlight applications.  This same toolset can use the same assets to create fully fledged desktop applications and mobile versions of the application. In the case of devices running the Silverlight plug-in, there is no need to have a separate version of the application for Web and devices – Silverlight acts as a single common target platform.

    Microsoft will add support for Windows Mobile and is planning to work with Nokia to enable Silverlight on many of their mobile phones and operating systems (for example, Nokia Series 60 – see figure 9).  Support for Silverlight on Windows Mobile and Nokia devices will quickly help change the landscape for the types of user experiences consumers can expect from their phones by bridging rich interactivity, wireless data, media and more. We will continue to explore other mobile operating systems and devices over time.   image

    In summary, Silverlight on mobile adds a clear route for extending applications/services into the consumer’s pocket. If you’re building Silverlight applications for the Web now, then you’re already building Silverlight applications for mobile in the future. Just like the Web version, Silverlight on mobile will take the form of a browser plug-in.


    THE COMPREHENSIVE SILVERLIGHT SOLUTION INCLUDES FAMILIAR MARKET LEADING TOOLS, SERVERS AND FRAMEWORKS.

    For organizations with an existing development capability it’s likely their developers already use the tools and languages for creating Silverlight applications: Visual Studio. The Visual Studio family ranges from free Express versions of the tools to Enterprise  Application Lifecycle Management (ALM) tools in Visual Studio Team System ensuring that whatever your needs there is a version of Visual Studio for you.

    Because Silverlight uses Visual Studio for development, it also enables a wide range of other helper technologies to be employed. Visual Studio itself comes complete with a full-featured code and XAML editor, a debugger, a profiler and a data designer.

    Silverlight is built on the .NET framework; introduced over 8 years ago, .NET is now in use in over 100,000 organizations and understood by over 4 million developers worldwide. .NET takes care of the common tasks that developers typically have to code, freeing them up to concentrate on developing features specific to an application.
    Development with .NET and Visual Studio integrates Silverlight with a broader range of Server products from Microsoft. This makes integration simple with servers already running business functions including SharePoint Server, SQL Server, Windows Server, Microsoft Dynamics, BizTalk Server.

    INCREASE REPEAT VISITS AND BRAND LOYALTY WHILE DRAMATICALLY REDUCING CUSTOMER SUPPORT COSTS THROUGH COMPELLING, INTUITIVE, HIGH PERFORMANCE WEB EXPERIENCES.

    For many businesses the Web has become a key means of communicating with existing customers and attracting new business, overtaking more traditional, costly channels such as call centres and retail outlets. The cost savings and scale achievable on the Web are very attractive but the experience on the Web has to be given as much attention as any Retail experience or interaction with a telephone operator. A poor online experience that doesn’t reinforce a company’s brand or customer service ethic will likely cost more in lost revenue than the savings made.
    Silverlight allows businesses to create compelling experiences that stay faithful to an organisation’s brand. In figure 6, the New York Times was able to vastly increase online readership using Silverlight’s advanced text, graphics and layout features while keeping its distinctive brand.

      image

      The New York Times was looking for a better way to engage readers who wanted to access the news electronically. The newspaper already had a well-developed Web site, but its surveys indicated that visitors only spent between 6 and to 10 minutes on the site—whereas its print readers devoted as much as 45 minutes per day to the paper. Using Silverlight, The Times built the Times Reader that gives the look and feel of a newspaper with the flexibility and low information latency of the Web.  Surveys indicate that readers spend an average of 30 minutes per day using the Times Reader, suggesting that the paper has succeeded in meeting its readers’ needs and up to 400% increase in reader "stickiness" over the Web site.

      INCREASE USER PRODUCTIVITY AND ACCURACY BY PROVIDING AN ATTRACTIVE, EASY TO USE APPLICATION USER INTERFACE THAT MIMICS THE BEHAVIOUR OF DESKTOP SOFTWARE APPLICATIONS.

      Silverlight incorporates both a rich presentation interface and robust, industry standard programming platform that enable organisations to deliver productivity applications through a Web browser that appear to have the richness of interaction normally only found in desktop applications. There are good security reasons why users should maintain a distinction between unknown applications delivered in the browser and trusted applications installed on the desktop and this means that browser applications will never equal the desktop experience but this is no reason to not expect richness from browser applications and Silverlight delivers this capability.

      Richness in browser applications is not purely gratuitous; studies show that well designed user interfaces increase user productivity:

      • Users feel compelled to use attractive interfaces
      • Intuitive metaphors help users get things done without training
      • When users achieve things easily they feel good, want to do more now and in the future

      CREATE DIFFERENTIATED AND BRANDED EXPERIENCES USING SILVERLIGHT’S HIGH QUALITY GRAPHICS, HIGH DEFINITION VIDEO, DEEP ZOOM, AND ENGAGING ANIMATIONS.

      Many application experiences on the Web are restricted through the common use of similar technology and techniques, losing much of the individual brand and relationship built up with customers. Silverlight allows developers and designers to take existing sites and rapidly incorporate new, appealing features and interactivity into them, differentiating your site from those of competitors or others on the Web.

      Deep Zoom is a great example of a Silverlight feature that immediately differentiates your application through a new navigation metaphor and back end technology that allows visitors to intuitivelyimage navigate massive libraries of image content. Figure 7 shows the branded web experience built by Renault to show their Laguna Coupe.

      The Laguna Coupé microsite (www.laguna-coupe.com) used second-generation Silverlight technology with Deep Zoom to allow the user to see many aspects of the car on a single screen. Stephen Norman, Renault Group global marketing director explains “Renault Laguna Coupé is an exceptional car with a time-proof design that holds immense appeal to motor connoisseurs. Consistent with the connoisseur’s appreciation for superlative automotive design, Renault decided to use a web technology that would enable site visitors to admire the car in great detail”

      UNLEASH THE CREATIVITY OF YOUR DESIGNERS AS THEY COLLABORATE WITH DEVELOPERS USING THE INTEGRATION BETWEEN EXPRESSION STUDIO’S CREATIVE TOOLS AND THE VISUAL STUDIO FAMILY OF DEVELOPMENT TOOLS.

      Talk to anyone building interactive applications, and they will tell you about the promise and the frustration of user experience design. Concepts that look great in photo editing tools rarely lend themselves well to actual implementation, while tools that mash together designer and developer disciplines often fall short. In organizations lucky enough to have dedicated designers, they are often forced to spend more time on programming than on actual design. While the integration of developer and designer disciplines is increasing, it is hardly the norm. This is why Microsoft Expression Studio was created.

      Whether developing applications for the desktop or the Web, the Expression products will allow designers to fully engage with developers to finally bridge the gap in the designer/developer workflow. This will bring together the best minds in design and development to create applications and sites with a focus on great User Experience (UX).

      REDEPLOY THE SAME DESIGN ASSETS, APPLICATION CODE, AND MEDIA ASSETS FROM SILVERLIGHT ACROSS DESKTOP APPLICATIONS, CONNECTED WEB EXPERIENCES, AND MOBILE PHONES REDUCING THE NEED FOR DEVICE SPECIFIC DEVELOPMENT.

      Silverlight works with all leading browsers and operating systems, such as Internet Explorer, Firefox and Safari, bringing great experiences to Macs and Windows PCs today. Microsoft is also working with Novell to deliver a Linux-based implementation of Silverlight (code-named “Moonlight”).

      Since Silverlight is a subset of Windows Presentation Foundation, you can simply re-compile your application and have it target the Windows desktop. You can then exploit additional features such as access to local storage, devices, the desktop and system tray. All this can be done using the same development language, tools, and API.
      The same is also true for media. In fact, the same media can be delivered to Windows Media-enable applications on the desktop, Windows Media-enabled devices and mobile phones, and Silverlight-based players on Macs and PCs using the same IIS or WMS servers for download or streaming.  This is true for both unprotected and WMDRM-protected content and greatly reduces time to market and the cost of migrating existing Windows Media content services over to Silverlight.

      Going forward, Microsoft will also deliver these experiences on mobile devices. Bringing Silverlight to devices expands the reach that developers and designers have when creating rich internet applications, and enables them to easily leverage content, assets, and code that they are using today for browser-based Silverlight applications. 
      Microsoft will add support for Windows Mobile and is planning to work with Nokia to enable Silverlight on many of their mobile phones and operating systems (for example, Nokia Series 60).  Support for Silverlight on Windows Mobile and Nokia devices will quickly help change the landscape for the types of user experiences consumers can expect from their phones by bridging rich interactivity, wireless data, media and more. We will continue to explore other mobile operating systems and devices over time.   

      In summary, Silverlight on mobile adds a clear route for extending applications/services into the consumer’s pocket. If you’re building Silverlight applications for the Web now, then you’re already building Silverlight applications for mobile in the future. Just like the Web version, Silverlight on mobile will take the form of a browser plug-in.

      MONETIZE ASSETS WITH A VARIETY OF AD MODELS AND SUBSCRIPTIONS SUPPORTED BY THE WINDOWS MEDIA ECOSYSTEM. INTEGRATE EASILY WITH LEADING ONLINE ADVERTISING SYSTEMS LIKE DOUBLECLICK AND EYEWONDER.

      Content Protection for Monetization

      For nearly a decade, content providers have been employing Microsoft’s Windows Media Digital Rights Management (WMDRM) technology to provide a variety of secure media services to consumers on PC’s, devices, and mobile phones.  From download-to-own and streaming movie rental services to subscription-based music services, WMDRM has proven to be the most robust and widely deployed digital media protection technology to date.
      The next generation of WMDRM, called Microsoft PlayReady, builds on this legacy and provides new innovation around encryption robustness, performance, and flexibility.  With the introduction of Silverlight DRM, powered by PlayReady content distributors can extend the reach of their services and offer more advanced experiences to an even broader set of PC and Mac users.

      Integrated Advertising

      As the market for online advertising continues to grow around the world, the technology powering rich media-based ads needs to be up for the challenge. Complex business needs and creative capabilities demand more than simple animation and basic tagging – which is where Silverlight comes in. Silverlight enables lightning-fast development through familiar markup and controls based on XML that, combined with integrated productivity tools such as Expression Studio, Visual Studio and the Visual Studio Team System help designers and developers work better together and push the limits of interactive innovation. When designers and developers work better to bring advertising ideas to life, campaigns can be more nimble, more powerful and more effective. Silverlight enables agencies and advertisers to create, launch, measure and quickly respond to online advertising campaigns through powerful controls and fully integrated tools.

      Silverlight supports hooks to enable various in-stream advertising systems, such as linear pre-rolls, post-rolls, and interstitials, as well as non-linear ads such as ticker or transparent overlays. In addition to supporting various ad formats, Silverlight can integrate with ad servers for dynamic insertion, such as systems from DoubleClick and EyeWonder. Tags and scripts in the content can invoke the server at runtime and ads can be rendered seamlessly during playback. Connectors available via various publishing frameworks such as Akamai’s Open Video Framework make it easy for publishers to build Silverlight-based advertising experiences with direct hooks into ad networks and online tracking systems for reporting. Silverlight has a rich eventing model allowing deep analytics. Support exists today for Neilsen Netratings, Omniture and Gridsum. Silverlight is an approved format by the Interactive Advertising Bureau (IAB) and as such, enables agencies and advertisers to create, launch, measure and quickly respond to online advertising campaigns through powerful controls and fully integrated tools.

      PROTECT YOUR PREMIUM CONTENT WITH A CHOICE OF CONTENT PROTECTION TECHNIQUES: WEB PLAYLISTS, SILVERLIGHT DRM, WINDOWS MEDIA DRM, AND THIRD PARTY DRM PROVIDERS.

      With the explosive growth in streaming online video and rich internet experiences it’s critical to ensure your content and your business models are secure. The new peaks in online video audiences create a great opportunity to explore new revenue opportunities but also expose the challenges in managing and protecting valuable media assets.  A variety of content protection schemes, including Digital Rights Management (DRM); end-user authentication and authorization; Web Playlists; and SSL ensure that content owners can fully monetize and protect their media assets.

      Silverlight DRM, Powered by PlayReady

      Silverlight DRM, Powered by PlayReady is a content encryption technology designed and optimized to enable key Silverlight online content distribution scenarios including live streaming, on-demand streaming and progressive download.  Unlike simple stream or link encryption technologies (e.g., Adobe’s RTMP/e), Silverlight DRM, encrypts the video and audio in a secure wrapper ensuring content, including advertising, stays protected from server to Silverlight plug-in until it is decompressed during playback.

      Silverlight DRM is a small, cross-platform version of the PlayReady client used exclusively by the Silverlight Web browser plug-in. Analogous to other online content services, a Silverlight service that offers protected content uses the PlayReady Server SDK (or alternatively, the WM Rights Manager 10.1 SDK) to first package (encrypt) the Windows Media Audio (WMA) and Windows Media Video (WMV) content. When a consumer then wants to play that content a license is requested and obtained from a license acquisition server that uses the PlayReady Server SDK.

      The Silverlight plug-in includes an individualized PlayReady client acquired from an online service, hosted by Microsoft. Individualization binds the run-time client to the computer on which the client was initially installed. Every end-user is given an individualized Playready component and different certified license keys. This significantly reduces the danger of global breaks. If a specific version of a PlayReady client becomes compromised, it can be barred from acquiring licenses for new digital media files unless the latest version of the PlayReady client is downloaded that is robust against the circumvention.

      Compatible with Windows Media DRM 10

      Silverlight DRM allows content owners to deliver their protected content using either legacy WMDRM10 or new PlayReady encryption.  This enables content owners to deliver existing libraries of WMDRM10 content to Silverlight without having to re-encrypt anything and means that the same protected content can be played back in both Silverlight and Windows Media based-clients.

      Third Party DRM Providers

      With the extensibility and openness of Silverlight 2, third-parties are able to build content protection solutions, extending customer choice and opening up infrastructure options.

      PLUG INTO ADAPTIVE STREAMING TECHNOLOGIES FROM MOVE NETWORKS AND OTHER SERVICE PROVIDERS DELIVERING OPTIMIZED, ENHANCED HIGH-DEFINITION VIDEO EXPERIENCES OVERCOMING CHALLENGES PRESENTED BY VARYING INTERNET CONNECTIONS.

      The popularity of Internet video has exploded over the last few years.  First driven by UGC sites like YouTube, now broadcasters and Hollywood Studios have begun to distribute more high-value, early window content over the Web than ever before.  With the availability of this mainstream content comes the expectation from both distributors and consumers that media experiences will be high-quality and glitch-free. 

      Although traditional video streaming and progressive download techniques can deliver excellent quality media, they both lack to ability to respond to changing network and playback conditions that may adversely affect the viewing experience. To address these issues, companies like MOVE Networks have innovated to take advantage of advanced HTTP-based delivery techniques such as adaptive streaming where video is streamed in multi-second video segments, cached on the network, and then re-packaged on the client. Combining the best aspects of traditional streaming and progressive download, adaptive streaming seamlessly adjusts image quality to fit available bandwidth on each viewer’s Internet connection, creating a high-quality Internet television viewing experience.

      In August, Microsoft took an equity stake in MOVE Networks, building upon a strategic partnership announced in March of 2008.  The combination of Silverlight and MOVE Networks’ technologies allows users to experience high-quality, skip-free Internet television programming and allows media companies to insert branding, navigation, advertising and other rich interactive elements in and around their Internet television video streams.

      The live, online webcast of the Democratic National Convention was the first large demonstration of the integration of Move Networks and Silverlight. It was a technological success and tremendously popular, with visitors to the official convention Web site viewing more than 350,000 hours of video. It allowed viewers to experience the convention online like never before. We’ve heard customers say it was the highest-quality video experience they have ever seen online. image

      Microsoft partnered with Move Networks to design, develop, encode and deliver the Democratic National Convention media experience. In a first for a political convention, Silverlight gave live, high quality convention video coverage to a worldwide audience via the DNCC’s Web site. Silverlight multimedia applications provided an all-access pass for the convention’s online audience, offering the opportunity for viewers to individually tailor their convention experiences. The average viewer watched 107 minutes of video and the average bit rate for all video was 1.2 Mbps.

       

       

      DELIVER THE MOST RELIABLE AND SCALABLE VIDEO WITH THE LOWEST COST OF OWNERSHIP USING WINDOWS SERVER.

      Windows Server 2008 is the next-generation server operating system from Microsoft that will help content providers realize new levels of reliability and scalability, all with lower-cost content delivery. Windows Server represents a significant competitive edge when delivering streaming media and/or applications cross-platform and cross-device, and is already in use by most major broadcasters around the world. Feature highlights include:

      Windows Media Services 2008           

      Windows Media Services, like all of Windows Server 2008, is significantly more secure, reliable and robust — and it is already considered by many customers to be the best in the market for live and streaming delivery. The latest improvements provide twice the scalability over Windows Media Services 9.0.
      In addition to its proven scalability and reliability, Windows Media Services now supports a Server Core installation, enabling reduced footprints for fixed-function streaming server scenarios, offering embedded appliance-like performance. Additionally, a cache/proxy plug-in is built in, making it easier to configure WMS for edge network enterprise and Internet topologies. Many features of Windows Media Services that were previously available only on Windows Server Enterprise and Datacenter are now available on Windows Server Standard, and all Standard features are now also available on Windows Web Server 2008. This makes the power of Windows Media Services 2008 available to a broader set of users at a lower cost.

      Internet Information Services (IIS) 7.0 Media Pack

      The IIS7 Media Pack will bring media-specific features, previously exclusive to dedicated streaming media servers, to a Web server. The first feature of the IIS7 Media Pack is Bit Rate Throttling, which brings intelligence to progressive downloads. Bit Rate Throttling automatically detects the encoded bit rate of each file and controls how fast the first few seconds and then the rest of the stream is downloaded, thus saving network bandwidth while preserving a fast start-up experience for the end user.

      With support for Web playlists in IIS7 Media Pack, content owners can monetize their media assets through advertising-supported revenue models. A variety of advertising types, including bumpers, trailers, and interstitial ads, can be dynamic and personalized via integration with ASP.NET servers. Using Web Playlists, content and advertising can be sequenced with obfuscated URLs sent from the server via a client-side playlist. Since media playback experiences cannot be compromised, this ensures that ads are played and content is protected.

      ENGAGE CUSTOMERS IN YOUR BRAND AND CONTENT WITH RICH MEDIA, HIGH PERFORMANCE GRAPHICS, AND ANIMATIONS.

      Media Experiences include custom media players embedded in a Web site for viewing by Mac OS and Windows users on a range of Web browsers. Windows Media audio and video streaming can be combined with transparent overlays and new ad-insertion technologies. Personalized news tickers, DVD-like interactive menus, captioning, custom rating, and community features can be seamlessly displayed in a traditional browser window, or experienced full-screen at the click of a button. For example, today HSN.tv features live streaming using Windows Media Services together with Silverlight for rich interactivity.

      image

      HSN sells goods via television 24 hours a day, seven days a week. Products are presented by hosts on the Network's category-specific shows, produced in the company's studios located on their campus in St. Petersburg, Florida, and telephone orders are taken by representatives working at the company's multiple inbound call centers. The company has been wildly successful, with a steady growth rate and annual sales for 1999 of more than $1 billion.
      "HSN bet that by migrating to the Microsoft platform we would improve online sales by offering HSN's complete product line and increase customer growth by ensuring that the site was operational 24/7," noted Jack Kirby, president of HSN Interactive. "We are very excited that as a result of developing and hosting the HSN Web site… we have incrementally increased e-commerce revenue by 5 percent and decreased overall hardware, software and IT operating expenses by 43 percent. We are now on track for exceeding our year-on-year growth projections."

      DELIVER HIGH-DEFINITION VIDEO IN YOUR CHOICE OF INDUSTRY STANDARD FORMATS: VC-1, WINDOWS MEDIA AND H.264. LEVERAGE YOUR EXISTING WINDOWS MEDIA LIBRARY, WORKFLOW, AND INFRASTRUCTURE WITH SILVERLIGHT FOR PUBLISHING TO THE WEB.

      Consumers can enjoy HD-quality experiences based on Windows Media Video, Microsoft’s implementation of the SMPTE standards-based VC-1 video codec. Silverlight is compatible with millions of hours of existing Windows Media content, so content owners can continue to use their existing assets and investments in media technology while they build and deploy new Silverlight-based experiences. Silverlight also plugs into the latest advanced HTTP-based delivery techniques such as adaptive streaming where video is streamed in multi-second video segments, cached on the network, and then re-packaged on the client. Additionally, Silverlight can plug into hybrid CDNs (content delivery networks) and peer-to-peer delivery technologies, where consumer PCs can act as servers to distribute video to other consumers. With support for advanced streaming techniques, end-users get higher quality and more efficient RIA and media experiences.

      image

      Microsoft partnered with MSNBC to provide Silverlight technology to stream all video for the 2008 Olympics Games. Because Silverlight can stream live content with HD quality and has the capability to integrate real-time blogging, video alerts, and complex metadata overlays, the technology provided NBC with a superior end user experience, resulting in greater viewer “stickiness”

      While sites using other, non-Microsoft technologies had a viewing experience that lasted an average of 3 minutes per user, on the NBCOlympics.com site, the average viewing time was over 27 minutes per user. According to Perkins Miller, Senior VP, NBC Olympics, the Silverlight-powered NBCOlympics.com site "crushed every U.S. digital record for a major event. Nothing even comes close."  In just 17 days, NBC said that its Silverlight-powered Web site had: 1.3 billion page views; 50+ million unique visitors and 70 million streams.

      CREATE COMPELLING, STATE OF THE ART VISUAL CAMPAIGNS USING DEEP ZOOM TECHNOLOGY.  VISITORS CAN NOW EXPLORE YOUR CONTENT LIBRARY WITH EASE, SPENDING LONGER ON YOUR SITE THAN EVER BEFORE.

      The new Deep Zoom technology in Silverlight allows users to see images on the Web like never before. The smooth in-place zooming and panning that Deep Zoom allows is based on advanced technology from Microsoft Research and raises the bar on what image viewing should be. Deep Zoom allows people to see images on the Web like they’ve never seen them before – visualizing huge amounts of information and enabling people to intuitively dive further and further into the image.

      At its simplest, Deep Zoom allows a user to seamlessly drill into different levels of detail of an image without loading the entire image file all at once – they are automatically given just the parts of the image that are required, vastly increasing performance and saving bandwidth.

      It is possible through the Deep Zoom Composer utility to take multiple images of varying sizes and resolutions and composite them into a single image that can contain unprecedented information density. Possible applications include microfiche-like libraries of books and publications, engaging “Spot the Difference” ads, and product brochures that show big glossy images at the surface but have all of the detailed inset images and text nested inside at a deeper zoom level. As an interested user zooms in to see the image details, they can peruse the technical details or marketing descriptions of the product they are looking at.

      Deep Zoom goes even deeper, though. For consumption of static information and images, Deep Zoom dynamic collections take it to the next level. Dynamic collections allow on-the-fly composition of images in the browser as the user interacts with the images. This means that you can freely combine high resolution images, dynamic text from a Web service or other data source, and controls and UI. The user can interact with these in real time, with smooth scrolling and natural animations. Zoom level becomes a basic attribute of the application, enabling entirely novel experiences in a Web application.

      Silverlight is the only Web technology that makes all these experiences possible.

      image

      Hard Rock Café has built their brand on its massive collection of memorabilia – more than 70,000 pieces of rock and roll history displayed at 146 restaurants and venues around the world. They wanted to drive home the authenticity of this brand, give users a sense of the depth of their collection, and differentiate themselves from mass-market theme restaurants and hotel chains – so they launched a new brand campaign and Web site that brings all of these artifacts and memories to life.

      “Once we saw Deep Zoom in action, there was no longer a debate about which technology we would use,” explains Michael Lemme, Creative Director at Duncan/Channon. “Deep Zoom doesn’t just approximate the real-life experience people have at Hard Rock, it goes even further so that fans can get closer and interact with pieces in ways they couldn’t in person.” And, most amazingly: by working on the Microsoft platform, they built the content management system and infrastructure to deliver this great experience in just 30 days.

      More Posts Next page »
       
      Page view tracker