Subscribe: Method ~ of ~ failed by Tim Heuer
http://feeds.feedburner.com/timheuer
Added By: Feedage Forager Feedage Grade B rated
Language: English
Tags:
app  build  database  flickr writer  flickr  new  platform  public  universal windows  windows platform  windows  writer  xaml 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Method ~ of ~ failed by Tim Heuer

Tim Heuer's Blog



The web site and blog of Tim Heuer, Program Manager for Microsoft XAML and author of Callisto, a WinRT XAML Toolkit. A resource to learn how to develop software with XAML technologies. This blog provides information on how to get started with XAML, S



Copyright: Tim Heuer
 



Using machine learning to tune your SQL database in Azure

Fri, 03 Nov 2017 04:34:45 GMT

I’m presently working on posting my insight in moving a recent app of mine from an on-premise (colocated server) server to the Azure cloud.  My app is a pretty typical (and OLD) ASP.NET app with a SQL Server database backend.  There was some interesting things I learned in moving the web app portion to Azure App Service, but I’ll save that for a later post…this one is about Azure SQL Server. My database was actually a SQLExpress database that has been humming along for a while.  It’s also an older schema and a typical relational database system.  The first step for me was to ensure I could move my data before I moved the site…I wanted a full move to a cloud platform.  There are a few ways of migrating databases to Azure as noted in this blog post Differentiating Microsoft’s Database Migration Tools and Services.  Recently one of our Cloud Developer Advocates, Scott Cate, demonstrated the newest full migration strategy, Data Migration Service (DMS), at the Azure Red Shirt Dev Tour.  Because this isn’t generally available I didn’t want to use it and as well my database didn’t warrant the need for managed instance features.  So I went with the Data Migration Assistant tool. First was to get the tool and install it on my source server.  Because this is an on-prem server I just logged in remotely (RDP) as an admin.  You can choose to first run an assessment, but for me I went crazy and just wanted to migrate (don’t worry, that actually runs an assessment first as well): After connecting to my SQL db instance I select the database I want to migrate. NOTE: Use the “trust server certificate” checkbox when doing this migration from local db or you will see some failures in trying to connect to Azure. After this I need to choose the destination and I can either select an already-created Azure SQL database or create one within my Azure subscription.  This link will launch instructions on how to create a new Azure SQL database on your subscription using the Azure Portal.  You will want to select your server size, etc. based on your needs.  There is some pricing guidance on the selections to help you understand your cost.  After this, return to the tool, enter the server you just created (or already had) and authenticate using your credentials for the server.  Then choose which database is the target for the migration: Then the next step will show you the assessment and flag things that may need attention.  You need to examine these to assess whether they will be impactful to your app and either accept the script or not.  Once done you have 2 more steps: Deploy Schema and then (assuming that was successful) Migrate Data.  For me, this was rather quick and it was done.  I verified the data and was good to go! Post-migration Tuning After deploying the database and site I made sure that on the database I turned on the Automatic Tuning feature provided to me as a service for hosting in Azure: And then I went away.  Immediately after a few days I returned to see some automatic tuning being done and analyzed.  Azure had analyzed my database under real conditions and made recommendations to actually alter the database to improve performance.  This is then automatically applied if Azure determines it will benefit my performance.  Here were the recommendations: And notice the determination of impact for one of them: You’ll see that Azure’s machine learning was smart enough to realize that one of the recommendations wasn’t going to improve (in fact it assessed it would actually regress a query) and decided not to apply the initial tuning recommendation.  Pretty awesome.  Taking a look at my performance profile of the database you can tell very quickly when these recommendations were applied: This is awesome.  I’ve got some tuning still to go, but thankfully Azure did all the hard work of helping me identify the performance bottlenecks of my database, suggest and analyze some automatic tuning it could do, but also still give me all the data I need to further analyze troubleso[...]



Build 2017 UI Recap

Mon, 15 May 2017 17:29:44 GMT

Well that was fun!  It was really exciting to share with the world what our team has been working on in designing and developing over the past few years with regard to Windows UI platform advancements.  Build 2017 was a culmination of a lot of efforts across the company in various areas, but for UI it was the introduction of our evolution of design, the Fluent Design System.  This represents a wave of UI innovations over time, with Build 2017 showing the first views of Wave 1.  There was a lot of great buzz about Fluent, but for a great introduction be sure to check out my colleague Paul Gusmorino’s session introducing the design system: height="540" src="https://channel9.msdn.com/Events/Build/2017/B8066/player" frameborder="0" width="960" allowfullscreen=""> Of course as developers sometimes we wince at the word ‘design’ because we don’t have the skills, maybe don’t understand it, or want to ensure we can achieve it with maximum ROI of our own developer time!  We agree!  In defining the Fluent Design System, we ensured that a lot of these new innovations are ‘default’ in the platform.  Starting now with the Fall Creator’s Update Insider SDKs you can start seeing some of these appear in the common controls.  When you use the common controls as-is, you will get the best of Fluent incorporated into your app.  James Clarke joined Paul later to explain and demonstrate this in practice showing how the new (and some existing) common controls take this design system into account and help you get it by default: height="540" src="https://channel9.msdn.com/Events/Build/2017/B8034/player" frameborder="0" width="960" allowfullscreen=""> In addition to what we are doing *now* we also wanted to share what is on the horizon.  I was able to join Ashish Shetty at Build and talk about what is new in XAML and Composition platform areas for developers.  We shared more of the ‘default’ that is exhibited in the common controls but also explained some of the ‘possible’ in the platform that you can achieve with great improvements to our animation system.  We also shared the vision for the future in this space around semantic animations and vector shape micro-animations.  Check out our session on this area: height="540" src="https://channel9.msdn.com/Events/Build/2017/B8100/player" frameborder="0" width="960" allowfullscreen=""> We had so much to talk about that I wasn’t able to show the simplicity of enabling the pull-to-refresh pattern in the new controls area.  Not wanting you to feel ripped off, I recorded a quick demo of a few of the things we weren’t able to demo.  Take a look here at my impromptu demo insert for you! height="315" src="https://www.youtube.com/embed/xVWhlXY-loU" frameborder="0" width="560" allowfullscreen=""> There is a lot of great new things coming in the Windows UI platform area for UWP: NavigationView ParallaxView RefreshContainer SwipeContainer TreeView ColorPicker RatingsControl Improved text APIs: CharacterRecieved, CharacterCasing, IsTrimmed Improved input APIs like PreviewInput Implicit animations Connected animations improvements for ListViewBase Advanced color and HDR for Image SVG support for Image Keytips support for XAML ContentDialog and MenuFlyout improvements Context menu support everywhere UI analysis and Edit-and-continue in Visual Studio Narrator developer mode and more! It is so great to be a part of this latest release and continue to deliver value (hopefully) to you, our developer customer.  Please be sure to let us know how you are using these new improvements and the Fluent Design System.  Share your creations with us at @windowsui so we can share with others as well! We also announced a vision for defining a common dialect for UI everywhere around XAML.  We call this XAML Standard and are drafting a v1 specification now.  We will want your input on this and have established an open process to encourage community collaboration.  Please join the conversation at http://aka.ms/xamlstandard.  This is at v[...]



Implementing a type converter in UWP XAML

Wed, 15 Feb 2017 22:04:24 GMT

Verbose XAML, we all love it right?  What?!  You don’t like writing massive amounts of angle brackets to get to define certain properties?  I mean who doesn’t love something like this: 47.669444 -122.123889 What’s not to love there?  Oh I suppose you prefer something like this? In the XAML dialect this is what we refer to as a ‘type converter’ or more affectionately at times ‘string to thing’ as the declarative markup is just a string representation of some structure.  In WPF and Silverlight this was implemented through requiring to use the System.ComponentModel.TypeConverter class model where you would attribute your class with a pointer to an implementation of TypeConverter that would override the common things you need, most of the time ConvertFrom capabilities. In UWP where we currently could not rely on the exact same implementation of System.ComponentModel.TypeConverter as it is not a part of the API exposure to UWP apps at this time as well as being a .NET concept which wouldn’t be available to other WinRT developers.  In looking at ways to achieve the same primary scenario, we can now look at the Creator’s Update to deliver the functionality for us.  In the markup compiler for Creator’s Update we now leverage the metadata CreateFromString attribute in WinRT to generate the correct metdata to do the conversion.  The responsibility lies in the owner of the class (looking at you ISVs as you update) to add this metadata capabilities. NOTE: To enable this capability, the consuming app must currently have minimum target to the Creator’s Update. Let’s use an example following my pseudo map control I used above.  Here is my class definition for my MyMap control using Windows.UI.Xaml.Controls; namespace CustomControlWithType { public class MyMap : Control { public MyMap() { this.DefaultStyleKey = typeof(MyMap); } public string MapTitle { get; set; } public Location CenterPoint { get; set; } } } Notice it has a Location type.  Here’s the definition of that type: using System; namespace CustomControlWithType { public class Location { public double Latitude { get; set; } public double Longitude { get; set; } public double Altitude { get; set; } } } Now without a type converter I can’t use the ‘string to thing’ concept in markup…I would have to use verbose markup.  Let’s change that and add an attribute to my Location class, and implement the conversion function: using System; namespace CustomControlWithType { [Windows.Foundation.Metadata.CreateFromString(MethodName = "CustomControlWithType.Location.ConvertToLatLong")] public class Location { public double Latitude { get; set; } public double Longitude { get; set; } public double Altitude { get; set; } public static Location ConvertToLatLong(string rawString) { string[] coords = rawString.Split(','); var position = new Location(); position.Latitude = Convert.ToDouble(coords[0]); position.Longitude = Convert.ToDouble(coords[1]); if (coords.Length > 2) { position.Altitude = Convert.ToDouble(coords[2]); } return position; } } } As you can see in the highlighted lines, I added two things.  First I added an attribute to my class to let it know that I have a CreateFromString method and then provided the fully qualified name to that method.  The second obvious thing is to implement that method.  It has to be a public static method and you can see my simple example here. Now when using the MyMap control I can specify the simpler [...]



Write your Amazon Alexa Skill using C# on AWS Lambda services

Wed, 06 May 2015 16:25:03 GMT

After a sick day a few weeks ago and writing my first Alexa Skill I’ve been pretty engaged with understanding this voice UI world with Amazon Echo, Google Home and others.  It’s pretty fun to use and as ‘new tech’ it is pretty fun to play around with.  Almost immediately after my skill was certified, I saw this come across my Twitter stream: You can now write your AWS Lambda functions in C#! #reInvent https://t.co/LDOK0S1VwF pic.twitter.com/FpRUODgucv— Amazon Web Services (@awscloud) December 1, 2016 Now since this seems to be a popular trend and people are doing it I’ve thought XAML folks have figured it out.  However I’ve seen enough questions and some people trying to do a few things that make it more complex that I thought I’d drop a quick blog post about it.  I’ve seen people trying to do profile pic upload algorithms that clip the actual bitmap and save on disk before displaying it to people stacking transparent PNG ‘masking’ techniques.  None of this is needed for the simplest display.  Here you go: That’s it.  You’ll see that Line 3 shows us using an ImageBrush as the fill for an Ellipse.  Using an Ellipse helps you get the precise circular drawing clip without having pixelated edges or anything like that.  The above would render to this image as the example in my app: Now while this is great, using an ImageBrush doesn’t give you the automatic decode-to-render-size capability that was added in the framework in Windows 8.1. NOTE: This auto decode-to-render-size feature basically only decodes an Image to the render size even if the image is larger.  So if you had a 2000x2000px image but only displayed it in 100x100px then we would only decode the image to 100x100px size saving a lot of memory.  The standard Image element does this for you. For most apps that control your image sources, you probably are already saving images that are only at the size you are displaying them so it may be okay.  However for apps like social apps or where you don’t know where the source is coming from or your app is NOT resizing the image on upload, etc. then you will want to ensure you save memory by specifying the decode size for the ImageBrush’s source specifically.  This is easily done in markup using a slightly more verbose image source syntax.  Using the above example it would be modified to be: No real change other than telling the framework what the decode size should be in Line 5 using DecodePixelHeight and DecodePixelWidth.  The rendering would be the same in my case.  This tip is very helpful to when you are most likely going to be displaying a smaller image than the source and not the other way around.  So there you go.  Go crazy with your circular people representations!  Hope this helps. tags: visual studio, xaml, ellipse, image, wpdev, windowsThis work is licensed under a Creative Commons Attribution By license.[...]



Build 2015 recap for XAML and native apps

Mon, 04 May 2015 17:33:29 GMT

Wow, what a week.  I have to say even as employees of Microsoft, we get surprised when we go to our conferences and see some of the bigger announcements.  There are things that are being worked on that are new or just in different divisions that we’re not focused on.  This past week at the Build 2015 conference was an example of that for me.  Lots of good stuff for developers from client to server! Universal Windows Platform At Build this year we introduced the Universal Windows Platform v10 with a set of new APIs and unified features for all Windows devices.  Perhaps the best vision of this is the Day 2 Keynote where Kevin Gallo walked through an example of this and a single app running on tablet, phone, Surface Hub, HoloLens, etc.  Visit the keynote and watch the whole thing or if you want to jump to the start of this portion it starts at about 23 minutes in.  A really well done, compelling demonstration of the Universal Windows Platform. XAML Session Recap For the XAML developer on Windows, there was a lot of goodness shown from my team.  We’ve been working hard on a lot of internals and new API exposure for the Universal Windows Platform.  Our team had some representation in some deep-dive sessions from Build and the recordings are all now available…here’s a list for you to queue up: What's New in XAML for Universal Windows Apps Moving to the Universal Windows Platform: Porting an App from Windows 8.1 XAML or Windows Phone Silverlight to Windows 10 Data Binding: Boost Your Apps' Performance Through New Enhancements to XAML Data Binding New XAML Tools in Visual Studio 2015 XAML Case Study: Putting it All Together, Office and XAML From the Small Screen to the Big Screen: Building Universal Windows App Experiences with XAML Deep Dive into XAML and .NET Universal Windows App Development XAML Performance: Techniques for Maximizing Universal Windows App Experiences Built with XAML Universal Commanding and Navigation in Your XAML One of the things I was really happy to have is part of the Office team come and talk about how they build Office on the same platform we ask you to build apps on.  It is good insight into a large application with lots of legacy and goals that might not be typical of smaller apps or smaller ecosystems.  A big focus for XAML this release was performance given that customers like Office and the Windows shells themselves leveraging XAML for their UI. I hope that if you are a XAML developer you take some time to look at what new features are available in the Universal Windows Platform for you in Windows 10. Get the goods! If you want to get started playing around, the best way is to be a part of the Windows Insiders program.  Everything you need to get started you can find here https://dev.windows.com/en-US/windows-10-for-developers.  You’ll want to join the Insiders program, then download the Visual Studio tools and get started creating/migrating apps!  To help get you started after that here are some helpful links: Documentation Known issues in the preview SDK Samples Give us feedback! As you play around with the bits, please continue to give us feedback.  The best way is to be involved in the conversation on the forums.  Ask questions there, get help from the community, share learnings, etc.  Secondarily the Windows Insider Feedback tool (an app that is installed on Windows already for you as ‘Windows Feedback’) is available for you to give direct feedback to the teams.  Please choose categories carefully so that the feedback gets directly to the right team quickly.  Thanks for helping make the Windows Platform better.  I hope these direct links help you jumpstart your learning! tags: windows, visual studio, xaml, universal apps, uwp, blend, silverlightThis work is licensed under a Creative Commons Attribution By license.[...]



Join me at various Build events across America

Tue, 21 Apr 2015 19:07:33 GMT

I can’t wait to talk XAML at Build 2015 with you all!!! Hey all!  Been really quiet here on the blog as I’ve been focusing on both new personal and work aspects of my life.  On the work front, the team I work on has been working hard on delivering on our promise of converged Windows app development using the native UI framework for the platform – XAML.  It has been a real journey of change, stress of new customers and some exciting changes to the platform that are just the beginning. My team (XAML) and the entire Windows Developer Platform team will be joining thousands of you in San Francisco for Build 2015 to share what we’ve been working on for Windows 10. I’ll be joining members of my team in San Francisco to talk about what’s new in the UI framework, some ideas/tools/new ‘stuff’ to build apps across mobile and desktop, improvements in data binding, all the work we did in the platform for performance, and more! Aside from San Francisco, I’ve been fortunate enough to be asked to deliver an address at a few events as a part of the Build Tour.  These are a set of events across the globe (25 events running from after Build main event until near end of June) that bring the best of Build along with local flare/content with partner showcases and are FREE events! I will be joining the local community of developers in Atlanta (20-May-2015 at the Georgia Aquarium) and Chicago (10-June-2015 at The Field Museum of Natural History) in the United States event.  Unfortunately (for me as well as I would have loved to meet more in the world) some of the international events conflicted with personal obligations so more of my colleagues will be attending those representing the developer platform. Please consider joining me and colleagues around the world at these FREE events by registering for your closes Build Tour at http://www.build15.com and encourage your friends and co-workers to register as well! I look forward to sharing our work with you, hearing your feedback about the Windows developer platform and seeing what kind of apps you are bringing to the ecosystem for our mutual customers! See you in San Francisco, Atlanta and Chicago! tags: xaml, wpdev, build, buildwindows, windows, visual studioThis work is licensed under a Creative Commons Attribution By license.[...]



I lost 55lbs using these two amazing simple steps–you can too!

Fri, 15 Aug 2014 22:49:16 GMT

TL;DR – I got off my butt, started eating better and lost 40lbs in ~100 days.  You can too. UPDATE: As of NOV-2014 I’m down 55lbs since this timeframe.  Feel amazing, found new hobbies that are active and loving life again. This year started very depressing personally as each look in the mirror showed another chin growing under the previous.  I weighed the most I’ve ever weighed in my life and it just kept getting away from me.  My move to Redmond brought back a different office life for me from my previous role at Microsoft and I became much more sedentary than before.  Now, this doesn’t mean I was a triathlete before, but I certainly didn’t sit in an office as much as I have in the past 4 years.  I really put myself fully into work and nothing else…and it showed physically. As my kids got more active (I have two kids; 8 and 12) I participated more with their activities.  I realized how out of shape I was when I couldn’t ride a bike like my kids, couldn’t run around the baseball field to help with Little League practices without being out-of-breath, etc.  I had to do something.  The problem is I’ve ‘tried’ before a few times.  I haven’t really dedicated myself but tried dumb diets and various techniques to lose weight, get active and get healthy.  None worked…or I should say none lasted long at all.  Perhaps another catalyst is the fact that I turn 40 this year and my wife keeps bothering me about “project 40” and being the best we can in our 40’s.  These all combined to be a wake up for me to really, really try harder to get fit and healthier. As of this writing I’ve lost 40 pounds!  I’m very happy with my results so far as it is much more than just pounds, but I still have a way to go for full change.  I wanted to share my ‘program’ with others in the tech community as I think others probably suffer from the same sedentary work/life style as I do and probably use the same excuses that I have in the past as well.  For context, I’m a white male, 39 years of age, 5 feet, 9 inches and started weighing 225lbs at the start of this process.  I started wearing a size 38 pants, wore an XL (and sometimes it was snug), and my dress shirts were 17.5 collar.  I have no idea of my body fat percentage other than it was probably a lot when I looked at my man boobs and belly.  Maybe too much information for a blog post?  Oh well, now you know where I was coming from. The Secret Formula to Getting Fit and Losing Weight I hesitated to write this secret in a blog post because I could make MILLIONS sharing it as the health industry is booming right now.  But I’m generous so here’s the single secret formula to losing weight and getting fit: STOP EATING SO MUCH CRAP AND MOVE AROUND MORE!  Seriously, anyone who really tells you any different is just lying.  Yes I’m aware there are medical conditions.  Yes I’m aware there are tons of studies around the plagues of white bread.  Yes I’m aware that there are fads that encourage eating only things that dinosaurs could have eaten.  I don’t care.  Seriously.  Nothing can sustain your fitness more than the realization that you just need to eat smarter and be active.  I don’t think this involves you turning into a gym rat, nor does it involve requiring any significant investment in stuff/supplies/equipment, but it does involve dedication and time…sometimes two of the hardest things to give up. Eating No amount of exercise will help if you keep stuffing yourself with crap food.  That was a big part of my problem.  I LOVE food…all kinds – I don’t discriminate at all on food.  Ever.  I would eat whatever I thought tasted good…and lots of it.  There is no way anyone can really lost weight and get fit without changing the habit around eating smarter.  Notice I didn’t say diet, or only eat plants, or whatever.  Eating smarter isn’t[...]



Updated Flickr4Writer for new Flickr API restrictions

Mon, 30 Jun 2014 05:18:44 GMT

Before Windows Live Writer was even publically released, I was glad to have been an early beta user/tester of the product.  The team thought early about an extensible model and it has been my content authoring tool ever since.  It has allowed me to use *my* preferred content workflow with my cloud providers/formatters/tracking and other such plug-ins due to this extensibility. One of the first plugins available was one of mine I called Flickr4Writer.  It was pretty popular (as most ‘firsts’ are) and I got a lot of good feedback that changed the functionality and user interface.  Is it the best design/code?  Probably not, but it seems to have served the needs of many folks and I’m happy about that.  I put the code into the Open Source world around the same time and it never received much uptake there and only one contribution of literal code (plenty of feedback).  I depended on an early library that was created called FlickrNet.  I contributed a few small fixes during my development of Flickr4Writer to the cause.  This has been a very popular library and I think even used in some close-to-official Flickr apps for the Windows platform.  It served my purpose fine for a LONG time…until 2 days ago. Because Flickr4Writer was pretty much complete and ‘bug-free’ for the mainstream cases, it hadn’t been touched in years and there was never any need.  I felt no need to fiddle with code at all that didn’t need to be messed with.  Another factor also was that Live Writer plugins are pretty locked on .NET 2.0 for loading, so there was no real incentive for me to move to anything else.  Two days ago I started getting emails that Flickr4Writer was not working anymore.  One writer sent me a very kind note detailing what he felt the problem was due to the recent API changes required by Flickr.  One 27-June-2014 the Flickr API went SSL-only and pretty much all my code broke.  Well, to be true, the version of FlickrNet I was using no longer worked.  It was time for me to update. I spent a few hours today switching to the latest FlickrNet library (and using NuGet now since it is published that way now) and take the time to switch over all the now-obsolete API usage my app was using.  I hit a few speed bumps along the way but got it done.  I sent the bits to a few of the folks that emailed me and they indicated it was working so I’m feeling good about publishing it.  So here is the update to Flickr4Writer, version 1.5 and the steps: Close Windows Live Writer completely Uninstall any previous version of Flick4Writer from Control Panel on your machine Run the new installer for Flickr4Writer by downloading it here. Launch Windows Live Writer again Go to the Plugin Options screen and select ‘Flickr Image Reference’ and click Options Step #5 should launch the authentication flow again to get new tokens.  Pay attention to the permission screen on Flickr web site as you will need the code provided when you authorize Enter the code and click OK Resume using Flickr4Writer This worked for a set of folks and a few tests I did on my machines.  Performing the re-authentication is key to get the updated tokens for the API usage for this plugin.  I apologize about making folks uninstall/re-install but the installer code was one thing that was really old and I just didn’t want to spend too much time getting that working so I just created a new one. I’m really glad people find Flickr4Writer useful still and I apologize for not having an update sooner (I actually didn’t get the notice that Flickr indicates was sent out…probably in my spam somewhere) but I appreciate those users who alerted me to the problem quickly! Hope this helps! tags: flickr, flickr4writer, live writer, windows live writer, oauth, flickrnetThis work is licensed under a Creative Commons Attribution By l[...]



Determining Portable Class Library compatibility

Tue, 27 May 2014 08:02:31 GMT

Recently I embarked on porting the TagLib# library to a Portable Class Library (PCL).  In my efforts I noted some frustration I had of the “convert and compile” flow to find issues.  Well, turns out I didn’t have to do that much pain as pointed out by Daniel in the comments!  The .NET team has released a tool to help out us developers called the API Portability Analyzer (currently in Alpha).  This tool basically looks at any existing .NET assembly and gives you a report to help you see where the APIs used are supported in the various .NET profiles available. The tool is a single command-line exe and is as simple as launching: ApiPort.exe path-to-your-assembly-file.dll I recommend putting this in your path somewhere so you don’t have to remember the full path to launch.  The output from the console tells you very little and only really about what you it is doing: Microsoft (R) API Portability Analyzer version 1.0 (alpha) Copyright (C) Microsoft Corporation. All rights reserved. To learn more about how this tool works, including the data we are collecting, go here - http://go.microsoft.com/fwlink/?LinkId=397652 Identifying assemblies to scan. Done in 0.01s. Detecting assembly references. Processed 1/1 files.Done in 0.23s. Sending data to service. Done in 2.88s. Computing report. Processed 508 items.Done in 0.02s. Writing report. Done in 0.17s. Replaced output file "c:\ApiPortAnalysis.xlsx" You may notice that the tool says ‘sending’ and yes, it is communicating with a public service.  The team notes this in the download: NOTE: During the process of identifying the .NET APIs used by a binary Microsoft collects the list of .NET APIs used by the user submitted binaries. Microsoft also collects the names of various user created APIs. The tool does not collect the binary code, only names of APIs are collected. Microsoft will also collect assembly information such as assembly references for the binary & the Target Framework Moniker (TFM). The real value is in the output data conveniently formatted into a pre-filterable Excel document.  The process was fairly fast for me, but I suspect might take longer for larger libraries (duh).  An example of the output is like the one here directly showing the TagLib# data that I used above. src="https://onedrive.live.com/embed?cid=A737583042956228&resid=A737583042956228%2144520&authkey=AC49KMgeRWAhh9Y&em=2" width="650" height="346" frameborder="0" scrolling="no"> If you read my previous post you will see that the areas I had frustrations about are clearly identified in the Unsupported columns for my target platform.  The tool attempts to recommend some alternatives when it can.  I can imagine this gets better over time as the recommendations for TagLib# were only two, whereas it should have provided recommendations for XmlDocument/XmlElement/etc. to the XLINQ equivalent areas. In the end though, this is a helpful tool for those looking to convert.  I wish I had known about it in advance, but now that I know it is in my toolbox and my PATH! Hope this helps! tags: pcl, apiport, portable, taglib, .net, framework, silverlight, wpdev, winrtThis work is licensed under a Creative Commons Attribution By license.[...]