Archive for the ‘Microsoft’ Category

Track Application Usage Statistics for CodePlex Projects

Tuesday, May 11th, 2010 by Joe Kuemerle

Open source software thrives on feedback and participation. Without a good idea of what users want, projects easily become irrelevant. Knowing how many people are actively using your application, as well as which features they’re using (and which ones they’re not) provides significant feedback that helps to focus development, resulting in an improved application that meets the user’s needs.  With CodePlex’s integration of Runtime Intelligence features, project coordinators now have the ability to inject application analytics features into their releases.

Projects hosted on CodePlex can use either the free version of Dotfuscator (included in Visual Studio 2010) or the commercial edition to inject application analytics features into their binary distributions.  The application analytics automatically tracks how many times is run in the wild and the duration of those runs. This provides a measurement of application popularity beyond counting the number of downloads.  Basic system profile information, such as which operating systems and framework versions the application are run under, is gathered and reported on as well.  Additionally, feature usage within the application can be measured including the number of executions as well as their duration.  Total application runs per day statistics are available on the projects statistics page on CodePlex and detailed usage data is available from a link on the statistics page.

With the understanding that there can be privacy concerns, Runtime Intelligence instrumentation transmits no personally identifiable information.  It is also very easy to surface the built in Opt-In/Opt-Out functionality in the library and give individual application users the choice to participate in the program.

The individual usage data is aggregated and daily application usage is viewable on the projects statistics page as well as links to detailed reports of application and feature usage.

Instrumentation of applications compiled against .NET 2.0 and higher (including Silverlight 2, 3, and 4) is supported by Dotfuscator Community Edition.

Projects that use custom attributes to decorate their injection points are permitted to redistribute the PreEmptive.Attributes.dll library as part of their source code.  The library is only necessary for compilation of the application and references to it are stripped out during the instrumentation process, so it does not need to be included in binary distributions.  A signed downlevel version of the attributes library is available on the CodePlex Runtime Intelligence Integration project page (http://runtimeintelligence.codeplex.com/releases ) that can be used in any project targeting .NET 2.0 or higher.  This library is also allowed to be generally distributed with project source code.

Any project hosted on CodePlex can now take advantage of the deep knowledge into user activity that Runtime Intelligence Services provides by reviewing a sample walkthrough here and implementing this new feature into a future release.

Launch of Visual Studio 2010 & Dotfuscator CE 5

Monday, April 26th, 2010 by Brandon Siegel

With the launch of Visual Studio 2010 and Silverlight 4 at the DevConnections show in Las Vegas last week, I am pleased to announce that Dotfuscator CE version 5 is now generally available. With an all-new user interface, more intelligent obfuscation, and application analytics instrumentation, this promises to be the biggest change we’ve made to Dotfuscator CE in its history. I am particularly excited because soon, with the application analytics included in Dotfuscator CE, millions of developers world-wide will have the opportunity to see real usage data coming in from their applications. Even better, they will be able to do so completely cost-free.

I was invited to act as part of PreEmptive’s delegation to the launch event and humbled to speak with so many passionate developers, architects, DBAs, and yes – even managers. What I did not initially expect was the overwhelmingly positive response from nearly everyone we talked with. Most people had never heard of application analytics. But, with a brief introduction everyone quickly understood the idea and many offered up scenarios where they would want to use it for their applications (completely unsolicited, I might add). It was thrilling to receive such a positive response to something I - and the other fantastic developers here at PreEmptive - have worked very hard over the past few years to create.

I very much encourage the great folks I met in Las Vegas last week, along with millions of passionate developers across the globe, to open up Dotfuscator CE and try out the free analytics we’ve included. Today, most web developers wouldn’t think of publishing a web site without including web analytics. I hope that having these analytics included with Visual Studio 2010 will lead to application developers thinking the same way about their applications. Of course, using the two together in a Silverlight or ASP.NET application to get a complete view of the visitor’s experience is a natural fit. But application analytics extends far beyond that. Now, all .NET developers are able to get live information that can help steer development focus, even in areas that were previously completely opaque – from cloud apps running on Windows Azure to mobile phone applications on Windows Phone 7 and even to applications running on Linux and Mac with Mono.

In fact, I look forward to seeing how application analytics will be used to support open source development throughout the .NET ecosystem. Because open source developers essentially donate their spare time, being able to focus their efforts in places that have the most user impact is crucial. An open source development model also allows far greater flexibility for developers to immediately shift their focus to match what their users are actually doing with the software they produce, without the constraints of rigid development and deployment practices. Because of these factors, I specifically encourage maintainers of open source projects to try the free application analytics provided in Dotfuscator CE. Together with the bug reports and feature requests you already have, you will be able to truly make the most of the precious time that your contributors give.

Some might say that it’s counterintuitive for a company known for source code obfuscation to support open source development, but at PreEmptive our guiding principle is simply “help software succeed”. With application analytics, we have the opportunity to extend our dedication to this principle beyond proprietary software. In the past few months, we’ve released numerous projects on CodePlex including some awesome editor extensions that integrate application analytics right into the Visual Studio 2010 IDE, an endpoint starter kit so you can write your own backend to receive and process Runtime Intelligence messages, a data visualizer sample to demonstrate how to consume analytics data using our RESTful analytics API, and an API helper library to make using our API even easier. And our new partnership with CodePlex, which will provide free application analytics for hosted projects surfaced right within each project’s page, provides us yet another great opportunity to help software succeed.

Today is the first day of Microsoft’s MIX10 Conference

Monday, March 15th, 2010 by Gabriel Torok

One of the items being announced today by Microsoft at MIX is the SilverLight Analytics Framework. The Silverlight Analytics Framework will let designers and developers visually build analytics into their Silverlight applications using Microsoft’s Expression Blend.

Now, most readers of my blog already know that Developers can already inject Runtime Intelligence analytics into Silverlight (and any other managed code) using Dotfuscator inside Visual Studio. I am excited about this new framework because it offers an entirely new way to configure runtime intelligence (using Expression Blend) and that means a whole new community of users also have access to analytics for the very first time. This is also being echoed by Michael Scherotter, principal architect evangelist at Microsoft Corp. and architect of the analytics framework. He writes that we have “successfully used the Silverlight Analytics Framework to open its application instrumentation to a new audience of designers.”

Runtime Intelligence offers the following advantages over traditional Web analytics services:

· The analytics endpoint (and the resulting data) can be self-hosted and managed by the application provider (you don’t have to send your data to a third party – but that option is also available too).

· While the resulting Web analytics maps to the Silverlight Analytics Framework data model, the underlying SOAP schema is shared with Dotfuscator’s instrumentation.

The common schema allows Dotfuscator to provide a complimentary instrumentation mechanism for any .NET Framework component. THIS means that

· Middle and back-office application tiers can be instrumented providing a deeper view across distributed application workflows.

· Older or alternative applications using WPF or some other non-Silverlight form factors can be benchmarked against the newer Silverlight applications to track both user behaviors and application usage.

The world of application analytics is about to take a big step forward. In fact I believe that one day in the not too distant future application analytics will be as common as web analytics is today and the distinction will eventually disappear.

What decisions could you make to better serve your customers, to reduce your costs, and improve your products if you had ready access to usage data streamed to you from the wild?

Tell me what you would do - I would love to hear from you.

PreEmptive is doing its part to help the Vancouver Winter Olympics go off smoothly.

Friday, February 19th, 2010 by Gabriel Torok

Online viewers of the Vancouver Olympics on NBCOlympics.com are using Silverlight based video and photo viewers delivering full HD quality content for viewers and helping content owners monetize their content. I am pleased to say that Dotfuscator had a hand in all of this innovation providing both protection and optimization for the high performing video player at the heart the NBC online Olympic experience.

For an overall description of the Silverlight solution, see: http://team.silverlight.net/events/let-the-games-begin/

For Microsoft’s own description of the role of partners (including us of course), see: http://team.silverlight.net/customer-evidence/vancouver-olympics-ndash-how-rsquo-d-we-do-that/

The development teams especially appreciated the fact that Dotfuscator can accept and output XAP files (instead of low level DLLs that force developers to manually edit XAP files).  This shortens and simplifies the release process – and was critical for an event like the Olympics.

On an unrelated Silverlight note, I was pleased to see David Kelly’s recent blog entry . This Silverlight MVP has identified Dotfuscator’s Silverlight analytics as “a critical tool in your tool Silverlight toolbox.” Good Stuff.

How do I love thee? Let me count the ways.

Thursday, August 20th, 2009 by Sebastian Holst

“How do I love thee? Let me count the ways. I love thee to the depth and breadth and height” - Sonnet 43, Elizabeth Barrett Browning

So “what’s love got to do with it?” (Private Dancer, Tina Turner) Hint: if people live for love, then businesses live for money

On July 14th, Microsoft announced Azure pricing and a “grace period” through PDC 2009. A primary rationale here is to enable development organizations to optimize deployment and monetization models to maximize Azure commercial opportunities.

So, whether you are a romantic (like Ms Browning above) or perhaps more hardened like Tina Turner’s Private Dancer (or Stanley Kubrick a la Full Metal Jacket), one thing is for sure - Microsoft wants Azure to “love you long time.” How deep, wide, high or long is the question.

Check out a this article in SD Times - PreEmptive’s Dotfuscator instruments Azure applications By David Worthington – where Dave Worthington makes many of the very same points.

Of course, we announced Runtime Intelligence Service (RIS) Azure support to help developers answer these very questions. While perhaps not as soaring as a sonnet – Runtime Intelligence allows for any .NET component deployed into Azure to be injected (post-build) with session, feature and method level monitoring. The runtime intelligence is streamed out of Azure for analysis. Other than writing a custom solution, this is perhaps the only means to measure adoption, usage patterns and performance inside Azure in near real-time.

Now, my posts are all intended to help you (blog followers) find more ways to make more money (we want to spread the love). So, you will note that I very specifically said the RIS helps to answer these questions. What the Azure development community really needs is an ROI calculator that will combine real usage data (from both legacy and piloted Azure applications) with Microsoft pricing and the offset IT expenses to come up with an Azure ROI calculator. I know there are lots of calculators being written – but how many of them can incorporate actual usage data before and after deployment to the cloud? That’s not our business – but could it be yours?

If yes, let me know and I will make sure you have what you need to call our RI Service via our RESTful API – making your calculator uniquely able to reliably predict cloud ROI.

As always, i have a more philosophical take on this issue on my personal blog at http://apps-are-people-too.blogspot.com/2009/08/how-do-i-love-thee-let-me-count-ways.html