My Essential .NET and Web Tools and Frameworks - 2016

This is routinely the post that brings the most traffic to this blog, so I thought I’d update it for 2016. All new items are bolded.

Here is my (mostly) comprehensive list of tools I use for development, either at home or work.  It’s like Scott Hanselman’s, but focused almost purely on development, with a couple of extras.  While you’re at it, go check his out.  All opinions are my own and are not bought or sold.

The Main Stuff

Visual Studio – king of IDEs and the essential tool for .NET devs everywhere. Not much else to say except that it has a great starting toolset for any developer and amazing plugin support.  The Community edition gives the masses the power of the Professional SKU, for free.  Simply amazing and getting better with every release.

Visual Studio Code – Microsoft's cross-platform IDE has taken the lightweight-yet-extensible text editor world by storm. I use this on my Mac for developing ASP.NET Core apps, writing Markdown files, and just editing plain text files. Has almost totally replaced my use of Notepad++. The plugin system and rapid development turnaround is going to threaten the paid alternatives in a big way (Sublime, I'm looking at you).

Node Package Manager - best tool for installing your command-line dev tools and front-end frameworks. I use it in conjunction with Visual Studio and Visual Studio Code to do development across several stacks, including WebForms apps that I support.

SQL Server Management Studio – it ranges from a useful IDE for SQL to a huge time saver for things like table creation and script generation.  The DROP and CREATE tools are awesome for generating scripts for tables, stored procs and more.

LINQPad – the best .NET code scratchpad on the market. It's not just for writing LINQ queries - it's   It’s not a complete replacement for SQL Management Studio, but for complex queries with lots of data, it’s my first choice.  The Premium edition is a steal and makes this essential tool 5 times more useful with C# autocomplete, NuGet, cross-database query support, and debugging.

NimbleText – thanks to Scott Hanselman, I have found this program – and my new favorite way to write repetitive code or handle small or large data transformation tasks.  I’ve used it from everything from writing HTML to generating SQL insert scripts.  Its time-saving power cannot be overstated.  And, it’s FREE!

Fiddler – the essential tool for viewing and diagnosing HTTP requests that are happening on your machine.  Turn on SSL decryption and see previously-unknown HTTPS requests decrypted before your eyes.  Use it to view incoming and outgoing HTTP requests in real time.  Turn it into a proxy and send a device’s HTTP requests through it to test devices within your network.  Replay captured HTTP requests with its Composer system.  Fiddler’s amazing abilities cannot be overstated.  It’s helped me diagnose and fix more problems with HTTP services than any other tool.

dotPeek – my favorite way to decompile .NET code, free from JetBrains.  It even has the ability to break a .NET DLL/EXE down into a fully-structured Visual Studio project!

Postman (Chrome extension) – my second-favorite way to test HTTP services is Postman.  Postman has an easy-to-use interface and provides a straightforward way to make HTTP requests.

Google Chrome – I used to use Firefox exclusively, but stopped after it started feeling bloated, buggy, and crash-happy.  Chrome’s dev tools are better than Firebug, which I also found to be frustrating and slow.  Plus, it has much better plugin and app support.

PowerShell - easily the best scripting language on the Windows platform. Great scripting plus the power of the .NET Framework at your disposal when you need those extra awesome features. Also, recently made cross-platform!

Visual Studio add-ins

ReSharper – perhaps the most essential tool for .NET devs around the world.  Amazing refactoring that puts Visual Studio’s default refactoring capabilities to shame.  Code generation that makes writing constructors, methods, or pretty much anything a snap.  Search tools that makes navigation through code effortless.  A built-in test runner that makes running and viewing tests a breeze.  A code analysis tool to help you find mistakes and potential pitfalls in your code.  Built-in added support and intellisense for common frameworks such as ASP.NET MVC.  It is truly the god of all Visual Studio plugins.  Go download it and tell your friends.

OzCode – if you’re a C# developer, you need OzCode.  It turns debugging from a necessary chore to a borderline delight.  Break down code expressions, highlight the most needed data in an object, compare data between two objects, find all objects of a given type in memory, and exceptional exception handling make OzCode a star – and that’s just the tip of the iceberg.

Web Essentials – a great tool by Mads Kristensen of Microsoft – it’s his personal testbed for new web-based Visual Studio features.  Features things like quick HTML typing using ZenCoding, a link between the browser and Visual Studio for seeing immediate changes to your changed HTML/CSS, better Intellisense for CSS/HTML/JavaScript/Angular, and so much more.  Install it and watch your productivity in web development go to 10.

GhostDoc - best way to quickly write your XML code comments. Makes it so easy to annotate your code with comments about the code you're writing.

Source control

Git - the favorite source control solution for tons of developers. So prevalent that all recent Microsoft open source code is published to GitHub instead of their own internal SCM, Team Foundation Server. Most powerful learned with the command line or using tools such as...

SourceTree – a great visual tool for Git users.  Not perfect, but very helpful.

Languages

C# - my preferred backend language since the start of my career. So much power and ease in the language and in the .NET Framework. Made even more relevant with the recent introduction of .NET Core.

JavaScript - famously called the machine language of the web, it's the most critical language for any software engineer of all disciples and skill levels to master.

TypeScript - my preferred language for all JavaScript development I do. Embraces the weirdness of JavaScript while adding awesome features like a better type system, interfaces, and all of the features of any flavor of ECMAScript.

F# - simply the best .NET language in existence, F# is one of the best functional languages for any programmer to learn. Learning this will make you a better programmer no matter if you stick with object-oriented for the rest of your career.

Elm - Elm is both a functional language and a web framework. More functionally pure than F#, Elm boasts a lack of null, total immutability, and a promise of NO RUNTIME ERRORS, EVER. What other web/desktop/mobile framework/anything have you heard promise something like that?

Hosting

Microsoft Azure - the no-brainer hosting solution for .NET developers and, well, any developers for that matter. Runs Windows as well as it runs Linux, Unix, you name it. Amazing interface and tons of power - even has a RESTful API that you can use to spin up and maintain servers.

Frameworks

Web

ASP.NET Web API – built on top of MVC, Web API makes spinning up an RESTful API a breeze.  Host it in IIS or self-host on top of OWIN (this works great with Topshelf.)  Use it to power everything from your mobile app to your single-page application, powered by your favorite JavaScript frontend framework.  Versatile and fun to use.

Angular 2 – my SPA framework of choice. Simpler and faster than Angular 1. Very batteries included compared to React. Get started quickly and create awesome web apps around components using an easy-to-learn templating system. Combine with TypeScript for an awesome development experience.

React - amazing view library which has gotten a ton of love in the last couple of years. Combine it with your tooling of choice to create awesome web apps that scale well from a codebase perspective. Write your views in JavaScript using JSX and put the power of your HTML into your JS, as opposed to the other way around with Angular.

Redux - the Redux state container has emerged as the pattern/framework of choice for creating web apps using React. Extremely simple to understand and with a low API surface area, which means you can get started really quickly. Combine with Angular 2 using ngrx, a framework designed around the Redux pattern.

SignalR – the easiest and most powerful way to create an excellent realtime experience for the web or anything that can connect over HTTP.  I personally used it to power realtime text message communications between a Xamarin-powered mobile app as well as a desktop app.

Elm - Elm is both a functional language and a web framework. More functionally pure than F#, Elm boasts a lack of null, total immutability, and a promise of NO RUNTIME ERRORS, EVER. What other web/desktop/mobile framework/anything have you heard promise something like that?

Mobile

Xamarin – I don't do mobile anymore, but this was my personal favorite way to create an awesome mobile experience using the C# dev stack.  Completely free from Microsoft.  Use Xamarin.Forms to create mobile views for all major mobile platforms and share a 90% common codebase.

Data access

Entity Framework – my favorite way to access a database, period.  Use LINQ to communicate with your database, create your data views using attributed POCOs and easily update your model with Migrations.  It’s not for everyone, but it’s fast enough for most use cases and getting better every day.

Dapper – when I want a way to quickly access a database using SQL, Dapper has my back.  Deceptively simple API for what turns out to be a very fast way to access data.  Powers the data access layer behind StackExchange, one of the highest traffic websites on the planet.

General

Newtonsoft.JSON – the standard for JSON serializing and deserializing in .NET.  Used everywhere.  Go and buy him a beer – James Newton-King has made all of our lives easier.

TopShelf – when spinning up a Windows service using .NET, nothing is faster and easier than TopShelf.  Utilize its Fluent API to quickly and painlessly create a Window service, fast, in a manner that’s self-documenting.

RabbitMQ – when you need a reliable messaging queue for your suite of applications, RabbitMQ is a strong choice.  If using .NET,EasyNetQ makes the experience that much easier – it abstracts the most difficult parts away into message passing via POCOs.

Underscore.JS – my favorite JavaScript framework for object manipulation and collection traversing/ transformation.  It’s not as nice as LINQ, but it has a decent chaining syntax and is very feature-complete.  Lodash is another alternative that is drop-in compatible with some extra functions.

Moment.js – Dates in JavaScript are harder than they need to be.  Moment.js makes it that much less difficult by providing a simple and powerful date API.  Usually my second web project add-in (first being Underscore, of course.)

Little stuff

F.lux – changes the color temperature of your monitors at night.  A small thing but makes night programming much easier on the eyes.

Paint.NET – a fast, free paint tool written using .NET.

WinRAR – my choice for compression.  Yeah, I know Scott Hanselman recommends 7Zip, but 7Zip’s context menu requires two clicks – WinRAR’s only requires one I'm codger-y and like WinRAR. (Thanks for all those who pointed out that, in fact, you can configure 7Zip's context menu to require one click.)

Treesize Free – a great cleanup tool for those who have constrained hard drive space.

LastPass – a wonderful password manager that makes managing logins a much easier endeavor.  When you’re in IT, you know how crucial it is to keep track of passwords and LastPass makes that much much easier. 

Reddit– I subscribe to r/programming, r/dotnet and a handful of other useful programming-related subreddits.  Useful for a quick mid-day browse when you need to look away from Visual Studio for 5 minutes.

Hacker News – not necessarily programming focused, but it has some interesting tech-related topics.  I just started reading this recently.  Clearly, I’ve missed the party for a long time.

StackExchange– if StackExchange doesn’t have an answer to your programming question or problem, then you’re probably on your own.  Learn from the wisdom of others’ mistakes and find quick, elegant solutions to your programming problems.  Chase down those obscure exceptions.  If you haven’t used it, then you’ve never used Google to solve a problem.

Scott Hanselman’s Blog – Scott Hanselman is my main man.  His blog posts are always interesting and valuable and his contributions to the Microsoft dev world cannot be overstated.

Dew Drop – my favorite link aggregation site.  It’s my daily morning check.  (Morning Brew isn’t as comprehensive, but is still a decent resource.)

Communication/speaking/branding tools

Twitter - the best way to communicate with other professionals in your industry in a meaningful way.

Ghost (blogging platform) - recently replaced WordPress in my life. Ghost focuses on one thing and one thing well - creating a great blogging experience. I love the use of Markdown over a WYSIWIG editor. I love its pure speed over Wordpress.

Keynote/PowerPoint - two great tools for creating presentations. Avoid going overboard on the text though - I find that slides with a single thought/image/code snippet works best.

Trello - helps me keep track of all of my speaker submissions, my current talks, and any conferences I want to submit to. Useful for so much more.

Camtasia Studio - my favorite tool for recording screencasts and demonstrations. Expensive, but worth it if you do this kind of thing a lot. Open Broadcaster Software (OBS) is a free alternative.

My Essential .NET Dev Tools

ATTENTION! This post has been updated for 2016 - check it out here!

Here is my (mostly) comprehensive list of tools I use for development, either at home or work.  It’s like Scott Hanselman’s, but focused almost purely on development, with a couple of extras.  While you’re at it, go check his out.  All opinions are my own and are not bought or sold.

The Main Stuff

Visual Studio – king of IDEs and the essential tool for .NET devs everywhere. Not much else to say except that it has a great starting toolset for any developer and amazing plugin support.  The Community edition, new as of a couple of months ago, gives the masses the power of VS Professional, for free.  Simply amazing and getting better with every release.

SQL Server Management Studio – it ranges from a useful IDE for SQL to a huge time saver for things like table creation and script generation.  The DROP and CREATE tools are awesome for generating scripts for tables, stored procs and more, and the Execution Plan viewer can be very helpful when trying to optimize expensive queries.  The Express edition has most of the tools required to manage a day-to-day SQL Server installation just fine.  One of the best database management tools available.

SQL Server Profiler – for when I’m having a hard time figuring out exactly how well a SQL query is running or when the SQL that’s being emitted from Entity Framework is not immediately known to me, I always turn to Profiler.  Used it to find a show-stopping SQL query on more than one occasion.

LINQPad– write LINQ queries using the best .NET code scratchpad on the market.  It’s not a complete replacement for SQL Management Studio, but for complex queries with lots of data, it’s my first choice.  The Premium edition is a steal and makes this essential tool 5 times more useful with C# autocomplete, NuGet, and cross-database query support.  Plus, it’s great for those one-off tests for code behaviors that you might need a quick refresher on. LINQPad’s author, Joe Albihari, is always adding new features – most recently an integrated debugger.

NimbleText– thanks to Scott Hanselman, I have found this program – and my new favorite way to write repetitive code or handle small or large data transformation tasks.  I’ve used it from everything from writing HTML to generating SQL insert scripts.  Its time-saving power cannot be understated.  And, it’s FREE!

Notepad++ – my text editor of choice.  Decent plugin support, syntax highlighting, and instant right-click, edit for any file in Windows Explorer.  (Yeah, I know dev-favorite Sublime Text has these things too, but Notepad++ was my first and it fits my needs nicely.)

SourceTree– an essential tool for Git users on Windows.  I just started using Git (yeah, I know I’m late to the party) and SourceTree has made the transition from TFS to Git that much more smooth.  Not perfect, but very helpful.

dotPeek– my favorite way to decompile .NET code, free from JetBrains.  It even has the ability to break a .NET DLL/EXE down into a fully-structured Visual Studio project!  (I actually have a client whose previous developer wouldn’t hand over the source code for their main application, and dotPeek made the decompile way more convenient.)

Postman (Chrome extension)– my second-favorite way to test HTTP services is Postman.  Postman has an easy-to-use interface and provides a straightforward way to make HTTP requests.

Fiddler– the essential tool for viewing and diagnosing HTTP requests that are happening on your machine.  Turn on SSL decryption and see previously-unknown HTTPS requests decrypted before your eyes.  Use it to view incoming and outgoing HTTP requests in real time.  Turn it into a proxy and send a device’s HTTP requests through it to test devices within your network.  Replay captured HTTP requests with its Composer system.  Fiddler’s amazing abilities cannot be understated.  It’s helped me diagnose and fix more problems with HTTP services than any other tool.

Google Chrome – I used to use Firefox exclusively, but stopped after it started feeling bloated, buggy, and crash-happy.  Chrome’s dev tools are better than Firebug, which I also found to be frustrating and slow.  Plus, it has much better plugin and app support.

Visual Studio add-ins

ReSharper– perhaps the most essential tool for .NET devs around the world.  Amazing refactoring that puts Visual Studio’s default refactoring capabilities to shame.  Code generation that makes writing constructors, methods, or pretty much anything a snap.  Search tools that makes navigation through code effortless.  A built-in test runner that makes running and viewing tests a breeze.  A code analysis tool to help you find mistakes and potential pitfalls in your code.  Built-in added support and intellisense for common frameworks such as ASP.NET MVC.  It is truly the god of all Visual Studio plugins.  Go download it and tell your friends.

OzCode– if you’re a C# developer (and let’s face it, you probably are) then you need OzCode.  It’s a newcomer on the plugin scene, but it’s already a staple in my book.  It turns debugging from a necessary chore to a borderline delight.  Break down code expressions, highlight the most needed data in an object, compare data between two objects, find all objects of a given type in memory, and exceptional exception handling make OzCode a star – and that’s just the tip of the iceberg.  Check it out – it’s still on sale for the first 5,000 buyers!

Web Essentials – a great tool by Mads Kristensen of Microsoft – it’s his personal testbed for new web-based Visual Studio features.  Features things like quick HTML typing using ZenCoding, a link between the browser and Visual Studio for seeing immediate changes to your changed HTML/CSS, better intellisense for CSS/HTML/JavaScript, bundling and minifying, and so much more.  Install it and watch your productivity in web development go to 10.

Productivity Power Tools – a nice suite of add-ins to Visual Studio that just make your life easier.  CTRL + click on a method/property/class name to go directly to the definition of that item.  See what files are throwing compiler errors in Solution Explorer.  See your file changes, errors, warnings and more using their color-coded visualizers.  Download it for free and enjoy, it’s awesome.

VSCommands– adds a lot of little useful things to Visual Studio, like coloring the lines in the output window and allowing you to easily group files within Visual Studio’s Solutions Explorer – I love this for grouping page-specific JavaScript to its parent page.  It also shows you the first line of a code block at the block’s terminator – a really handy feature when looking at heavily-nested code.

Frameworks

Web

ASP.NET MVC – the new standard for writing client-or-internal-facing apps with the .NET stack on the web.  WebForms, move aside.  Scaffold your website easily using Entity Framework, MVC and Bootstrap for a quick and beautiful development experience.

ASP.NET Web API – built on top of MVC, Web API makes spinning up an RESTful API a breeze.  Host it in IIS or self-host on top of OWIN (this works great with Topshelf.)  Use it to power everything from your mobile app to your single-page application, powered by your favorite JavaScript frontend framework.  Versatile and fun to use.

SignalR– the easiest and most powerful way to create an excellent realtime experience for the web or anything that can connect over HTTP.  I personally used it to power realtime text message communications between a Xamarin-powered mobile app as well as a desktop app.

AngularJS – the one-stop shop for creating an excellent SPA experience.  Everyone has been coming out of the woodwork recently saying that Angular 1.x is going to be irrelevant soon because of 2.x and all of its breaking changes, or that it’s not right for some particular job, or that it’s too opinionated/slow/difficult to master.  Angular isn’t always easy, but once you learn its principles and constructs (especially directives) you’ll find that it’s a powerful framework for making SPA apps.  Extend it with easy-to-use frameworks such as AngularUI Bootstrap for things like datepickers, autocompletes, and modals.  If you’re using ASP.NET, you can start with Hot Towel Angular, which is a great starting point for an Angular-based SPA – it provides a good demonstration of how projects should be structured as well as a starting page to build from.

jQuery– a great set of tools for manipulating elements and data on your web page.  Still used in most places on the web.  Personally, I use it for everything from animation to creating simple AJAX-powered views where the additional weight of a SPA framework is inappropriate.

Mobile

Xamarin– my personal favorite way to create an awesome mobile experience using the C# dev stack.  Pricey, but worth it if you’re a .NET-powered firm looking to get into mobile development, as the time you save not having to learn Obj-C/Swift and Java is major.  Use Xamarin.Forms to create mobile views for all major mobile platforms and share a 90% common codebase.

Data access

Entity Framework– my favorite way to access a database, period.  Use LINQ to communicate with your database, create your data views using attributed POCOs and easily update your model with Migrations.  It’s not for everyone, but it’s fast enough for most use cases and getting better every day.

Dapper– when I want a way to quickly access a database using SQL, Dapper has my back.  Deceptively simple API for what turns out to be a very fast way to access data.  Powers the data access layer behind StackExchange, one of the highest traffic websites on the planet.

General

Newtonsoft.JSON – the standard for JSON serializing and deserializing in .NET.  Used everywhere.  Go and buy him a beer – James Newton-King has made all of our lives easier.

TopShelf– when spinning up a Windows service using .NET, nothing is faster and easier than TopShelf.  Utilize its Fluent API to quickly and painlessly create a Window service, fast, in a manner that’s self-documenting.

RabbitMQ– when you need a reliable messaging queue for your suite of applications, RabbitMQ is a strong choice.  If using .NET, EasyNetQ makes the experience that much easier – it abstracts the most difficult parts away into message passing via POCOs.

Underscore.JS– my favorite JavaScript framework for object manipulation and collection traversing/ transformation.  It’s not as nice as LINQ, but it has a decent chaining syntax and is very feature-complete.  Lodash is another alternative that seems to be drop-in compatible with some extra functions.

Moment.js – Dates in JavaScript are harder than they need to be.  Moment.js makes it that much less difficult by providing a simple and powerful date API.  Usually my second web project add-in (first being Underscore, of course.)

Little stuff

F.lux – changes the color temperature of your monitors at night.  A small thing but makes night programming much easier on the eyes.

Paint.NET – a fast, free paint tool written using .NET.

WinRAR– my choice for compression.  Yeah, I know Scott Hanselman recommends 7Zip, but 7Zip’s context menu requires two clicks – WinRAR’s only requires one.

Treesize Free – a great cleanup tool for those who have constrained hard drive space.

LastPass– a wonderful password manager that makes managing logins a much easier endeavor.  When you’re in IT, you know how crucial it is to keep track of passwords and LastPass makes that much much easier.

Links

*Dew Drop *– my favorite link aggregation site.  It’s my daily morning check.  (Morning Brew isn’t as comprehensive, but is still a decent resource.)

TheDailyWTF– avoid making WTFs of your own by reviewing others’ mistakes and bad practices.  The writing lately has been sometimes ridiculous, but the core of it is still pretty good.

Reddit– I subscribe to r/programming, r/dotnet and a handful of other useful programming-related subreddits.  Useful for a quick mid-day browse when you need to look away from Visual Studio for 5 minutes.

Hacker News – not necessarily programming focused, but it has some interesting tech-related topics.  I just started reading this recently.  Clearly, I’ve missed the party for a long time.

StackExchange– if StackExchange doesn’t have an answer to your programming question or problem, then you’re probably on your own.  Learn from the wisdom of others’ mistakes and find quick, elegant solutions to your programming problems.  Chase down those obscure exceptions.  If you haven’t used it, then you’ve never used Google to solve a problem.

Scott Hanselman’s Blog – Scott Hanselman is my main man.  His blog posts are always interesting and valuable and his contributions to the Microsoft dev world cannot be understated.

Follow schneidenbach

Hey, Xamarin - the Indie developer needs Visual Studio, too

TL;DR – Xamarin should include Visual Studio support in their Indie subscription level OR at least add it on as a separate monthly cost.

When designing pricing for subscription-based software technologies, oftentimes the best features are saved for the most expensive subscriptions, and rightly so – the developers have the right to profit off of their creation and create higher prices for features they might not normally support.  However, a killer feature can sometimes be priced higher than is reasonable for smaller shops or indie developers, leaving some feeling left out in the cold, and I believe Xamarin is finding itself in the midst of this very pricing conundrum.

For those who don’t know, Xamarin is a mobile development platform that allows you to use C# (or F#) to program for the two biggest mobile platforms today, iOS and Android.  When you’re used to the .NET ecosystem and all of the conveniences it offers, such as LINQ, lambdas, garbage collection, etc., Xamarin becomes very appealing.  Xamarin’s vision is to maximize code reuse among all platforms and includes many great innovations such as Xamarin.Forms, which allows you to create one UI codebase for all three major mobile platforms (iOS, Android, and Windows Phone.)

Xamarin’s pricing model is as follows: for indie devs or shops with five or less employees, you can pay $299/year per platform to develop using the Xamarin stack and their IDE, Xamarin Studio, an offshoot of the open source MonoDevelop.  The next subscription level is the Business level – at $999/year per seat per platform, it includes email support, in-house deployment capabilities, and – wait for it – full integration with Visual Studio, king of IDEs.  (The two final subscriptions are worth mentioning, but aren’t the focus of this post – Starter allows you to develop for free up to a certain app size and Enterprise gives some other high-end business features and support.)

Since Xamarin announced Visual Studio integration for Business subscribers, smaller shops and indie devs have asked for the Indie subscription to include Visual Studio support.  Their argument is that the Business edition is priced too high for them to seriously consider and that the included IDE, Xamarin Studio, doesn’t have many of the features that are available to Visual Studio, including major plugin support (ReSharper, anyone?)  It has been a major topic of discussion on Xamarin’s forums as well as social media, and is currently the 2nd highest voted request on Xamarin’s UserVoice page (1st being for a plugin for Visual Studio only.  Notice a pattern?)

Xamarin announced yesterday that it has changed the Indie pricing to $25 per month per platform, as opposed to $299 annually.  While a step in the right direction to get indie devs to jump to the Xamarin platform, it still doesn’t include Visual Studio integration.

Nat Friedman, I’m talking directly to you here.  *You are missing a big opportunity to deliver more value to your customers and shareholders by opening up Visual Studio integration to your Indie developers.  *$999/year per platform is simply too much for an individual to swallow – even with your 10% multi-platform discount, that’s $1,800 per year for one person!

Yes, your engineers have put a lot of valuable time into making Visual Studio a first-class citizen in the Xamarin ecosystem. I believe that feature alone has tremendous value, so much so that I believe if you make this change, you will see more Indie developers jump to your platform.  However, the value gained for the Indie subscription is not lost for the Business subscription.  In-house deployment and email support are more than enough reason for businesses to shell out $999/year per dev per platform, not to mention that you have to buy it anyways if you have more than five employees.  You have no shortage of enterprise customers anyways, judging by all the logos on Xamarin’s front page.

I believe that the change to the Indie platform to make it monthly is a move in the right direction, but can be vastly improved.  My humble suggestions to improve pricing for the Indie subscription level are as follows.

  • Include Visual Studio support for Indie devs. I think you will find the adoption rate for Indie subscriptions will rise and, subsequently, your revenues.  I don’t believe Business subscription numbers will fall as a result, because there is still a lot of value in email support and in-house deployment, and you will gain additional market share from other mobile development platforms.  Win-win.  Plus, the more people who use your platform, the more valuable it becomes to others.  Win-win-win!
  • If not for free, then consider an add-on pricing model, where indie devs can subscribe to get certain features.  $5/month for Visual Studio support is priced nicely and is pretty attractive for any .NET dev looking to get into mobile development.  Perhaps even allow email support as an add-on, say, $5/month for two support tickets a month?
  • Offer better monthly discounts for multiple platforms. $50/month sounds a bit steep for both iOS and Android.  $40/month sounds much more palatable.  Make it $45 with Visual Studio support.  That’s $540/year for Xamarin – not a bad take at all if you add even 1,000 indie developers to the mix.

Bottom line: I love Xamarin.  I love their vision for mobile development within the .NET ecosystem and they are well-supported and well-funded.  However, I believe that there are great opportunities for you to create even more value for your company and for developers alike.

That concludes my very first post – I hope you enjoyed it.  Agree?  Disagree?  Sound off in the comments or feel free to tweet me @schneidenbach.