New Features in Visual Studio 2015 RC


Visual Studio 2015 RC has major changes including an integrated suite of developer productivity tools, cloud services and extensions that enable you and your team to create great apps and games for the web, for Windows Store, for the desktop, for Android and for iOS. This article highlights some of the most important features in the Visual Studio 2015 RC IDE.

The following are the new features in Visual Studio 2015 RC.

  1. Sign In across multiple accounts

    You can work with multiple user accounts in Visual Studio by adding them as you go or through the new Account Manager. Then, you can switch among those accounts on the fly when connecting to services or accessing online resources. Visual Studio remembers the accounts you add so you can use them from any instance of Visual Studio or Blend.


    Figure 1: You can add multiple accounts in Visual Studio by clicking on Add an account link

  2. Choose your target platform(s)

    Visual Studio 2015 supports cross-platform mobile device development. You can write apps and games that target iOS, Android and Windows and share a common code base, all from within the Visual Studio IDE. You'll see all these new project types in the File, New Project dialog.

    And also support for classic desktop applications are better than ever, with many improvements to languages, libraries and tools. The following are the various platforms.

    • Cross-platform mobile apps in C# with Xamarin for Visual Studio
    • Cross-platform mobile apps in HTML/CSS/JavaScript with Apache Cordova
    • Cross-platform mobile games in C# with Unity
    • Classic desktop and Windows Store
    • Cross-platform mobile games in C# with Unity
    • Cross-platform apps and libraries for native C++
    • Web

    ASP.NET 5 is a major update to MVC, Web API and SignalR and runs on Windows, Mac and Linux. ASP.NET 5 has been designed from the ground up to provide you with a lean and composable .NET stack for building modern cloud-based apps. The Visual Studio 2015 RC tooling is more closely integrated with popular web development tools such as Bower and Grunt.
  3. Live code analysis (Light Bulbs)

    In Visual Studio 2015 RC, light bulbs display in the left margin (when using the keyboard) or a tool tip (when hovering over an error with the mouse). The light bulbs indicate in real time that the compiler (possibly using a custom rule set) has detected an issue in your code and also has a suggestion for how to fix the issue. When you see a light bulb, click on it for actionable suggestions.


    Figure 2: Live code analysis - image reference from MSDN site

  4. Design your UI

    The Blend experience for designing XAML user interfaces has been significantly enhanced. Blend has been completely redesigned to provide a more intuitive UI, more powerful XAML editing capabilities and better integration with Visual Studio.
  5. Diagnose Issue

    • Advance Breakpoints

      Breakpoints in the debugger are significantly more configurable and the UI for interacting with breakpoints is consolidated into a peek window so that you never need to leave the code editor.


      Figure 3: Breakpoint with expression condition -Image reference from MSDN site

    • Performance Tips

      Performance tips display the execution time of methods during debugging, enabling you to quickly spot bottlenecks without having to invoke the profiler.


      Figure 4: Elapsed time (Image from MSDN site)

    • Error List

      The error list now supports filtering on any column. It is also scalable enough to show a live view of errors, warnings and code analysis across your entire C# or Visual Basic solution as you type, even when a code change produces thousands of warnings. The new Error List is backward-compatible with existing usage.
    • GPU Usage Tool

      The GPU Usage Tool helps you collect and analyze GPU usage data in DirectX apps and games and troubleshoot whether performance bottlenecks are originating in the CPU or GPU.
  6. Connect To Service

    The Add Connected Service wizard also integrates with the new Account Manager to make it easy to work with multiple user accounts and subscriptions. In Visual Studio 2015 RC, support for the following services are provided out of the box (assuming that you have an account):

    • Azure Mobile Services
    • Azure Storage
    • Office 365 (mail, contacts, calendars, files, users and groups)
    • Salesforce


    Figure 5: Add Connected Service (Image from MSDN site)

  7. Synchronized Settings (Roaming Settings)

    Visual Studio 2015 improves on this experience by synchronizing more of your settings and synchronizing settings across the Visual Studio family of applications, like Professional, Enterprise, Express SKUs and Blend. Settings includes settings for some of the most commonly configured settings such as Text Editor, Key bindings, Theme and Fonts and Colors, Startup and Environment Aliases
  8. High Resolution Images and Touch Support

    The Visual Studio IDE now has true high-resolution images on denser displays (in areas like menus, context menus, tool window command bars and in some projects in Solution Explorer). And on a touch-screen in the Visual Studio code editor window, you can now use gestures such as touch and hold, pinch, tap and so on to zoom, scroll, select text and invoke context menus.
  9. Title Case Menu

    Visual Studio menus are once again title-case by default. However if you happen to like the ALL CAPS style, you can set it on start up or in the Tools > Options > General property page as in the following:


    Figure 6: Title Case Menu- Image reference from MSDN site

  10. Custom Layouts

    You can create store and roam custom window layouts. For example, you can define one preferred layout for use on your desktop machine and a different layout for use on a laptop or small screen device. Or you may prefer one layout for a UI project and another for a database project. Key bindings enable you to rapidly switch among layouts. These layouts are available on any instance of Visual Studio when you are signed in.


    Figure 7:
    Custom Layout (Image from MSDN site)

  11. Notification Hub

    The UI for the notification hub has been streamlined to make it easier to scan quickly. Additional kinds of notifications have been added, including performance issues, rendering issues and crashes and you can now tell Visual Studio to stop showing a notification.


    Figure 8: Notification Hub (image from MSDN site)

  12. Code Lens: Find what happened to your code (Enterprise and Professional editions only)

    You can review changes and other history for work items, bugs, code reviews and so on for code that's stored in Visual Studio Online (VSO) or in Team Foundation Server (TFS).

    In Visual Studio Enterprise and Visual Studio Professional, you can now:

    • Get the history for an entire code file in the Visual Studio editor.


      Figure 9:
      Code Lens (image from MSDN site)

    • See a graph that shows the people that have changed your code. This can help you find patterns in your team's changes and assess their impact.

      Figure 10: Code Lens (image from MSDN site)

    • Easily see when your code was last changed.
    • Find changes in other branches that affect your code.

Main Reference: MSDN library for image references also.

Survey finds 40% of businesses want to adopt Windows 10 in the first year

windows-10-devicesMicrosoft has big plans for its new Windows 10 operating system, as the company publicly stated it’s aiming for over a billion devices running the OS. Luckily, lots of businesses seem to be quite eager to jump on Windows 10, making that target very achievable.


According to a recent survey from SpiceWorks, which targeted IT pros and those in the enterprise, a huge number of businesses are very interested in adopting Windows 10. According to this data, 94% of those asked were interested in learning more about Microsoft’s newest OS.


But the good news doesn’t stop there, as 40% of businesses reportedly want to upgrade to Windows 10 in the first year after launch, with another 33% wanting to jump onboard in the following 12 months. But why is there so much excitement surrounding the new OS? According to the survey respondents, the return of the Start Menu is a huge deal, topping the list of desired features. That, combined with the extra security that Windows 10 brings, as well as the free upgrade and the convenience of going through Windows Update seem to be the most popular reasons to adopt the new operating system.


Of course, all of this assumes that Windows 10 won’t suffer from any major failures or compatibility issues and that the launch goes off without a hitch. In fact, there a bunch of problems that IT pros fear, seen above, and if any of these prove to be real issues, Windows 10 adoption may suffer.

That being said if this data is correct, it could be a huge win for Microsoft, and Windows 10 might be the most successful product in the company’s history. Not only does the Redmond giant make most of its money out of the enterprise, but if adoption ends up being as high as this survey suggests, it could be a huge vote of confidence in the company’s new way of doing business.

VoIT-Rise-Windows-10-Final.pdf (2MB)

ASP.NET MVC 3: Razor’s @: and syntax

Razor minimizes the number of characters and keystrokes required when writing a view template, and enables a fast, fluid coding workflow. Unlike most template syntaxes, you do not need to interrupt your coding to explicitly denote the start and end of server blocks within your HTML. The Razor parser is smart enough to infer this from your code. This enables a compact and expressive syntax which is clean, fast and fun to type.

For example, the Razor snippet below can be used to iterate a list of products:


When run, it generates output like:


One of the techniques that Razor uses to implicitly identify when a code block ends is to look for tag/element content to denote the beginning of a content region.  For example, in the code snippet above Razor automatically treated the inner <li></li> block within our foreach loop as an HTML content block because it saw the opening <li> tag sequence and knew that it couldn’t be valid C#. 

This particular technique – using tags to identify content blocks within code – is one of the key ingredients that makes Razor so clean and productive with scenarios involving HTML creation.

Using @: to explicitly indicate the start of content

Not all content container blocks start with a tag element tag, though, and there are scenarios where the Razor parser can’t implicitly detect a content block.

Razor addresses this by enabling you to explicitly indicate the beginning of a line of content by using the @: character sequence within a code block.  The @: sequence indicates that the line of content that follows should be treated as a content block:


As a more practical example, the below snippet demonstrates how we could output a “(Out of Stock!)” message next to our product name if the product is out of stock:


Because I am not wrapping the (Out of Stock!) message in an HTML tag element, Razor can’t implicitly determine that the content within the @if block is the start of a content block.  We are using the @: character sequence to explicitly indicate that this line within our code block should be treated as content.

Using Code Nuggets within @: content blocks

In addition to outputting static content, you can also have code nuggets embedded within a content block that is initiated using a @: character sequence. 

For example, we have two @: sequences in the code snippet below:


Notice how within the second @: sequence we are emitting the number of units left within the content block (e.g. - “(Only 3 left!”). We are doing this by embedding a @p.UnitsInStock code nugget within the line of content.

Multiple Lines of Content

Razor makes it easy to have multiple lines of content wrapped in an HTML element.  For example, below the inner content of our @if container is wrapped in an HTML <p> element – which will cause Razor to treat it as content:


For scenarios where the multiple lines of content are not wrapped by an outer HTML element, you can use multiple @: sequences:


Alternatively, Razor also allows you to use a <text> element to explicitly identify content:


The <text> tag is an element that is treated specially by Razor. It causes Razor to interpret the inner contents of the <text> block as content, and to not render the containing <text> tag element (meaning only the inner contents of the <text> element will be rendered – the tag itself will not).  This makes it convenient when you want to render multi-line content blocks that are not wrapped by an HTML element. 

The <text> element can also optionally be used to denote single-lines of content, if you prefer it to the more concise @: sequence:


The above code will render the same output as the @: version we looked at earlier.  Razor will automatically omit the <text> wrapping element from the output and just render the content within it. 

What is IoT?

The Internet of Things (IoT) is a scenario in which objects, animals or people are provided with unique identifiers and the ability to transfer data over a network without requiring human-to-human or human-to-computer interaction. IoT has evolved from the convergence of wireless technologies, micro-electromechanical systems (MEMS) and the Internet.


A thing, in the Internet of Things, can be a person with a heart monitor implant, a farm animal with a biochip transponder, an automobile that has built-in sensors to alert the driver when tire pressure is low -- or any other natural or man-made object that can be assigned an IP address and provided with the ability to transfer data over a network. So far, the Internet of Things has been most closely associated with machine-to-machine (M2M) communication in manufacturing and power, oil and gas utilities. Products built with M2M communication capabilities are often referred to as being smart. (See: smart label, smart meter, smart grid sensor)

IPv6’s huge increase in address space is an important factor in the development of the Internet of Things. According to Steve Leibson, who identifies himself as “occasional docent at the Computer History Museum,” the address space expansion means that we could “assign an IPV6 address to every atom on the surface of the earth, and still have enough addresses left to do another 100+ earths.” In other words, humans could easily assign an IP address to every "thing" on the planet. An increase in the number of smart nodes, as well as the amount of upstream data the nodes generate, is expected to raise new concerns about data privacy, data sovereignty and security.

Although the concept wasn't named until 1999, the Internet of Things has been in development for decades. The first Internet appliance, for example, was a Coke machine at Carnegie Melon University in the early 1980s. The programmers could connect to the machine over the Internet, check the status of the machine and determine whether or not there would be a cold drink awaiting them, should they decide to make the trip down to the machine.

Kevin Ashton, cofounder and executive director of the Auto-ID Center at MIT, first mentioned the Internet of Things in a presentation he made to Procter & Gamble. Here’s how Ashton explains the potential of the Internet of Things:

“Today computers -- and, therefore, the Internet -- are almost wholly dependent on human beings for information. Nearly all of the roughly 50 petabytes (a petabyte is 1,024 terabytes) of data available on the Internet were first captured and created by human beings by typing, pressing a record button, taking a digital picture or scanning a bar code.

The problem is, people have limited time, attention and accuracy -- all of which means they are not very good at capturing data about things in the real world. If we had computers that knew everything there was to know about things -- using data they gathered without any help from us -- we would be able to track and count everything and greatly reduce waste, loss and cost. We would know when things needed replacing, repairing or recalling and whether they were fresh or past their best.”

Dr. John Barrett explains the Internet of Things in his TED talk:

Five key trends in the developer economy


The Developer Megatrends report series distills the major data points and insights from our research into the most important trends in the developer economy. In this 7th edition Megatrends report, we cover app business models and examine how developers can escape the poverty trap. We look at how consumer technology will invade the enterprise, and how data will be at the center of the most interesting apps in the coming years. We’ll also revisit experience roaming – a trend from 2010 that is now in full swing.

One thing is clear. Developers are a driving force in every industry and a critical source of competitive advantage. Every company should master developer ecosystem skills. Developer Megatrends H1 2015 will shed light on the state of the art in the developer economy.

  • Developers are a driving force in every industry and a source of competitive advantage. Every company should master developer ecosystem skills.
  • App stores alone cannot sustain developers. e-commerce is and will stay the winning app revenue model.
  • App and IoT developers will take consumer technology and business models to solve the most important enterprise problems (and dodge the poverty trap in the process).
  • Value in tomorrow’s apps will come from making sense of data. Data developers and data platforms will be king.
  • Mobile ecosystem winners are fully leveraging their developer and user bases to win in the Internet of Things.
  • In the future, IoT device selection by consumers and enterprises will be determined by “will it work with my existing services and devices”. We call this experience roaming.
  • Developers are kingmakers in every industry
  • Developers escape from the app store
  • Developers escape consumer markets
  • Apps escape from screens
  • Platform players escape from mobile


Using the UpdateProgress to lock down controls in the browser

If it takes awhile for the server to process the postback (e.g. complex rules or badly written code ), the user may not realize that the server is processing the request. This can lead to all kinds of issues with users that are not savvy or familiar with web applications (multiple clicks, moving off the page, etc.). Consequently, I want to tell the user that the server is processing the request and disable the controls on the page. Let's break this down into two steps: show a message, and disable the user's interaction with the controls.

You can use the UpdateProgress control alone with the UpdatePanel to provide a message to the user during the postback. This is very simple -- put the UpdateProgress control within the UpdatePanel like so:

<asp:UpdateProgress ID="UpdateProgress1" runat="server">
        Update in progress. Please wait ...

This will display the "Update in progress. Please wait ..." message to the the user while the server is processing the request. However, it doesn't prevent the user from continuing to interact with the web application. To provide this type of functionality, we will use the PageRequestManager to invoke some JavaScript while also using CSS and DHTML to lock down the UI.

First, we'll add a little more to our UpdateProgress control:

    <div id="blur" />
    <div id="progress">
        Update in progress. Please wait ...

We'll use the "blur" and "progress" controls to _overlay _the controls in the UI while also providing a message to the user. To provide the functionality we require, we need to use the following CSS elements:

    width: 100%;
    background-color: black;
    moz-opacity: 0.5;
    khtml-opacity: .5;
    opacity: .5;
    filter: alpha(opacity=50);
    z-index: 120;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;

    z-index: 200;
    background-color: White;
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    border: solid 1px black;
    padding: 5px 5px 5px 5px;
    text-align: center;
    width: 100%;
    left: 0px;
    height: 75px;
    padding-top: 40px;
    padding-bottom: 60px;

The purpose of the "blur" control is to provide a tag that lays over everything in the browser. Since the opacity is 0.5 (and 50), it appears gray while allowing the user to continue to see the controls behind it. However, since the "blur" control exists between the user and the other controls, the user cannot interact with any other controls.


Microsoft reveals first official international pricing info for Windows 10


We've known for some time now that Microsoft will offer Windows 10 as a free upgrade during its first year of availability, to those with a Windows 7 or Windows 8.1 PC. But the company hasn't yet announced how much Windows 10 licenses will cost around the world for those who don't qualify for the free upgrade.

Leading online retailer Newegg posted prices indicated a few weeks ago that a full Windows 10 Home license would be priced at $109.99, while the Pro version was said to cost $149.99. Microsoft later confirmed that prices in the US would be $119 and $199.


Today, Microsoft began to reveal its first pricing info for Windows 10 directly to its customers in an update to its 'Get Windows 10' app, which allows eligible users to reserve their free copy of the new OS.


A free version of Google Play Music has launched just before Apple Music

google-playThe company is making a Pandora-like radio streaming service available to everyone in the US initially, consisting of curated playlists and automatically generated streams. However, users won't be able to pick any song they want like Spotify's free tier allows.

"We think that by giving users a taste of Google Play Music, through the ad-supported tier, more users will ultimately become paying subscribers," said Google Play's vice president of partnerships Zahavah Levine. "Until now, this was a lost opportunity - to bring more people into Google Play Music."

Google is currently giving access to the service on the web, while accompanying iOS and Android apps will follow in the next few days.

Google looks for content makers to test its Jump virtual reality video camera


imageIf you're an aspiring virtual reality content producer, Google wants to give you a chance to test the Jump camera system it developed for recording video to be used in VR environments.
People interested in trying their hand at capturing 360-degree video with Jump can fill out a form Google posted on Monday that asks basic biographical questions as well as details on how they would use the system.

Google didn't say how many "select creators" it would chose, but those who are picked will be able to start using the 16-camera rig this summer.

Google seems especially interested in people with creative backgrounds. The jobs that people can select in the form's occupation section include filmmaker, director, artist and production staff -- but there is an "other" section that allows write-ins if none of the above apply. 
There's also a section where applicants can explain why they want to test Jump -- and "awesome answers might put you at the top of the list," Google said.

Google worked with GoPro to build Jump, which has 16 of the company's Hero4 cameras attached to a circular frame. Jump's price and availability weren't provided when the rig was shown at Google's I/O developer's conference in May. However, given that a Hero4 camera retails for approximately $500, initial Jump buyers will likely have deep pockets.
The first videos created with Jump will appear on YouTube this summer, Google said at I/O. People will be able to experience them via the Google Cardboard viewer.


Windows 10 to come on USB sticks in addition to DVD


According to information obtained by, Windows 10 may be sold on USB drives in addition to DVD disks.

The unnamed source of Winfuture’s information also reports that both the 32 and 64 bit versions of Windows 10 will be available on the thumb drive, and the customer will be able to choose which version to install. This is an added advantage of placing the Windows 10 install files on a USB drive as historically DVD copies will solely be for either a 32 or 64 bit system.

If true, the news will be welcomed by those who plan to install the new operating system on devices which do not have an optical drive, or by those who are tired of accumulating disks -hoping they don’t end up scratched and unreadable.

Winfuture also reports that the USB option will be available for both Windows 10 Home and Windows 10 Professional.



Planet Xamarin

Planet Xamarin