Info about the Hacks blog and how you can participate.
Mozilla Hacks is a pragmatic blog for people who make the Web. We also cover Firefox development and web platform development with a perspective for people who make websites (or web apps, or web services). It is managed by the Developer Relations team.
We maintain a Hacks Editorial calendar on Mozilla's gcal - if you are Mozilla staff you can access it here. If you are an NDA'ed Mozillian who needs access, you may request it by pinging Havi:
- 1 Writers' Guidelines
- 2 Suggested Posts (this section is OUT OF DATE, pls ping/email havi if you have suggestions... )
- 3 Completed Posts
Workflow and review process for Hacks posts
- 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.
- 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>
- Author bio image: You can connect a gravatar.com 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]
- 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.
Suggested Posts (this section is OUT OF DATE, pls ping/email havi if you have suggestions... )
|Article Idea||Status||Product Areas||Links||Notes|
|RequestSync API||[ON TRACK]||Firefox OS||bug 1018320||No MDN docs yet, shipping in FxOS 2.2 likely. Baku was fine with re-publishing his post on Hacks. Dietrich connected Baku (Andrea M) to Havi. Post on hold until the API is shipping.|
|Web Bluetooth API v2||[ON TRACK]||Firefox OS / IoT||bug 1005848, wiki||Notable change is Bluetooth LE. Dietrich contacted Ben Tian about it, most of the APIs are privileged (yay!) but not shipping until FxOS v3 (boo). Contacts: Ben Tian, Jocelyn Liu, Shawn Huang, Jamin Liu, Bruce Sun, Will Wang.|
|Bluetooth Data Channels||[ON TRACK]||Firefox OS / IoT||Article on BT-as-transport-layer for mesh and disconnected msging. Dietrich contacted Ben Tian.|
|Gallery Scrollview Architecture||[ON TRACK]||Firefox OS||Something iOS/Android do well, but SUPER hard to do well on Web. See Roc's post. Dietrich asked DJF, cc'd Andew Sliwinski. If DJF can't do it, maybe a MoFo article about how WebMaker solved it?|
|Inter App Communication API||[ON TRACK]||Firefox OS||bug 876397||Used for media-on-lockscreen in Gaia, maybe certified only. Need to figure out priv'd uplift plan. Dietrich will ask Gaia team.|
|JPM||[ON TRACK]||Firefox, Android||New Jetpack + Node.js tool to replace CFX. Dietrich asked Erik Vold, who's shooting for 2/15. UPDATE: Will likely go out as a series, later Feb/March (Havi)|
|System Message API||[ON TRACK]||Firefox OS||MDN docs||Not sure what the right content or person is.|
|FxOS Media Remote Controls||[ON TRACK]||Firefox OS||src||Dietrich asked Jim Porter and Dominic Kuo.|
|Presentation API||[ON TRACK]||Firefox OS, IoT||bug 1080474||Device discovery and display! Dietrich asked Gina Yeh and Shih-Chiang Chien, but they say it's not ready to write about yet.|
|Gaia Web Component Migration||[ON TRACK]||Firefox OS||Gaia team members migrating from Building Blocks to web components. Wins, hurdles, lessons learned. Large project web component patterns. Wilson Page is interested, but is slammed right now. We should figure out when those APIs are getting enabled by default (behind a pref right now), and coordinate publishing with that.|
|Service Worker Delta Encoding||[ON TRACK]||Firefox, Firefox OS, Android||Ben Kelly, in progress.|
|Shumway||[ON TRACK]||Moz Research||Michael Bebenita, Chris Peterson & team (Havi, Jason met with Chris Peterson and Michael, Jason will author when we receive some materials from team)|
|Web Animations API||[ON TRACK]||Firefox, Firefox OS, Android||polyfill||Dietrich reached out to Rachel Nabors. No movement, so talking to Brian Birtles, the author of the Gecko impementation.|
|RTL in Web Apps||[ON TRACK]||Firefox, Firefox OS, Android||Dietrich reached out to Gaia team implementing RTL in 2.2, have some names, will narrow down. Ahmed Nefzaoui, Mozilla Tech Speaker/Phoxygen is working on this in Q3.|
|Mulet||[ON TRACK]||Firefox OS, DevTools||Desktop dev environment for developing Gaia. Dietrich reached out to Ochameau.|
|Word Prediction for Bengali||[ON TRACK]||Firefox OS||Article about implementing a learning algorithm for languages where a static word list can't be used. Could cover how the keyboard and prediction APIs work, how to implement prediction for a new language, and the challenges of doing so for Bengali. Dietrich will reach out to Rabimba and Tim Chien.|
|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.|
|J2ME.js||[ON TRACK]||Firefox OS, Android?||Dietrich reached out to Myk Melez, and he's talking with team about topics. Launch/and publicity delayed till post-MWC per PR.|
|Croma app||[ON TRACK]||Firefox OS||Numix Project's Android app, ported to Firefox OS. It's beautiful. I asked them to write a post about how they ported and implemented. They responded on twitter affirmatively, waiting to hear back on email. They threatened to use disco and cheesiness in their post, which meets our technical requirements and editorial standards.|
|Gaia apps with WebIDE||[ON TRACK]||Firefox OS, mobile web||in Nightly right now, Sole needs to test this and establish how it works. It would be great to publish it even with a huge "WARNING THIS IS A LANDMINE" sign, so the team gets feedback and the feature is more tested|
|Web VR||[ON TRACK]||Firefox||Dietrich talked with Josh C. about content ideas, as well as co-publishing (since they have mozvr.com 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?|
|Lang Packs||[ON TRACK]||Firefox OS||Havi saw video screencast demo from Stas - lands in 2.2, Havi will contact Stas & crew for timing|
|Web-RTC story of Grouphone||[ON TRACK]||Firefox OS / Web-RTC||Kaustav Das Modak will author a story about their implementation of a group audio calling app, with info on development and debugging, wins and challenges. ETA ~April 2015.|
|NFC API for Priv'd apps||[ON TRACK]||Firefox OS||NFC APIs are now available to privileged apps. Yoshi Huang (Taipei) is updating all MDN docs. Once that's complete, we can write something. If someone from that team doesn't volunteer, Dietrich can write it up.|
|Offline Metrics||[ON TRACK]||Offline Web / Analytics||The Webmaker team have implemented a way to keep a queue of offline events so you can send them to GA when you're finally online. Adam Lofting will ping sole when they're ready to talk about the separate library they're extracting|
|Measuring React events||[ON TRACK]||Fast web / Analytics||The Webmaker team are working on tracking React events - Adam Lofting will ping sole when they're ready to talk about the separate library they're extracting|
|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. https://developer.mozilla.org/en-US/docs/Web/API/Channel_Messaging_API. Not enabled by default on Nightly yet.|
|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) https://hacks.mozilla.org/2015/04/easier-in-app-payments-with-fxpay/|
|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||http://dev.w3.org/csswg/css-counter-styles-3/||MDN contributor Saurabh Nair aka jsx, scheduled 2/11|
|FxOS Web Server||[DONE]||Firefox OS||https://github.com/justindarc/fxos-web-server||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!|
|Node Firefox OS||[DONE]||Firefox OS||Sole: published 2/5|