<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>PreEmptive Solutions Blog</title>
	
	<link>http://preemptive.com/blog</link>
	<description>Dotfuscator, DashO and Runtime Intelligence</description>
	<pubDate>Mon, 30 Aug 2010 17:36:24 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/PreemptiveSolutionsBlog" /><feedburner:info uri="preemptivesolutionsblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Automating Runtime Intelligence Code Injection</title>
		<link>http://feedproxy.google.com/~r/PreemptiveSolutionsBlog/~3/2C2ohuzbXn4/183</link>
		<comments>http://preemptive.com/blog/archives/183#comments</comments>
		<pubDate>Mon, 30 Aug 2010 17:36:24 +0000</pubDate>
		<dc:creator>Joe Kuemerle</dc:creator>
		
		<category><![CDATA[Application Lifecycle Management]]></category>

		<category><![CDATA[Dotfuscator]]></category>

		<category><![CDATA[Dotfuscator CE]]></category>

		<category><![CDATA[Runtime Intelligence]]></category>

		<guid isPermaLink="false">http://preemptive.com/blog/archives/183</guid>
		<description><![CDATA[With the release of Dotfuscator Community Edition in Visual Studio 2010, developers were given a way to quickly and easily add application analytics functionality to their projects at no additional cost. Using Runtime Intelligence, developers or build managers can implement a customer experience improvement program to track how people are actually using the deployed applications [...]]]></description>
			<content:encoded><![CDATA[<p>With the release of Dotfuscator Community Edition in Visual Studio 2010, developers were given a way to quickly and easily add application analytics functionality to their projects at no additional cost. Using Runtime Intelligence, developers or build managers can implement a customer experience improvement program to track how people are actually using the deployed applications in the wild. In May 2010, PreEmptive Solutions partnered with CodePlex to provide commercial level Runtime Intelligence data reporting to any project hosted on CodePlex.</p>
<p>The version of Dotfuscator that ships with Visual Studio 2010 can’t be added to an automatic build script because it requires user interaction to perform a build. The commercial version of Dotfuscator has both an MSBuild task and a command line option for build automation, but purchasing a commercial license for a pure open source project is normally not an option. At the request of the community, we are making two options available to help alleviate this issue.</p>
<p>The first option, available to anyone who has Visual Studio 2010 Professional or higher, is to register for and download a patch to upgrade the installed version of Dotfuscator CE to version 5.0.2601. This version of Dotfuscator includes a command line interface and removes the restrictions that block automation. It does not require any user action to start a build, nor does it require Visual Studio to be running. The instrumentation abilities are identical to the previous versions: up to 10 named features with none of the advanced functionality from the commercial version (custom data gathered at runtime, detailed system and performance data, unique serial numbers, custom tamper and expiration behavior). To download this patch, you will need to create an account <a href="http://www.preemptive.com/component/user/register" target="_blank">here</a> . Go to My Account and the patch will be available in the Downloads section. After you install the patch, you will have a new DotfuscatorCLI.exe application in your Dotfuscator CE installation directory which you can use to automate builds. The command line is similar to the commercial version of Dotfuscator and is documented in the Command Line Interface reference in the <a href="http://preemptive.com/images/stories/dotfuscator_documentation/Dotfuscator/webframe.html" target="_blank">online documentation</a> .</p>
<p>The second option is that open source projects hosted on CodePlex can use the commercial version of Dotfuscator to instrument the application. Any project administrator can request a PreEmptive Open Source Project License <a href="http://www.preemptive.com/OpenSourceLicenseRequest" target="_blank">here</a> and receive the full version of Dotfuscator to use as the Runtime Intelligence code injection tool for their project. The project will then have access to the full range of instrumentation features available to commercial users including custom data gathered at runtime, support for occasionally connected clients, easy integration for Silverlight XAP and ClickOnce packages and ongoing enhancements as we release new commercial versions of Dotfuscator. Additionally, the project will be able to use the MSBuild task or the command line to easily integrate into their automated build environment.</p>
<p>With these options, developers are now better able to get accurate and actionable feedback on how their applications are really being used and can tighten the feedback look between themselves and their users. Better information on usability and functionality will lead to improved applications, and now it’s easier than ever to get that data.</p>
<img src="http://feeds.feedburner.com/~r/PreemptiveSolutionsBlog/~4/2C2ohuzbXn4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://preemptive.com/blog/archives/183/feed</wfw:commentRss>
		<feedburner:origLink>http://preemptive.com/blog/archives/183</feedburner:origLink></item>
		<item>
		<title>Dotfuscator 4.8.1000 with XAML obfuscation support</title>
		<link>http://feedproxy.google.com/~r/PreemptiveSolutionsBlog/~3/KaA3qeTWHUw/179</link>
		<comments>http://preemptive.com/blog/archives/179#comments</comments>
		<pubDate>Fri, 30 Jul 2010 13:05:26 +0000</pubDate>
		<dc:creator>Michael Letterle</dc:creator>
		
		<category><![CDATA[Dotfuscator]]></category>

		<guid isPermaLink="false">http://preemptive.com/blog/archives/179</guid>
		<description><![CDATA[This past Monday we released a significant update of Dotfuscator. After introducing BAML support in 4.7.1000, we are proud to announce that starting with version 4.8.1000 you can now also obfuscate embedded XAML resources, allowing significant improvement in protecting Silverlight applications.
Similar to WPF applications prior to 4.7.1000, until 4.8.1000 Silverlight applications required that identifiers in [...]]]></description>
			<content:encoded><![CDATA[<p>This past Monday we released a significant update of Dotfuscator. After introducing BAML support in 4.7.1000, we are proud to announce that starting with version 4.8.1000 you can now also obfuscate embedded XAML resources, allowing significant improvement in protecting Silverlight applications.</p>
<p>Similar to WPF applications prior to 4.7.1000, until 4.8.1000 Silverlight applications required that identifiers in XAML be excluded.  This left a great deal of Silverlight code unobfuscated.  Compare the two Silverlight applications below, one obfuscated prior to 4.8.1000 and one obfuscated today:</p>
<p><a href="http://preemptive.com/images/wordpressuploads/2010/07/47vs48.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Dotfuscator 4.7.1000 WPF Support vs Dotfuscator 4.8.1000" src="http://preemptive.com/images/wordpressuploads/2010/07/47vs48-thumb.png" border="0" alt="Dotfuscator 4.7.1000 WPF Support vs Dotfuscator 4.8.1000" width="479" height="497" /></a></p>
<p>In addition to dramatically increasing the protection of Silverlight applications, we also improved the speed at which we obfuscate .NET 4.0 assemblies and other various bug fixes.  As always, check the <a href="http://www.preemptive.com/support/dotfuscator-support/dotfuscator-pro-change-log/314">change log</a> for full details.</p>
<img src="http://feeds.feedburner.com/~r/PreemptiveSolutionsBlog/~4/KaA3qeTWHUw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://preemptive.com/blog/archives/179/feed</wfw:commentRss>
		<feedburner:origLink>http://preemptive.com/blog/archives/179</feedburner:origLink></item>
		<item>
		<title>Dotfuscator 4.7.1000 with WPF obfuscation support</title>
		<link>http://feedproxy.google.com/~r/PreemptiveSolutionsBlog/~3/JhNUhV7An_I/171</link>
		<comments>http://preemptive.com/blog/archives/171#comments</comments>
		<pubDate>Thu, 20 May 2010 20:37:30 +0000</pubDate>
		<dc:creator>Joe Kuemerle</dc:creator>
		
		<category><![CDATA[Dotfuscator]]></category>

		<category><![CDATA[Runtime Intelligence]]></category>

		<guid isPermaLink="false">http://preemptive.com/blog/archives/171</guid>
		<description><![CDATA[The most recent release of Dotfuscator includes a new feature that has been a top customer request: increasing the level of protection for Windows Presentation Foundation applications. Up until now, obfuscators were unable to transform items in code-behind that are referenced from the layout of Windows Presentation Foundation applications. Excluding all of the necessary items [...]]]></description>
			<content:encoded><![CDATA[<p>The most recent release of Dotfuscator includes a new feature that has been a top customer request: increasing the level of protection for Windows Presentation Foundation applications. Up until now, obfuscators were unable to transform items in code-behind that are referenced from the layout of Windows Presentation Foundation applications. Excluding all of the necessary items from being renamed and removed decreased the level of protection and increased the testing required to ensure stability. With the 4.7.1000 release of Dotfuscator WPF applications are now able to be protected with an unprecedented level of obfuscation. Dotfuscator now analyzes and rewrites BAML (the compiled XAML) in WPF applications and applies consistent renaming across the layout and application code as well as ensuring that items referenced in the BAML are not pruned from the output. With full renaming support information leakage of namespaces, class, event and property names is reduced to the bare minimum. The below sample WPF application decompilation demonstrates the effectiveness of this groundbreaking feature.</p>
<table border="0" width="100%">
<tbody>
<tr>
<td align="middle">
<h4>Before</h4>
</td>
<td align="middle">
<h4>After</h4>
</td>
</tr>
<tr>
<td><img src="http://images.preemptive.com/blog/Dotfuscator-4-7-1000/WPF_Before.png" alt="" /></td>
<td><img src="http://images.preemptive.com/blog/Dotfuscator-4-7-1000/WPF_After.png" alt="" /></td>
</tr>
</tbody>
</table>
<p>In addition to WPF obfuscation Dotfuscator 4.7.1000 also includes support for resigning Silverlight 4 XAP packages and updated support for integrating with InishTech SLPS.</p>
<p>There are two functional changes for this release, the first is that for new projects Library mode is now the default for all assemblies and packages.  This improves the out of the box experience but with the trade off of not renaming any publicly accessible types and public members of those types.  For applications that require the maximum amount of protection PreEmpitve recommends turning off library mode wherever possible.  A second functional change is tamper notifications are turned off by default.  Using tamper detection and defense does not require the sending of tamper notifications and this change makes it easier to test tamper detection with minimal configuration overhead.</p>
<p>Additional changes include support for the .NET 4.0 extensions to ClickOnce applications, support for ClickOnce packages that include native assemblies, and bug fixes.  See the <a href="http://preemptive.com/support/dotfuscator-support/dotfuscator-pro-change-log/300" target="_blank">change log</a> for full details.</p>
<p>Keep tuned to this blog, we have many more exciting announcements coming soon.</p>
<img src="http://feeds.feedburner.com/~r/PreemptiveSolutionsBlog/~4/JhNUhV7An_I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://preemptive.com/blog/archives/171/feed</wfw:commentRss>
		<feedburner:origLink>http://preemptive.com/blog/archives/171</feedburner:origLink></item>
		<item>
		<title>Track Application Usage Statistics for CodePlex Projects</title>
		<link>http://feedproxy.google.com/~r/PreemptiveSolutionsBlog/~3/eM0O062BL9I/162</link>
		<comments>http://preemptive.com/blog/archives/162#comments</comments>
		<pubDate>Tue, 11 May 2010 18:52:43 +0000</pubDate>
		<dc:creator>Joe Kuemerle</dc:creator>
		
		<category><![CDATA[Dotfuscator]]></category>

		<category><![CDATA[Dotfuscator CE]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[Runtime Intelligence]]></category>

		<category><![CDATA[Software Development Lifecycle Management]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://preemptive.com/blog/archives/162</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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 <a href="http://blogs.msdn.com/codeplex/archive/2010/05/06/application-analytics-and-browsing-forks.aspx" target="_blank">CodePlex’s integration</a> of Runtime Intelligence features, project coordinators now have the ability to inject application analytics features into their releases.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>Instrumentation of applications compiled against .NET 2.0 and higher (including Silverlight 2, 3, and 4) is supported by Dotfuscator Community Edition.</p>
<p>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 (<a title="http://runtimeintelligence.codeplex.com/releases" href="http://runtimeintelligence.codeplex.com/releases" title="http://runtimeintelligence.codeplex.com/releases">http://runtimeintelligence.codeplex.com/releases</a> ) 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.</p>
<p>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 <a href="http://runtimeintelligence.codeplex.com" target="_blank">here</a> and implementing this new feature into a future release.</p>
<img src="http://feeds.feedburner.com/~r/PreemptiveSolutionsBlog/~4/eM0O062BL9I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://preemptive.com/blog/archives/162/feed</wfw:commentRss>
		<feedburner:origLink>http://preemptive.com/blog/archives/162</feedburner:origLink></item>
		<item>
		<title>Patch Released for Dotfuscator Community Edition 5 Affecting VB.NET RTM Projects</title>
		<link>http://feedproxy.google.com/~r/PreemptiveSolutionsBlog/~3/iTNi3uxpWkk/159</link>
		<comments>http://preemptive.com/blog/archives/159#comments</comments>
		<pubDate>Sat, 08 May 2010 19:54:39 +0000</pubDate>
		<dc:creator>Joe Kuemerle</dc:creator>
		
		<category><![CDATA[Dotfuscator]]></category>

		<category><![CDATA[Dotfuscator CE]]></category>

		<guid isPermaLink="false">http://preemptive.com/blog/archives/159</guid>
		<description><![CDATA[A late breaking change in the RTM version of Visual Studio 2010 causes the  included version of Dotfuscator Software Services Community Edition (version  5.0.2300) to fail to build new VB.NET projects with an “Encountered  nooptimization at line X” message.  A patch is available to update Dotfuscator  and is available at http://preemptive.com/support/dotfuscator-support
]]></description>
			<content:encoded><![CDATA[<p>A late breaking change in the RTM version of Visual Studio 2010 causes the  included version of Dotfuscator Software Services Community Edition (version  5.0.2300) to fail to build new VB.NET projects with an “Encountered  nooptimization at line X” message.  A patch is available to update Dotfuscator  and is available at <a href="http://preemptive.com/support/dotfuscator-support">http://preemptive.com/support/dotfuscator-support</a></p>
<img src="http://feeds.feedburner.com/~r/PreemptiveSolutionsBlog/~4/iTNi3uxpWkk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://preemptive.com/blog/archives/159/feed</wfw:commentRss>
		<feedburner:origLink>http://preemptive.com/blog/archives/159</feedburner:origLink></item>
		<item>
		<title>Launch of Visual Studio 2010 &amp; Dotfuscator CE 5</title>
		<link>http://feedproxy.google.com/~r/PreemptiveSolutionsBlog/~3/GzSAAHm33E4/154</link>
		<comments>http://preemptive.com/blog/archives/154#comments</comments>
		<pubDate>Mon, 26 Apr 2010 16:17:42 +0000</pubDate>
		<dc:creator>Brandon Siegel</dc:creator>
		
		<category><![CDATA[Dotfuscator]]></category>

		<category><![CDATA[Dotfuscator CE]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[Runtime Intelligence]]></category>

		<category><![CDATA[Analytics]]></category>

		<category><![CDATA[application analytics]]></category>

		<category><![CDATA[ASP.NET]]></category>

		<category><![CDATA[Azure]]></category>

		<category><![CDATA[CodePlex]]></category>

		<category><![CDATA[DevConnections]]></category>

		<category><![CDATA[free]]></category>

		<category><![CDATA[instrumentation]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Mac]]></category>

		<category><![CDATA[Mono]]></category>

		<category><![CDATA[Obfuscation]]></category>

		<category><![CDATA[open source]]></category>

		<category><![CDATA[PreEmptive]]></category>

		<category><![CDATA[Silverlight]]></category>

		<category><![CDATA[Silverlight Analytics]]></category>

		<category><![CDATA[Vegas]]></category>

		<category><![CDATA[Visual Studio]]></category>

		<category><![CDATA[Windows Phone]]></category>

		<guid isPermaLink="false">http://preemptive.com/blog/archives/154</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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 <a href="http://rieditorextension.codeplex.com/">editor extensions</a> that integrate application analytics right into the Visual Studio 2010 IDE, an <a href="http://riendpointkit.codeplex.com/">endpoint starter kit</a> so you can write your own backend to receive and process Runtime Intelligence messages, a <a href="http://rivisualizer.codeplex.com/">data visualizer sample</a> to demonstrate how to consume analytics data using our RESTful analytics API, and an <a href="http://riapi.codeplex.com/">API helper library</a> 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.</p>
<img src="http://feeds.feedburner.com/~r/PreemptiveSolutionsBlog/~4/GzSAAHm33E4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://preemptive.com/blog/archives/154/feed</wfw:commentRss>
		<feedburner:origLink>http://preemptive.com/blog/archives/154</feedburner:origLink></item>
		<item>
		<title>Dotfuscator 4.6.5000 ships, includes VS 2010 RTM support and offline Runtime Intelligence</title>
		<link>http://feedproxy.google.com/~r/PreemptiveSolutionsBlog/~3/42SX6_Gg140/147</link>
		<comments>http://preemptive.com/blog/archives/147#comments</comments>
		<pubDate>Mon, 05 Apr 2010 19:13:37 +0000</pubDate>
		<dc:creator>Joe Kuemerle</dc:creator>
		
		<category><![CDATA[Dotfuscator]]></category>

		<category><![CDATA[Runtime Intelligence]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://preemptive.com/blog/archives/147</guid>
		<description><![CDATA[Today we shipped Dotfuscator, version 4.6.5000.  This release fully supports Visual Studio 2010 and .NET 4.0 RTM versions as well as beta support for the Silverlight 4 RC release.
In addition to supporting the latest and greatest frameworks for both obfuscation and instrumentation, this release also includes a new feature that has a top spot in [...]]]></description>
			<content:encoded><![CDATA[<p>Today we shipped Dotfuscator, version 4.6.5000.  This release fully supports Visual Studio 2010 and .NET 4.0 RTM versions as well as beta support for the Silverlight 4 RC release.</p>
<p>In addition to supporting the latest and greatest frameworks for both obfuscation and instrumentation, this release also includes a new feature that has a top spot in our customer request list.  Up until now applications instrumented with Runtime Intelligence were unable to react to scenarios where your customers have only occasional network access so some of the application analytics data was not gathered.  By default, any applications instrumented with Dotfuscator 4.6.5000 or higher will store usage data in Isolated Storage when the application cannot send data to the configured Runtime Intelligence endpoint.  When connectivity to the endpoint is restored all the saved usage data is sent to the endpoint for storage and reporting.  In the event that the Runtime Intelligence endpoint is not accessible for an extended period of time, or that the application is used so heavily that the allocated space is filled, the injected code will remove older unsent usage data to make room for newer data.  You also have the option to revert to the previous behavior of dropping usage data when the network is inaccessible by simply changing the setting for the offline behavior as well as writing your own custom network detection code.  Additionally, you can set up your application to react to changes in connectivity either with a default implementation of shutting down the application when connectivity is lost or by having the injected code set the value of a field or property, or invoke a method of your choosing.</p>
<p>We also improved our support of ClickOnce application processing and fixed some bugs.  As always, changes are detailed on our <a href="http://preemptive.com/support/dotfuscator-support/dotfuscator-pro-change-log" target="_blank">change log</a> .</p>
<p>There are many more changes coming to Dotfuscator, DashO and Runtime Intelligence in the near future.  Keep tuned for more exciting news as it unfurls.</p>
<img src="http://feeds.feedburner.com/~r/PreemptiveSolutionsBlog/~4/42SX6_Gg140" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://preemptive.com/blog/archives/147/feed</wfw:commentRss>
		<feedburner:origLink>http://preemptive.com/blog/archives/147</feedburner:origLink></item>
		<item>
		<title>Today is the first day of Microsoft’s MIX10 Conference</title>
		<link>http://feedproxy.google.com/~r/PreemptiveSolutionsBlog/~3/IyrsbtkvS6I/139</link>
		<comments>http://preemptive.com/blog/archives/139#comments</comments>
		<pubDate>Mon, 15 Mar 2010 15:30:43 +0000</pubDate>
		<dc:creator>Gabriel Torok</dc:creator>
		
		<category><![CDATA[Dotfuscator]]></category>

		<category><![CDATA[Dotfuscator CE]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[Runtime Intelligence]]></category>

		<category><![CDATA[Analytics]]></category>

		<category><![CDATA[application analytics]]></category>

		<category><![CDATA[Silverlight]]></category>

		<category><![CDATA[Silverlight Analytics]]></category>

		<guid isPermaLink="false">http://preemptive.com/blog/archives/139</guid>
		<description><![CDATA[
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&#8217;s Expression Blend. 
Now, most readers of my blog already know that Developers can already inject Runtime Intelligence analytics into Silverlight (and [...]]]></description>
			<content:encoded><![CDATA[<p><!--    [endif]--></p>
<p class="MsoNormal">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&#8217;s Expression Blend. </p>
<p class="MsoNormal">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.”</p>
<p class="MsoNormal">
<p class="MsoNormal">Runtime Intelligence offers the following advantages over traditional Web analytics services:</p>
<p class="MsoListParagraph" style="margin-left: 0.25in; text-indent: -0.25in;"><!--     [if !supportLists]--><span style="font-size: 11pt; font-family: Symbol;"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span> </span> </span> <!--     [endif]--><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">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).</span></p>
<p class="MsoListParagraph" style="margin-left: 0.25in; text-indent: -0.25in;"><!--     [if !supportLists]--><span style="font-size: 11pt; font-family: Symbol;"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span> </span> </span> <!--     [endif]--><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">While the resulting Web analytics maps to the Silverlight Analytics Framework data model, the underlying SOAP schema is shared with Dotfuscator’s instrumentation.</span></p>
<p class="MsoNormal">
<p class="MsoNormal">The common schema allows Dotfuscator to provide a complimentary instrumentation mechanism for any .NET Framework component. THIS means that</p>
<p class="MsoListParagraph" style="margin-left: 0.25in; text-indent: -0.25in;"><!--     [if !supportLists]--><span style="font-size: 11pt; font-family: Symbol;"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span> </span> </span> <!--     [endif]--><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">Middle and back-office application tiers can be instrumented providing a deeper view across distributed application workflows. </span></p>
<p class="MsoListParagraph" style="margin-left: 0.25in; text-indent: -0.25in;"><!--     [if !supportLists]--><span style="font-size: 11pt; font-family: Symbol;"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span> </span> </span> <!--     [endif]--><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">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. </span></p>
<p class="MsoNormal">
<p class="MsoNormal">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.</p>
<p class="MsoNormal">
<p class="MsoNormal">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?</p>
<p class="MsoNormal">
<p class="MsoNormal">Tell me what you would do - I would love to hear from you.</p>
<img src="http://feeds.feedburner.com/~r/PreemptiveSolutionsBlog/~4/IyrsbtkvS6I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://preemptive.com/blog/archives/139/feed</wfw:commentRss>
		<feedburner:origLink>http://preemptive.com/blog/archives/139</feedburner:origLink></item>
		<item>
		<title>PreEmptive is doing its part to help the Vancouver Winter Olympics go off smoothly.</title>
		<link>http://feedproxy.google.com/~r/PreemptiveSolutionsBlog/~3/5rNr3GqVDWQ/132</link>
		<comments>http://preemptive.com/blog/archives/132#comments</comments>
		<pubDate>Fri, 19 Feb 2010 16:19:02 +0000</pubDate>
		<dc:creator>Gabriel Torok</dc:creator>
		
		<category><![CDATA[Dotfuscator]]></category>

		<category><![CDATA[Dotfuscator CE]]></category>

		<category><![CDATA[IT Operations Management]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[Threat (swoT)]]></category>

		<category><![CDATA[Obfuscation]]></category>

		<category><![CDATA[Silverlight]]></category>

		<category><![CDATA[Vancouver Winter Olympics]]></category>

		<category><![CDATA[XAP]]></category>

		<guid isPermaLink="false">http://preemptive.com/blog/archives/132</guid>
		<description><![CDATA[
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 [...]]]></description>
			<content:encoded><![CDATA[<p><!--  [endif]--></p>
<p class="MsoNormal">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.</p>
<p class="MsoNormal">
<p class="MsoNormal">For an overall description of the Silverlight solution, see: <a href="http://team.silverlight.net/events/let-the-games-begin/" target="_blank">http://team.silverlight.net/events/let-the-games-begin/</a></p>
<p class="MsoNormal">
<p class="MsoNormal">For Microsoft’s own description of the role of partners (including us of course), see: <a href="http://team.silverlight.net/customer-evidence/vancouver-olympics-ndash-how-rsquo-d-we-do-that/" target="_blank">http://team.silverlight.net/customer-evidence/vancouver-olympics-ndash-how-rsquo-d-we-do-that/</a></p>
<p class="MsoNormal">
<p class="MsoNormal">The development teams especially appreciated the fact that Dotfuscator can <a href="http://www.youtube.com/watch?v=mQfbP91hweA" target="_blank">accept and output XAP files</a> (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.</p>
<p class="MsoNormal">
<p class="MsoNormal">On an unrelated Silverlight note, I was pleased to see David Kelly’s recent <a href="http://hackingsilverlight.blogspot.com/2010/02/hacking-xap-for-business-intelligence.html" target="_blank">blog entry</a> . This Silverlight MVP has identified Dotfuscator’s Silverlight analytics as “a critical tool in your tool Silverlight toolbox.” <em>Good Stuff. </em></p>
<img src="http://feeds.feedburner.com/~r/PreemptiveSolutionsBlog/~4/5rNr3GqVDWQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://preemptive.com/blog/archives/132/feed</wfw:commentRss>
		<feedburner:origLink>http://preemptive.com/blog/archives/132</feedburner:origLink></item>
		<item>
		<title>Cheap CEIP</title>
		<link>http://feedproxy.google.com/~r/PreemptiveSolutionsBlog/~3/2-8PefvgpzM/120</link>
		<comments>http://preemptive.com/blog/archives/120#comments</comments>
		<pubDate>Mon, 08 Feb 2010 19:15:04 +0000</pubDate>
		<dc:creator>Joe Kuemerle</dc:creator>
		
		<category><![CDATA[Dotfuscator]]></category>

		<category><![CDATA[Dotfuscator CE]]></category>

		<category><![CDATA[Runtime Intelligence]]></category>

		<guid isPermaLink="false">http://preemptive.com/blog/archives/120</guid>
		<description><![CDATA[Spring is (hopefully) just around the corner here in the northern hemisphere, with warming weather a young man&#8217;s fancy turns to that age old question&#8230;&#34;what exactly are my users doing with my application?&#34;
We&#8217;re familiar with big software vendors including Customer Experience Improvement Program (CEIP) features in their applications allowing them to gather anonymous usage data [...]]]></description>
			<content:encoded><![CDATA[<p>Spring is (hopefully) just around the corner here in the northern hemisphere, with warming weather a young man&#8217;s fancy turns to that age old question&#8230;&quot;what exactly are my users doing with my application?&quot;</p>
<p>We&#8217;re familiar with big software vendors including Customer Experience Improvement Program (CEIP) features in their applications allowing them to gather anonymous usage data showing which features people are actually using.  Analyzing that data allows them to focus their development efforts on what their users are actually doing, as well as obtaining hard measurements of how features are actually adopted in the wild.  As someone whose paycheck depends on meeting the users&#8217; requirements I really like to know how much of my time is being spent developing stuff that people actually want and use.  Unfortunately, I don&#8217;t have the huge number of person-years and dollars to spend on something that is not directly related to my core application functionality to get a CEIP into my products.</p>
<p><img src="http://images.preemptive.com/images/riendpointkit/CEIP_Dialogues.png" alt="CEIP Dialogs" /></p>
<p>Instrumenting an application to send its usage data back to the free Runtime Intelligence portal hosted by PreEmptive is covered in some previous blog posts (<a href="http://preemptive.com/blog/archives/64" target="_blank">here</a> and <a href="http://preemptive.com/blog/archives/70" target="_blank">here</a> ), but today I am covering a slightly different scenario.  While there are great analytics capabilities in the hosted portal, my current needs are only basic usage tracking and that I must store the data at my own facility.  As is normally the case in proof-of-concept situations, I have no budget, no time, and am highly visible to non-technical decision makers.</p>
<p>The first problem, no budget, is easily solved by using freely available tools.  First, I am going to use Dotfuscator Community Edition 5.0, included in my copy of Visual Studio 2010, to perform injection of the application analytics functionality into my binaries.  Since I need to store the usage data at my location I can&#8217;t use the hosted free endpoint and reporting portal, but I can use the new open source (Ms-RL license) <a href="http://riendpointkit.codeplex.com/" target="_blank">Runtime Intelligence Endpoint Starter Kit</a> (RI Starter Kit) to build my own application usage listener service, data repository, and basic reports.</p>
<p><img src="http://images.preemptive.com/images/riendpointkit/OptIn.png" alt="Instrumentation via extended attributes in Dotfuscator UI" /></p>
<p>The fact that I have no time to implement this is also solved by my selection of tools.  Since this is a proof-of-concept, I don&#8217;t need to create any extra code to obtain the users opt-in consent for tracking application usage.  This means I can leverage Dotfuscator&#8217;s post compilation code injection model, similar to IL Weaving in Aspect Orientated Programming, to inject usage tracking directly into my test application binary without changing any source code or recompiling.  In a matter of minutes I navigate through my applications structure and define the injection points from within the Dotfuscator user interface.  To create a database using either SQL Express 2005 or higher or MySQL 5 or higher only takes a few minutes.  Finally, setting up the WCF service project only requires updating the connection string in the web.config.  Using the outstanding documentation included in the RI Starter Kit as my guide in less than an 30 minutes I have a proof of concept for tracking how often my application is run and which features the users are actually using.</p>
<p><img src="http://images.preemptive.com/images/riendpointkit/FeatureUseReport.png" alt="Application analytics feature use report" /></p>
<p>Finally, I have to show something useful to the non-technical users.  I know that application analytics data is being sent to my endpoint and stored in the database.  I can easily run a few queries to get a feel for how the application is being used but not everyone is as comfortable with SQL as I am.  As I review the source code included in the RI Starter Kit I see that there is also a SQL Server Reporting Services solution that contains two prewritten reports that show application and feature usage over time.  A quick update of the data source, a deploy to the SSRS server, and now the business users have an easy way of seeing what our users like best about our products.  To add application analytics data to executive dashboards, there&#8217;s also a SharePoint Web Part included so you can easily put an application usage graph directly into any SharePoint site (WSS 3.0 / MOSS 2007 or higher).</p>
<p><img src="http://images.preemptive.com/images/riendpointkit/FinalWebPart.png" alt="Application analytics SharePoint dashboard" /></p>
<p>All in all, I have spent around an hour and no money adding basic application usage tracking and analysis to an existing product and exposed that data to both technical and non-technical users.  With only a small amount of code, I easily add an opt-in dialog to my product so my users can choose to send their usage data for analysis.  Now I have the start of my very own Customer Experience Improvement Program.</p>
<p>PreEmptive is always looking for feedback on our products, please take this new solution for a spin and leave us comments, feature requests and ideas on the project&#8217;s <a href="http://riendpointkit.codeplex.com/" target="_blank">Codeplex</a> page.</p>
<img src="http://feeds.feedburner.com/~r/PreemptiveSolutionsBlog/~4/2-8PefvgpzM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://preemptive.com/blog/archives/120/feed</wfw:commentRss>
		<feedburner:origLink>http://preemptive.com/blog/archives/120</feedburner:origLink></item>
	</channel>
</rss>
