Web Standards in Visual Studio

Visual Studio HTML5I just learned about Microsoft's Web Standards Update to Visual Studio, and I think it's a great step for Microsoft. When Microsoft showed Windows 8 apps written with HTML, CSS, and Javascript, a lot of Microsoft dev's - especially Silverlight dev's - whined expressed concern about being abandoned by Microsoft.

My area - Tulsa, OK - is dominated by enterprise/Microsoft developers. I have heard horror stories of websites built by enterprise/Microsoft developers who know very little outside of Visual Studio. We're working on opening the web developer atmosphere up with stuff like Tulsa Web Devs and Tulsa Hackathon, and we're trying not to scare away the couple of Microsoft dev's (like Chris and Chris) who have come.

Philosophically, and as a recent Eclipse-to-vim convert, I know how much difference good developer tools can make, and I know Visual Studio is way up there for many developers. This web standards update is great for Microsoft web developers. I hope the project gains momentum, and gets some more official Microsoft promotion - more than their equally good WebMatrix project. (Which I heard about just a few weeks ago, even though I'm a web developer in a Microsoft-heavy area?)

MDN & Kuma progress

Kuma will tear you up with fire attacksI haven't posted in a while for a couple good reasons - I've learned enough django to write more code than words now, and our new intern has taken over most of the project management work for MDN. So, I have time and ability to code and I'm using it! I should still post about *what* we're coding, so here we go.

We've done a lot since my first status post 4 months ago. We released Demo Studio, Learning, and Dev Derby from our "mdn" branch. I played some small parts in the Demo Studio work, and I implemented the Learning feature while I myself learned our jingo and tower libraries.

I did some important but less-visible work - I copied our mdn code from our old mdn repository into our new kuma repository. We maintain an mdn branch in kuma where we do main development to push to the live site. The master branch holds all of the kuma-only features. We frequently merge mdn into master to keep master current. I set up continuous integration projects for both kuma and mdn on the Mozilla jenkins server.

All along I've been fielding bugs on our old MindTouch/DekiWiki system and helped prepare our upgrade from MindTouch 9 to MindTouch 10, currently running on the MDN staging server.

Finally, just last week, I broke free from MDN features & infrastructure to work on the kuma wiki features. The kuma wiki is cloned from the kitsune wiki that powers SUMO. So, we're starting with a large solid wiki foundation already. On Thursday I started changing the kuma wiki templates to match our mdn templates. Along the way, I added ckeditor to the wiki app (just like our existing MindTouch), removed and/or hid many fields that SUMO requires that we will not, and restored and refactored over 80 wiki unit tests. (Which gave me a nice bump up the Leader board in our cigame.) Now I'm working on article viewing - our implementation is different since we store HTML content rather than wiki markup, so we need to change the way we bleach content - and I'll work on article previews next. All of this is continuously pushed to our kuma staging server. Very Soon™ we should be able to invite community testers to the staging server to start banging on kuma wiki and giving us feedback.

Outside of my Mozilla work, I gave a Web Application Security talk for Tulsa School of Dev 2011 along with other members of Tulsa Web Devs. I hacked the crap out of a WordPress site right after our other guys promoted WordPress as a great open-source CMS, which it really is; I feel bad to have hacked it in front of a bunch of Microsoft fanboi's, but oh well. Just please PLEASE keep your WordPress updated and be careful about which plugins you install!

Outside of my tech work, my wife and I had our 2nd baby girl on April 8th - River Daphne. It's been quite a learning experience with 2 kids under the age of 2, but we're starting to adapt. I've also made a couple of trips out to Clear Creek Abbey to help Brother Paul start brewing beer for the monks and guests. This last time I got to sample an American Pale, an English Brown, and a Munich Lager - all of them were great; hard to believe Brother Paul has only been brewing a few months.

Enough words. Time for more code.

Late absentee to the party

Firefox 4 Launch Party in Ten ForwardI'm a couple days late, but I work remote so I didn't actually get to attend the Firefox 4 launch party. Working remotely for Mozilla is a double-edged sword - it's a great opportunity to work for the best web company in the world from the comfort of my hometown, but we remotes miss out on the day-to-day awesomeness of company HQ. Even so, along with everyone I was mesmerized by glow.mozilla.org for which fellow webdev's potch, jbalogh, and chowse deserve every compliment they get! All of engineering operations did some amazing work for this. Our VP said it best:

The release day went off without a hitch - we shipped Firefox 4 to over 4 million 6 million people, and if that wasn't enough - we shipped 3.5/3.6 to hundreds of millions more, *at the same time*, all without breaking a sweat! Amazing websites were featured in news outlets such as the NY Times showcasing our amazing webdev talents (both in design and scalability), along with great dashboards from the metrics team that kept everyone on top of how the release was going over various mediums. Users were delighted to have fantastic support articles all updated for Firefox 4 and we caught the few people attempting to game/DoS our infrastructure within minutes. Sync more than tripled its new user rate and hummed along across multiple datacenters. Just amazing across the board.

What's also amazing is the sustained rate of the launch - we pushed 9M downloads on day #2 and we're still pushing 8k downloads per minute, so it looks like we may push another 10M today on day #3! If the other day was a good day for mozillians these last few days have been amazing - inspirational and humbling for this n00b webdev in the org. I can't say how proud I am to work for such a great company, so I'll let this video do it:

good day for mozillians

MDN languagesI want to add a personal note onto what dria said about today's Mozilla activities. (TL;DR - Zarro Boogs on Firefox 4, new Web O'(pen) Wonder demo site, and a new Open Web Apps release.) We made bug fixes and enhancements to Mozilla Developer Network.

We made a handful of improvements to the localization code and process for MDN. Our web localization team is doing great work adding 15 new languages for the MDN interface!

MDN YSlow!

We've also made performance improvements and bumped our YSlow! score up to 88. We're almost ready to hook it up to a static CDN which should get us a strong 'A' grade. (We can't make those DNS changes while IT is preparing Firefox 4 release infrastructure.)

And if you poke around you might see a hint of what's coming soon to MDN.

open(war)

Evil App StoreWe (finally) see the tech industry take critical notice of Apple's closed nature. Most recently over the draconian terms they announced for publisher subscriptions. Of course, I've been self-selecting my articles ever since I heard about Apple's predatory application of the severely closed iOS/iTunes paradigm onto Mac software at large with the Mac App Store. I remember a couple of Apple (one a former employee) buds trying to sell me on it - first extolling the value of a search-able directory of apps with ratings and reviews; less than 5 minutes into the conversation they were complaining about poor App Store search results. Good thing there's an app for that.

This is not totally new. Open source has been fighting the open war (very well) for a while. There are well-known battle plans on both the proprietary side and the open side. Some on both sides want to see their "enemies" destroyed, but some of us think open source has "won" by simply creating and sustaining open products and opportunities - not necessarily destroying proprietary software.

The struggle for Open Web over proprietary Apps is simply an evolution of this struggle of open vs. proprietary. (Personally, I moved from SourceForge.net to Mozilla because I want to be on these new "front lines.") There are signs that the tide may turn in favor of Open Web Apps for Mobile and why not? We saw this already with the victory of the open web over closed networks like AOL, CompuServe, Prodigy, etc.

As much as I'd like to, I'm not predicting the demise of the App Store along the lines of CompuServe & Prodigy. I'm voicing my dissent from the closed status quo and appealing for a more open approach; at least a pro-open perspective. If you're making web apps, build them with open web technologies. Instead of making native mobile apps, make your web apps kick ass on all devices with HTML5, and only go to an App when you really need device-specific features like cameras and accelerometers.

UPDATE: Mobile Europe has a good article on HTML5 & App co-existence.

That's all.