Uncategorized

Please vote for me as your first choice for the W3C Advisory Board

I’m here, in my nearly-abandoned long form web home, to ask for one simple thing.

If you are able to influence the decision-making at a W3C Member company, please vote for me as your first choice in the current Advisory Board election.

I believe the W3C is slipping toward irrelevance.  The situation is not hopeless, however, and I have ideas that I believe can reverse that trend.  I also believe it is critically important that the W3C and Google continue to collaborate to improve the processes where our common interests are evident.  (If you believe Google helps the web platform move forward, think of this as “we need to work more closely together.”  If you believe Google is not a force for good in the web platform, well, I’d love to discuss why, and how we could improve in making our web investments and driving new capabilities for the web platform, and how Chrome and Blink can be even better web platform engines. Until then, I suggest you consider this “keep your friends close, and your enemies closer.” ) 

What do I specifically want to impact in the next year or two at the W3C?  

  • The path to experimenting with new web platform standards needs to be better defined. We’ve learned a lot about how software should be built and how features are best developed since the W3C formal process was written.  As co-chair of the WICG, I spend part of my time working to create a functional process for feature developers that’s largely outside official W3C support channels, in order to make graceful failure an option. We should rationalize that further and make it part of the W3C Process, and I’m one of the people who can best advise on how to make that happen without destroying the value the community group process is currently delivering.  To gain more experience in preparation for this, I’ve been driving the partnership between the Immersive Web Working and Community Groups as co-chair of the former, as well as working together with my co-chairs to structure the work done in the Web Incubation Community Group (which I also co-chair) and working on refining Blink processes to improve openness and other vendor and developer participation.  
  • The “end game” of standards and maintenance needs to be fixed.  The prevailing view of the W3C in the past has been that once transitioned to a Recommendation, the work is done.  Unfortunately, experience has taught us that very few standards are done the first time around – in fact, that they must continue to evolve over time.  I believe not only that the Evergreen Standards effort is critical to make Living Standards a path at the W3C, but that it should become the norm for W3C standards and working groups.
  • The current host structure has led to a multi-headed, largely direction-less beast.  When the Director was strongly involved, this was mitigated by his moral and technical authority, but the Director hasn’t been involved in the day-to-day for quite some time now; this leaves a vacuum which the Process cannot currently fill. Transitioning to a better “legal entity” structure is the clear answer, and I believe I am personally suited to help drive this to conclusion.
  • The W3C and the WHATWG need to work well together. I’m uniquely positioned to help normalize and improve the working relationship between W3C and WHATWG communities driving the development of HTML and DOM.  I was an early skeptic of the lack of structure at the WHATWG, and spent a lot of effort to put in place common sense processes and structure there over the past few years.  I was the stand-in WHATWG Steering Group representative for Google while my colleague Shruthi was on leave. At the same time, I have good long-standing relationships with communities at the W3C that have historically not worked well with the WHATWG, and will continue to work hard to bring them closer together.

I’m specifically asking to be your top choice because of the way Single Transferable Voting works, rather than any delusions of personal grandeur. Under the rules adopted in 2017, each member only gets a single vote, and good centrist candidates (such as me) tend to be devalued in this system.  The best way I’ve found to explain how I believe you should vote in STV is this:

“You get ONE vote that really matters.  Your first choice should be your desert-island candidate.  If NO ONE else you believe in gets elected, who do you choose?  Do they really represent everything you need, if no other candidate is selected?  Okay, that’s first choice sorted. Now for your second choice – imagine that your first-choice candidate is suddenly ineligible or unable to serve – that’s really the only case when your second vote makes a lot of difference.  Who’s your second choice, IF no one else you believe in gets elected? Lather, rinse, repeat until you run out of candidates you believe can represent all your interests. Most importantly, don’t ever expect that other peoples’ votes will elect the other good candidates.”

Thus, I have to explicitly ask you to consider putting me first on the ballot.  That said, there are many excellent candidates for the Advisory Board this time, and an unprecedented seven seats open – so I will recommend a few alternatives for your subsequent choices.

  • Tantek Çelik (Mozilla).  I’ve worked with Tantek on Web Standards for more than twenty years now.  He would be my second choice for restructuring the W3C, and I also believe it is critically important to keep Mozilla deeply involved in evolving the structure the W3C, as I value their core tenet of openness (and Tantek’s personal role as champion of openness).
  • Leonie Watson (TetraLogical).  I worked with Leonie on the Advisory Board for several terms, and her consensus-seeking is some of the strongest and best I’ve known, and I value her input most highly.  Completely aside from her critical role in Accessibility, her roles co-chairing the Web Platform and Web Applications WGs has been exemplary, and I can think of no better way to strengthen the W3C’s inclusion and diversity culture than to include in the Advisory Board the co-chair of that Community Group and well-known past champion.
  • Elika Etemad (Invited Expert).  Elika has long been a critical member of the CSS WG.  Every discussion I’ve had with Elika has impressed me with her core values of collaboration and openness, and I believe she will play a strong role in leading the W3C to a better place.

I should be very clear that there are several other candidates that I would be delighted to serve with – Alan Stearns (Adobe) and Judy (Hongru) Zhu (Alibaba) for example – and every candidate running would add something positive to the Advisory Board.  I believe the four candidates above (including myself) are most critical to the future of the W3C at this pivotal time.  (On a personal note, no matter what I will miss the presence of my former colleague Mike Champion on the Advisory Board.)

Voting is open to W3C Advisory Committee representatives until the end of May.  Please encourage all W3C Members you know to vote.

Uncategorized

Holga Lens for Canon EF Mount

For those of you not in the know, a Holga is a “toy camera” – it’s a plastic camera body, with a plastic lens, that retails for around $25.  It uses 120 film – taking a 6cm x 6cm image.  The pictures taken with it tend to be very unpredictable, with lots of blurriness (it’s hard to focus precisely, and nothing is every REALLY sharp), light leaks (the clips that hold the back on don’t really provide a totally light-proof seal all the time), and in general, a real lo-fi look.  The Holga (and similar cameras) really are partly responsible for spawning photo manipulation applications like Instagram, and they have a huge following (there are over 7,000 Flickr groups with “Holga” in the name).

I bought a Holga a few years ago, and played with it for a while – but of course, getting 120 film developed is a pain (and expensive), and my Lensbaby 2.0 (and more recently, my Lensbaby Composer, with a nearly full set of optics) have taken up my lo-fi attention.  There have been some mods to take Holga lenses and mount them on SLRs, but I’ve never taken the plunge – but I recently ran across the official Holga Lens for Canon SLRs, and decided it was worth $25 to try it out.

So, how does it compare?  Well, I’ve got a few photos from my actual film Holga in my Flickr feed, like this one:

You can clearly see the vignetting in this image, as well as the warping, focus issues, and chromatic aberration.  But it’s still pretty.  🙂

Although I’ve taken tons of pictures with my Lensbabies over the years, I was looking forward to playing with a new toy.  All in all, I’m pleased; although I thought it was a little weird when I opened up the lens and saw this:

Now, logically, the original Holga lens was designed for a 6x6cm film “sensor” – so it was going to look a lot different when cropped down, even on my full-frame Canon 5D mk ii.  For reference, here’s that same Holga image, but with 35mm crop frame (orange) and APS-C crop frame (yellow):

So the odd little aperture arrangement was apparently Holga’s attempt to replicate the vignetting and soft focus of their medium-format lens onto a smaller frame.  (Not surprisingly, this is reminiscent of the Lensbaby Soft Focus Optic aperture discs.)  Somewhat ingenious – Holga can still claim “the original Holga lens!” while still actually getting the vignetting, etc on a smaller frame.  The unfortunate part? They really designed the aperture for APS-C crop cameras (e.g. the Canon 60D or 7D, not really my full-frame 5D mk ii.  A full-frame camera gets much of the outer frame completely vignetted out, and a weird 8-overlapping-circles bokeh pattern to boot:

Of course, it works okay on full-frame when the background is dark anyway:

But can look a little weird at other times – which brings me to my one of my main points: this SLR lens was really designed for cropped-sensor cameras, like the 60D or 7D.

The real tragedy, however, is that in adding this funky aperture, the lens goes from the original approximately f/13 aperture to being somewhere between f/32 and f/40 (from an evaluative-metering on full-frame test, I measured it at about f/45; but I think that’s unfairly penalizing for the heavy vignetting on full-frame.  So, trying to use this in anything but lots of light – good luck.  You’ll need a REALLY slow shutter speed – and you will find it nearly impossible to aim, since the viewfinder will be very dark.  Even in bright sunlight, you’ll want to bump up the ISO – for example, this photo of my daughter in bright sunlight was ISO 400, 1/40sec exposure:

Incidentally, I did discover that funky little aperture disc is removable – it’s glued in to the lens, but only with cheap sticky stuff.  Once you pull it out, though, as you’d expect from the crop example above, there’s basically no vignette at all, even on full frame.  I put it back in, but I think I’m going to try creating an aperture disc to stick in there that is larger than the current one, to get less vignette on full-frame, but still some.  That’ll be a future project, though.

So, pluses to the Holga-for-Canon lens:  easy to use, great serendipity potential.  Downsides: WICKEDLY slow lens (f32-f45-ish on full frame), and has a very strange vignetting pattern in full frame.  Overall, though, absolutely worth the (little) money for a new creative tool.

All the photos I’ve taken with the Holga lens on my SLR so far can be found on my Google+ account in the “Holga Lens” set.

Uncategorized

Promoting the Open Web, and Platform Competition

Robert O’Callahan wrote a post last week about Mozilla’s historical promotion of the open Web over proprietary platforms.  There were some things in there that I agreed with strongly, although some not as much.

Robert, as I read your view, the competition has changed from WPF, Silverlight and Flash to iOS and Android, and “accordingly, the features the Web needs to catch up on are mobile focused.”  Although I absolutely agree that the web needs to be “knocking down barriers that make mobile app developers write native apps instead of Web apps,” I think it is a mistake to think that the web should narrow its competitive focus to mobile.  Mobile is just a placeholder for computers that are embedded in your daily life, and don’t cost $1000+, and aren’t chained to a desk.  It’s not about making phone calls.  It’s about being highly interactive, with lots of integration with the real world via sensors and outputs.  (There’s a whole 5-minute diatribe here about why the iPhone became popular – skipped for brevity’s sake.  Let me know in comments if you want me to expand.)  This isn’t a different Web; it’s just a more integrated one.  The Web platform is supposed to be good at scalability, so scaling to these needs should be a strength – and I DO think we need to expose APIs to those device capabilities.

The Web platform’s competition here *IS* all proprietary stacks – WPF, Silverlight, Flash, iOS, Windows Phone, Windows, Metro, MacOS, and yes, Android.  That doesn’t mean I hate all those stacks, or that I think they’re ebil – I just want the Web to be a viable competitor to them.  When some developer somewhere starts building the NEXT Angry Birds, I hope it can be in the Web platform to begin with, and won’t need to be ported to those other platforms.

(As an aside, Robert, I was curious to see you give kudos for Microsoft for moving towards a standards-based platform in the same post as lambasting Google for the Chrome Store.  You understand although you can write Hello World for Metro completely using standards, more complex apps are likely going to be heavily dependent on the Windows Metro Runtime APIs, right?)

I was somewhat amused to see you say “We also need to send a clear message that browser-specific app stores run counter to the open Web,” when Mozilla itself has one of the earliest (and wildly successful!) browser-specific app stores – https://addons.mozilla.org/en-US/firefox/.  You can say “that’s just addons,” but looking at apps like XulTris, it’s hard to agree with that argument.  I get (and agree with you) that the point should be to not silo web platform applications inside a single-browser tower, though.

To be clear – I’d like to see the Angry Birds web app work across all browsers, including being offline-accessible.  I’d like to see offline GMail and Google Calendar work across all browsers, too.  On the flip side, I think it’s pretty natural that there are going to be vendor-specific app stores – if for no other reason that users can get varying levels of confidence (or different assurance, or just different brand identification) from downloading an app package from Google, or Mozilla, or Amazon, or whoever.  And yes, that “package” may be a link, not a JAR file, but there has been store-specific level of vetting of the application that users will find useful.  I think the real question is “Could you use the Google app store from Firefox?” – personally, I’d like to say yes (modulo the browser add-ons, of course).  We’ve got a ways to go there, certainly.

Robert, I’m not sure where you got “Google is explicitly telling its developers to target Chrome-only at first and support other browsers as an afterthought” – the link pointed to the Dash (Dart) “memo”, which says “Developers who can focus solely on Chrome can expect…”  in essence saying “we can get this stuff into Chrome; we can’t push it to other browsers, but we can support a cross-compiler to JS.”  I don’t read that as a whole lot different than any other new feature that turns up in one browser first, and goes through a lot of work before it might (or might not) be adopted by others.  I think either Dart (nee Dash) will be successful as an attempt to build a wildly more productive runtime, and it will turn into a real open standards part of the web platform, and other browsers will build their own implementations of whatever it becomes as it is tossed into the open development pot – or it will inform the current efforts on Harmony, et al to goad more aggressive improvements into the current efforts.  (Or it will be a complete flop, and sink without a trace.  I doubt that, but I wanted to feed the trolls.)  Personally, I would bet more on the informing-current-efforts-and-goading-further-improvements path, but that’s based on my history.  (WPF was, after all, an attempt to learn from the Web platform and do it better.)

I’m concerned that you seem to think only Mozilla, and maybe Opera, have no vested interest in the success of a non-open-Web platform – mostly because the convolutions and double negative of that statement imply that others (Google in particular) have no vested interest in the success of the Open Web platform.  I have to disagree, if that’s the implication.  Yes, Google has Android; I would be a happy, happy person if the success of the open web platform placed Android into obscurity.  If anyone at Google wants to fire me for that, I’ll be happy to go.  And in fact, I would say Google has a very vested interest in the success of the shared open web platform, with a more solid business model behind that interest than most.  If I didn’t feel that way, I wouldn’t have come to work here.

Today, in the short term, there are certainly features that are browser-specific, that enable cool applications.  I hope those features will become part of the shared open web platform – and that’s what I plan to do here.  If certain features don’t merit becoming part of that shared platform, for the most part I’d expect them to die on the vine*.

But to get back to the core point – if someone at Google is telling web developers across the board to target Chrome only and only support other browsers as an afterthought, I’d like to know who, so I can go kick them in the (figurative) nuts.  Unless that message is actually being said by someone, I’d like to keep the focus where it needs to be – on figuring out what we need collectively to push the common Open Web platform to be competitive with all the other platforms out there, and on evangelizing building (cross-browser) web applications built on that Open Web platform.

-C

PS: *Remind me to post something on vendor prefixes.  This was already getting long.

PPS: Which also reminds me – if there’s something any of you WANT me to post about, let me know.  I’m free, in case you didn’t hear. 🙂

Uncategorized

Fun times ahead at SXSW 2011

I’m happy that I’m going to SXSW again this year – although, partly due to my job transition, I won’t be speaking on any panels this year (maybe next year I’ll get to be on the Browser Wars panel again :P).

There are two events that I’m helping run, though – The League of Extraordinary Hackers, presented by Google, and SuperHappyDevHouse. The former is a series of lightning talks covering Google APIs, tools and services, including a talk on Google TV given by yours truly, along with a developer lounge for more low-level talks and discussions with Google peeps. The latter, for those unfamiliar with SuperHappyDevHouse, is an evening of hacking and revelry, including a LEGO MINDSTORM contest.

So, of course I’ll be there talking up the living room platform, and hooking web developers up with Google TV. Hope to see you there, and around SXSW!

Uncategorized

Six Weeks at Google

I started working for Google six weeks ago today. It’s been an interesting experience, and since I keep having the same conversation repeatedly, I figured I’d share all at once.

What are you working on, anyway?

I’m in the Developer Relations team for Google TV. In practice, I spend most of my time working together with external companies, helping them build and optimize their web applications and contents for the 10-ft user interface scenario – that is, the experience of their web content and applications a user will get when they’re sitting 10 feet away from their screen, and interacting with a “remote control” rather than a desk-based keyboard and mouse.  It’s not so much “optimize for Google TV specifically” than it is “ensure your UI can work well in this scenario”.  We have an optimization guide that gives you some idea of what I’m talking about – things like supporting arrow-key navigation, limiting scrolling, color differences on the TV, etc.

One of the great things about this role is that it’s already given me the opportunity to dive in and actually write JS/CSS/HTML code again, as well as spend a bunch of time looking at how other people construct their UIs in HTML/CSS/JS.  The other fun thing is that it’s continuing my passion for the web platform extending to alternate scenarios and environments – the mobile scenario was the first big one, but the 10-ft space is an important one too.  For years, I’ve seen the web platform as the underlying platform that bridges from the very small environments – like my mobile phone – through the medium-size (my iPad, netbook, and laptop) to the large (my 27-30″ high-powered desktops and my TV).  Aside from the display, there are obvious differences in the interaction capabilities too (like, no touch interface on my TV 🙂 ).

What do you think of working at Google?

Love it. I didn’t think that I would like working in a cubicle rather than an office (at Microsoft, nearly all full-time employees who have been there more than three or four years usually have an office to themselves; at Google, nearly everyone has a cubicle).  However, it’s actually been great, because I’ve met a lot of people (particularly as I have a couple of Google TV devices sitting right next to my cube), and people tend to be very respectful of space and noise.  There are lots of old friends and a few new ones working here, which has definitely helped me adjust.   More on the culture in my next post, as I think that deserves a post by itself.

It HAS been a little odd to no longer use Windows on a daily basis, though. 🙂

-C

Uncategorized

On to a New Stage

Today was my last day at Microsoft.

I started working for Microsoft over fifteen years ago – in fact, switching into the IE team fifteen years ago this month.  It’s been a tremendous learning experience for me; I can hardly begin to describe how much I’ve learned, how many different experiences I’ve had, and how many fantastic people I’ve had the privilege of meeting and working with (both inside and outside the company).

As I reached the conclusion that I’d helped IE along as much as I could, I felt it was a good time to reassess where I ultimately want to go with my career, and I realized that I really needed to stretch my wings beyond Microsoft.  After all, I’ve stolen as many office supplies as I possibly could*.  I’m now going to go take a month or so of well-deserved time off, and in November I will begin a new role with a new employer – I’ve accepted a position as a Developer Advocate with Google.

I’ll spare the minor details of my decision (other than how excited I am to turn my Office Space style commute into a 6 mile bike ride to Google’s Fremont office), and just say I’m very excited to work for a company that invests so much in making the Web platform better for developers and consumers, and I hope that I can use this as an opportunity to not only do no evil, but to actively do good.

I would like to thank all the wonderful friends I’ve made at (and through) Microsoft, and actively express my desire to keep in touch. For anyone wishing to reach me, my personal email remains the same – cwilso@gmail.com – and of course, I’m always available on Twitter (Twitter.com/cwilso).

-Chris

* Just kidding**.

** I could have stolen more if I’d really tried. ***

*** sheesh.  Seriously, just kidding.

Uncategorized

The “IE plateau” – a history lesson

Yeah.  More frequently posting on my blog != once a year.  I get it.  More on that later.

Since I mostly share on twitter, I usually don’t get around to writing out longer posts – it takes time to be interesting and sound coherent when you’re not restricted to 140 characters.  But sometimes I want to say something that I just can’t sanely fit into 140-character blocks, no matter how hard I try.

One thing that cropped up in a conversation yesterday was “what happened to IE after IE6”.  I was a little aghast at the wild rumors of engineers fleeing the team due to political issues, since that wasn’t what happened, and since I’ve said this publicly before (e.g. my keynote at the Ajax Experience in Boston in 2006), I figured I might as well reiterate.

As we were finishing up the product cycle of IE6, the engineering team was still really excited by the technology and innovation we’d been doing in the web platform. (Newbie, before you go bothering entering random IE-bashing in that comment box, go find someone who was around on the web in 2000.  IE6 *WAS* the best.  Well, okay, maybe IE5 Mac.)  However, we’d been seeing very little adoption of the rich client platform we’d built; it was hard to build rich, sexy applications, and Flash was starting to take off.  Outlook Web Access was the “biggest” rich web app around.  The dot-com bubble was bursting.  There were a few experiments with “Web OS” – that is, building a desktop on top of the web platform – but they were slow and lacked functionality (probably because they also lacked a business model).  Finally, we were also getting mired in backwards compatibility – it’s all very well to say you should fix standards bugs, but we kept breaking current pages.  People get upset about that – both developers and customers. (As an aside, I’m a big fan of the IE compatibility mode solution we implemented in IE8; I only wish we’d done it in IE7.)

And, of course, we were pretty far ahead of the competitor’s released product at that point, and sadly, Microsoft does seem to work best with strong competition motivating it.

At the same time, Microsoft really needed to invigorate the Windows API.  We’d learned a lot of lessons from our experience with the web platform – e.g. that markup is a great tool for developers to use alongside code, and that managed code languages are easier in many cases than C++ – and we wanted to bring those tools to building Windows applications.  This led us to start working on the platform re-think that eventually became WPF/XAML/.NET3.0 – and that’s what most of us moved over to work on in that timeframe.

On top of that, that time period was also when Microsoft (and the broader industry, but Microsoft in particular) started getting hammered with security issues, since hackers started realizing they could get PAID for finding ways to insert software into users’ machines.  This took a tremendous effort to address, and a sea change in writing secure code; it was quite impressive to see the response to that challenge internally, but that’s a story for a different day.

So, unfortunately, this was a perfect storm that led to the “IE plateau”.  Happy it’s over.  Glad to see that the web platform isn’t in too much danger of becoming homogenous again any time soon.

-C