Mozilla & WordPress
TL;DR - I made theĀ Promote MDN WordPress plugin and enjoyed it; why isn't(?) there a more intentional relationship between Mozilla & WordPress communities?
WordPress development
To make the Promote MDN WordPress plugin these last couple weeks, I've worked with WordPress more than I have in the previous decade. I've run dozens of sites with WordPress, but have never been active as a developer or contributor. Observations:
- Keep code tidy - Okay, so there's globals and no MVC. But I copied messy code from SEO Smart Links, ran it thru PHP_CodeSniffer and it was actually easy to follow and work with it, due to the ...
- Good docs - The codex has lots of good info. I Googled for stuff like "wordpress http get", "wordpress cache", and "wordpress i18n" and the codex docs always had what I needed.
- Can leverage Verbatim for l10n - After I made a .pot file for the plugin, I added it to our existing MDN project on verbatim. Within hours it was translated into Dutch, Polish, and German. Then a couple days later Brazilian Portuguese and Spanish too. I love our localization teams so much.
- Releasing is painful - It's exactly this painful. It makes me really love and appreciate our new chief deployment system on MDN, and heroku for my other sites.
- Releasing is cool - It's cool that the plugin is now just a couple clicks away from millions of users. The appeal of "app stores" I guess.
WordPress development at Mozilla
I coordinated a "WordPress at Mozilla" talk for an OKC WordPress User's Group meetup. When I asked about WordPress on Yammer, only Craig and Jake claimed to have WordPress dev and deployment experience at and for Mozilla. They say we have many dozen - approaching a hundred? - WordPress blogs & sites at Mozilla. In addition to that, we have:
- Mozilla Persona Plugin - Persona for your WordPress site.
- Open Attribute Plugin - Add licensing information using OpenAttribute from Mozilla Drumbeat
- WPBadger - Issue badges and add them to a user's Open Badges backpack.
- Promote MDN Plugin - adds links to MDN to your WordPress site content
Mozilla and WordPress
WordPress runs about 55 million websites in the world. 332 million people view over 2.5 billion pages on WordPress.com's hosted sites alone, where there are also 500k new posts and 400k new comments every day.
Which makes me wonder - does Mozilla have any official or intentional relationship with WordPress? Should we?
WordPress empowers people to make and control their own content on the web. (As opposed to, say, Facebook Pages) It seems like we could combine efforts in some cool ways. At the very least, many of our projects and websites could probably put together a cool and useful WordPress plugin of some kind. It's really not bad at all. :)
Firefox rapid releases: developers *are* users
Jono
There's a tempest brewing in the Interteapot over Jono's post about the Firefox rapid release cycle. I reacted the way he probably anticipated - "Good points that are already well taken." But tech media is sensational, so the story reported was "Firefox dev hates Firefox ZOMG!" prompting an official Mozilla Press Statementā¢ and a sincere face-palm from Jono.
Let me make something clear: Jono is one of my heroes. When he writes something, I read it. And when he writes how Silicon Valley culture has a monomaniacal obsession with hugeness, I read it so often that it's the first hit in my browser bar for 'le'. But I want to add another perspective to his main point - at least the main point he wanted to make.
The main point I wanted to make was about the distance between the developer perspective and the user perspective, the costs for users of updates (even good updates), and the reasons why developers (everywhere, not just Mozilla) may have trouble seeing updates from the user perspective.
Web developers
I'll emphasize that Jono means the Firefox developer perspective vs. the user perspective. Web developers are Firefox users. Working on MDN, acting as a developer evangelism rep, and running Tulsa Web Devs gives me some insight into the web developer perspective, so let me talk about them.
I've showed the new dev tools, HTML5, CSS, and JavaScript support to web developers and they are always surprised how much has been added to Firefox in the last year (i.e., the time they've been using Chrome.) Most of them make an opposite response to the one Jono describes - something like "Wow, I need to look into Firefox again." And I'm able to re-pitch, re-sell, and re-promote Firefox with "What's new in Firefox for developers" every 6 weeks rather than once a year!
In almost every one of these encounters, I also show web developers the Aurora release channel, and they love it. I tell them Aurora is Firefox, just 7-13 weeks in the future. (Because Mozilla has time machines) It gets new features like the awesome new responsive design view and javascript debugger even sooner, and it lets web developers see how their sites work in future versions of Firefox.
Here's the kicker: Aurora updates more frequently than Firefox does - and web developers love it! These are Firefox users. And importantly, they're usually "the people who shout the loudest about browsers."
So that's it. Just want to point out an important segment of Firefox users for which the new rapid release process is a big improvement. Jono knows this, but maybe some clueless tech journalist will pick this up and write a "ZOMG Mozilla web developer likes Firefox" article. Nah, not enough page-views.
UPDATE: Too perfect. Right after I published this, I got an update prompt from Aurora. ;)
Mozilla in OKC
In the last couple weeks I've made two trips down highway 44 to give talks about Mozilla technology to web groups in Oklahoma City.
First, I went to speak at the OKC.js June meeting about the various JavaScript API's and related technologies Mozilla is developing and promoting for the open web.
Jesse had told me the OKC.js group has started well and they were right. There were about 25 or 30 attendees. I covered a lot of material (see my presentations page) and then gave away some swag - an Aurora laptop cover-sticker, shirts, and pens - to anyone who answered a quiz question about the content. Everyone likes shirts! In addition to questions about Gaming, Mobile, Apps and Boot to Gecko, I also got lots of questions and interest about our Tulsa Web Devs activities.
The following week I recruited Craig and Jake to help me give a "WordPress at Mozilla" talk at the OKC WordPress June Meetup.
There were about a dozen attendees and we used vidyo to do a conference presentation on our blogging infrastructure and operations (Jake), our theming (Craig), and finally I showed our BrowserID WordPress plugin. We got some good questions an interest, particularly in new One Mozilla theme and its accessibility features. I left a bag of pens for the meetup group - I had given away all my other swag at OKC.js.
OKC has a good web community that is starting to connect and do more - much like Tulsa. We have a full-time Mozilla employee in OKC. I'll plan to collaborate more between OKC and Tulsa web communities. Maybe float ideas of an OK Mozilla group or something. I'm already planning to talk to students at Francis Tuttle Technology Center Web Design and Development program.
An open letter to all non-parents from a parent
Thank you for your letter. I laughed and nodded along as I read it, and I shared it with all the rest of my parent friends.
Thank you for babysitting! I understand those 3 hours seem like an eternity of suffering; the 3 hours of quiet you gave my wife and I were an eternity of bliss!
Thank you for understanding when we have to leave your party early to get our children home to bed.
Thank you for letting us decide what to do on the nights we have a babysitter!
Thank you for letting us take 3x as long to do everything.
Thank you for always coming to our house for dinner because it's child-proof.
Thank you for going out of your way to meet at a time and place that works around nap-time.
Thank you for talking to and playing with our kids when they are with us.
Thank you for holding our kid while we clean up the embarrassing mess they left at the restaurant.
Thank you for bringing them a new book for story-time.
Thank you for re-scheduling the work meeting because my kid is sick.
Thank you for taking over so many tasks for our social group.
Thank you for being the one to call me instead of waiting for me to call you.
And I'm sorry.
Sorry I don't answer your text messages.
Sorry I rarely ever go out anymore.
Sorry I forgot your birthday/graduation/other-special-occasion.
Sorry for being so up-tight about germs.
Sorry for having to stop our conversation abruptly to chase down my kid.
Sorry for being so chaotic.
Sorry for being jealous and envious of your frequent dinner dates, your vacations, your boredom, or that awesome open source project you built in your free time. (What's that?!)
But while I was writing this letter - which took a whole week, one or both of my daughters have:
said "Dada, I need a hug,"
asked to be held countless times,
giggled uncontrollably as I tickled her,
run up and down our hallway continuously for 10 minutes to tackle me,
been "Beast", "Belle," "Emily," "Nemo," "Bruce," or a dozen other characters,
hugged me with "legs and everything" when I asked,
squealed with delight as she rolled a bowling ball straight into a gutter,
learned to swim back to the edge of the pool by herself,
fallen asleep in my arms while I sing to her,
called out for me when thunder woke her up at night.
Thank you for sticking with me. I'm sorry our friendship has stretched so much, but I hope we'll have great times watching these two new little friends grow up with us.
Please Learn to Eat the World
TL;DR Code is eating the world the same way writing ate the world. We don't all have to be expert writers - of language or code - but we should all be literate in both.
Jett Atwood's "Please Don't Learn to Code" post shocked me a bit, because I agree with almost everything else he posts. I agree with much of it, but the "everyone should learn programming" meme is not the straw man he criticizes, it's a young nebulous movement. E.g., the Mozilla Webmakers initiative is just a series of blog posts and some communication channels organized on a wiki page. So Jeff's input could and should be formative somewhere like the next Webmakers community call.
Writing ate the world, according to Sid Meier
My MDN colleague and technical, sci-fi, and beer menu adviser Les makes a good "Please Do Learn To Code" counter-argument. I want to elaborate on his analogy to writing:
Consider writing: there's a lot to learn and it used to be a thing done only by a few scribes. But, people today get a lot of mileage out of just sticky notes and email. Sure, improving your grammar and learning how to structure an essay can help in many, many ways. But, you don't need to be a professional writer to be a professional who uses written language.
Consider the state of the world at the time writing was invented/discovered. In Civilization 5 (which is my definitive guide to history), Writing can be preceded by Pottery, Sailing, Trapping, Archery, Horseback Riding, The Wheel, Masonry, and Metal Casting. In a world of subsistence-level agricultural society, writing was a luxury knowledge skill. Maybe there's an ancient "Writing Horror: archiving and human factors" scroll telling potters, sailors, and animal trappers "Please Don't Learn to Write" - suggesting that the general populace only needs to memorize the laws of the land and sign their own name to it.
In Civ 5 - Writing enables Philosophy, which combines with Trapping to enable Civil Service, and also combines with Calendar to enable Theology, which combines with Civil Service to enable Education. Education combines with Compass to enable Astronomy & Navigation, and with Chivalry to enable Acoustics, Banking, Economics. These disciplines combine together in Scientific Theory which enables the Industrial and Modern Eras of advancement - Electricity, Telegraph, Radio, Electronics, Mass Media, Computers, Robotics, Particle Physics, Nanotechnology.
Yes, this is a simplified and gamified perspective, but the truth is, while writing is only of ultimate importance "... in the right context, for some people." the incorporation of writing into other disciplines has been the foundation of the modern world. Reading and writing are the fundamental knowledge skills for every person in every modern occupation.
Code is eating the world, according to Mark Andreessen
Writing is a technology that allows someone to externalize thoughts into a medium that can be communicated to others who parse, interpret, and process those thoughts. Code is a technology that allows someone to externalize instructions into a medium that can be communicated to computers that parse, interpret, and process those instructions. We call that externalization of code, software.
Marc Andreessen always seems to know what's going down and what's coming up. And back in December he wrote a great WSJ essay on Why Software is Eating the World - a survey of industries all across society that are being consumed by software-driven activity and operations. Code combines with book-selling to enable cloud computing. Code combines with telecom operators to enable world-wide video chat (like we were promised would happen in the 23rd or 24th century). Code combines with aviators and aerospace to launch airstrikes without putting pilots at risk. Code is eating the world, just as writing did before it. These combinations seem obvious and intuitive to those of us who make software, but they are neither obvious nor intuitive to everyone else. Jeff is spot-on when he says everyone should know enough code to know "when code might be an appropriate way to approach a problem you have" but his implication underestimates how many problems can be approached with code - i.e., almost all the problems.
What does a code-literate world look like?
Jeff has a laundry list of other problems with the "everyone should learn to code" movement. My vision of a code-literate world is quite different:
- There's less code. Coders undoubtedly realize that fully 90% of our time is spent reading code rather than writing it. When we do write code, we often refactor existing code. In a code-literate world, more people are aware of this, not fewer. So more people buying code understand that less is more.
- There's more solutions than code. Even if code hasn't eaten the problem space already, more people are aware of the ability to re-use code, especially open-source code. More people understand how and when to apply code to problems.
- There's new jobs in place of old ones. Jeff's right about entry-level programming jobs, though I dislike the trace of Silicon Valley hubris. Sure, "many people in the U.S. and around the world lack the education and skills required to participate in the great new companies coming out of the software revolution." But, "This is a tragedy since every company I work with is absolutely starved for talent. Qualified software engineers, managers, marketers and salespeople in Silicon Valley can rack up dozens of high-paying, high-upside job offers any time they want, while national unemployment and underemployment is sky high. This problem is even worse than it looks because many workers in existing industries will be stranded on the wrong side of software-based disruption and may never be able to work in their fields again. There's no way through this problem other than education, and we have a long way to go." -Andreessen
Jeff makes fun of the notion that NYC mayor Bloomberg learning to code will help him make public transit improvements. But Tulsa Web Devs are dealing with this right now as we write code for Tulsa Transit to put our local bus routes and schedules onto Google Maps. Even in the IT department, coding literacy seems low. They're "able to get around on the Internet" and they have "a basic understanding of how computers, and the Internet, work." But they buy code from Trapeze Group - they can't read it and they certainly can't write it. If the Tulsa Transit General Manager went thru Codecademy he could go to our github repository and read the code he sees. But because he doesn't know how to code, our code is as arcane to him as the box of software he buys from Trapeze. From my interactions with Code for America Brigade, I detect this scenario plays itself out in many places and in many sectors.
Code is eating the world. If people don't learn to code, they'll be eaten by it. Coding shouldn't be practiced by an elitist cabal of programmers selling software charms to illiterate masses. Our world is full of consumerism and starved for makerism already. We should encourage and teach others to code. Like writing, it creates opportunities, enables progress, and advances all of society.