Hey Reddit, we're members of the ASP.NET team at Microsoft. We've all been at Microsoft 5 years or less. Since then we've open sourced 90% of ASP.NET, MVC, Web API, all of Entity Framework, SignalR, VS Web Essentials, yada yada yada. We also have all the Azure SDK stuff open sourced on GitHub as well. We work here because we're changing things, building things, and having fun.

We are @shanselman PM of Misc and End to End, host of Azure Friday and Hanselminutes. Loud. proof: https://twitter.com/shanselman/status/401392219946373123

@DamianEdwards lead on ASP.NET, co-creator of SignalR, and Australian. proof https://twitter.com/DamianEdwards/status/401393118777319425

@MKristensen Creator and lead on VS Web Essentials, Browser Link, and all the web editors. Danish. proof https://twitter.com/mkristensen/status/401393025802182656

Ask us anything!

Comments: 552 • Responses: 39  • Date: 

lemkepf29 karma

When is Microsoft going to acquire Xamarin and bake their tools right into Visual Studio?

jeremymorgan14 karma

Microsoft is partnering with Xamarin officially and I have no inside information whatsoever but if I had to guess they're going to let Xamarin do their thing because they're good at it.

shanselman13 karma

bingo They do what they do because they love it. Why not let them do it and love it?

Disclosure: I'm friends with Miguel and Nat.

jeremymorgan23 karma

As a developer with "one foot in each boat" I keep a keen eye on both Linux based open source and .Net based open source.

One of things I'm saying to myself often in the last year or so is "wow, not only are they catching up here, but exceeding the Linux movement in some areas" but the problem is... few people are noticing.

I feel like some of these die hard PHP/Rails/Python etc developers have a dim view of the ASP.Net stack because of biases toward Microsoft itself and outdated information. Many open source coders simply have no idea what kind of giant strides the ASP team has taken in the last few years.

I know big enterprise is loaded with .Net developers but the youth just coming out of school and the startup scene on the West Coast is still avoiding it, and I think ASP.Net is off the radar with a lot of them. Is this something you guys think about, and are they are any plans to try to push harder to educate developers and get into that mainstream dev culture again?

shanselman20 karma

The "few people are noticing" is the worst part about working at Microsoft. We've been there each about 5 years and done (we think) some deeply cool shit and moved the needle...but we are still accused for the "sins of the father." The 90's are not 2013. I hope folks notice what we're doing.

TRGB5 karma

One of the most common misconceptions I've seen recently is the "It's way too expensive to develop/host in Asp.Net vs LAMP". The reality is that MS has taken this very deeply into consideration with the express versions of VS and there are plenty of shared hosters for small sites that charge exactly the same for a fully .Net 4.5 environment than a PHP one.

I also hope people start to notice this.

shanselman10 karma

Yep, once Windows is paid for, ASP.NET and IIS and all that is free.

jeremymorgan3 karma

As someone who tries very hard to be immersed in the culture side, I can tell you that more people are noticing than they did before. It's still marginalized but existing .Net developers are thrilled with the way things have gone lately and enthusiasm is rising fast. People like me are advocating (for no pay!) and pushing the product because it's an awesome thing to be a part of.

A small scale indicator is the PADNUG meeting you spoke at last week which set an attendance record. In my opinion that enthusiasm was drawn from you speaking there ( we all know what to expect ) and the fact that Visual Studio 2013 is amazing, and the strides being made by the ASP.Net group are incredible. Every .Net developer I know right now is excited and proud to be a part of it. There was a time not so long ago that I couldn't exactly say that.

Personally I think it can and will catch on with more people. I don't worry about the ASP.Net group losing momentum in what they're doing, I worry about the uppers ( people above ScottGu for instance ) giving up on it too quickly. As long as your teams have that backing and keep pushing like this it will be very hard to ignore "those .Net coders".

shanselman4 karma

Thanks for the positivity!

thetyrone21 karma

When did the open-source initiative in the context of the ASP.NET stack became a "go" and what were the visible benefits of that decision?

Keep up the great work, guys!

shanselman28 karma

About the same time that Phil Haack worked on ASP.NET MVC with Scott Guthrie, we were also looking at adding jQuery (which had "won" at the time) to ASP.NET and shipping it out of the box. In order to add jQuery, a lot of legal precedent had to be worked out within MSFT. Phil had the support of ScottGu, along with the rest of the team (during IMHO a generational change of the guard) which opened the flood gates for open source.

We started with the basic "Source Opened" style where it's there and you can see it but we couldn't take contributions. In March of 2012 we started doing more Apache licenses in stead of MS-PL and took a pull request my friend Miguel de Icaza to fix a Mono bug. From that point, we were able to take PRs from the community (and run them through the same code review process that any MSFT code goes through) and now take contributions for ASP.NET MVC, Web API, EF, SignalR, and all the Azure SDKs.

Visible benefits have been that ASP.NET MVC and Web API run on Mono, we are having more fun, and we (the community) feel more in control.

emergent_properties2 karma

When you say 'open source' the stack, do you mean 'ok, everyone can officially look at it', or do you mean 'open source' as in the right to modify?

When people say open source, they usually mean the legal rights of what you can do AFTER you look at the code..

shanselman6 karma

Right, we are now "open source" under Apache, not "source opened," which would be lame.

ata-s14 karma

How does Azure fit for big enterprises like banks? They would never give their data to the cloud, even for their internal non-transactional projects.

cdemi4 karma

Systems don't need to be fully-cloud based. Companies like the ones you mentioned can architect a hybrid-cloud solution, where most of the system is sitting on the cloud but the critical or sensitive data is sitting on premises.

shanselman6 karma

Ya, you can put VMs on a private network and only make them accessible via VPN, either point to point or point to site, etc.

Plus, you can even make solutions where the DATA is in your datacenter but the WEBSITE is in the cloud.

Leo_Nel13 karma

What's the story with Silverlight?

shanselman42 karma

Silverlight works, is supported for like 10? years, but I think it's done as far as the Open Web is concerned. I like to say that The Web killed Silverlight, not Microsoft. Now, for "Text boxes over data" apps and line of business stuff, it's fine, and does the job nicely. But will we (and should we) see sites written in Silverlight on the Open Web today? No, we shouldn't.

vbullinger11 karma

What do you think of Xamarin? Will there be any competing cross-platform mobile technology from Microsoft?

shanselman17 karma

Xamarin is the bomb. I can't imagine anyone inside being insane enough to try to compete. Plus, there's no reason to compete because it integrates so well. File New iOS Project in VS works pretty damn well today. So, no.

tastierrobbo2 karma

What about the explosion of hybrid mobile tech like PhoneGap/Icenium/Sencha? Surely the barrier to entry is still much lower than Xamarin - plus performance is catching up.

vbullinger11 karma

Catching up != equivalent. Not anywhere near it.

Also, with Xamarin you're making truly native apps. PhoneGap is a device-enabled local website, essentially.

Now, as for the distant future? I wonder if things will converge in 5, 10, 15 years or whatever to the point where you can truly have a cross-platform native app written entirely in web technologies. While it's way too early to tell, I'm kind of thinking it will.

Don't get me wrong: I preach PhoneGap to anybody who wants a quick and cheap solution to their mobile strategy, but as far as enterprise development with a seriously complicated app? I can't endorse it.

shanselman5 karma

Ya, if you're a JS ninja then PhoneGaps is great, but you'll always (until iOS changes it) be limited by the WebView JIT speed limitations within Mobile Safari. It can't be as fast as native.

tastierrobbo3 karma

That's part of the story, but not entirely. CSS is actually a bigger factor than JavaScript when you talk about the performance story of PhoneGap apps - think transitions, scrolling, etc. The 1/2 truth of JIT limitations in WebViews has led to a fair amount of FUD.

Not that it isn't a problem! And to that end, Android 4.4 comes with a Chrome WebView option (with V8 engine).

shanselman6 karma

Ah, thanks for the CSS clarification. I agree on the FUD. The JS issues I had with PhoneGap were dealing with large (too large, my fault) JSON datasets in the client.

bmoneybryan8 karma

For Scott Hanselman (@shanselman):

This is pretty off-topic, but I believe you once mentioned you worked from home, if a new CEO inserts a policy like Yahoo or HP where you have to work in the office at Microsoft, will you still be working at Microsoft?

Some employees mentioned you're an expert in African-American culture, is this true?

shanselman34 karma

Working from Home: Yes, if they tell me I have to move, I will quit.

Black Culture: Well, I'm a cis-gendered white dude, so I can't be an expert on AA culture, but I have studied AA history as well as African History in college. I'm raising black sons, so I have an vested interest in the success of people of color. I've presented at PoC conferences like Blogging While Brown and FOCUS100. So I'd say I'm an advocate and enthusiast, but clearly not an expert on anything.

lemkepf8 karma

I know many people at Microsoft are working hard to open source more tools and get input from the community. What has been the hardest part in steering Microsoft into that more open sourced culture?

shanselman14 karma

Mostly convincing execs that aren't ScottGu that it's important and that it won't explode if we start opening things up. He's our biggest advocate.

Also, legal. Everything takes weeks rather than days, although once you've set a precedent, some things DO take days. We started treating legal as a partner, rather than being afraid of them as someone who would say NO to us. Legal isn't there to say no, they are there to find out we can say YES.

buzzedword7 karma

Does the .NET team plan on increasing multi-platform support for developers on OSX/Linux past the existing Mono environments? It's currently a travesty to attempt to build ASPNET apps in a non-windows setup, and the sheer amount of VMs required to A) Test IE, B) Run VS are just insane. It'd be nice to have SOME sort of official tools to use here, even if it's cloud based. Seems like a sure way to shoot yourself in the foot by not affording some sort of IDE portability.

shanselman14 karma

Will we do stuff beyond Mono, no. Do we make a best effort to make Mono work and fix bugs, make it build right and work well on Mono? We do that now and we will continue to. For example, the SignalR project has a makefile in its root. NuGet also builds on Mono.

That didn't happen without "make it work on Mono" being a Bug that someone opened and closed.

We also take PRs! rimshot

kkus5 karma

I'm sorry what is a PR?

shanselman8 karma

Pull Request

eatfrog7 karma

@hanselman when is the next this developers life coming? also, is conery the same way irl as he is on twitter? i had to unfollow him. is that why there hasnt been any new episodes?

shanselman7 karma

I literally just finished editing 45 min of audio for the next episode called "Space." I passed it to Rob for the final pass, then he sold TekPub to PluralSight. I think that's what slowed him down. The show IS alive and WILL continue.

eatfrog2 karma

good to hear! i think TDL is the best podcast i have heard yet, all categories.

shanselman3 karma

Thanks, it's a labor of love.

ultramk6 karma

What aspect of technology are you guys most excited about for the future?

shanselman21 karma

JavaScript and C#.

JavaScript is the virtual machine that we don't have install...it's in the browser.

C# lets me put an app in every app store.

So, if I know JavaScript and C# I can pretty much target everything from a Netduino in 64k or the Cloud with 64 Tera(or peta)bytes

_Mikie_6 karma

Scott, at the vs2013 launch you did a demo of cross platform dev with xamarin, any good video resources on setup and management of such projects?

Side note, keep up the fantastic work!

shanselman6 karma

Ya the Xamarin folks have this Xamarin University program that gets you up to speak in 30 days. There's also PluralSight that has training courses. Also check out open source stuff like MVVMCross that prescribe how to make cross platform apps while maximizing code sharing.

rossdargan4 karma

Do you think we will ever end up in a situation where visual studio is just auto-updated like browsers tend to be now? If you are releasing new versions every year it can get tedious to keep things up to date!

shanselman10 karma

This is my opinion. I know that Office 2013 updates automatically with Click2Run. Like, I've never updated it, it's just always up to date. I know it's technically possible. I'm not sure if a corporate dev would want VS updating underneath them though just as they are deploying their app.

We are still doing regular .1, .2, .3 updates, and it's not TOO hard to update, but I hear you and I know that making setup work more reliably the time is being worked on by a whole team in VS.

ta_62976529594 karma

[deleted]

shanselman5 karma

Cool. For PHP folks, I actually like Web Pages (basically code and views in the same page. All my podcast sites and also @mkristensen's MiniBlog are all Web Pages (rather than Web Forms or MVC).

apocoplayllc4 karma

@All: Does The GU always wear red to work, or is it just a marketing thing?

@Damian: We just wanted to say thank you for making SignalR and being around to answer questions on JabbR when needed!

shanselman6 karma

He wears Red a LOT. Like at least 3 days a week.

digital3 karma

Does the NSA spying scandal scare you?

Do you have any precautions to defend against people infiltrating your networks?

In regards to this article: http://www.techdirt.com/articles/20131114/12075925247/microsoft-admits-it-still-doesnt-encrypt-its-datacenter-links.shtml

shanselman9 karma

Yes, I think it's pretty egregious what's coming out of the government re spying but I'm pretty confident that we (the web) will fix it. Maybe all web traffic will be encrypted or we'll change the underlying networks. Folks will learn not to mess with the 'net.

dpenton2 karma

Hi all, thank you for everything you do for the .NET community.

  1. How will your team work with the Visual Studio.NET team to ensure a seamless backwards-compatible experience for developers that need to work in environments where everyone might not be on the same version of Visual Studio.NET
  2. How will your team work with the .NET BCL team to ensure that new .NET versions do not affect ANYTHING that works with prior versions of .NET?
  3. How do you see WebAPI (and similar tech) competing/working with IIS? As in, will your team look to have that disconnected technology stack be a replacement for IIS in the future?
  4. How about a Microsoft supported ASP.NET stack for Linux? :)

Thanks!

shanselman3 karma

  1. Yes, we added "round tripping" in 2010 and it continues in 2013. You can still make .NET 2 WinForms apps in 2013 if it makes you happy.
  2. Most all breaking changes have been ones where someone relies on the wrong behavior of a bug, or worse, they take a dependancy on an internal structure by using reflection. Nearly all the "breaking" issues with .NET 4.5 (that some might say gave that version a bad name) were folks that were reflecting around inside stuff they shouldn't have been. TO BE CLEAR: We take compat seriously. .NET 4.5 had the highest compat bar of any version ever. We also shipped AFTER 4.5 a compat patch to fix the stuff we missed. This is why we do Betas and RCs and we really need folks to report them. It's super frustrating to hear about bugs after RTM just because of low beta participation.
  3. Apples and Carburetors, I'm afraid. Web API is way higher level than IIS. We're adding Web API self-hosting support because, frankly, IIS is overkill for a small Web API or for simple testing. We aren't looking to replace IIS, but instead are looking to OWIN as a way to let you choose how you host your apps and services.
  4. How about back compat for my PS3 games on my PS4? Seriously, though, I don't see it happening. As I mentioned before, though, we're totally working on Mono and making ASP.NET working on Mono.

coalescent_code2 karma

A lot of noise is made about startups' radical departure from typical corporate culture. When I see screencasts and talks from you guys, you seem really passionate about what you're doing at MS (SignalR is a great example of this). What makes MS's environment appealing and conducive to quality releases compared to the whacky startup world?

shanselman11 karma

Thing is, Microsoft isn't 90,000 people, it's hundreds of 100 person teams. For example, there's like 115 people on ASP.NET. That's big, but not overwhelming. We can run a project like a startup when there's a manageable number of folks. So we get the benefit of small teams (like SignalR is 5 dev/QA + @damianediwards) with the process of a larger company.

lbodtke2 karma

Hey, thanks for your great work! Scott, you have been talking about Azure Mobile Services as a "backend in a box". I recently started experimenting with them and am surprised how easy and powerful they are in an app. As far as I can see, using mobile services in ASP.NET is not one of the standard scenarios provided by the Azure SDK (only mobile apps and html / javascript). Is this going to change (or am I just missing an obvious way to use them from C# code in ASP.NET with the same high level of abstraction provided e.g. in WP8 apps)?

shanselman3 karma

We're going to enable C# and ASP.NET Web API in Azure Mobile Services, so you'll call them like any other service. Are you asking for a strongly typed proxy? Can you just call them with HttpClient?

Raelshark2 karma

Thanks for everything you do guys.

A somewhat off-topic item for Scott - you've gone into detail on your blog about how you manage your diabetes and the devices you use, but do you use any health apps to track it all? What do you think of the current state of health apps and digital tools for tracking health conditions? And do you have any thoughts about the state of interoperability between them (or lack thereof)? You'd mentioned once having an interest in that at one point.

(Also- in general thanks for sharing both your experience and insights into managing your diabetes.)

shanselman3 karma

I stopped using tracking apps (ironic as I wrote GlucoPilot, one of the first PDA tracking apps) because I wasn't using the data. Now I just track day by day (every 15 min or so) and make sure each day is good, then the aggregate takes care of itself. Here's my thoughts on the state of diabetes tech today: http://www.hanselman.com/blog/TheSadStateOfDiabetesTechnologyIn2012.aspx

ttutko2 karma

NuGet and the Web Platform Installer, as well as other tools such as modern.IE-static-code-scan (probably more the IE team on that one) are great but are very tedious (Example, needing to create dummy projects to download .nupkg files for offline use) or near impossible to use when in an isolated offline network. What, if anything, is being done to support customers that are limited to an offline environment?

shanselman3 karma

I don't make dummy projects, I type "nuget install foo.bar" from the command line to get nupkg files. Does that help?

I'm the offline and low-bandwidth champion, effectively and have made the case with things like public RFCs for offline mode in Web Platform installer in 2011, and more recently a NuGet cache.

It's now known that offline is super important (also because ScottGu needs to develop on a plane also) and I'm gonna keep pushing them to deliver stuff that solves this.

kerokerokeropi2 karma

Probably off topic, but will there be support for dynamics in Roslyn? I have bumped up against this limitation in a project I'm currently on and it would be a great help.

shanselman2 karma

Short answer. YES.

Yes, totally. The public preview is pretty old (over a year now), but the final of Roslyn supports ALL of C#

dirething2 karma

As more of the tools and topics merge is there any hope of native Visual Studio support for projects that target other platforms?

The Xamarin stuff is nice, but after I shell out for a high SKU of studio paying someone else $1k a year to make it work against the kinds of things clients want gets a little old.

shanselman3 karma

Ya, I hear you on the money thing, but considering that we literally JUST announced the partnership, I'm gonna say no. For now, if you want iOS and Android via C#, it's Xamarin.

t3rrapins2 karma

Are you gonna buy a PS4?

shanselman4 karma

I have a PS3 and an Xbox 360. If I buy two more consoles I'll have four. I will wait for now because they are both spendy. I'd like to get down one to console that plays games, does Netflix and does BluRay.

daigoba662 karma

What is something you wish the team could do or build and release, but can't due to corporate or legal policies? Have there been projects that were abandoned for one reason or another?

shanselman5 karma

It's been more about a boss thinking it's a bad idea, than legal. For example, there's been at least 3 things I want to open source and I was able to get though Legal, but a boss just couldn't be convinced. It wasn't legal or corporate, it was...bossal.

WitchesAndEStrings2 karma

Not to talk down about the company you work for, but when you walk around the offices and go about your daily lives, is there a small smug feeling knowing that your department is the only one thats producing working, properly supported, and fully functional products within the Microsoft branding? Also, when you need to search for something, do you honestly use bing?

I quite fully expect that IF you do answer this, it will be a PM since I am sure you don't want your higher ups to really see the answer

Also thanks for all the great work guys, I personally love what you do and am thankful for it almost everyday when I am programming

eddie_310032 karma

@shanselman Have you seen any good episodes of Sabado Gigante lately?

shanselman2 karma

¡Claro! Todo el mundo sabe que Sábado Gigante es el mejor programa en la televisión! Además, usted puede conseguir todo COMPLETAMENTA GRATIS!

mj18562 karma

I might be the only one who cares about this, but is Microsoft ever going to move away from the proprietary Windows time zone database and start embracing IANA time zones like the rest of the world has? We have libraries like Noda Time for .Net, but IMHO this is something that should be built in to the OS. Linux, Mac, Java, Cisco, PHP, Ruby, Python, and anything else you can think of uses this - EXCEPT windows.

shanselman3 karma

Ya, that's an obscure but important one. I don't work for Windows, but I do use NodaTime by Jon Skeet that maps between the two nicely: http://stackoverflow.com/questions/17348807

MirceaChirea2 karma

[deleted]

shanselman2 karma

There's comparisons out there I'm sure, but some basics off the top of my head, keeping in mind that I'm assuming you want websockets support on .NET.

SignalR needs .NET 4.5 and XSockets can still work on .NET 4. XSockets also works on older server OSs.

SignalR has several fallbacks, SSEs, Forever Frame, and Long Polling. XSockets falls back to Long Polling.

XSockets has WebRTC today.

They are both useful and worth looking at.

alucard8351 karma

Scott, what's been going on with Luvvie and episodes of Ratchet and the Geek?

shanselman3 karma

Luvvie's been super busy lately and travelling. She is focused on work right now. I'm trying to work with her to get us back to a regular schedule for the show because I really enjoy doing it! Thanks for asking! I DO want to do a regular show with her.

0xsuicidal1 karma

What does the team think of Golang?

shanselman3 karma

Go is cool, Scala is cool, Groovy is cool. Go is definitely one to watch, because you wouldn't expect someone to mashup C, Python, and Erlang into a language, but it totally works! Managing concurrency is gonna be the next big problem in programming language design.

turbov211 karma

Sorry if this is a newbie question. I'm primarily a LAMP developer, but I've tinkered with .NET since VS2002. I've just gotten back into .NET after letting the world pass me by for a few years, and EF really seems to be major component. What's your elevator pitch to developers for using Entity Framework versus just LINQ?

shanselman7 karma

I don't have a pitch to use EF. I think the larger question is, do you want/need an ORM? ORMs abstract a lot of stuff away and make SQL for you, which is good and productive, but it also slows things down simply because it's layers. It's great, but it's a tradeoff.

Also check out Dapper, Massive, SimpleData, which are microORMs that might make a LAMP dev more comfortable.