From MozillaWiki
Jump to: navigation, search

Info about the Hacks blog and how you can participate.

Mozilla Hacks is a pragmatic blog for people who make the Web. We cover Firefox development and web platform development from a technical perspective for people who make websites (or web apps or web services). Mozilla Hacks is managed by the Developer Relations team. Havi Hoffman is managing editor.

We also manage the MozHacks YouTube Channel and the @mozhacks twitter account. Please contact Istvan 'Flaki' Szmozsanszky or Havi if you need a tweet or a RT from @mozhacks.

Writers' Guidelines

Workflow and review process for Hacks posts

  • If you have a timely and pragmatic original post on a technical topic of interest (Firefox, Mozilla, the web platform, JavaScript) to Hacks' primary audience of web developers, designers, and people who make the web, we'd love to hear from you. Please contact Havi Hoffman by email or Slack.
  • Workflow: Please share your first draft in a Gdoc, and help us identify key stakeholders/approvers/review who will need to review and share feedback. Once all comments are in the Gdoc and have been resolved, the post author will add the draft directly to wordpress. We'll establish a publication date, share with all relevant social channels, and prior to publication we'll do a final copyedit and link check in the wordpress post.
  • We typically publish 2-3 times weekly on Tues - Thur, 8am pt.
  • When you write for Hacks, you are welcome to cross-post to another blog or Medium channel/account, but we ask that you DO NOT publish until we also release on Hacks.

House Style

  • We respect sentence case (EU style) and Title Case (US style) titles. British and Canadian authors are welcome to use British English spelling. (We are a global, geo-distributed organization, right?)
  • Please do not use H1 headers. Use H2 for section headers, H3 for sub-headers. Please do NOT include links in headers. They will be removed.

Code syntax for Hacks posts

  • We're now using the wp-highlight.js plugin for code syntax highlighting/display.
  • It autodetects a wide variety of programming languages
  • Format: <pre><code class="js">keep on rocking the free web foo</code></pre>

Images, captions, and video

  • Author bio image: You can connect a image with the email address listed in Wordpress to display an author photo or image alongside your bio.
  • Images in a post: Upload via "Add media" link in Wordpress. WP will host your image. Use the upload link to embed video also. Please don't host images externally.
  • IMPORTANT A11y requirement: Don't forget to include a description of the image in the alt= field provided, for screenreaders. A post is not complete until alt text is available for every image.
  • For video, here's a format that works: [embed]YOUR VIDEO EMBED URL[/embed]

Links: We like links!

  • We like them best in the body of the article, rather than served as relative links with a separate Reference or Footnotes section at the bottom
  • Please use the target="_blank" argument in your URL call. In the WP-editor you can "Open link in a new window/tab" when you use the "Insert/edit link" UI.
  • Look for places to link to relevant technical content from Mozilla Developer Network (e.g. articles about new features, functions, or APIs) or Wikipedia (esp for technical acronyms). Don't assume your readers know where to look.
  • Length: Most Hacks articles fall in the range of 800-1500 words. Some run longer, but if they run much longer we'll encourage you to write a series rather than a single post.


  • We have a plugin that automagically converts Markdown to HTML. You should be able to write in MD and save draft.

Editorial Calendar

We maintain a Hacks Editorial calendar on Mozilla's gcal - if you are Mozilla staff you can access it here: Mozilla Hacks Editorial calendar If you are an NDA'ed Mozillian who needs access, you may request it by pinging Havi.

Suggested Posts (this section is OUT OF DATE, pls ping/email havi if you have suggestions... )

Article Idea Status Product Areas Links Notes
CSS Filters [ON TRACK] CSS blog post As of Fx35, no longer need SVG to do filters. Robert Longson blogged briefly about it (see link to left), but would be good to have a comprehensive post showing off filters without SVG. Should contact Robert, or see if someone who did the MDN content might want to write.
Web VR [ON TRACK] Firefox Dietrich talked with Josh C. about content ideas, as well as co-publishing (since they have blog). They've got a few content ideas lined up, and I have more, so there's a whole series in the making here. @ncasenmare can tell their dev workflow story, re-ping after GDC is over. NOTE: IIRC Potch is doing some posts on this?
srcset and <picture> [ON TRACK] Web / HTML Article on using srcset with <img> and <picture>, and how and when to use <picture>. Needs author?
Channel Messaging API [ON TRACK] Web / HTML bug 952139 Introduction. Difference from Broadcast Channel. When to use which. Not enabled by default on Nightly yet.

Completed Posts

Article Idea Status Product Areas Links Notes
FxOS App Startup Performance [DONE] Firefox OS, mobile web Dietrich reached out to Eli Perlman, who's writing tools and best practices for this. He agreed and gave an ETA of sometime Q1. Q2 post on Raptor!
Battery API new spec [DONE] Web / HTML bug 1050749 Article about the new spec in coordination w/ Firefox implementation by franciov (Francesco Iovine)
Payments API [DONE] Firefox OS, Firefox (now) bug 1133963, bug 1134481, bug 1034326 Kumar did an intro, but we need to push on it's story. How have people actually used it? Testimonial stories from devs who've implemented would be dope. (Havi: UPDATE: Fxpay updates from Kumar - published April 21)
Power-positive Patterns [DONE] Firefox OS Portland State University student project exploring JavaScript APIs for accessing the network in a condition-aware and battery-aware way. Dietrich mentoring. ETA mid-March. Published April 20.
WebRTC in Firefox 38: Multistream and renegotiation [DONE] WebRTC Maire Reavy & team (Nils Ohlmeier, Byron Campen) Published March 25.
Fetch API Introduction [DONE] Firefox, Firefox OS, Android bug 1039846 Nikhil Marathe agreed to write. Scheduled for 3/10
CSS Counter Style Level 3 [DONE] CSS MDN contributor Saurabh Nair aka jsx, scheduled 2/11
FxOS Web Server [DONE] Firefox OS Justin Darcangelo IRC: justindarc (Havi in touch, scheduled 2/9)
Canvas updates [DONE] Canvas API Florian Scholz from MDN (Havi will contact)
Broadcast Channel API [DONE] Firefox OS bug 966439 Havi: Jweathersby has a draft - week of 2/2
Project Silk [DONE] Firefox OS (and more?) Mason Chang blogged, and reposting to Hacks!
Functional JavaScript [DONE] JavaScript; programming language This is an article post on MozTPE's blog, which introduces the language feature in functional programming flavor, and shows how much nice tricks JavaScript could play with. I've modified and translated it in English, with lots of additional information & links. (Greg Weng) This note left by Greg, Dietrich introduced to Havi to get this rolling.
Node Firefox OS [DONE] Firefox OS Sole: published 2/5