Introverted Nerd Discovers Public Speaking, Enriches Self

I spoke at Twin Cities Code Camp this weekend, which is perhaps the largest software developer conference in Minnesota. I gave a talk on KnockoutJS, a JavaScript library for data-binding in HTML/JavaScript apps.

My ridiculous slides and code available for download here.

The talk went really freaking well! It was a lot of fun to give the talk: the audience was sharp and engaged, asked some tough questions, and I had good answers for most of them. The auditorium was quite full, a packed house, which makes things all the more interesting.

Afterwards, I went on Twitter to see what people had to say about my talk. I was ecstatic reading these. Seeing these praises from my peers sent me on a day-long high of endorphin release. Excuse me while I toot my own horn, but I’m just so stoked to hear all this:

Jeff is a well-known developer here in the Twin Cities, and, if I’m not mistaken, a co-founder of The Nerdery. Hearing this was particularly encouraging.

“Coding without a net” refers to writing a lot of code on the fly in front of the audience, along with some impromptu changes to the code in reaction to the questions and promptings from the audience.

The audience was really sharp. “What happens when you do this? Does X follow?” So I tried it out, right there on stage. It was a blast.

During the talk, after all these challenges from the audience, and successfully getting them working, I joked, “I’d better see some good stuff on Twitter about this!”

There were several questions from the audience that I had anticipated and built into my talk. This caused a few people to joke that I had planted ringers in the audience to ask the right questions.

Well folks, I am stoked. I am really happy I summoned the courage a year or two ago to try my hand at public speaking. As a formerly-homeschooled, introverted nerd, I was frightened to death by the idea of public speaking. Now that I’ve done these tech talks 4 or 5 times, some in front of rather large audiences, I’m patting myself on the back for getting myself out there and just f-ing doing it. I freakin’ love giving talks now. And my career advances as a side benefit.

So yeah! Go me!

Hearing praise from your peers, particularly from intelligent, successful people in the industry is all the more encouragement. Can’t wait to do it again next year.

Are you serious about your craft? Get out there. Go meet other developers, give a talk, surround yourself with other nerds. You’ll be glad you did, and a better developer for it.

Silverlight isn’t dead. But it will be web-irrelevant in 5 years.

Everyone was thinking it. Google was pushing it. Apple was pondering it. Microsoft was fighting it. (They aren’t anymore.) It was on everyone’s mind:

“Why Flash when HTML can do 99% of what we need?”

And that sentiment extended to Oracle’s Java and to Microsoft’s Silverlight. To every web browser plugin, really. Everyone was thinking it.

After all, why should users have to install a piece of software to view something in their web browsers? The path of least resistance dictates users will just not view that content, and, at some point in the future, technology will evolve and move on, leaving those barriers — Flash, Silverlight, Java — in the junk heap of failed and left-behind tech.

It was only months ago that we witnessed the first leap, the first bit of tech that deliberately left behind the barriers of Flash, when Apple took a bold leap of faith: no Flash or Silverlight on the iOS. And since iPad and iPhone were hugely popular consumer devices, this was sure to stir the waters.

People complained, developers gnashed teeth, consumers wailed.

Angry, but for a short time
Angry, but for a short time

But, here we are, a year later, and, it turns out, people are getting along just fine without those pesky plugins. HTML just works for almost everything. In fact, people are kind of liking this plug-in less idea. Google Chrome now renders PDFs not with a heavyweight plug-in from Adobe, but with just HTML. YouTube can render videos without crashy, always-updating-at-the-wrong-time plugins, but with HTML 5 <video> tags.

A digression and admission: sure, developers love plug-in development and the well-designed, type-safe languages like C#, preferring that over the wild west that is Javascript programming. As a developer of a large Silverlight app, as someone who’s championed Silverlight, as someone who’s written articles about Silverlight programming, who’s regularly attended Silverlight user groups, Silverlight is an amazing programming environment, a real web application platform, a manificent piece of software engineering, really.

Web programming, on the other hand, looks and feels like decades of hackish attempts to bolt application development on top of a document display system. Probably because that’s precisely what the web is: intended for document display, warped and fashioned and hammered into something that resembles an app platform. Lot of warts, but then again, the web has always evolved that way.The perfectly-designed systems, though perfect, are always late to the game. HTML was first, and so it will win out. The plugin-less web wins because it was there first.

If we developers were transported back in time to the web’s beginning, we’d fashion something different than HTML+JavaScript. It’d be a real app platform akin to Silverlight, with a well-designed language like C#. But, in the absence of time-travelling technophiles, we’re left with the present and inevitable future that is plug-in free HTML.

And that plugin-less web is coming, to be certain. It’s already here on virtually all mobile devices. Even Microsoft’s own Windows Phone 7 doesn’t display Web Silverlight content on their phones. If anyone was going to support Web Silverlight on a mobile platform, it was Microsoft. And when they built this new mobile OS from the ground up, they wisely chose to not support Web Silverlight.

As recent as last week, we’ve seen even more fruit of this trend back to the HTML roots of the web as Microsoft demoed their Windows 8 operating system, with its new Metro UI. In it’s default state, Windows 8 doesn’t run Web Silverlight.

If there was any doubt as to the future of Web Silverlight, this is the clear writing on the wall.

And to be certain, it’s true: Start Windows 8. Launch IE10. Browse to a Silverlight site. Ita-no-worksie. Why? Because Microsoft, as they wrote in last week’s blog post, are headed toward a future of a plug-in free HTML web, and that future starts with their new browser and new operating system.

Truth be told, it’s really a requirement for the whole Metro app security model to work: if plugins could run inside Metro IE 10, it would provide an easy way to side-step the whole security model: just write some nasty malware as a plug-in, have IE Metro execute it, and you just took over the Metro environment. I predict Microsoft will not renege, despite Silverlight developer protestations, on the “no-plugin” stance of IE 10. Windows 8 will be released with the inability to run Web Silverlight content through its default Metro interface.

Now it’s true, Web Silverlight, if you go out of your way to do so, can run be run on Windows 8: Boot Windows 8, launch the classic desktop “app”, launch the desktop version of IE, navigate to Silverlight site. Sure, that works, and thank you MS for providing that, but effectively this will render Web Silverlight irrelevant. Just think, what developer will build a site with Flash or Silverlight or Java, knowing their site won’t work in the default experience on the world’s most-deployed OS? (Not to mention the ever-growing plugin-less mobile devices!)

No one, that’s who. And that’s why Web Silverlight will be irrelevant in 5 years.

So where does that leave Silverlight developers today? In a surprisingly “angered but ultimately OK” position. Silverlight apps, already being a subset of .NET framework functionality, will map to Windows 8 Metro apps easier than any other platform: easier than WinForms, easier than MFC, easier than WPF, easier than Flash, Java, even easier than HTML/JS apps. Silverlight developers are actually positioned quite well.

Furthermore, Silverlight isn’t going away. It’s true Silverlight will be irrelevant on the web, but it still has a nice workable future on Windows mobile phones, which over time, will gain market share at the expense of Apple’s and Google’s devices. It’s only Web Silverlight that will be, and is already quickly becoming, irrelevant. Silverlight mobile, and Windows Metro apps are essentially a kind of Silverlight: XAML, .NET framework subset, self-contained, sandboxed.

Silverlight for the web is dying and will soon succumb to the same alive-but-irrelevant fate as Java applets. But the good news is, life for Silverlight developers is surprisingly bright in the XAML filled world of Windows 8 and Windows mobile devices. Technology moves on, and developers will follow, even if kicking and screaming, lest they, too, be rendered irrelevant.

Windows 8 to abandon nerdly types

The new Windows 8 bits were demo’d this week at Microsoft’s BUILD conference, and it’s sparked a lot of discussion in the developer community.

Microsoft is turning a new leaf: all existing Windows apps are now “legacy” apps. They’ll only work in this super-special classic Windows desktop that runs, itself, as an “app” in Windows 8.

The classic desktop is gone, superseded with a sexy new Metro home screen. The start menu is gone, superseded with live tiles and semantic zoom. The apps are gone, replaced with new sexy Metro style apps. Heck, even Windows’ namesake is now a misnomer; there really aren’t windows in Windows 8.

Times, they are a-changin’.

Over at CodeProject, there was a discussion about all this changing, and how all the UIs are big and dumbed down and instead of a million menu items we have a big ribbon with big icons and oh what are we to do?!

Said one commenter,

You must understand that Windows 8 isn’t about managing files. It’s about updating your status on facebook, sharing photos, and downloading MP3’s.

He’s kind of right. Really, Windows isn’t about file systems and disk defraggers and command lines anymore. Squint a tear for the good ol’ days,  but now that regular people using computers far outnumber the tiny elite nerd minority, Microsoft is now about the non-nerd. The consumer.

Or perhaps better stated, Windows 8 is for consumers, and that isn’t necessarily a slam. MS is making Windows friendly to regular, non-nerdly types. Consumers don’t like file systems. So it’s largely hidden from view.

I remember back in the late 1990s, a tech futurist had predicted that file systems would disappear from the consumers view eventually. At the time I thought he was a little crazy, but now I see the wisdom in what he was saying: only nerds care about file systems. We have good reason to care about file systems. But most end users don’t, and in fact, letting non-nerdly types futz with the file system might actually be a bad idea.

Even the whole Metro environment aligns with this idea that, unless you know what you’re doing, all your apps should be isolated and safe by default. Want an app that does something outside that box? Ok, open the car hood, crack open the full Windows desktop, install that bad boy. But for everything else, and for most apps, and for most people, you don’t need that, and in fact, having that power is detrimental as non-nerds tend to install dubious apps that crap all over their systems.

I hope all my relatives and friends who call me to fix their systems, I hope they all install Windows 8 when it’s out. And I hope they never have to crack open the hood and futz with their file systems, or need to install “classic” Windows apps. If they stay in their walled Metro garden, they won’t need me to bail them out every few months.