Mozilla

MDN Articles

Sort by:

View:

  1. Short sweet doc sprint for March

    This past weekend, a small band of hardy MDN contributors pitched in for the first of a monthly series of doc sprints. This sprint was organized on fairly short notice, yet a significant amount of work was accomplished.

    Web standards docs

    • Jérémie Patonnier created a bunch of API reference pages for MozMobileConnection, and SVG attributes dx and dy, and did a “crazy bunch of clean up” on the SVG documentation.
    • Michael Beckwith cleaned up writing on isNan and indexOf, and made minor touchups to :active.
    • Kevin Brosnan updated the compatibility info in Supported media formats.
    • fusionchess expanded the paragraph on passing data in Using web workers and added an example of a generic “asynchronous eval()”.

    Firefox OS and Apps

    • Gangadhar Nittala made his first contribution to MDN by changing the Apps manifest article to indicate that the .webapp extension for the file is mandatory, not just recommended.
    • Jonathan Watt added a section to Preparing for your first B2G build on how to update your B2G tree.
    • nullspace further clarified in Preparing for your first B2G build that there are gigabytes of Android libraries to download, which can take tens of hours (or days).

    Mozilla technology

    • Cory Gackenheimer updated Web Console for bug 623749.
    • Trevor Hobson updated Styling a tree to reflect changes in Gecko 22.
    • Florian Scholz worked on Firefox dev-doc-needed issues:
      • Documented that a Mac OS X backend for the DeviceLightEvent is now implemented.
      • Updated CanvasRenderingContext2D for the now-implemented isPointInStroke method.
      • Documented the rename of the allowfullscreen attribute of the HTML iframe element in Firefox 18 and WebKit Nightly (was prefixed).
      • Documented that DOMImplementation.hasFeature() and Node.isSupported() will always return true starting with Firefox 19.
      • Noted that createElement(null) works like createElement(“null”) starting with Firefox 19.
    • Tom Schuster worked on lots of little dev-doc-needed bugs.
    • donghao526 updated the simplified Chinese translation of The essentials of an extension.
    • darktrojan added a table about bootstrap data in Bootstrapped extensions.
    • Cykesiopka updated the join() example in Path manipulation so that the MDN and Gecko in-source documentation match.
    • the prisoner updated the French translations of Firefox 19 for developers and Firefox 20 for developers.
    • complynx fixed links to mutation observers in Mozilla event reference.
    • Ernest Chiang updated the traditional Chinese translation of Persona Quick Setup.
  2. Learn and share about new topics every month on MDN

    Did you have “expand my technical knowledge” as one of your New Year’s resolutions a few months ago? How’s that going?

    How about setting aside a day, or just a few hours, once a month, to teach yourself about a topic related to Web development, and share what you’ve learned with others? Wouldn’t it be fun to do that alongside a bunch other people, either virtually, or maybe in person?

    Monthly MDN sprints

    Based on discussions among the core MDN community, we’re upping the frequency of MDN doc sprints from “roughly once a quarter” to once per month. To keep them from getting too routine, we’re going to focus on a couple of different topics each month. One will be the topic of the following month’s DevDerby contest; the other will be something related to Firefox OS or open web apps. But since Firefox OS and open web apps are built with open Web technologies, that’s a pretty wide range to pick from. And of course, no one’s going to stop you from working on a different relevant topic of your choice.

    As background, a doc sprint is a short period when a group of people come together (virtually or actually, or some combination) to collaborate on writing documentation. If “writing documentation” sounds boring, think of it as a “learning and sharing” sprint. And if you’re not a “words” person, writing example code is a great way to contribute. You’ve probably experienced how much someone can learn from a good code example.

    We’ve set dates and some topics for the next three sprints (see below). The first one is just a week away, to squeeze it into March, before Easter weekend.

    • March 22-23: getUserMedia, offline storage
    • April 26-28: Web Workers, Web device APIs (specific ones TBD)
    • May 31-June 1: Topics TBD

    These dates are all in the MDN Community Calendar.

    How to join a sprint

    Sprints run for two or three days, but you can join for whatever part of that you are able to.

    1. Take a look at the wiki page for the sprint you’re joining, for specific details.
    2. During the sprint, hop into the #devmo channel on irc.mozilla.org, and introduce yourself. There will be other sprinters in the channel, unless they’re all asleep.
    3. Login to MDN and get started.

    That’s it for participating virtually. In some cases, there will be in-person meet-ups. For example, for the April sprint, there will be a meet-up in the Mozilla Space in Vancouver, British Columbia. (Watch for further details!) Or you can organize a local sprint meet-up of your own, like Fred Bourgeon did in Montréal in February. This could be as simple as tweeting an invitation to meet up at a local coffee shop. Check out our (draft) Doc sprint planning guide if you’re interested.

    Meet-up or not, please join us for one or more of the upcoming sprints. It’s a great opportunity to give something back to the Web development community, while expanding your own understanding at the same time.

  3. How MDN and Web Platform Docs Align

    We have been asked a number of questions since the launch of Web Platforms Docs (WPD) about how it aligns with the Mozilla Developer Network (MDN). Questions such as how content will be shared between the two, how changes will be tracked, who will do the work to port content, and which site people should contribute to. To try and help answer some of these questions, we’ve put together this short FAQ.

    Before we dive into these, it’s worth underscoring that Mozilla sees MDN and WPD complementing each other. While WPD is just starting out on its journey to become an invaluable resource for developers, MDN is fully mature and will continue to serve needs that WPD doesn’t. We also want to take this opportunity to remind people that Mozilla is community driven, so any decisions to change what we’re doing will be based on community feedback.

    Here are the top questions we’re getting on the introduction of WPD. If you have additional questions, post a comment or email jswisher (at) mozilla (dot) com.

    MDN and WPD seem to have similar goals. How are they different?

    Mozilla supports WPD because it fits with Mozilla’s mission to promote openness and innovation on the Web. WPD has the benefit of financial support, content contributions, and perspectives from multiple browser vendors and Web-oriented companies. MDN has a long history of supporting developers of many stripes: Web developers, developers who use Mozilla code, and developers who work on Mozilla code. MDN promotes Mozilla’s mission by serving all these audiences.

    One difference is in the default licenses for reuse of the content from the two sites, although they are both Creative Commons licenses. MDN uses a CC-BY-SA license, which ensures that reused content will always be published in the context of an openly licensed work. WPD uses a CC-BY license, which enables the content to be reused as widely as possible, including potentially in the context of otherwise proprietary works.

    Why support two similar sites? Isn’t there a lot of topical overlap?

    WPD is in its infancy, and will take time to gather momentum, soothe teething problems, and foster a community, which Mozilla and other WPD stewards will help to do. Meanwhile MDN needs to support the hundreds of thousands of developers who visit it every week.

    As WPD matures, the MDN community will evaluate if and when it makes sense to defer to it on particular topics. In an ideal future, WPD would become the authoritative resource on Web standards, with a large volunteer community and community-based governance, while MDN could focus on Mozilla’s vision and its open source products that implement those standards. But it will take some time to get there.

    WPD launched its site as a “minimum viable product”, providing just enough features to get started. This is a prudent and reasonable strategy, so that feedback can help determine how the site is developed. However, it means that WPD is currently lacking desirable features that will be added later. Key among these missing features is support for translating articles into other languages, to help Web developers whose native language is not English.

    Meanwhile, due to its long head start as a Web resource, MDN offers translations in multiple languages, which are created by global communities of volunteer localizers, who prioritize translation of topics based on local needs and interests. As with English content, the localization communities will evaluate whether and when it makes sense to defer to content on WPD.

    Can MDN content be copied to WPD? Who is going to do the work of porting MDN content to WPD?

    Anyone working on articles on a given topic on WPD is more than welcome to incorporate content from MDN, as it makes sense to do so. Rather than exporting MDN content into WPD, wholesale, we hope that it will be curated by WPD authors into the appropriate context on the new site.

    Please be sure to following the licensing and attributing guidelines for MDN content on WebPlatform.org. This is needed because of the different licenses for the sites’ content; MDN content on WPD must be delineated and attributed, to ensure proper credit to MDN authors, and to convey the share-alike license requirement.

    Will duplicated content in both sites be automatically kept in sync?

    There’s no technical solution to do this at this time. We expect that each site’s content will evolve independently.

    Doesn’t that mean that there will be redundant work to keep both of them updated, especially as browsers and standards progress?

    Yes, unfortunately. There may eventually be areas where the sites can share information, such as browser compatibility data.[1] That has yet to be worked out.

    Are the stewards just turning WPD over to “the community” or are they devoting staff to it?

    Mozilla has paid staff participating in the WPD community in addition to working on MDN. Chris Mills of Opera is spending half of his time as a W3C Fellow, with a focus on WPD. Other stewards, as well as W3C, also have staff working on WPD; you’d have to ask them about their time allocation. However, contributions from Web developers, writers, educators, and others who are not paid staff of stewards are essential to the long-term success of WPD (as well as that of MDN). If only steward-paid staff contribute, it will not achieve its vision to be a truly open community resource.

    I want to contribute to Web standards documentation. Should I contribute to MDN or to WPD?

    Both sites could use your help, and Mozilla is contributing to both sites. MDN has an established community and lots of open documentation for the Web, which always needs improving, expanding, and translating. We will continue to build that community and give them a place to learn and share knowledge about the Web. WPD’s community is still forming, and could use your input into basic issues like information architecture and the translation scheme. WPD aims to bring together tutorials and materials from many different organizations, as well as contributions from Web developers, and we believe that will also support the open Web. Check them both out. Meet the communities. Join in where you feel comfortable.

    Here are some channels for getting involved:

      Mozilla Developer Network Web Platform Docs
    Introduction to contributing Getting started Getting Started Guide
    Mailing list dev-mdc@lists.mozilla.org public-webplatform@w3.org
    IRC channel

    #devmo on irc.mozilla.org #webplatform on irc.freenode.org

    [1] Specifically, MDN has lots of manually collected cross-browser compatibility data, which WPD can use now; WPD is looking at ways to automate collecting such data, which MDN could then also use.

  4. Ten Things Developers should know about the Mozilla Developer Network (MDN)

    The Mozilla Developer Network (MDN) is one of the most popular resources for developers on the Web. Designed by developers for developers, MDN helps support Mozilla’s mission to promote openness and innovation on the Web.

    As an open, community-driven wiki, MDN provides Web developers, designers, application developers, and extension and theme writers with access to the best documentation, tutorials and developer tools available. Anyone can add and edit content to make it even better. It’s used by developers building resources for a better Web, regardless of brand, browser or platform.

    To give you a quick overview of what developers can get out of MDN we’ve put together this Top 10 list of things you should know about MDN and some tips on how to get involved.

    Enjoy!

    1. One of the most popular resources for developers on the Web with over 4.5 million page views and 2 million visitors per month.

    2. One of the richest resources on the Web for documentation:

      49,748 documents and climbing
      9,185 contributors have made 272,134 edits to date

    3. An active developer community in the MDN IRC channels including: #mdn-dev, #devmo and #mdn.

    4. The only developer site to be localized in 15 languages. MDN offers translations in 15 languages for HTML docs, 13 for CSS, and 11 for JavaScript. All of these translations are created by a global community of volunteer localizers, who prioritize translation of topics based on local needs and interests. See where localization help is needed.

    5. The best destination for JavaScript reference documentation anywhere.

      “MDN is hands down the best resource for finding quality JavaScript documentation. It’s well organized allowing developers to quickly find the information they need without poring through multiple specs,” – jQuery core committers

    6. A great resource for developers looking for a wide variety of freshly updated content. MDN is maintained by the community of developers and technical writers and hosts literally thousands of documents on a wide variety of subjects such as: HTML5, JavaScript, CSS, Node.JS to name just a few.

      For Mobile Web developers, MDN provides documentation such as: How to build HTML5 mobile apps or build a mobile add-on or learn about location aware apps.

    7. Anyone can edit or add documents to the wiki, you just need to create an account and start. Don’t worry about asking for permission; don’t worry about making mistakes. On the other hand, if you are going to be working on the site it does help to get to know the MDN community – we’re friendly and here to help!
    8. Rich with community-submitted demos; over 500 and climbing. MDN introduced “Demo Studio” in 2011 – for web developers to share and show off their code.

    9. Each month, the Dev Derby provides a different challenge to developers – from offline apps to “no JavaScript” (the most popular Derby topic in 2012, with 71 entries). A panel of distinguished judges choose the prize-winning entries.

    10. A new HTML wiki was launched in August of 2012 – meaning developers don’t have to learn a new markup language to edit and write docs. The platform is open-source and based on Django, so developers can add new features and functionality to the wiki from Github. Also a new HTML5 WordPress plugin was launched that lets developers hotlink words on their blog to MDN.

  5. Results of the Fall 2012 MDN virtual doc sprint

    Over the weekend of November 30 to December 2, a hardy band of MDN contributors came together virtually (via IRC and etherpad) to work on improving documentation on MDN for Web standards and for Mozilla’s open technology and the project itself. Below are the highlights of the weekend’s activities.

    Web standards docs

    • Saurabh Anand added browser compatibility info to five CSS properties (in addition to creating a screencast! — see below).
    • Fred Bourgeon translated, updated, or fixed a bunch of CSS articles in French (including fixing the article structure and property tables for all CSS reference articles in French), and also improved CSS value definition syntax in English.
    • Marc-Aurèle Darche finalized the “Storage Limits” section of IndexedDB; added a note to the type of key to be passed to the IDBObjectStore delete method; extensively rewrote and added example code to Using files from web applications; and added a long example to Using IndexedDB.
    • Ethertank performed huge amount of cleanup of markup and links across a wide range of articles, including HTML elements, JavaScript global objects, CSS properties, and miscellaneous other areas.
    • Ronan Jouchet met up in person with Fred to make his first contributions to MDN, which included making the example in :nth-child a live example, and adding live examples to :enabled and contextmenu, the latter based on code that Vikash Agrawal wrote last summer. And he reported a bug in the live example feature.
    • Jérémie Pationnier added articles for eight SVG attributes, and added an example to feDiffuseLighting.
    • Jean-Yves Perrier drafted an article on Using CSS variables.
    • Angel Fernando Quiroz Campos translated Using audio and video with HTML5 into Spanish.
    • Brett Zamir added shim code to String and fromCharCode; and moved String and Array generic methods from New in JavaScript 1.6 to their respective articles.

    Mozilla technology and project docs

    Many thanks to all who participated!

    P.S. Look for “State of the Docs” posts to resume in 2013.

  6. MDN virtual doc sprint, Nov. 30 to Dec. 1

    MDN is your Web Developer Toolbox for docs, demos and more on HTML, CSS, JavaScript and other Web standards and open technologies. It has been most of a year since we’ve held a virtual doc sprint for Mozilla Developer Network. (The last one was in January 2012.) A lot has happened in that time, most significantly, the switch to the new Kuma platform, and the steady addition of features to Kuma since its launch. So, let’s round out the year with one more sprint. (For those who don’t know what a doc sprint is, it’s a short period when we have a concentrated effort by a number of people to improve the documentation on MDN.)

    You don’t have to write whole new articles (though that’s fantastic). You can also update existing articles, or add browser compatibility info. Many articles are tagged as needing help. MDN doc sprints usually focus on docs for Web standards, since that’s fairly easy for Web developers to contribute to. But you’re also welcome to help with docs for new Mozilla technologies, like Firefox OS, Open Web Apps, or Persona; or help document the Mozilla project, such as building, testing, or localizing Mozilla code.

    In fact, you can even write code instead of text! Now that MDN supports live examples, we need to either adapt existing code examples to be live, or create new ones.

    You can participate from wherever you are, whenever is convenient for you. The sprint runs Friday to Saturday (or Saturday to Sunday for those in Asia-Pacific time zones), so jump in any time during that span. Track this and other MDN-related events on the MDN Community calendar.

    We use the #devmo channel on irc.mozilla.org to coordinate. We’ll also have an optional Google hangout, for those who want to watch one another type on their keyboards :-) See the planning page on the wiki to read further details and share your ideas.

    Get some Mozilla gear

    Make a non-trivial contribution during the sprint, and you can get a t-shirt (or other gear if you don’t want a t-shirt). Honestly, non-trivial means “not much more than trivial.”

    Other doc sprints

    Our friends over at Web Platform Docs have also adopted the doc sprint model as a great way to get loads of work done in a short time. Earlier this month, Web Platform Docs held its first doc sprint, hosted by Adobe, which was very successful, with over 50 participants making over 800 changes to the site.

    The next doc sprint for Web Platform Docs is coming up on December 12, hosted by Google, which you can attend in person if you’re in the San Francisco Bay Area, or online otherwise. If you’re curious about contributing to WPD, this would be a great time to try it out.

    Whichever sprint you join in, you’ll be helping make the Web more awesome for Web developers!

  7. Welcoming the new kid: Web Platform Docs

    Documenting the open Web and Web standards is a big job! As Mozillians, we’re well aware of this — documenting the open Web has been the mission of the Mozilla Developer Network for many years. Anything we can do to further the cause of a free and open Web is a worthwhile endeavor. With so many different groups involved in the design and development of new Web standards, it can be tricky to figure out the current right way to use them. That’s why we’re excited to be able to share this news with you.

    Introducing Web Platform Docs

    Mozilla, along with a group of major Web-related organizations convened by the World-Wide Web Consortium (W3C), has announced the start of Web Platform Docs (WPD), a new documentation site for Web standards documentation, which will be openly-licensed and community-maintained. The supporting organizations, known as the “stewards,” have contributed an initial batch of content to the site from their existing resources. The body of content is very much in an alpha state, as there is much work to be done to integrate, improve, and augment that content. to achieve the vision of WPD as a comprehensive and authoritative source for Web developer documentation. The stewards want to open the site for community participation as early as possible. With your help, WPD can achieve its vision being a comprehensive and authoritative source for Web developer documentation.

    Web Platform Docs has a similar goal to MDN: to help web developers improve their ability to make sites and applications using web standards. Mozilla welcomes this effort and joins with the other stewards in financially supporting the Web Platform Docs project, and in providing seed content for it. This new project is very much aligned with Mozilla’s mission to promote openness, innovation, and opportunity on the Web.

    What does this mean for MDN?

    MDN already provides a wealth of information for Web developers and for developers who use or contribute to Mozilla technology. That isn’t going to change. Some members of the MDN community, including both paid staff and volunteers, are actively involved with the Web Platform Docs project. Web Platform Docs incorporates some seed content from MDN, namely tutorial and guide content. Anyone is welcome to use MDN content under its Creative Commons Attribution-ShareAlike license (CC-BY-SA), whether on WPD or elsewhere.

    Licensing issues

    Licensing is where things get a little bit complicated. MDN and WPD use different contributor agreements and different licenses for reuse. By default, WPD contributors grant W3C the ability to relicense their original content under an open license (Creative Commons Attribution (CC-BY)). MDN content is licensed by the contributors under CC-BY-SA. The copyright belongs to the contributors, not to Mozilla, so we don’t have the right to change the license. Therefore, content that originates from MDN must be specially marked and attributed when it appears on WPD. If you create an account on WPD and create a new page, you’ll see that there is an option to indicate that the content you’re contributing came from MDN, and to provide the original URL on MDN. If you do copy MDN content (and we would be happy if you did so), we ask that you comply with the license requirements. There is also a way on WPD to mark sections of articles as coming from MDN, for cases where they get merged into CC-BY content.

    Get involved

    We encourage all Mozillians to visit the Web Platform Docs site, take a look, and get involved. By working with the other stewards to jointly build a complete, concise, and accurate suite of documentation of and for Web standards, we can help make the future of the World Wide Web brighter than ever!

  8. Cheerio! to another MDN doc sprint

    This past weekend, a group of MDN contributors finished another fun and productive documentation sprint, while enjoying the environment of Mozilla’s London office.

    Foosball battle at the London doc sprint

    Julia and Julien battle at the foosball table, while Onur looks on.

    Here’s a sampling of what we accomplished:

    Thanks to Chris Mills from Opera for hanging out with the group while working on a related project. (Look for more news about that later this week.)

    Kadir Topal from the SUMO team also joined us, and talked with localizers about their workflow and needs. Since MDN’s Kuma platform is based on SUMO’s Kitsune platform, relevant improvements in one will eventually flow to the other.

    Thanks also to Ali Spivak for organizing all the logistics, and to Shannon Clayton for helping us feel welcome. I’m afraid we put a bit of a dent in the office’s supply of chocolate:

    Remains of Mozilla London chocolate

  9. 5 ways you can contribute to MDN

    The new Mozilla Developer Network platform, code-named Kuma, debuted earlier this month. Kuma introduced numerous improvements to the documentation site, including:

    • much improved front and back end performance
    • no reliance on third-party services vendors
    • improved editing and translating interfaces
    • enhanced macro creation language called KumaScript
    • ability to more quickly push code to production
    • ..and more!

    In short: we’ve created tools to make MDN easier for anyone to contribute to. There are many ways to contribute to MDN; what follows brief summary of you can contribute to the best documentation site on the web.

    Write

    Good technical documentation is always in need, especially when it comes to cutting edge web technologies. Solid documentation and detail helps for broader and quicker adoption of those technologies. The Mozilla Developer Network strives to provide the most accurate and detailed documentation on both old and new web technologies. By creating new documentation, updating existing documentation, or simply fixing broken links or typos, you help to improve the quality of documentation on MDN. Your updates will be seen by millions of developers all over the world, thus helping to improve the greater web.

    Kuma’s documentation is created via a wiki format, allowing anyone to login and create or enrich documentation. Kuma’s WYSIWYG has been customized for optimal technical documentation purposes, and a separate templating system called KumaScript has been implemented so that macros can be created and used within documentation. New editing features are being created daily and we look forward to continuing that effort.

    Translate

    One of the main focuses of Kuma was to improve the translation API. Translators now get a side-by-side view of existing content, making translating incredibly convenient and fast. RSS feeds which show updates to English documentation are also available so that translators know when an update in foreign translation is needed. The benefit of translating existing content is that you open a world of technical documentation to those who don’t speak English. If you prefer to translate documentation into a language not yet supported by MDN, please let us know and we can add the language to the list of supported languages.

    Fix Bugs, Add Features

    As is the case with other Mozilla websites and applications, Kuma code has been open sourced and is available on GitHub. Detailed installation instructions are provided and you should have a local MDN install up within minutes. The next step is forking the Kuma repository so you have a repo from which you can send pull requests.

    MDN bug lists are available within Bugzilla; lists include Website bugs and Docs Platform bugs. Each bug report provides details as to what should be fixed, enhanced, or created. If you find a bug you’d like to tackle, assign the bug to yourself, create a new branch (including the bug number in the name), and start coding!

    When your fixes are ready, send a pull request to the Mozilla repository, providing the bug number and a brief description of your fix. We’ll test your solution and, once proven to work, will merge your code into MDN. You’ll then be able to say you helped code part of the MDN!

    File Bugs

    The Mozilla Developer Network is not yet perfect but we’re striving for it. If you don’t feel comfortable contributing code or writing documents, but see something on MDN that doesn’t look right, or see room for improvement, please file a bug. Our development team will prioritize bugs provided by the community and fix them appropriately. Any help in identifying avenues for improvement are appreciated!

    Promote MDN

    Promote MDN

    Spreading the word about MDN encourages others to get contribute and improve MDN. Also recently released is the Promote MDN WordPress plugin; a lightweight plugin which analyzes page content and creates links to pages on MDN that explain the term in detail. You can also build your own MDN badge to promote the Mozilla Developer Network.

    There are numerous ways that you may help the Mozilla Developer Network grow and improve. Whether your interests and talents lie in writing original content, translating existing content, coding new features and bug fixing, or simply helping to promote MDN, you can play an important role in making MDN more useful for the rest of the development community. If you have more questions about getting started, please visit the #mdn IRC room and ask questions. We look forward to your help and support!

  10. Like MDN? Run a WordPress site? Promote MDN!

    Promote MDNDo you like MDN and run a WordPress site? We made a WordPress Plugin to Promote MDN. You can install it thru your WordPress admin dashboard.

    It is based on WordPress developer extraordinaire freediver‘s SEO Smart Links plugin. Promote MDN automatically links keywords and phrases on your site to MDN – including past content! The keywords and phrases are determined by a special Promote-MDN page on the MDN wiki. It comes with reasonable defaults so it should Just Work right out of the box, but you can configure many features:

    • Set exceptions – Include or exclude links in headers or RSS feeds; Prevent linking certain phrases or on certain pages.
    • Set limits – Link in moderation. Only link as many keywords as you want as many times as you want.
    • Add your own keywords – We’ll maintain a good list; make it even better with your own favorite keywords and url’s.

    It’s initially available in English, Deutsch, Español, Nederlands, Polski, Português (do Brasil). You can help us translate it on the MDN Verbatim site.

    We’d love to hear your feedback on the dev-mdn mailing list or in #mdndev on IRC. And the code is wp-promote-mdn on github if you want to send us bug reports and suggestions, or of course – pull requests! :)