Devrel/Hacks: Difference between revisions

5,496 bytes removed ,  2 December 2020
Mozilla Hacks is a pragmatic blog for designers, developers, and people who make the web. We cover Firefox development, and the varied engineering work that tests, releases, supports and secures the browser. Melissa Thermidor is Managing Dditor.
No edit summary
(Mozilla Hacks is a pragmatic blog for designers, developers, and people who make the web. We cover Firefox development, and the varied engineering work that tests, releases, supports and secures the browser. Melissa Thermidor is Managing Dditor.)
 
(30 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Info about the Hacks blog and how you can participate.  
[https://hacks.mozilla.org Mozilla Hacks] is a pragmatic blog for designers, developers, deciders and people who make the web. We cover Firefox development, and the varied engineering work that tests, releases, supports and secures the browser. Hacks also publish pragmatic explanations of emerging standards and new APIs, reports on tooling for website and web platform development, as well as news from the MDN Web Docs team, where we document the web, and past events and activities of the Developer Relations team.
 
Mozilla Hacks is managed by the Community team and [https://people.mozilla.org/p/melissathermidor Melissa Thermidor] is Managing Editor.
 
We also manage the [https://www.youtube.com/user/mozhacks Mozilla HacksYouTube Channel] as well as the [https://twitter.com/mozhacks Mozilla Developer] and [https://twitter.com/mozdevnet MDN Web Docs] Twitter accounts. Please contact Melissa Thermidor if you need content shared from these social media accounts.
 
Everyone has a voice and we would like you to use our platform to connect with developers. We are seeking technical content, opinions, and stories from many different viewpoints.
 
If your work touches the work of developers, but you're not sure what to write about, let's chat directly about telling your story. Happy to meet in our new reality of Zoom ‘real-time’ or address questions async on Slack, or email. Sometimes a conversation can clarify a storyline, or shed light on how to most effectively share your new learning or key idea.
 
Engineers have asked, "I'm a software developer. I'm not a writer. Can you help?"
 
Yes, we can. We are happy to meet people where they are, and work 1:1 with you, your topic, and your idea. 


==Writers' Guidelines==
==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, JavaScript, CSS, web design and development, the web platform and advanced development), we'd love to hear from you. Please complete a [https://docs.google.com/document/d/1IowAUtyex_nwBdnMVN983uzZVFAZ7NdPTiJvUMYw3s4/edit?usp=sharing request form] and send it to Melissa Thermidor by email with a brief description of your article.
Please share your first draft in a Google Doc, 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 is responsible for adding the draft directly to WordPress. Don't worry about copyediting, SEO, etc - the managing editor will make these changes. We'll establish a publication date, share with all relevant social channels, and prior to publication we do a final copyedit and link check in the WordPress post.
*We typically publish 1-2 times weekly on Tues - Thur, 8am PT. We avoid scheduling more than one article on any given day.
* 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 have published 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 emoji in titles, they break on some platforms. Also, 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 [https://wordpress.org/plugins/wp-highlightjs/ 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>


* NOTE: Authors are responsible for adding their posts directly to WP in working HTML.  
==== Images, captions, and video ====
*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'''.  


* Code syntax for Hacks posts (changed in April 2015):  
* For video, here's a format that works: [embed]YOUR VIDEO EMBED URL[/embed]
**We're now using the [https://wordpress.org/plugins/wp-highlightjs/ wp-highlight.js plugin] for code syntax highlighting/display.
**It autodetects a wide variety of programming languages
**Format: <code class="js"><pre>keep on rocking the free web foo</pre></code>
* 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.
*Images and video
**Author bio image: You can connect a gravatar.com image with your username to display an author photo or image alongside your bio.
**Upload via "Add media" link in Wordpress. WP will host your image. Use the upload link to embed video also.
*Markdown
**We also have a NEW plugin that converts Markdown to HTML. You should see the option to use Markdown in the upper right module where you'd go to save a draft.
* Ideas (Please add yours below)


==Suggested Posts==
==== Links: We like links! ====
{| class="fullwidth-table"
*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
|- style="background:#efefef"
*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.  
| '''Article Idea'''
*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.   
| '''Status'''
| '''Product Areas'''
| '''Links'''
| '''Notes'''
|-
| RequestSync API || {{ok|}} || Firefox OS || {{bug|1018320}} || No MDN docs yet, shipping in FxOS 2.2 likely. Baku was fine with re-publishing [http://143th.net/post/108551021821/requestsync-api his post] on Hacks. Dietrich connected Baku (Andrea M) to Havi. Post on hold until the API is shipping.
|-
| Web Bluetooth API v2 || {{ok|}} || Firefox OS / IoT || {{bug|1005848}}, [https://wiki.mozilla.org/B2G/Bluetooth/WebBluetooth-v2 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 || {{ok|}} || Firefox OS / IoT ||  || Article on BT-as-transport-layer for mesh and disconnected msging. Dietrich contacted Ben Tian.
|-
| Gallery Scrollview Architecture || {{ok|}} || 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 || {{ok|}} || 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 || {{ok|}} || 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 || {{ok|}} || Firefox OS || [https://developer.mozilla.org/en-US/docs/Web/API/Navigator.mozSetMessageHandler MDN docs] || Not sure what the right content or person is.
|-
| FxOS Media Remote Controls || {{ok|}} || Firefox OS || [http://mxr.mozilla.org/gaia/source/shared/js/media/remote_controls.js src] || Dietrich asked Jim Porter and Dominic Kuo.
|-
| Presentation API || {{ok|}} || 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 || {{ok|}} || 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 || {{ok|}} || Firefox, Firefox OS, Android ||  || Ben Kelly, in progress.
|-
| Shumway || {{ok|}} || 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 || {{ok|}} || Firefox, Firefox OS, Android || [https://github.com/web-animations/web-animations-js polyfill] || Dietrich reached out to Rachel Nabors. No movement, so talking to Brian Birtles, the author of the Gecko impementation.
|-
| RTL in Web Apps || {{ok|}} || 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 || {{ok|}} || Firefox OS, DevTools ||  || Desktop dev environment for developing Gaia. Dietrich reached out to Ochameau.
|-
| Word Prediction for Bengali || {{ok|}} || 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 || {{ok|}} || CSS || [https://longsonr.wordpress.com/2015/01/28/new-svgcss-filter-support-in-firefox/ 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 || {{ok|}} || 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 || {{ok|}} || 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.


|-
*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.  
| Gaia apps with WebIDE || {{ok|}} || 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 || {{ok|}} || 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 || {{ok|}} || 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 || {{ok|}} || 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 || {{ok|}} || 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 || {{ok|}} || 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 || {{ok|}} || 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> || {{ok|}} || Web / HTML ||  || Article on using srcset with <img> and <picture>, and how and when to use <picture>. <b>Needs author?</b>
|-
| Channel Messaging API || {{ok|}} || 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.
|}


==Completed Posts==
==== Markdown ====  
{| class="fullwidth-table"
*We have a plugin that automagically converts Markdown to HTML. You should be able to write in MD and save draft.
|- style="background:#efefef"
| '''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!
== Editorial Calendar ==
|-
We maintain a Hacks Editorial calendar on Mozilla's GCal - if you are Mozilla staff you can access it here: [https://calendar.google.com/calendar/embed?src=mozilla.com_h1vjme6vi1m7o3f05vv32qa2a4@group.calendar.google.com&ctz=America/Los_Angeles Mozilla Hacks Editorial calendar] If you are an NDA'ed Mozillian who needs access, you may request it by sending a message to Melissa Thermidor.
| 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/
|-
| 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. https://hacks.mozilla.org/2015/04/network-activity-and-battery-drain-in-mobile-web-apps/
|-
| 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!
|-
| 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
|}
3

edits