Leo Laporte and TWIT are getting out of touch: "Web developers don't like Microsoft"

posted by Jeff | Wednesday, March 19, 2008, 5:02 PM | comments: 30

I was listening to TWIT #136 and, wow, Leo Laporte is totally out of touch. Patrick Norton is not far behind. Listen starting around 36:30. I've found that lately these guys are hanging out in Pundit Valley and completely missing what's going on in the rest of the world. He's actually got the balls to suggest that Web developers don't like Microsoft, and that believing in Silverlight is akin to drinking the Kool-Aid®. Had Leo actually gone to Mix08, I think he'd feel differently.

You can throw all kinds of sites out there that use ASP.NET today, like Chase, Match.com, Sharebuilder, Schwans, Ars, and this little start-up I work for called Insurance.com, and he still would believe something different. The funny thing is when they go on to say only a million people who use Twitter, which, I know this comes as a shock to the non-blogging valley types, most people don't have any desire to use. Put the Calacanis Twitter attention whoring aside and put it in perspective.

Mix08 was certainly a coming out party for the part of Microsoft some of us already knew about. Going back to 2004 when I started writing my book, I was surprised at the way things were opening up. Today, you can debug the .NET Framework code, the very sweet MVC framework is being developed with full source exposure, and (gasp!) unit testing. Silverlight is cross-platform and finally nails down the designer vs. programmer problem. We can make fun of Windows Vista and Office all day long, but if you're paying attention, you'll see that Microsoft has amazing tools, shipping, today.

I'm not qualified to say that they're better, because I don't have time to learn every new technology that comes around. But, Patrick Norton, .NET has been shipping and improving now since 2001's "go live" beta license. I have a site written using ASP.NET v1.0, and running on v3.5. Before you start pontificating about the platform, maybe you should talk to people who actually use it.

This Web developer loves Microsoft, in particular Scott Guthrie's entire division. Come to Mix next year, Leo and Patrick, and get clued in. You guys cease to be credible pundits when you stop paying attention.


Comments

Neuski

March 19, 2008, 9:26 PM #

Even though they threw out a comment encompassing all web developers, I really don't believe they believe that all web developers don't like Microsoft. They're referring to the little guys like start ups and shops like I work at. I know that Microsoft is trying to get our company to switch over as we rewrite our flagship app and everyone involved isn't thrilled with the idea. That may be an unfair example since we love our Macs.

As I've searched for jobs, I've learned that Microsoft is out there and very strong. A non-Microsoft job in the St. Louis area is rare.

Jeff

March 19, 2008, 10:45 PM #

The problem is one of perception though, especially in the valley. LAMP is huge, and because it's relatively easy to learn and get up to speed, it's the thing that so many high profile startups used. I'm down with that, but this "M$ is teh evil empire" thing is so cliche and tired.

eightdotthree

March 20, 2008, 2:12 AM #

I am with Neuski, they were referring to start ups and smaller sites who can't afford or don't want to deal with Microsoft.

Corporations on the other hand love Microsoft. I was doing work for a Pittsburgh based global corporation that required a CMS. They wouldn't even consider using an open source .net CMS, or let us build anything custom. They required a support team they could call, or in my estimation, blame if something went wrong.

I get that.

As for Silverlight, I haven't seen anything that it does that Flash can't already do and quite frankly, don't like the idea of another plugin we have to worry about. The Hard Rock website was bs IMO. I don't see the hype.

Jeff

March 20, 2008, 3:13 AM #

But what is the "cost" people talk about? I'm an independent guy running sites on this stuff. They pretty much give away Visual Studio at every event these days, and the server license is generally covered in hosting costs.

There are some corporations that want support, but that's for IT stuff like Exchange and domain controllers. Developers don't use support, at least, not at any company (including Progressive) that I've been at. Microsoft can't support developers who write crappy code. :)

Look deeper into Silverlight. The fact that it uses any .NET language and not the crummy ECMA script variant means millions can code with it today. The class library is far more rich. Reusability of components is as good as anything else .NET (I could drop the POP Forums class library into Silverlight, if I wanted to). It was built for "rich Internet apps" in mind, not a cute animation tool with programming forced in later. And the shared use between Expression Blend and Visual Studio of projects is like gold.

And as I've mentioned before... wait until you see the Olympics site.

eightdotthree

March 20, 2008, 2:48 PM #

Calling Flash a "cute animation tool with programming forced in later" shows me you are just as ignorant about Flash as I am Silverlight.

I have seen coworkers with a Java background learn ActionScript 3 inside of week and contribute to projects, what is so crummy about that?

I don't deny the fact that Silverlight will benefit people who develop .NET applications, but to say that Flash is a cute animation tool grossly underestimates its power. I am integrating with our .NET CMS, and could easily switch to another if I needed to.

For .NET developers there is Silverlight, for everyone else there is Flash, Flex and AIR.

Jeff

March 20, 2008, 3:52 PM #

Dude, that's not ignorant... that's with first-hand experience working with Flash. ECMA script sucks. I mean, it's script! I'm not debating the difficulty to pick it up, as I'm sure anyone with any C-like language experience can get it.

And to be clear, I didn't say Flash is a cute animation tool, I'm saying that's what it grew out of. ActionScript was born into it from the beginning. It couldn't even do local storage until recently (can it still?). It's being asked to do a lot of things it wasn't designed for now, and Adobe is trying to rearchitect and maintain some level of compatibility. That's not a great place to be.

eightdotthree

March 20, 2008, 3:53 PM #

Have you worked with ActionScript 3?

eightdotthree

March 20, 2008, 4:24 PM #

You know what, ECMA based or not. ActionScript 3 is extremely powerful.

Between Flash, Flex and AIR you can do some really cool things, including render and interact with 3d objects. So far what I have seen from Silverlight doesn't come anywhere near what Flash is doing on the front end.

Neuski

March 20, 2008, 4:29 PM #

What does Silverlight have over Flash, Jeff?

Skydiving Jeff

March 20, 2008, 6:00 PM #

Jeff, you sound as if Microsoft came up to you at Mix and offered $$$ in exchange for blogging about how much awesomeness Silverlight has. If so, good for you. But just as I'm ignorant about exactly what features the product has to offer (though I'm willing to concede it sounds like it's great for programmers), you're sounding ignorant and downright disparaging when it comes to Flash's capabilities. It's evolved considerably since its 'scripting' days! ActionScript 3 is extremely object-oriented, the coding can be 100% divorced from the timeline, and it's easy for large groups of programmers to work on individual class files when assembling large projects. In fact, with all of the features that AS3 supports/requires ala other major languages -- packages, inheritance, events, strong typing, and the list goes on and on -- I feel better prepared to jump into Java, ASP.net, or any other modern, programmer-oriented language.

In any case, version 9 of the flash player is installed on 97% of all users' machines; I'm sure Silverlight will catch up somewhat -- likely from MS forced updates, not because sites like the Olympics are using it. In the meantime, I'm going to focus on putting together some amazing applications in Flash... I hope you can at least give it another more realistic look.

Jeff

March 20, 2008, 6:33 PM #

Yeah, I do own CS3, and I've been trying to develop a widget to do something specific in Flash using AS3. Just to get it out of the way, my first frustration is with the development environment. It blows. Debugging is weak and the UI overall just doesn't feel as it should, especially when you're crossing the boundaries between animation and code. Visual Studio by comparison is a very mature and well developed IDE. I haven't used Expression Blend (the graphic tool for design) my self, but from watching the demos, it looks pretty obvious that they borrowed heavily from Flash (which in turn borrowed heavily from After Effects before anyone had any idea what Flash was).

Keep in mind I'm talking about Silverlight 2 here. 1.x didn't do anything to inspire me. Both Flash and Silverlight can fly shit around the screen with minimal work. That's not what I'm debating here. The underlying programming platform is where I believe Flash is deficient. And by the way, yes, there are a bunch of examples of Silverlight using 3D engines already, not surprisingly ported from various .NET projects with minimal changes.

First there's the fact that it's ECMA script, and script is script. Object-oriented design is shoehorned into a language that was never intended for it. AS3 does go a long way toward real OOP, with inheritance and polymorphism possible, but the syntax is still awkward. You can't enforce type safety at the time you're coding, which drives me nuts. And of course, without type safety, you don't get any of the useful constructs like nullable types or sane delegates and events. There are no generics or generic collections (which you also can't use without type safety). These are features of .NET languages that have been around for awhile.

The class library implemented in Silverlight is far more rich too. Flash has no stock DataGrid that you can bind data to in one step (not surprising since there are so few enumerable collection types in AS3). There is no threading model at all in Flash, which is particularly shocking given that there is at least some basic networking classes in AS3. Threading is essential for rich Internet functionality. XML manipulation is woefully inadequate. There's no reflection. The I/O API's are inadequate. Pound for pound, the toolbox is a lot smaller than Silverlight's.

Can you do "anything" in Flash? Yeah, to some degree I'm sure you can. But how much pain do you have to endure to get there? I think Flash, like HTML and Javascript, have been pushed to do a lot of things it wasn't intended to do, and it struggles to catch up.

Trust me, I've spent enough time in Flash and reading code samples and such to feel that Flash wasn't what it should be. I bought it anyway. A year ago Silverlight 1.0 came out, and I thought, meh, I don't get the point. Now v2 comes out and it's an entirely different ballgame, for the reasons I mentioned.

Granted, the thing that will hold it back in the short term, aside from not being RTM, is the level of the install base. I firmly believe the summer will change that. Nokia wanting to put it in phones doesn't hurt either.

Flash isn't going anywhere, but I don't think the tools and the platform have grown right. It's the designer-programmer divide, and Adobe's rightful tendency to watch the designer side more closely. You don't meet a lot of programmers who do Flash, just designers who learn to program in Flash.

Jeff

March 20, 2008, 6:55 PM #

Jeff: Obviously we posted concurrently, but read my post. If Microsoft were paying me, I sure as hell wouldn't be working this job too.

Look, I don't use either product regularly, but based on my evaluation of the two, there's no contest. That's not even because of my bias and experience to .NET. Both Air/Flash and Silverlight target the concept of "rich Internet applications," which is what the press keeps talking about. If I were building a platform from scratch, there are several design goals in mind there:

1. Enable desktop-like threading and network capability. That's core to a rich but connected app. Flash has OK network support (though they don't have enough for various protocols), but nothing in the way of threading.

2. Keep the runtime small. Flash and Silverlight both do this.

3. Provide a sweet development environment. Like I said, I think Flash blows in this respect, especially for debugging. The fact that millions already know C#/VB.NET in a proven IDE is a serious advantage.

Like I said, I've got nothing invested here. I won't likely use either one to any great lengths. But from a technical perspective, Silverlight is better for RIA. That's my opinion. If you disagree, fine, but don't try to call me out as ignorant. I've done the homework.

eightdotthree

March 20, 2008, 7:06 PM #

Jeff, I think a lot of what you are looking for is probably in Flex and AIR. Flex is geared towards an RIAs. It also has a DataGrid. :)

You can take an AIR application (Flash, Flex or JavaScript) offline and interact with it as if you were connected to the server then sync it back up again when you connect again.

I think this is a pretty cool use of the technology, http://theflashblog.com/?p=358

"You don't meet a lot of programmers who do Flash, just designers who learn to program in Flash."

Sorry, I really don't see the relevance.

Jeff

March 20, 2008, 8:29 PM #

It's absolutely relevant. Application architecture, design patterns, all of the computer sciencey stuff, really matters, especially in a networked environment. We (meaning the collective Web-based world) need those people because they've already solved the problems. We're talking about decades of knowledge that can help define and shape the way these new platforms evolve.

The problem is that when you imply that "designers who learn to program in Flash" are in some way deficient, they take offense to it. It's akin to tagging Visual Basic 6 developers who worked in a drag-and-drop world as the very same thing. It's just a matter of experience, not a measure of intelligence. Creative processes and more, I dunno, "scientific" processes solve problems in different ways. Why is the scientific way better? Decades of objective experience. OOP in particular has been so well thought out as a concept that the "Gang of Four" design pattern book has been the basis for language design and evolution for more than a decade.

So what I was getting at is that Flash's programming paradigm was designed to meet more immediate needs of the animation designer, not the bigger goals of writing clean, maintainable code. I'm not saying it hasn't improved, but rather the approach was programming around design instead of design around programming. When thinking in an application context, that matters.

Air is conceptually more like Windows Presentation Foundation (WPF), which I suspect doesn't get as much love because it's Windows specific. Silverlight was actually code named WPF/E (the "E" for "everywhere") at first because it's a subset of the WPF class library. I'm not convinced that broader platform is even necessary since we're very nearly in an always-connected world, and WPF and Air have that desktop runtime vision.

Neuski

March 20, 2008, 8:35 PM #

That is a sexy app, Ryan.

Jeff

March 20, 2008, 9:24 PM #

Check these out...

http://sessions.visitmix.com/?selectedSearch=KYN0801

1:17:00 - NBC Olympics
1:26:30 - Silverlight 2 feature set
2:00:00 - Cirque du Soleil HR app (offline/sync on)

eightdotthree

March 20, 2008, 9:46 PM #

Ever see http://www.scrapblog.com/, Its Flex (AS3) and .NET. You can't tell me that animators built that.

Just because animators can script up some button presses and copy and paste some code, doesn't mean that there aren't people out there doing real development.

eightdotthree

March 20, 2008, 9:46 PM #

Thanks for the link, I will look now.

Skydiving Jeff

March 20, 2008, 9:56 PM #

Let the fun begin... http://theflashblog.com/?p=351#comments

eightdotthree

March 20, 2008, 10:20 PM #

The Olympic site does look cool. When it comes time for it to be running, with as much money as NBC and Microsoft have they can afford the bandwidth to serve up that much video. I would rather see it done with something people actually care about, like the first round of the NCAA tournament. That would be the real test. :)

Jeff

March 20, 2008, 10:41 PM #

That's not a technological issue, that's NCAA TV deals. No way in hell will those deals be broken.

The Olympics is a good case for the project because it's on the other side of the world, and NBC only has so many channels and hours to play the stuff. The "will it scale" question is interesting, and frankly not one that has anything to do with Silverlight, but rather what the infrastructure does.

Scrapblog is pretty cool, but I don't think you're seeing my point. I did not suggest that "real development" wasn't taking place. My argument is that the evolution of the platform has not been ideal. I think that could hurt Flash in the long run.

Where exactly did Microsoft claim that Deep Zoom was a Silverlight innovation? I mean, you've been able to do essentially the same thing in Google Maps for how long? I think that Vertigo, the company that did the Hard Rock site, will tell you that it was crazy easy to setup that UI using Silverlight though (their session is also on the Mix sessions site).

The Flash community seems very quick to feel threatened, and hopefully Adobe isn't being that way, and continues to innovate. If they don't, they'll end up where Sun and Java are today: Still a huge installed base of developers, but not driving forward in any meaningful way as their market share gets chiseled away.

eightdotthree

March 20, 2008, 10:55 PM #

My point about the NCAA was that people actually watch it, and desire watching it where ever they can get it, TV, the web, their phones. I realize there are deals in place.

And I honestly don't care if the platform didn't start out with developers in mind. Macromedia added ActionScript because people wanted it and now Adobe is moving ActionScript forward in a positive direction, one that is more friendly for developers and still allows artists to touch it.

Jeff

March 20, 2008, 11:08 PM #

Whether or not you care is also not the issue I'm after. All those language and class library features I mentioned that are missing? That's an issue, and I believe it's an issue that grew out of the development approach. You said you didn't see how that was relevant, and I explained why I thought it was.

eightdotthree

March 21, 2008, 1:18 PM #

They are moving the language forward in a positive way for developers though. AS3 may be the third iteration of the language, but its really only the first version that was created with developers in mind. Flex adds RIA capabilities along with a sweet development environment.

You asked me to look into Silverlight more. And my opinion remains the same. I totally get why .NET developers are excited about it but no one outside of the .NET world really wants it because on the front end its essentially the same thing as Flash.

It feels to a lot of people like Microsoft trying to stick their nose into the honeycomb again. Thats the evil empire thing you were talking about. Why not release a kick ass library to help Flash developers interact with .NET applications?

Regardless, it should keep Adobe on their toes.

Jeff

March 21, 2008, 2:55 PM #

The thing people don't get about Microsoft is that the development tools and platform division are like night and day from the Windows and Office divisions which, as most everyone would agree, a joke. (Xbox division is the other smart wing of the company.)

My opinion after looking at the class libraries is that Flash is woefully behind. Yeah, I agree, the front end stuff will likely get you to the same place, but Flash's lack of threading and built-in support for things like REST concerns me.

In fact, that answers your question about interacting with .NET. Everything from .NET is built around accepted protocols, and that's why they put the communication foundation portions of the framework in Silverlight. On the server end, virtually everything you build exposes standards-based stuff (XML, SOAP, JSON, REST, WS-*, POX, RSS, etc.), and on the client end they have all the classes to consume it. I'm not seeing those in Flash.

Neuski

March 21, 2008, 3:34 PM #

After too many replies, it all makes sense now.

eightdotthree

March 21, 2008, 4:18 PM #

Most of that stuff is out there,
http://labs.adobe.com/wiki/index.php/ActionScript_3:resources:apis:libraries

For connecting to a WebService Adobe removed it for some strange reason but people have already added support for it. This guys stuff works great for me.
http://alducente.wordpress.com/2007/10/27/web-service-in-as3-release-10/

XML is native.

Support for REST is apprently out there, but the player doesn't allow it yet. Not sure whats up with that as I have never needed it.

Jeff

March 21, 2008, 4:31 PM #

API's for Flickr and specific sites aren't at all what I'm talking about. I'm talking about platform agnostic protocols for sending data back and forth.

eightdotthree

March 21, 2008, 4:49 PM #

"The corelib project is an ActionScript 3 Library that contains a number of classes and utilities for working with ActionScript 3. These include classes for MD5 and SHA 1 hashing, Image encoders, and JSON serialization as well as general String, Number and Date APIs."

Jeff

March 21, 2008, 5:43 PM #

Yes, those aren't network messaging protocols, the things that let systems talk to each other. Protocols for what amounts to remote procedure calls. Most of these operate on XML over HTTP, but they're defined schemas that, in most platforms, are translated back and forth to some kind of object model.


Post your comment: