Error: Cannot fetch feed url - A Better Planet - WordPress News News and updates from the world of WordPress 2018-01-14T00:15:10+01:00 text/html 2018-01-13T21:53:44+01:00 A Better Planet How to Add Custom CSS to a WordPress-Powered Website – the RIGHT way! text/html 2018-01-12T16:52:09+01:00 A Better Planet Check out! <a href=""><h2>Check out!&nbsp;&rarr;</h2></a><p>Our friend Zac Gordon rushed home from WCUS and made <a href="">a great course</a> (I&#8217;m still working my way through, but so far I&#8217;m impressed) about developing your own blocks for WordPress&#8217;s forthcoming Gutenberg editor. He published it just a few weeks ago, and he&#8217;s still got a launch discount available thanks to his sponsors, which is very cool.</p> <p>Zac&#8217;s also a very giving and collaborative guy, so he also pulled in the course from Joe Casabona to share the marketing stage on the site. <a href="">Joe&#8217;s course</a> is for people trying to come to terms with the editor and how to use it. I&#8217;ve not seen it myself, but if Joe&#8217;s earlier work is any indication it&#8217;s well worth the (steeply discounted) launch price of $13, and the normal price of $39.</p> <div class="feedflare"> <a href=""><img src="" border="0"></img></a> <a href=""><img src="" border="0"></img></a> <a href=""><img src="" border="0"></img></a> <a href=""><img src="" border="0"></img></a> <a href=""><img src="" border="0"></img></a> </div><img src="" height="1" width="1" alt=""/> text/html 2018-01-12T14:17:59+01:00 A Better Planet 24 Best Medium-Style WordPress Themes <p>Medium is a <a href="" title="How to Choose the Best Blogging Platform in 2018 (Compared)">popular blogging platform</a> which offers a clean design optimized for readability and user engagement. However due to the restrictions of Medium, most savvy journalists choose to use WordPress. In this article, we will share the best Medium style WordPress themes, so you can have the look and feel of Medium while having the power of WordPress. </p> <p><img title="Best Medium style WordPress themes" src="" alt="Best Medium style WordPress themes" width="550" height="340" class="alignnone size-full wp-image-48669" /></p> <h4>Creating a Medium-Style Blog using WordPress</h4> <p>Medium is a popular publishing platform where you can instantly publish your articles. However, you don&#8217;t technically own your website because Medium has the ability to shut it down for any reason. For details, see our comparison of <a href="" title="WordPress vs. Medium – Which One is Better? (Pros and Cons)">WordPress vs Medium</a>. </p> <p>That&#8217;s why most savvy journalists and bloggers use WordPress. We recommend using the self-hosted because it comes with the all freedom and features that WordPress is known for. See our comparison of <a href="" title=" vs – Which is Better? (Comparison Chart)"> vs</a>).</p> <p>To start a website, you&#8217;ll need a <a href="" title="What’s the Difference Between Domain Name and Web Hosting (Explained)">domain name</a> and <a href="" title="How to Choose the Best WordPress Hosting?">WordPress hosting</a> account. </p> <p>We recommend using <a href="" target="_blank" title="Bluehost" rel="nofollow">Bluehost</a>. They are one of the officially recommended WordPress hosting providers, and they&#8217;re offering WPBeginner users a free domain + 60% off.</p> <p>Once you have signed up for hosting, see our step by step guide on <a href="" title="Ultimate Guide: How to Start a WordPress Blog (Step by Step)">how to start a WordPress blog</a> for complete set up instructions. </p> <p>That being, let&#8217;s take a look at some of the best Medium-style WordPress themes that you can use on your website. </p> <p>Note: Some of these themes may not look exactly like Medium. However, they follow the same design practices like clean typography, enhanced readability, lots of white space, minimalism, and clutter free layout. </p> <h4><a href="" target="_blank" title="ArrayThemes Medium" rel="nofollow">1. Medium</a></h4> <p><a href="" target="_blank" title="ArrayThemes Medium" rel="nofollow"><img title="Medium" src="" alt="Medium" width="550" height="344" class="alignnone size-full wp-image-48621" /></a> </p> <p>Medium is a WordPress theme designed for bloggers, writers, and publishers. It features a three column layout on the desktop and a single column layout on mobile and tablet devices. </p> <p>It is designed to work out of the box with fewer theme options. You upload custom logo, choose accent colors, <a href="" title="How to Easily Add Custom CSS to Your WordPress Site">add custom CSS</a>, and more through customizer. It supports all media formats like images, video embeds, and <a href="" title="Which is the Best WordPress Photo Gallery Plugin? (Performance + Quality Compared)">photo galleries</a>. It is super easy to use and includes a getting started guide to help you start writing without struggling with theme setup. </p> <h4><a href="" target="_blank" title="Simfo" rel="nofollow">2. Simfo</a></h4> <p><a href="" target="_blank" title="Simfo" rel="nofollow"><img title="Simfo" src="" alt="Simfo" width="550" height="344" class="alignnone size-full wp-image-48622" /></a> </p> <p><a href="" class="thirstylink" rel="nofollow" target="_blank" title="Simfo">Simfo</a> is a WordPress blogging theme with clean white spaces and beautiful typography. It has a beautiful <a href="" title="How to Add a Featured Content Slider in WordPress">featured content slider</a> on the top and a filterable grid of your content below it. </p> <p>Other noteable features include 8 color schemes, multiple post layouts, social media icons, footer widgets and more. It has a custom theme options panel that will help set up your website quickly. </p> <h4><a href="" target="_blank" title="CSSIgniter Suisen" rel="nofollow">3. Suisen</a></h4> <p><a href="" target="_blank" title="CSSIgniter Suisen" rel="nofollow"><img title="Suisen" src="" alt="Suisen" width="550" height="344" class="alignnone size-full wp-image-48623" /></a> </p> <p>Suisen is a minimalist WordPress theme suitable for blogs, portfolio, artists, and news websites. It has a clean black and white layout which uses Roboto Mono font for unique typography.</p> <p>It includes a widgetized homepage layout, which allows you to just drag and drop widgets to setup homepage. It includes custom widgets and lots of customization options in live customizer. It works with all <a href="" title="5 Best Drag and Drop WordPress Page Builders Compared (2017)">popular page builder plugins</a> and can also be used to <a href="" title="How to Start an Online Store in 2017 (Step by Step)">add an online store</a> to your website. </p> <h4><a href="" target="_blank" title="Themify Elegant" rel="nofollow">4. Elegant</a></h4> <p><a href="" target="_blank" title="Themify Elegant" rel="nofollow"><img title="Elegant" src="" alt="Elegant" width="520" height="330" class="alignnone size-full wp-image-48624" /></a> </p> <p>Elegant is a beautiful responsive WordPress theme suitable for lifestyle blogs, vlogs, and writers. It comes with a powerful drag and drop page builder which allows you to easily edit pages and <a href="" title="How to Create Custom WordPress Layouts with Beaver Builder">create your own layouts</a> as well. </p> <p>It includes multiple layouts for your posts, multiple header styles, beautiful image filters, and a portfolio section. All theme options are neatly organized which makes it quite easy to use for beginners. </p> <h4><a href="" target="_blank" title="CSSIgniter Corner" rel="nofollow">5. Corner</a></h4> <p><a href="" target="_blank" title="CSSIgniter Corner" rel="nofollow"><img title="Corner" src="" alt="Corner" width="550" height="344" class="alignnone size-full wp-image-48625" /></a> </p> <p>Corner is a WordPress theme for creative professionals with a minimal layout that allows you to showcase more of your content without any clutter. </p> <p>It is <a href="" title="5 Best WordPress Ecommerce Plugins Compared – 2017">ecommerce ready</a> and allows you to use any colors you want. With a widgetized layout and custom widgets, you will be able to easily setup your homepage in minutes. It includes support for social media integration and works with tested with all major WordPress plugins. </p> <h4><a href="" target="_blank" title="Themefuse Chatter" rel="nofollow">6. The Chatter</a></h4> <p><a href="" target="_blank" title="Themefuse Chatter" rel="nofollow"><img title="Chatter" src="" alt="Chatter" width="550" height="344" class="alignnone size-full wp-image-48626" /></a></p> <p>Chatter is a Medium style WordPress theme suitable for <a href="" title="27 Best WordPress Magazine Themes of 2017">magazine websites</a>, blogs, and portfolios. It comes with 3 slider styles, multiple color schemes, different header styles, and multiple layouts. </p> <p>For typography it allows you to choose different custom fonts that work great with the design. It also has a drag and drop page builder, 1-click demo installer, and a custom theme options panel for quicker setup. </p> <h4><a href="" target="_blank" title="StudioPress MonoChrome" rel="nofollow">7. Monochrome</a></h4> <p><a href="" target="_blank" title="StudioPress MonoChrome" rel="nofollow"><img title="Monochrome" src="" alt="Monochrome" width="550" height="344" class="alignnone size-full wp-image-48627" /></a></p> <p>Monochrome is a Medium style WordPress theme with a minimalist approach to design. It uses a simple black and white design with lots of white space and crisp typography. The simplicity makes your content and images pop out and creates a more enjoyable reading experience. </p> <p>It is built on <a href="" target="_blank" title="StudioPress Genesis" rel="nofollow">Genesis</a> theme framework and includes custom headers, widgetized homepage, four widget areas, and full WooCommerce support. It also includes templates for pricing and <a href="" title="5 Best WordPress Landing Page Plugins Compared (2017)">landing pages</a>. </p> <h4><a href="" target="_blank" title="MojoMarketplace Eagle" rel="nofollow">8. Eagle</a></h4> <p><a href="" target="_blank" title="MojoMarketplace Eagle" rel="nofollow"><img title="Eagle" src="" alt="Eagle" width="550" height="344" class="alignnone size-full wp-image-48629" /></a> </p> <p>Eagle is a beautiful choice for a minimalist <a href="" title="30+ Best Portfolio WordPress Themes for Your Website (2017)">portfolio WordPress theme</a>, a blog, or lifestyle website. Its homepage features a welcome message on top followed by masonry grid of portfolio items or your blog posts. </p> <p>It includes support for Google fonts, <a href="" title="5 Best Contact Form Plugins for WordPress Compared">contact form plugin</a>, templates for about us and a separate blog page. It comes with 1-click demo installer and an easier theme options page. </p> <h4><a href="" target="_blank" title="Maker Pro" rel="nofollow">9. Maker Pro</a></h4> <p><a href="" target="_blank" title="Maker Pro" rel="nofollow"><img title="Maker Pro" src="" alt="Maker Pro" width="550" height="344" class="alignnone size-full wp-image-48630" /></a> </p> <p>Maker Pro is a <a href="" class="thirstylink" rel="nofollow" target="_blank" title="Genesis">Genesis</a> child theme with intense focus on readability and usability. It looks stunning on all devices and screen sizes, which makes it perfect for personal blogs, portfolios, and magazine websites. </p> <p>It includes custom header, <a href="" title="How to Create a Full Width Page in WordPress">full width page template</a>, full width cover images, and beautiful headings. It works out of the box and theme setup is quite straight forward. </p> <h4><a href="" target="_blank" title="ArrayThemes Latest" rel="nofollow">10. Latest</a></h4> <p><a href="" target="_blank" title="ArrayThemes Latest" rel="nofollow"><img title="Latest" src="" alt="Latest" width="550" height="344" class="alignnone size-full wp-image-48632" /></a> </p> <p>Latest is a minimalist <a href="" title="29 Best WordPress Themes for Authors">WordPress theme for authors</a>, magazine websites, and online stores. It features beautiful homepage designs that put your product or content in front and center. </p> <p>It has a beautiful blog template where you can put featured posts and pages on the top. It handles all your photos and videos gracefully and beautifully displays them. Despite many features, it is very easy to use and install. </p> <h4><a href="" target="_blank" title="Rikke" rel="nofollow">11. Rikke</a></h4> <p><a href="" target="_blank" title="Rikke" rel="nofollow"><img title="Rikke" src="" alt="Rikke" width="550" height="340" class="alignnone size-full wp-image-48636" /></a> </p> <p>Rikke is a beautifully designed <a href="" title="49 Best Free WordPress Blog Themes for 2017">free WordPress theme for blogs</a>, magazines, and authors. It has a clean black and white design with collapsible navigation menus on top. </p> <p>It includes color selection, font options, custom widgets, blog options, and more. All theme options are neatly organized under live theme customizer. </p> <h4><a href="" target="_blank" title="MojoMarketplace themin" rel="nofollow">12. TheMin</a></h4> <p><a href="" target="_blank" title="MojoMarketplace themin" rel="nofollow"><img title="Themin" src="" alt="Themin" width="550" height="344" class="alignnone size-full wp-image-48638" /></a> </p> <p>Themin is a clean minimalist WordPress theme suitable for multi-author websites, blogs, and magazines. It features a collapsible <a href="" title="How to Add Navigation Menu in WordPress (Beginner’s Guide)">navigation menu</a> and search feature on top, which is followed by an optional hero image with your call to action. </p> <p>It has multiple <a href="" title="How to Create Custom Single Post Templates in WordPress">layouts for single posts</a> and blog page. It also includes full width page template that you can use with any page builder of your choice. Theme setup is quite beginner friendly with a custom settings page and live customizer support. </p> <h4><a href="" target="_blank" title="Writr" rel="nofollow">13. Writr</a></h4> <p><a href="" target="_blank" title="Writr" rel="nofollow"><img title="Writr" src="" alt="Writr" width="550" height="340" class="alignnone size-full wp-image-48639" /></a></p> <p>Writr is a free Medium style WordPress theme for writers and bloggers. It uses a simple two column layout with navigation and sidebar located in the left-column. </p> <p>It has 6 color schemes turquoise (default), blue, green, grey, purple, and red. It has beautiful icons for post formats and support for author bio box. It is <a href="" title="How to Find and Translate a Translation Ready WordPress Theme">translation ready</a> and can also be used with page builder plugins if you need landing pages. </p> <h4><a href="" target="_blank" title="SecondLineThemes Satchmo" rel="nofollow">14. Satchmo</a></h4> <p><a href="" target="_blank" title="SecondLineThemes Satchmo" rel="nofollow"><img title="Satchmo" src="" alt="Satchmo" width="550" height="344" class="alignnone size-full wp-image-48641" /></a> </p> <p>If you are looking for a Medium like minimalist WordPress theme for <a href="" title="How to Start Your Own Podcast (Step by Step)">podcasting</a> then check out Satchmo. Crafted with care and attention to details, it would make your podcast episodes fun and easier to listen. </p> <p>It has beautiful layouts to display podcast episodes, a section to add featured guests, hosts page, and more. Its audio embed looks great on all devices. For quicker installation it has 1-click demo install and simpler theme setup. </p> <h4><a href="" target="_blank" title="Wisteria" rel="nofollow">15. Wisteria</a></h4> <p><a href="" target="_blank" title="Wisteria" rel="nofollow"><img title="Wisteria" src="" alt="Wisteria" width="550" height="344" class="alignnone size-full wp-image-48642" /></a> </p> <p>Need a free <a href="" title="25 Best Minimalist WordPress Themes for Writers">minimalist WordPress theme</a> for your website? Take a look at Wisteria. This simple black and white theme features a black navigation menu on a white background. It uses beautiful typography and it is perfect for blogs and news websites. </p> <p>It uses a simple two column layout, with basic theme customization features. It just works out of the box and would be great if you just want to quickly start writing. </p> <h4><a href="" target="_blank" title="Themefuse Aesthetic" rel="nofollow">16. Aesthetic</a></h4> <p><a href="" target="_blank" title="Themefuse Aesthetic" rel="nofollow"><img title="Aesthetic" src="" alt="Aesthetic" width="550" height="344" class="alignnone size-full wp-image-48643" /></a> </p> <p>If you need Medium like readability with more styling options, then you&#8217;ll like Aesthetic. It is a WordPress theme for lifestyle, fashion, and personal websites. It includes unlimited color choices with different article listing styles like list, grid, masonry, multi-column, and full-width. </p> <p>It is WooCommerce ready and comes with a page builder plugin as well. For easier setup you can use the 1-click demo installer or start from scratch using theme options panel. </p> <h4><a href="" target="_blank" title="Baskerville" rel="nofollow">17. Baskerville</a></h4> <p><a href="" target="_blank" title="Baskerville" rel="nofollow"><img title="Baskerville" src="" alt="Baskerville" width="550" height="344" class="alignnone size-full wp-image-48644" /></a> </p> <p>Named after the renowned Baskerville typeface designer John Baskerville, this beautiful free WordPress theme is focused on elegant typography in a modern grid layout. It uses Wisdom Pro and Roboto fonts throughout site-design. </p> <p>It comes with infinite scroll support, grid and list layouts, like functionality for posts, and beautiful <a href="" title="7 Best Free Author Bio Box Plugins for WordPress">author bio box</a> section. </p> <h4><a href="" target="_blank" title="ArtisanThemes PepperPlus" rel="nofollow">18. Pepper+</a></h4> <p><a href="" target="_blank" title="ArtisanThemes PepperPlus" rel="nofollow"><img title="Pepper" src="" alt="Pepper" width="550" height="344" class="alignnone size-full wp-image-48645" /></a> </p> <p>Need a simpler design but with all the features of multi-purpose WordPress themes? Pepper+ does exactly that. It comes with multiple website designs to choose from and a powerful modules based drag and drop interface. </p> <p>This theme got everything sliders, <a href="" title="How to Add a Portfolio to Your WordPress Site">portfolio</a>, photo galleries, contact form, <a href="" title="How to Add Beautiful Pricing Tables in WordPress (No Coding Required)">pricing tables</a>, event countdowns, and more. You can install any of the available designs with a click and then just use drag and drop to edit your pages. </p> <h4><a href="" target="_blank" title="Journalistic" rel="nofollow">19. Journalistic</a></h4> <p><a href="" target="_blank" title="Journalistic" rel="nofollow"><img title="Journalistic" src="" alt="Journalistic" width="550" height="344" class="alignnone size-full wp-image-48646" /></a> </p> <p>Journalistic is a Medium inspired WordPress theme for long form articles, storytelling, and magazine websites. It features a wide two column layout, a sticky featured content column, and a collapsible sidebar with navigation menus. </p> <p>It ships with 19 color schemes and you can also define your own colors. It has integrated support for <a href="" title="How to add Awesome Typography in WordPress with Typekit">beautiful Typekit fonts</a>. It is quite easy to use with 1-click demo installer, custom theme settings page, and live customization support. </p> <h4><a href="" target="_blank" title="Author" rel="nofollow">20. Author</a></h4> <p><a href="" target="_blank" title="Author" rel="nofollow"><img title="Author" src="" alt="Author" width="550" height="340" class="alignnone size-full wp-image-48648" /></a></p> <p>Author is a simple and free WordPress blog theme for authors. Featuring a two column layout, this theme is designed for better readability with <a href="" title="How to Track User Engagement in WordPress with Google Analytics">engaging user experience</a>. </p> <p>It features <a href="" title="How to Add an Author’s Photo in WordPress">author photo</a> on top followed by site description and social icons in the sidebar. The content column uses large headings and featured images to make your content pop out. It has simple setup and works out of the box with minimal settings required. </p> <h4><a href="" target="_blank" title="MojoMarketplace Everly" rel="nofollow">21. Everly</a></h4> <p><a href="" target="_blank" title="MojoMarketplace Everly" rel="nofollow"><img title="Everly" src="" alt="Everly" width="550" height="344" class="alignnone size-full wp-image-48647" /></a> </p> <p>Everly is another great minimalist WordPress theme with simple black and white design. Optimized for readability, it uses magazine style layout to feature your most important content on the top. </p> <p>It includes 4 homepage and blog layouts, different header styles, 6 post formats, <a href="" title="How to Automatically Post New Instagram Photos to WordPress">Instagram feed</a>, and more. It has native areas to display ads on your website. </p> <h4><a href="" target="_blank" title="Flat" rel="nofollow">22. Flat</a></h4> <p><a href="" target="_blank" title="Flat" rel="nofollow"><img title="Flat" src="" alt="Flat" width="550" height="340" class="alignnone size-full wp-image-48649" /></a></p> <p>Flat is a free WordPress theme with a beautiful and unique design. It has a two column layout with a narrow sidebar on the left and a wide column for your blog posts. </p> <p>It uses beautiful <a href="" title="How to Add Image Icons With Navigation Menus in WordPress">icons in navigation menus</a>, large featured images, and works with all <a href="" title="24 Must Have WordPress Plugins for Business Websites in 2017">popular WordPress plugins</a>. </p> <h4><a href="" target="_blank" title="StudioPress Author Pro" rel="nofollow">23. Author Pro</a></h4> <p><a href="" target="_blank" title="StudioPress Author Pro" rel="nofollow"><img title="Author Pro" src="" alt="Author Pro" width="550" height="344" class="alignnone size-full wp-image-48650" /></a> </p> <p>Author Pro is designed as a WordPress theme for authors, writers, and publishers. It offers an enhanced readability experience with subtle colors, white space, and beautiful crisp typography. </p> <p>Built on top of <a href="" target="_blank" title="StudioPress Genesis" rel="nofollow">Genesis</a> framework, it ships with Genesis Author Pro plugin which allows you ro create a book library within your site to attractively display book details in single and archive views as well as any widget area. It is very easy to use and works out of the box with very little effort. </p> <h4><a href="" target="_blank" title="ArrayThemes Publisher" rel="nofollow">24. Publisher</a></h4> <p><a href="" target="_blank" title="ArrayThemes Publisher" rel="nofollow"><img title="Publisher" src="" alt="Publisher" width="550" height="340" class="alignnone size-full wp-image-48651" /></a></p> <p>Publisher is a beautiful WordPress theme for magazines, multi-author websites, and blogs. It comes with multiple layout choices like masonry grid, two column blog layout, unique backgrounds for each post, and more. </p> <p>It beautifully handles your media and displays them as featured image on top. It also includes beautiful templates for <a href="" title="How to Create an Image Gallery in WordPress">photo galleries</a>, videos, and other content types. Inside you will also find a getting started guide to walk you through theme setup process. </p> <p>We hope this article helped you find the best Medium like WordPress theme for your website. You may also want to see our step by step <a href="" target="_blank" title="The Ultimate Guide to Boost WordPress Speed &amp; Performance" rel="nofollow">WordPress speed and performance</a> guide for beginners. </p> <p>If you liked this article, then please subscribe to our <a href="" title="WPBeginner on YouTube" target="_blank" rel="nofollow">YouTube Channel</a> for WordPress video tutorials. You can also find us on <a href="" title="WPBeginner on Twitter" target="_blank" rel="nofollow">Twitter</a> and <a href="" title="WPBeginner on Facebook" target="_blank" rel="nofollow">Facebook</a>.</p> <p>The post <a rel="nofollow" href="">24 Best Medium-Style WordPress Themes</a> appeared first on <a rel="nofollow" href="">WPBeginner</a>.</p> text/html 2018-01-12T13:26:11+01:00 A Better Planet What’s new in Gutenberg? (12th January) <p>Hope everyone has had some good time! We are resuming the releases of Gutenberg for this new year. The first one — 2.0 — is rather big, with updates across the board. The highlights cover several pasting improvements, a more polished publish flow, block API tweaks and extensibility additions, various accessibility improvements, block library updates (like new querying by category in latest posts), etc.</p> <figure class="wp-block-embed-cloudup"><iframe src=";autoplay=false" data-uid="izVNv0ypJjD" data-aspect-ratio="1.3710247349823321" width="776" height="566" scrolling="no" frameborder="0" mozallowfullscreen="true" webkitallowfullscreen="true" allowfullscreen="true" class="cloudup_iframe_embed"></iframe> </figure><h2> <a href="">2.0 <img class="emoji" alt="&#x1f995;" src=""></a></h2> <ul> <li> <a href="">Replace</a> publish dropdown menu with a <a href="">sidebar panel</a>.</li> <li>Expand latest post blocks with <a href="">more querying options</a> — order by and category.</li> <li>Allow <a href="">dragging multiple images</a> to create a gallery.</li> <li> Copy and Pasting: <ul> <li>Improve <a href="">markdown pasting</a> (allows lists to be interpreted).</li> <li>Allow <a href="">pasting copied images</a> directly.</li> <li>Pasting <a href="">within lists and headings</a>.</li> <li>Improve handling of <a href="">inline spans</a>.</li> <li>Allow <a href="">copying a single block</a>.</li> <li>Make sure inline pasting mechanism does not take place <a href="">if pasting shortcodes</a>.</li> <li> <a href="">Preserve alignment classes</a> during raw transformations (like pasting an old WordPress post).</li> <li> <a href="">Support</a> shortcode synonyms.</li> </ul> </li> <li>Allow <a href="">continued writing</a> when pressing down arrow at the end of a post.</li> <li>Mobile design: move block controls to the <a href="">bottom of a block</a>.</li> <li> <a href="">Allow</a> <a href="">deleting reusable blocks globally</a>.</li> <li>Display <a href="">description and type on the sidebar</a>. (Also replace BlockDescription component with a property.)</li> <li>New table of contents and document counts <a href="">design</a>.</li> <li>Add button to <a href="">copy the full document</a> quickly.</li> </ul> <h3>Design and editing experience</h3> <ul> <li>Expand inserter <a href="">to three columns</a> and a wider container.</li> <li>Allow <a href="">using down-arrow keys directly</a> to navigate when searching a block in the inserter.</li> <li> <a href="">Deselect images</a> in Gallery block when losing focus.</li> <li> <a href="">Include post title</a> in document outline feature.</li> <li> <a href="">Rework display of notices</a> and address various issues with overlaps.</li> <li>Added <a href="">keyboard shortcut</a> to toggle editor mode. Also displays the relevant keyboard combination next to the menu item.</li> <li>Improve <a href="">deleting empty paragraphs when backspacing</a> into a block that has no <em>merge</em> function (example, deleting a paragraph after an image).</li> <li>Improve the way <a href="">scroll-position is updated</a> when moving a block.</li> <li>Show block transformations <a href="">in ellipsis menu</a>.</li> <li>Add <a href="">drag and drop</a> support for cover image.</li> <li>Allow <a href="">transforming operations</a> between Heading and Cover Image blocks.</li> <li>Add <a href="">focus outline</a> for blocks that don't have focusable fields.</li> <li>Allow <a href="">both navigation orientations</a> in NavigableContainer.</li> <li>Improve the behavior of <a href="">focusing embed blocks</a>.</li> <li> <a href="">Unify</a> UI of audio and video blocks.</li> <li> <a href="">Show message</a> on the inserter when no blocks are found.</li> <li> <a href="">Show message</a> when no saved blocks are available.</li> <li>Do not show the publish panel when <a href="">updating / scheduling / submitting a post</a>.</li> <li>Update quote style <a href="">in front-end</a>.</li> <li> <a href="">Convert</a> text columns to a div using grid layout.</li> <li> <a href="">Update</a> button block CSS and add class to link.</li> <li> <a href="">Allow</a> text in Button block to wrap.</li> <li> <a href="">Prevent</a> useOnce blocks from being inserted using the convenient blocks shortcut menu.</li> <li>Show correct symbol (⌘ or Ctrl) depending on <a href="">system context</a>.</li> <li> <a href="">Rename</a> "insert" to "add" in the UI.</li> <li> <a href="">Clear block selection</a> when opening <a href="">sibling</a> or bottom inserter.</li> <li> <a href="">Always show the insertion point</a> when the inserter is opened.</li> <li> <a href="">Increase padding</a> on "more options" block toggle.</li> <li> <a href="">Rename</a> "Classic Text" to "Classic".</li> <li>Improve <a href="">display of dotted outline</a> around reusable blocks.</li> <li>Updated messages around <a href="">reusable blocks interactions</a>.<br> </li> <li> <a href="">Align both</a> the quote and the citation in the visual editor.</li> <li>Exit edit mode <a href="">when unfocusing</a> a reusable block.</li> <li>Set floated image width (when unresized) <a href="">in % value</a>. </li> </ul> <h3>Components</h3> <ul> <li>Add <a href="">withState higher-order component</a>.</li> <li>Initial introduction of <a href=""> module</a>. <ul> <li> <a href="">Restrict</a> the state access to the module registering the reducer only.</li> </ul> </li> <li>Refactor PostSchedule to make <a href="">Calendar and Clock</a> available as reusable components.</li> <li>Allow <a href="">overwriting colors</a> (defaults and theme provided) when consuming ColorPalette component.</li> <li>Switch orientation of popover component only if there is <a href="">more space for the new position</a>.</li> <li>New <a href="">ImagePlaceholder</a> reusable component that handles upload buttons and draggable areas for the block author.</li> </ul> <h3>Accessibility</h3> <ul> <li>Add <a href="">speak message</a> when a category is added.</li> <li> <a href="">Announce</a> notices to assertive technologies with speak.</li> <li> <a href="">Add aria-labels</a> to Code and HTML blocks.</li> <li> <a href="">Warn</a> if multiple h1 headings are being used.</li> <li>Add speak message and make "block settings" <a href="">button label dynamic</a>.</li> <li>Make excerpt functionality <a href="">more accessible</a>.</li> <li>Add <a href="">various headings</a> around editor areas for screen-readers.</li> <li> <a href="">Improve accessibility</a> of menu items in the main ellipsis menu.</li> <li>Add <a href="">missing tooltips</a> to icon buttons.</li> </ul> <h3>Mobile</h3> <ul> <li>Render toolbar always by the block <a href="">on mobile</a>.</li> <li>Improve performance of responsive calculations <a href="">using matchMedia</a>.</li> <li>Avoid shifts around toolbar and <a href="">scrolling issues on mobile</a>.</li> <li> <a href="">Improve</a> how the fixed-to-block toolbar looks on mobile. Change how the fixed position toolbars behave, making them sticky.</li> <li> <a href="">Prevent</a> Mobile Safari from zooming the entire page when you open the inserter.</li> </ul> <h3>Block API and Misc.</h3> <ul> <li> <a href="">Initial explorations</a> to migrate to server-registered blocks as part of raising awareness of available blocks.</li> <li>Move <a href="">supportHTML</a> property into the general "support" object.</li> <li> <a href="">Replace</a> getLatestPosts usage with withAPIData HOC.</li> <li>Convert all filters for components to <a href="">behave like HOCs</a> (withFilters).</li> <li>Replace flowRight usage <a href="">with compose</a> for HOCs.</li> <li>Apply filters <a href="">without</a> function wrappers.</li> <li>Improve Tags/Categories response size by <a href="">limiting the requested fields</a>.</li> <li> <a href="">Limit requested fields</a> in category feature of "latest posts".</li> <li>Request <a href="">only required post fields</a> in latest posts.</li> <li> <a href="">Replace</a> getCategories usage with withAPIData component.</li> <li>Don't show fields that are not used in media modal <a href="">when adding a featured image</a>.</li> <li> <a href="">Polish</a> inserter tabs so the focus style isn't clipped.</li> <li>Make inspector controls available <a href="">when categories are loading</a>.</li> <li> <a href="">Improve</a> overlay over meta-boxes during save operations.</li> <li>Hide excerpts panel <a href="">if not supported by the CPT</a>.</li> <li>Hide Taxonomies panel <a href="">if no taxonomy is available</a> for the current CPT.</li> <li>Hide <a href="">several other panels</a> when the CPT doesn't support them.</li> <li> <a href="">Use _.includes</a> to find available taxonomies. Mitigates non-schema-conforming taxonomy registrations.</li> <li> <a href="">Defer</a> applying filters for component until it is about to be mounted.</li> <li> <a href="">Prevent</a> "Add New" dropdown from overriding other plugin functionality.</li> <li> <a href="">Improve</a> paragraph block description.</li> <li> <a href="">Refactor</a> to simplify block toolbar rendering.</li> <li>Add <a href="">missing aligment classes</a> to cover image.</li> <li>Add <a href="">parent page dropdown</a> to page attributes panel.</li> <li>Allow <a href="">pressing ENTER</a> to change Reusable Block name.</li> <li> <a href="">Disable</a> HTML mode for reusable blocks.</li> <li> <a href="">Add support</a> for the "advanced" meta-box location.</li> <li>Make sure super admins <a href="">can publish</a> in any site of the network.</li> <li> <a href="">Rename theme support</a> for wide images to <code>align-wide</code>.</li> <li> <a href="">Move</a> selectors and actions files to the store folder.</li> <li>Center arrows of popovers <a href="">relative to their parent</a>.</li> <li>Use <a href="">fainter</a> disabled state.</li> <li> <a href="">Add breakpoint grid</a> to latest posts block and update color of date.</li> <li> <a href="">Move logic</a> for auto-generating the block class name to BlockEdit.</li> <li> <a href="">Respect</a> the "enter_title_here" hook.</li> <li> <a href="">Prevent</a> meta-box hooks from running multiple times.</li> <li>Don't set font-family <a href="">on pullquotes</a>.</li> <li>Remove <a href="">superfluous parentheses</a> from include statements.</li> <li>Remove <a href="">redundant CSS property</a> updates.</li> <li>Use "columns-x" class only for grid layout <a href="">in latest posts</a>.</li> <li> <a href="">Use flatMap</a> for mapping toolbar controls for a small performance gain.</li> <li> <a href="">Introduce</a> jest matchers for console object.</li> <li>Updated <a href="">various</a> npm packages; update <a href="">Jest</a>. Update <a href="">node-sass</a>. Update <a href="">WordPress packages</a>.</li> <li> <a href="">Switch</a> TinyMCE to unpkg.</li> <li>Reorganize handbook <a href="">docs navigation</a>.</li> <li>Added FAQ section for <a href="">meta-boxes compatibility</a>.</li> <li>Added initial <a href="">"templates" document</a>.</li> <li>Add documentation about <a href="">dynamic blocks</a>.</li> <li> <a href="">Updated</a> "outreach" docs.</li> <li>Improve <a href="">block-controls document</a>.</li> <li> <a href="">Display a hint</a> that files need to be built.</li> <li>Add WordPress JSDoc <a href="">ESLint configuration</a>.</li> <li> <a href="">Update licenses</a> in package.json &amp; composer.json to adhere to SPDX v3.0 specification.</li> <li>Add tests to cover <a href="">REQUEST_POST_UPDATE_SUCCESS</a> effect.</li> <li>Add tests for <a href="">color palette</a> component.</li> <li>Add tests for <a href="">Editable.getSettings</a> and <a href="">adaptFormatter</a>. </li> <li>Use newly published <a href="">jest-console package</a> in test setup.</li> <li>Update info about <a href="">test fixtures generation</a>.</li> <li> <a href="">Also style</a> <code>footer</code> in quote blocks to ensure backwards compatibility.</li> <li>Add a PHPUnit <a href="">Docker Container</a>.</li> </ul> <h3>Bug Fixes</h3> <ul> <li>Fix <a href="">wrong "return to editor" link</a> when comparing revisions</li> <li> <a href="">Fix</a> meta-box state detection in Safari.</li> <li> <a href="">Fix error</a> when pressing enter from a heading block.</li> <li> <a href="">Fix error</a> with merging lists into paragraphs.</li> <li>Fix revisions button <a href="">target area</a>.</li> <li> <a href="">Remove</a> <a href="">duplicated</a> <a href="">styles</a>.</li> <li>Fix <a href="">z-index rebase</a> issues.</li> <li>Fix <a href="">tag name warning</a> ordering in validation.</li> <li>Fix <a href="">text encoding</a> of titles in url-input.</li> <li>Fix <a href="">endless loop</a> in reusable blocks code.</li> <li>Fix edit button in Audio block using <a href="">invalid buttonProps</a> attribute.</li> <li>Fix block creation with <a href="">falsey default attribute</a>.</li> <li> <a href="">Fix</a> radio control checked property.</li> <li>Fix <a href="">styling issues</a> of blocks when they are used as part of a reusable block.</li> <li>Fix list <a href="">wrapping issues</a>.</li> <li> <a href="">Fix problem</a> when converting shortcodes due to sorting.</li> <li> <a href="">Fix issue</a> with time-picker not working.</li> <li>Fix <a href="">hide advanced settings</a> interaction in block menu.</li> <li> <a href="">Fix issue</a> with url input on images.</li> <li>Fix <a href="">style regression</a> in textual placeholder on cover image.</li> <li>Fix <a href="">return type hint</a> in <code>gutenberg_get_rest_link()</code>.</li> <li> <a href="">Fix bug</a> when changing number of Latests Posts rapidly was leading to some numbers being defunct.</li> <li>Fix <a href="">isInputField check and add tests</a>.</li> <li>Fix unsetting block alignment flagging block <a href="">as invalid</a>.</li> <li>Fix <a href="">CSS bleed</a> from admin-specific gallery styles.</li> <li>Fix <a href="">image handlers</a> at the top from being unclickable.</li> <li>Fix <a href="">unexpected keyboard navigations</a> behaviour on some nodes.</li> <li>Fix inserter position <a href="">for floated blocks</a>.</li> <li> <a href="">Fix bug</a> on empty cover image placeholder used on a saved block.</li> <li>Fix errors when <a href="">adding duplicate categories</a>.</li> <li>Fix broken custom color bubble in ColorPalette.</li> <li>Remove <a href="">visible commas</a> from page order settings panel.</li> </ul> <p class="o2-appended-tags"><a href="" class="tag"><span class="tag-prefix">#</span>core-editor</a>, <a href="" class="tag"><span class="tag-prefix">#</span>editor</a>, <a href="" class="tag"><span class="tag-prefix">#</span>gutenberg</a></p> text/html 2018-01-12T13:00:49+01:00 A Better Planet How to Know If a WordPress Project Will Harm or Help Your Business text/html 2018-01-12T10:33:09+01:00 A Better Planet Weekly WordPress News: 2017 In Review text/html 2018-01-12T01:55:27+01:00 A Better Planet Thirty-Four <p>I am very thankful and grateful to have made it through the past year, which was a really special one personally and professionally. I learned to open myself up more to relationships, continued aspiring to be clear and direct with <a href="">yellow arrows</a>, and worked alongside some incredible people to tackle the biggest and hardest problems, whether it was getting plugin and theme support on or the start and growth of <a href="">Gutenberg</a>.</p> <p>I read a <a href="">lot more books</a>, traveled 337k miles between 91 cities, spent more time in Texas, kept my health in a good balance with weight training, running, and a better diet including several months of 16/8 intermittent fasting, while still getting in some excellent meals with friends and loved ones (up to 58% of top 50 list). As I&#x27;m solidly in my mid-thirties now, and I want to continue to live by: all things in moderation. I consider what I do with WordPress and Automattic my life&#x27;s work, and hope to continue it as long as I&#x27;m useful. Some days I pinch myself.</p> <p>Thank you to all of you on this journey with me. I am imperfect but trying my darndest, and I&#x27;m lucky to have friends and colleagues doing the same.</p> <figure class="wp-block-image"><img src=";ssl=1" data-recalc-dims="1" /></figure> <p>Previously: <a href="">19</a>, <a href="">20</a>, <a href="">21</a>, <a href="">22</a>, <a href="">23</a>, <a href="">24</a>, <a href="">25</a>, <a href="">26</a>, <a href="">27</a>, <a href="">28</a>, <a href="">29</a>, <a href="">30</a>, <a href="">31</a>, <a href="">32</a>, and <a href="">33</a>.</p> text/html 2018-01-10T19:24:35+01:00 A Better Planet issue#340 text/html 2018-01-10T15:15:12+01:00 A Better Planet Abstract Classes, Part 1 – Abstracting Behavior <p>About a month ago, I wrote about one of the pillars of object-oriented programming (specifically being Abstraction). In the post, I defined abstraction as the following: Instead, we’re going to be abstracting ideas into their classes. And there’s a key idea here: A class should represent a noun. And though that’s still true, the idea of abstract classes is something that’s different in...</p> <p><a href="" rel="nofollow">Source</a></p> text/html 2018-01-10T11:00:00+01:00 A Better Planet How To Create A Table Of WooCommerce Products With WooCommerce Product Table text/html 2018-01-10T10:08:02+01:00 A Better Planet Create Stunning Responsive Tables In WordPress With wpDataTables text/html 2018-01-09T16:00:04+01:00 A Better Planet 2017 in review <p>As is my tradition at the end of each year, I&#8217;d like to share experiences, failures, and successes from 2017.</p> <p>Previous year in review posts: <a href="">2016</a>, <a href="">2015</a>, <a href="">2014</a>, <a href="">2013</a>, <a href="">2012.</a></p> <h3>Personal</h3> <p>From a personal perspective, there&#8217;s a number of things from 2017 I&#8217;d like to share, including accomplishments and challenges.</p> <p><strong>Moving to a new home in the Kansas Sandhills</strong></p> <p>Of everything that happened in 2017, there is one single highlight on the personal side of things: getting acreage outside of my city. In June, my wife and I noticed a property for sale three miles north of Hutchinson, KS, where we live. It had 11 acres comprised of woods, tall grass prairie, and plum thickets. Aside from a number of Cedar trees (an invasive species), the property was mostly pristine Kansas Sandhills that had never (to our knowledge) been farmed.</p> <p>I grew up unschooled on an apple orchard my parents operated and the property included about 100 acres of trees and open prairie. I have longed to be back in the country away from the city ever since I moved away from my parents&#8217; home. I consider my time growing up, free to be a wild child, some of the most important and formative years of my life and I want my children to have the same freedom and opportunities to explore and learn as I did. I hope for them to develop a deep love for nature through being immersed in it every day as I was.</p> <p>After thinking about it for a week or two, we decided to jump on the chance of getting our own small plot of land. We put an offer on the property, which included a good house, and had it accepted less than 72 hours later. The next month was a whirlwind of getting everything in order, including selling our previous home. We had anticipated the possibility of it taking months, or even a year, to sell our house but were pleasantly surprised to have a solid offer on it in less than 10 days, which we accepted.</p> <p>Moving to our new home was not free of challenges, especially as far as <a href="">internet access</a> was concerned, but after getting settled in everyone was thrilled. No place has ever felt more like home than where we are now and I&#8217;m eternally grateful to have had the opportunities and good fortune necessary to get here.</p> <a href=''><img width="270" height="360" src="" class="attachment-thumbnail size-thumbnail" alt="" srcset=" 270w, 225w, 768w" sizes="(max-width: 270px) 100vw, 270px" data-attachment-id="99203" data-permalink="" data-orig-file="" data-orig-size="3024,4032" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="Backyard woods" data-image-description="" data-medium-file="" data-large-file="" /></a> <a href=''><img width="270" height="360" src="" class="attachment-thumbnail size-thumbnail" alt="" srcset=" 270w, 225w, 768w" sizes="(max-width: 270px) 100vw, 270px" data-attachment-id="99202" data-permalink="" data-orig-file="" data-orig-size="3024,4032" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="Backyard woods" data-image-description="" data-medium-file="" data-large-file="" /></a> <a href=''><img width="270" height="360" src="" class="attachment-thumbnail size-thumbnail" alt="" srcset=" 270w, 225w, 768w" sizes="(max-width: 270px) 100vw, 270px" data-attachment-id="99199" data-permalink="" data-orig-file="" data-orig-size="3024,4032" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="Trails I have cut through the property" data-image-description="" data-medium-file="" data-large-file="" /></a> <a href=''><img width="270" height="360" src="" class="attachment-thumbnail size-thumbnail" alt="" srcset=" 270w, 225w, 768w" sizes="(max-width: 270px) 100vw, 270px" data-attachment-id="99200" data-permalink="" data-orig-file="" data-orig-size="3024,4032" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="Woods and brush" data-image-description="" data-medium-file="" data-large-file="" /></a> <a href=''><img width="270" height="360" src="" class="attachment-thumbnail size-thumbnail" alt="" srcset=" 270w, 225w, 768w" sizes="(max-width: 270px) 100vw, 270px" data-attachment-id="99198" data-permalink="" data-orig-file="" data-orig-size="3024,4032" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="Mushrooms in our backyard" data-image-description="" data-medium-file="" data-large-file="" /></a> <a href=''><img width="480" height="360" src="" class="attachment-thumbnail size-thumbnail" alt="" srcset=" 480w, 300w, 768w, 1024w" sizes="(max-width: 480px) 100vw, 480px" data-attachment-id="99197" data-permalink="" data-orig-file="" data-orig-size="4032,3024" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="Evening in the KS Sandhills" data-image-description="" data-medium-file="" data-large-file="" /></a> <a href=''><img width="480" height="360" src="" class="attachment-thumbnail size-thumbnail" alt="" srcset=" 480w, 300w, 768w, 1024w" sizes="(max-width: 480px) 100vw, 480px" data-attachment-id="99196" data-permalink="" data-orig-file="" data-orig-size="4032,3024" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="Sunset from our new home" data-image-description="" data-medium-file="" data-large-file="" /></a> <p><strong>Building greenspace</strong></p> <p>Along with achieving a long-term goal of moving back into a rural setting, 2017 gave me an opportunity to move forward with another of my hopefuls: purchasing land to convert into greenspace and prevent the complete overtaking of concrete that was inevitable for the area. Shortly after completing our new home purchase, I also finalized the purchase of a vacant, 3 acre lot in our city for the sole purpose of creating a nature area.</p> <p>I wrote about this briefly on my <a href="">personal blog</a>.</p> <p>There is still a lot of work to do on it, which I&#8217;ll be beginning later this winter and I look forward to including updates on my progress in followup year-end-review posts.</p> <p>Part of preparing the property for tree planting and other green developments involves keeping it mowed. During the spring and summer I will be mowing it every other week and it takes me about 2.5 hours to finish. I&#8217;ve found it as a great opportunity to sit (on a mower) and think for 2-3 hours. It&#8217;s actually a rare opportunity, the option to sit and think for extended periods of time. At first I thought I would want to hire someone to mow it for me but I&#8217;ve found the time to myself and my thoughts to be exceptionally valuable.</p> <p>Between spending long periods of time on my bike and mowing the park, I&#8217;ve found the time with just my thoughts to be some of my most productive for working through hard challenges. Originally I thought I would want to get rid of any and all &#8220;dead&#8221; time, now I cherish it.</p> <p><strong>Re-discovering my role within my own company</strong></p> <p>On at least four separate occasions I have sat down to write a blog post on how I have lost my role as the lead developer of my WordPress products. As I have continually brought on immensely talented individuals to join my team, I have successfully hired myself out of my primary job: writing code.</p> <p>This was an entirely intentional transition that, all things considered, worked spectacularly. It has allowed me to step wholly away from the development of our products and focus instead of other areas of the business. What I had not anticipated, however, is the effect this move would have on my personal motivation.</p> <p>I so successfully hired myself out of my job that I often found myself unsure of what I should do. I frequently found myself sitting in my office monotonously going from easy task to easy task while trying to find my purpose again.</p> <p>As a solo founder, the beautiful thing about bringing highly skilled team members on board is that you are then given the flexibility to put your own focus and efforts where they are most needed or most valuable. The downside, however, is that you also tend to find that you are no longer <em>needed</em> by your team to complete the task you used to be solely responsible for.</p> <p>My presence is no longer needed for an update to one of our products to be completed and released. I am no longer needed for customer support. I am no longer needed for our marketing efforts. It is no longer necessary for me to review every line of code that&#8217;s written. Most of the company administration tasks no longer depend entirely on me. Obviously my presence and focus on projects and around the company is still immensely valuable, but the profound effect that a lack of <em>need </em>has on a solo founder&#8217;s motivation and drive can be intense.</p> <p>I have always been <em>really </em>good at taking care of things that need to be done, whether I enjoy the specific task or not. I was completely caught off guard by how much not being directly needed was able to undercut my motivation and drive to continue pushing forward.</p> <p>Getting the company to a place where I am no longer needed is one of my best accomplishments as it takes care of a huge problem that many solo founder companies face: the bus factor. If I am struck by a bus tomorrow, or disabled in any way, I can rest assured that the company will continue to succeed, and that has been one of my long term goals, one which I&#8217;m thrilled to have succeeded at.</p> <p>I simply did not anticipate the effect that protecting against the bus factor would have on my personal motivation.</p> <p>I never did succeed in finishing my blog post on the subject of losing my role as the lead developer, but I did over time manage to rediscover my purpose with the company. That allowed me to find my source of motivation again and gave me a new drive to succeed and push us further and further forward.</p> <p>The last 12 months have been an incredibly interesting journey. I never thought I&#8217;d be struggling to find my motivation when the company was thriving better than ever before.</p> <p>The mind is a fascinating beast.</p> <h3>Team growth</h3> <p>When I first began building my company I had no intention of ever having more than 3-5 employees. Growth, though, has a habit of adjusting your plans in ways that may not be expected. In 2017 four new team members came on board and several moved from part time contractors to full time.</p> <p>Ginger Coolidge joined to help with AffiliateWP support and documentation.</p> <p>Ashley Gibson moved from a part time contractor to full time team member to work on Restrict Content Pro development.</p> <p>Kyle Maurer moved from a part time contractor to a full time team member to work on Easy Digital downloads support and marketing.</p> <p>Tyler Lau joined to help with billing support and social outreach.</p> <p>Phil Johnston, previously a part time contractor, joined us as a full time team member to work on Easy Digital Downloads development and support.</p> <p>Keri Jacoby joined to help with Easy Digital Downloads support and internal company documentation.</p> <p>John Jacoby joined to help with development across all products and to help re-launch the next leg to our product table, Sugar Calendar.</p> <p>We also said goodbye to several teammates. Between the ones that left and the new ones that joined, our team size remained about the same as 2016. 13-16 between full time employees and part time contractors.</p> <p>The Sandhills Development team currently includes thirteen full time, salaried members and three active full to part time contractors.</p> <figure id="attachment_99220" style="max-width: 592px" class="wp-caption alignnone"><img data-attachment-id="99220" data-permalink="" data-orig-file="" data-orig-size="2235,1635" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;1.8&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 7&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1510153531&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;3.99&quot;,&quot;iso&quot;:&quot;20&quot;,&quot;shutter_speed&quot;:&quot;0.0035971223021583&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="Sandhills Development Team Photo &#8211; November 2017" data-image-description="" data-medium-file="" data-large-file="" class="alignnone size-large wp-image-99220" src="" alt="" width="592" height="433" srcset=" 1024w, 480w, 300w, 768w" sizes="(max-width: 592px) 100vw, 592px" /><figcaption class="wp-caption-text">Team photo from our company meetup in Keystone, Colorado</figcaption></figure> <p>My team is the core of the company. Without them we are nothing and for them I am eternally grateful.</p> <h3>Team focused decisions</h3> <p>Throughout the year, and at the tail end of 2016, my team and I made a number of strategic decisions that all had a singular core goal: doing what is best for the team and the company.</p> <p>Depending on who you ask, these decisions were supported, loved, applauded, chastised, and hated by many. I have been told quite a few times this past year that I am making excellent decisions that really convey the strength of the team I&#8217;ve built and of my leadership skills. I have also been told by numerous individuals that I am the scum of the earth, I am ruining the open source nature of WordPress, and my business will fail.</p> <p>As anyone that continues to work online does, I have grown a pretty thick skin and am not terribly phased by people calling me a greedy criminal or a despicable person. Each time it happens I try to pause and do my best to understand why someone has this opinion of me. Are they right? Is there truth to what they&#8217;ve said about me? Regardless of how right or wrong anyone is, being the target of such accusations has made me very reflective and cognizant of the choices I make for my company.</p> <p>Perhaps the most important lesson I&#8217;ve learned from the choices we have made, some of which I will detail below, is that it&#8217;s critically important for the health and wellness of my team to be put first on the list of priorities. This is for a very simple fact: if we are not well nor happy in life or work, we will never excel at making our customers happy. This understanding has become the pivot on which all company decisions are now based.</p> <p>Is it good for us? If not, we do our best to find an option or route that is. Decisions that promote better health and wellness for the team automatically carry over to the promotion of better experiences for our customers.</p> <h3>Price changes</h3> <p>There were several adjustments to our product pricing in 2017, and one in 2016 that had its effects realized in 2017.</p> <ul> <li>Easy Digital Downloads prices increased significantly in December, 2016</li> <li>AffiliateWP prices increased in March, 2017</li> <li>Restrict Content Pro prices increased in March, 2017</li> <li>Renewal discounts removed from AffiliateWP in March, 2017</li> <li>Renewal discounts removed from Restrict Content Pro in March 2017</li> <li>Renewal discounts removed from Easy Digital Downloads in September, 2017</li> </ul> <p>The price increase for Easy Digital Downloads was easily the most contentious of the decisions made. While most people supported the reasons for the change, there was a very vocal minority that vehemently <em>hated </em>us for our decision. I am a firm believer that it is not necessary for the vast majority of companies to have any justification for the prices they charge.</p> <p>Whatever price chosen is perfectly acceptable, even if some argue the price is extreme. The reason for this is simple: free markets permit companies and individuals to make their own choices on the prices they charge. Beyond that, the &#8220;correctness&#8221; of the price can be gauged by how customers respond to it and how it affects the sustainability of the company. Too high and the company fails to attract enough customers; too low and the company fails to generate enough revenue. So long as both needs are met, the chosen price works.</p> <p>A number of individuals made it very clear to us that they felt we&#8217;d made a terrible decision with our Easy Digital Downloads price increase and, in no uncertain terms, expressed how our mistake would be clearly realized in our financial failure. I have no wish to discredit or demean their opinions, but I will say this: increasing our Easy Digital Downloads prices is one of the single <em>best </em>decisions we have ever made. It has contributed almost single handedly to a complete turnaround of Easy Digital Downloads&#8217; future. In previous years I have expressed how we felt Easy Digital Downloads was a sinking ship. Today I&#8217;m happy to say it is thriving and in a better position than ever. This turn around is something that should greatly reassure Easy Digital Downloads users, even those that were unhappy with the price change, as it is what will permit us to continue building, maintaining, and improving the platform.</p> <p>The price increases for AffiliateWP and Restrict Content Pro were also very successful in allowing us to operate more freely and have given us a lot more ability to invest back into the further development of the products and company.</p> <h3>Closing the EDD marketplace</h3> <p>In September, 2017, my team and I made the decision to close down the extensions marketplace we operated for Easy Digital Downloads. This was the marketplace that allowed 3rd party vendors to sell their EDD extensions through our website. We had been working on slowly reducing the number of 3rd party plugins that we offered through the site over several years already but it was going to take a considerable amount of time before the process was completed at the pace we were going.</p> <p>While working through the logistics of introducing some price and sales model changes for EDD, we encountered a number of challenges that were a direct result of our site selling 3rd party extensions. It had already been decided that the changes we wanted to make were really important to the longevity of Easy Digital Downloads as a platform and as a business, so we began looking at the feasibility of discontinuing our marketplace and removing all 3rd party extensions.</p> <p>After a few weeks of analyzing, thinking, and talking, we quickly discovered that shuttering the marketplace was pretty feasible and would likely not result in too much discontent. Doing so, however, would have significantly positive affects on the future of Easy Digital Downloads.</p> <p>In order to fully close the marketplace, we needed to get rid of, in one way or another, every plugin that was owned by a 3rd party developer. Getting rid of them really just meant that the plugins needed to be removed from the site so that only our own extensions remained. We decided that one of three things would happen to each of the 3rd party plugins:</p> <ol> <li>It could be transferred off-site and distributed through whatever mechanism the author chose so long as it was not our site.</li> <li>It could be discontinued entirely.</li> <li>It could be acquired by Easy Digital Downloads and left as-is on the site.</li> </ol> <p>While our site did not have nearly as many extensions for sale at the time as it once had, there were still a large number of plugins to be managed. In total, 55 plugins needed to be moved off, discontinued, or acquired.</p> <p>Of the 55 plugins, we chose 37 that we wished to acquire and take over full ownership of. These were plugins built wholly or in part by 3rd party developers that had performed well or had strong potential for the future. For these plugins we determined what we felt was a fair price and then we reached out to each of the owners and made them acquitision offers. The vast majority of authors were thrilled with the prospect of selling their plugins and quickly accepted our offers.</p> <p>18 of the 55 plugins were determined to be ones that we no longer wished to sell on our site, so these were either discontinued or moved to a place of the author&#8217;s choosing, their own site or a marketplace such as CodeCanyon.</p> <p>Once we decided we were going to acquire the plugins and close down our marketplace, it took just about four weeks to complete the entire transition. After all was said and done, we spent $145,000 purchasing extensions. All extension purchases were paid for in cash with the exception of one, which was put onto a payment plan spanning four months. This was a move made possible by our price increase at the end of 2016. If we had not done that, we&#8217;d never have been able to afford purchasing so many plugins in such a short period of time.</p> <p>A number of very interesting things happened as a result of our choice to acquire all extensions and close down our marketplace.</p> <p>First, there was a palpable sense of relief and satisfaction among the team. Working closely with 3rd party developers and selling their products through your own site can have mixed experiences, sometimes good and sometimes bad. Most of the developers we worked with were great. They were responsive to bug fixes, welcoming of feature requests, and all around just good to work with. Others were less good for various reasons but regardless of how good someone is to work with, there are inherent challenges that come with working alongside outside developers. By acquiring all of the plugins, we removed all of the challenges that the 3rd party plugins posed to us, thus eliminating significant sources of stress and tension for the team. The effect that this had on everyone was very noticeable in the team&#8217;s moods and focus.</p> <p>Second, by removing 3rd party plugins, we eliminated a significant monthly expense. Each month we paid out between $8,000 and $15,000 in commissions to 3rd party developers. As soon as there were no more 3rd party commissions to track, all of that revenue started going straight back into the company instead of being paid out, which then provided extra flexibility and safety nets. Through the savings of having significantly lower expenses we easily have the opportunity to hire more development resources and invest back into the improvement of the platform.</p> <p>Third, we reduced our support load. Some of the extensions that were acquired had had long-term issues that were not being taken care of adequately. By taking over control of the plugins we were then able to immediately push out a large number of updates to extensions to resolve some long-standing bugs and problems. We were also able to further reduce support loads by discontinuing some of the plugins that were low sellers or simply not worth the time and effort it took to maintain them.</p> <p>Overall, I would consider the decision to close our marketplace and acquire all of the extensions to be one of the single best decisions we&#8217;ve made in the last few years.</p> <h3>Firing</h3> <p>Twice in 2017 I found myself in a position where I needed to fire a team member. Bluntly, those were two of the hardest experiences in my professional career. Hiring the right people is hard, but I&#8217;ve come to find that firing people is perhaps harder.</p> <p>Going through the mental exercise of firing someone is <em>exhausting</em>. You worry about how the person will react. Will they be angry, understanding, sad, unmoved? You worry about whether they will be okay in the coming months. Do they have funds set aside to get them through a period of unemployment? Do they have something else lined up? You worry about how the rest of the team will react to the news of one of their team members leaving. Will that make the others worry for the safety of their own positions? Will it cause rifts or resentment within the team? You worry about the company&#8217;s performance. Will firing this person harm your ability to deliver on promises to customers? You worry about what they will think of you. Will this person hate you for firing them? You worry about their family. Do they have children to support and will they be able to provide for their kids when their paycheck is cut off?</p> <p>Firing someone you&#8217;ve worked with for multiple years is an absolute whirlwind of emotions. Nothing about it is easy. The objective side of the brain knows the choice you&#8217;ve made is the right one, but the emotional side struggles. It is obvious when a person is not performing, is not meeting quality requirements, is a poor fit for the team culture, and other issues, but those do not make it any easier to overwrite the human element when you <em>care </em>for the person and their wellbeing.</p> <p>Realistically, I know I will have to fire someone again in the future, and probably more than one, but I dread the prospect of it. Having gone through the experience twice in a year has made me much more cautious about the hiring process and how we vet possible candidates. No system will ever be perfect but we will work harder to ensure those people we do hire are the right fit.</p> <h3>Revenue</h3> <p>2017 treated us well, largely in part to the strategic decisions we made throughout the year and earlier in 2016. Overall we saw a 53% increase over 2016 with a total of $2,268,000.00 in revenue.</p> <p>Our 2017 revenue can be broken down as such:</p> <ul> <li>Restrict Content Pro: $333,000.00</li> <li>AffiliateWP: $901,000.00</li> <li>Easy Digital Downloads: $946,000.00</li> <li>Other: $94,700.00</li> </ul> <p>Our revenue increase came from three primary factors:</p> <ol> <li>Raising our prices</li> <li>Automatic license renewals</li> <li>Natural growth</li> </ol> <p>The most interesting of these three is the automatic license renewals, so let&#8217;s take a deeper look at those stats.</p> <h3>Revenue from automatic license renewals</h3> <p>In the first quarter of 2016 we implemented automatic renewals for license purchases. This meant all license keys purchased automatically renewed with a payment on the annual anniversary of the purchase date. As this change was made in 2016, it wasn&#8217;t until January and March 2017 that we began to see the effects of it.</p> <p>In my 2016 review post, I said that enabling automatic renewals was &#8220;one of the most important changes we made for the sustainability of the company&#8221;. Today I am completely confident that turned out to be true.</p> <p>Let&#8217;s take a quick look at our license renewal stats for 2017.</p> <p><strong>Easy Digital Downloads</strong></p> <p>In 2017 Easy Digital Downloads saw $309,000.00 in revenue from license renewals. 2016, in contrast, only had $139,850.00 in revenue from license renewals, so we increased our renewal revenue by more than $150,000.00. And that revenue increase was not from an increased marketing effort nor natural growth, it was simply due to the difference between automatic and manual license renewals. Here&#8217;s a graph that illustrates the effect automatic renewals had very clearly:</p> <p><img data-attachment-id="99401" data-permalink="" data-orig-file="" data-orig-size="1664,417" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Screenshot from 2018-01-04 15-50-19" data-image-description="" data-medium-file="" data-large-file="" class="alignnone size-full wp-image-99401" src="" alt="Screenshot from 2018-01-04 15-50-19" width="1664" height="417" srcset=" 1664w, 480w, 300w, 768w, 1024w" sizes="(max-width: 1664px) 100vw, 1664px" /></p> <p>Look at the change between March and April. The first automatic renewals began being processed at the end of March, 2017. It more than doubled the number of renewals we see every month.</p> <p>Out of the $309,000.00 in renewal revenue, $208,000.00 came from automatic renewals. The rest was from manual license renewals for customers that did not have automatically renewing subscriptions.</p> <p><strong>AffiliateWP</strong></p> <p>Similar to EDD, AffiliateWP saw an increase in monthly renewal revenue as soon as automatic renewals kicked in, which happened in the second half of January, 2017.</p> <p>In 2017, AffiliateWP brought in $201,000.00 in revenue from license renewals. Of that number, $181,500.00 came from automatic renewals. In contrast, 2016 had just $62,700.00 in license renewal revenue, so automatic renewals increased our renewal revenue nearly 3x by itself.</p> <p>A graph showing renewal growth from Jan 2016 to December 2017:</p> <p><img data-attachment-id="99433" data-permalink="" data-orig-file="" data-orig-size="1660,414" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Screenshot from 2018-01-04 16-37-03" data-image-description="" data-medium-file="" data-large-file="" class="alignnone size-full wp-image-99433" src="" alt="Screenshot from 2018-01-04 16-37-03" width="1660" height="414" srcset=" 1660w, 480w, 300w, 768w, 1024w" sizes="(max-width: 1660px) 100vw, 1660px" /></p> <p><strong>Restrict Content Pro</strong></p> <p>Like Easy Digital Downloads and AffiliateWP, Restrict Content Pro also saw a nice boost in revenue due to automatic renewals.</p> <p>In 2017, we brought in $59,750.00 from license renewals. Of that, $44,780.00 was from automatic renewals. This is a pretty significant increase from 2016 where we saw just $23,700.00 in renewals.</p> <p>Here&#8217;s a visual of our renewals over 2016 and 2017:</p> <p><img data-attachment-id="99449" data-permalink="" data-orig-file="" data-orig-size="1660,415" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Screenshot from 2018-01-04 20-18-52" data-image-description="" data-medium-file="" data-large-file="" class="alignnone size-full wp-image-99449" src="" alt="Screenshot from 2018-01-04 20-18-52" width="1660" height="415" srcset=" 1660w, 480w, 300w, 768w, 1024w" sizes="(max-width: 1660px) 100vw, 1660px" /></p> <p>Enabling auto renewals is easily one of the best financial decisions we have made.</p> <h3><strong>SellBird</strong></h3> <p>A project we&#8217;ve slowly worked on over the last two years, <a href="" target="_blank" rel="noopener">SellBird</a> is beginning to take shape. We&#8217;re still a few months have having an MVP ready but it is getting closer.</p> <p>I&#8217;ll have more to share on it in a couple of months but for now, here&#8217;s a screenshot from one of the dashboard views.</p> <p><img data-attachment-id="99264" data-permalink="" data-orig-file="" data-orig-size="1403,616" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-medium-file="" data-large-file="" class="alignnone size-full wp-image-99264" src="" alt="image.png" width="1403" height="616" srcset=" 1403w, 480w, 300w, 768w, 1024w" sizes="(max-width: 1403px) 100vw, 1403px" /></p> <p>Follow @SellBirdHQ for updates.</p> <h3><strong>Sugar Calendar</strong></h3> <p>One of the earlier commercial plugins I launched, <a href="">Sugar Calendar</a> was built to be a simple, lightweight event calendar plugin for WordPress. While never a major success from a revenue stand point, the plugin has done decently well over five+ years.</p> <p>Much like Restrict Content Pro, I&#8217;ve wanted to more fully develop the plugin into a full-fledged product for quite some time but had not managed to do that on my own.</p> <p>Read about the effort to re-build Restrict Content Pro <a href="">here</a>.</p> <p>I had originally partnered with another developer to try and move the plugin forward. That effort and partnership, unfortunately, fell through and did not produce nearly the results I had hoped for. It failed due to a number of reasons and no single person carries the blame for the failure.</p> <p>In October, earlier this year, I decided it was time to restart the efforts to build out Sugar Calendar into a full-fledged product. To do this, I partnered again with another developer to aid in the efforts. This time I chose <a href="">John Jacoby</a>, whom began the process of modernizing the codebase and expanding the feature set of Sugar Calendar. At first it was decided it would be a possibly short term experiment to see how it worked. By early November, however, we&#8217;d already decided it was meant to be. JJJ joined my team as a full time member in December to continue his work on Sugar Calendar and other projects.</p> <p>When the new version launches, it will see a price change and a new series of add-ons introduced. All current customers will have their license keys migrated to the new website and those customers that have purchased multi site versions will see complimentary access to new add-ons granted to their account.</p> <p>There is still a lot of work to be completed before we&#8217;re ready to launch the new Sugar Calendar but we&#8217;re getting closer and closer each day. You can follow <a href="">@sugarcalendar</a> on Twitter to stay updated.</p> <h3>Achieving sustainable profitability</h3> <p>There several things I am deeply proud of with my company.</p> <ol> <li>We have never missed nor skimped on payroll due to financial inflexibility</li> <li>We are 100% self-funded and have never taken on loans nor any other kind of financing out of necessity</li> <li>We have always been profitable</li> </ol> <p>Those three facts mean a <em>lot </em>to me and continue to be pillars of every decision I make for the company.</p> <p>I say that we&#8217;ve always been profitable, but that doesn&#8217;t mean we&#8217;ve always had comfortable profit levels. We&#8217;ve had a couple of years where our profit was only a few thousand dollars. That means very, very little when your monthly expenses surpass $100,000.</p> <p>The choices that we made in 2016 and 2017 were aimed at moving us towards a number of goals, but one of the most important was targeting sustainable profitability.</p> <p>What do I mean by sustainable profitability? I view it as a level of monthly and yearly profit that allows a company to:</p> <ol> <li>Be financially stable and able to weather downturns in revenue</li> <li>Have adequate resources to make strategic investments</li> <li>Have the ability to bring on new team members to fill needed roles at <em>any </em>time</li> <li>Be financially able to pay all employees greater than a living wage</li> <li>Be financially stable enough to allow less liked or neglected revenue streams to be removed</li> <li>Have adequate cash reserves to permit the company to survive in the case of catastrophe</li> </ol> <p>In 2017 we achieved sustainable profitability. I do not know for certain that we&#8217;ll maintain it throughout 2018 and beyond but I am confident we are on the right path to long term sustainable profitability.</p> <h3>Insulating the company</h3> <p>Our greatest strengths are our greatest weaknesses.</p> <p>I&#8217;ve spent a lot of time with nothing but my thoughts in the last two years and these periods have led me down a number of mind paths, many that went nowhere in particular, but there is one that I kept coming back to.</p> <p><em>What do I want in the next 25 years?</em></p> <p>As I&#8217;ve gone through the various ups and downs of the previous years, I&#8217;ve thought on numerous occasions that it might be time for me to sell my company and move on. The prospect of this really bothered me though. I knew that if I were to sell my company I could likely walk away very comfortably and I don&#8217;t doubt I&#8217;d be able to find a new owner that would continue to take good care of it, but I couldn&#8217;t get past the prospect of leaving my team.</p> <p>The people that comprise my team are some of the best individuals I&#8217;ve ever met and many go beyond just teammates. they&#8217;re lifetime friends that I hope to always stay connected with.</p> <p>The thought of selling my company has always ended with my team. Many of them have told me that if I go, they go, and that they&#8217;d happily follow me onto the next thing, whatever it might be.</p> <p>Coming to understand the quality of the team I&#8217;ve built helped me to find the answer to my question: <em>what do I want in the next 25 years?</em></p> <p>I want to build a lifetime company.</p> <p>I don&#8217;t want to spend 8 years building software products, sell it, and move on. As common as it is to hear of founders doing that, it&#8217;s not for me.</p> <p>I first realized that I wanted to build a lifetime company after the owner of a local business I had hired to do a project told me their average employee tenure was more than 25 years. It astounded me that any company today could hold onto employees for so long. I want that! I want to know that we have so successfully taken care of our people that they never want to leave nor need to.</p> <p>One of the first steps in building the lifetime company is insulating us from our biggest weakness: me.</p> <p>I have worked hard in the last few years to remove dependency on me for the company&#8217;s operations. The next step was to protect against myself for decision making and succession.</p> <p>If I fall off a cliff tomorrow, I want to know that my company and my team are going to be okay. Doing that meant I needed to no longer go it alone; I needed others to have clear roles in my succession.</p> <p>In September, 2017, I made four of my team members full partners by giving them a combined 25% of my company.</p> <p>This move helps to insulate the company from me in the case that I become unfit to run things. It also allows me to reward Sean, Chris, Andrew, and John in a small way for the important role they have all played in getting us to where we are today.</p> <h3>Brewery development</h3> <p>At the end of 2016 I declared one of my 2017 goals was to brew my first batch of commercial beer for <a href="">Sandhills Brewing</a>, a passion project my brother and I have been working on. We didn&#8217;t quite get there but we got very close.</p> <p>For those that do not know, my brother and I have been working on opening a commercial brewery as a side project for the last several years. That work is getting closer and closer to having something to show for it.</p> <p>A few highlights from our brewery development:</p> <ul> <li>We helped another local brewery brew a small test batch using our equipment. This test batch was sold through their brewery and was well received.</li> <li>We partnered with the same local brewery, <a href="">Three Rings Brewing</a>, in order to provide them with a barrel aging warehouse and our own expertise (my brother and I&#8217;s) with barrel aging beers.</li> <li>We completed the majority of the build phase for our brewery.</li> <li>We submitted our licensing application to the federal government and hope to receive our approval in early 2018.</li> </ul> <p>Once we have had our application approved and have completed a few smaller, easier local and state license applications, we&#8217;ll be able to begin brewing commercially. At this time we expect that to happen sometime during the first quarter of 2018. If all goes well, we&#8217;ll sell our first 100% independently produced beer by summer 2018.</p> <figure id="attachment_99222" style="max-width: 592px" class="wp-caption alignnone"><a href=""><img data-attachment-id="99222" data-permalink="" data-orig-file="" data-orig-size="3024,4032" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="Barrel aged Flanders Red" data-image-description="" data-medium-file="" data-large-file="" class="size-large wp-image-99222" src="" alt="" width="592" height="789" srcset=" 768w, 270w, 225w" sizes="(max-width: 592px) 100vw, 592px" /></a><figcaption class="wp-caption-text">A nice example of the beer to be brewed by Sandhills Brewing</figcaption></figure> <p>It&#8217;s been a great year and I really look forward to what 2018 has in store for us.</p> <p>Cheers!</p> text/html 2018-01-06T16:55:40+01:00 A Better Planet Vulnerability in phpMyAdmin Requires Immediate Patch A text/html 2018-01-05T23:32:12+01:00 A Better Planet Zac Gordon Launches Gutenberg Development Course, Includes More Than 30 Videos <p><a href="">Zac Gordon</a>, a technology educator, has released his <a href="">Gutenberg Development course</a>. The course is $79 but is available for $49 using the coupon code <strong>earlyadopter</strong>.</p> <p>Gordon says the course is aimed at developers who want to update their themes, plugins, shortcodes, etc. to work with Gutenberg and take advantage of blocks. <br/></p> <p>&quot;There is also some content I am adding geared towards theme developers, but honestly there is not much to that,&quot; Gordon said. &quot;I think plugin developers will fill a lot of the needs of theme developers and help prevent them from having to build too many custom blocks. </p> <p>&quot;Also, in my opinion, blocks belong in plugins, so maybe some theme developers will migrate into plugin development through working with blocks.&quot;</p> <p>The course includes more than 30 videos, a dozen example blocks, access to support forums, and the community run Slack channel. It covers how Gutenberg works, how to extend and customize it, and using a modern JavaScript development approach.</p> <p>Gordon learned quite a few things about Gutenberg while creating the course. &quot;Specifically, I learned Gutenberg is really just React under the hood, and then the more traditional WordPress PHP under that,&quot; he said.</p> <p>&quot;Digging deeper into the source attributes system that Gutenberg has to keep track of dynamic data was interesting. Also, there are far more possibilities with server-side code hooking into blocks than I thought ahead of time. I also came to the opinion that I&#x27;m not sure why someone would build a block in anything other than React, so I&#x27;m interested to see what common practices evolve.&quot;</p> <p>Creating the course has allowed Gordon to dive deep into Gutenberg. So does he think it&#x27;s a suitable replacement for the editor? <br/></p> <p>&quot;I think most users will feel Gutenberg is an improvement of the editing experience,&quot; he responded. &quot;We are definitely moving in the right direction. Ironically perhaps, I still like site and page builder plugins when editing or creating content in WordPress.&quot;</p> <p>Gutenberg is still in a high state of flux with rapid development. According to Gordon, if there is one thing developers should know about Gutenberg, it&#x27;s that learning JavaScript deeply will pay off.<br/></p> <p>&quot;Matt Mullenweg was right when he said &#x27;<a href="">Learn JavaScript Deeply</a>&#x27;,&quot; Gordon said. &quot;In terms of Gutenberg, that means a foundation with ES+, JSX/React, and webpack/babel/etc. You can learn as you go, but we are definitely moving from the time of learning to a time of doing.&quot;</p> text/html 2018-01-05T12:00:32+01:00 A Better Planet How to Implement a Paywall on Your WordPress Site text/html 2018-01-03T11:04:00+01:00 A Better Planet BobWP Shop Emerges as a Second Site. WooCommerce Follows It. - BobWP <p>For sometime we have had a plugin shop here where we shared our affiliate links to premium WordPress plugins we recommend. Now you can find this on a new site called</p><Img align="left" border="0" height="1" width="1" alt="" style="border:0;float:left;margin:0;padding:0;width:1px!important;height:1px!important;" hspace="0" src=""> text/html 2018-01-03T10:00:24+01:00 A Better Planet The Month in WordPress: December 2017 <p>Activity slowed down in December in the WordPress community, particularly in the last two weeks. However, the month started off with a big event and work pushed forward in a number of key areas of the project. Read on to find out more about what transpired in the WordPress community as 2017 came to a close.</p> <hr class="wp-block-separator" /> <h2>WordCamp US 2017 Brings the Community Together</h2> <p>The latest edition of <a href="">WordCamp US</a> took place last month in Nashville on December 1-3. The event brought together over 1,400 WordPress enthusiasts from around the world, fostering a deeper, more engaged global community.</p> <p>While attending a WordCamp is always a unique experience, you can catch up on <a href="">the sessions on</a> and look through <a href="">the event photos on Facebook</a> to get a feel for how it all happened. Of course, <a href="">Matt Mullenweg’s State of the Word</a> talk is always one of the highlights at this event.</p> <p>The next WordCamp US will be held in Nashville again in 2018, but if you would like to see it hosted in your city in 2019 and 2020, then <a href="">you have until February 2 to apply</a>.</p> <h2>WordPress User Survey Data Is Published</h2> <p>Over the last few years, tens of thousands of WordPress users all over the world have filled out the annual WordPress user survey. The results of that survey are used to improve the WordPress project, but that data has mostly remained private. This has changed now and <a href="">the results from the last three surveys are now publicly available</a> for everyone to analyze.</p> <p>The data will be useful to anyone involved in WordPress since it provides a detailed look at who uses WordPress and what they do with it — information that can help inform product development decisions across the board.</p> <h2>New Team for the Tide Project</h2> <p>As announced at WordCamp US, <a href="">the Tide project is being brought under the umbrella</a> to be managed and developed by the community.</p> <p>Tide is a series of automated tests run against every plugin and theme in the directory to help WordPress users make informed decisions about the plugins and themes that they choose to install.</p> <p>To get involved in developing Tide, jump into the #tide channel in the <a href="">Making WordPress Slack group</a>, and follow <a href="">the Tide team blog</a>.</p> <hr class="wp-block-separator" /> <h2>Further Reading:</h2> <ul> <li>If you’re following the development of Gutenberg, or if you want a primer on where it’s headed, then <a href="">Morten Rand-Hendriksen’s talk from WordCamp US</a> is a must watch.</li> <li>The annual surveys for WordPress <a href="">meetup members</a> and <a href="">meetup organizers</a> are available for people to fill out — if you’re involved in or attend your local meetup group then be sure to complete those.</li> <li>10up has <a href="">a brand new plugin in beta</a> that will assist with powerful and flexible content publishing and syndication across WordPress sites.</li> <li><a href="">The Community Team is exploring a move</a> to make the recently developed CampSite theme the default theme for all new WordCamp websites. This is the theme that was developed and employed for <a href="">WordCamp Europe 2017</a>.</li> <li>The team working on the multisite features of WordPress Core has recently published <a href="">their planned roadmap for development</a>.</li> </ul> <p><em>If you have a story we should consider including in the next “Month in WordPress” post, please <a href="">submit it here</a>.</em></p> text/html 2018-01-02T23:39:40+01:00 A Better Planet If I were talking about Gutenberg & WordPress… <p>The last time I wrote about Gutenberg, <a href="">I told you I was confused</a>. I don&#8217;t think I&#8217;m confused anymore, but I am clear that <strong>I don&#8217;t speak in any official capacity</strong> for WordPress, Automattic or anyone involved in the development of Gutenberg.</p> <p>So take these thoughts for what they are &#8211; my own personal take on what is happening in the WordPress world right now&#8230;.</p> <h2>Let me tell you a story&#8230;</h2> <p>In 2000 I joined a company called QuantumShift. It was a telco startup that purchased one of my startups (ICE Wireless). At the time the company had 50 enterprise clients. They also had raised $50 Million in funding. I remember joking (before the acquisition) that if their cost of sale was $1 million per customer, they were going to have issues.</p> <p>After joining, I became aware of many of their internal issues and worked with a team to help them build an advanced version of their offering, at a much lower price point for supporting the product.</p> <p>We called this, not imaginatively, <strong>changing the airplane&#8217;s engine mid-flight.</strong></p> <p>We felt the pressure to keep the existing platform working, while also building a new product that would be cheaper to operate with greater automation and more extensibility for new kinds of partnerships.</p> <p>Two objectives:</p> <ul> <li>Don&#8217;t break anything &#8211; which means you keep everything the same</li> <li>Build something completely new &#8211; which means you change everything</li> </ul> <p>They often felt like dynamics in constant conflict.</p> <p>That was the first time I had that as my core agenda in building a new software product. But it wasn&#8217;t my last. I&#8217;ve embarked on that kind of project three times in my career. Each time, the risks have been high but worth the potential payoff. And all three times, we&#8217;ve been able to get it done.</p> <h2>If I were talking about Gutenberg, I wouldn&#8217;t talk about it as a new editor, at all</h2> <p><em>Now, to reinforce my earlier caveat. These opinions (like everything on this site) are my own. They don&#8217;t represent anyone else. And they&#8217;ve not been sanctioned by anyone else.</em></p> <p>When I hear people talking about Gutenberg, I hear them not only talking about blocks, but talking about blocks in the context of the editor and the content editing paradigm.</p> <p>I get it, because that&#8217;s what&#8217;s been demonstrated.</p> <p>But when I listen to Matt talk about Gutenberg, or those working on the project, I hear things like, &#8220;Everything will be a block.&#8221; And if that&#8217;s the case, I would clearly stop talking about this as a content editing change.</p> <p><strong>I would call this a mid-flight engine change.</strong></p> <h2>Competing in the future</h2> <p>When you think about the competition that we&#8217;re already seeing from other CMS solutions, and when you talk to developers who use more than just WordPress for their work with clients, you often hear the frustrations of working with WordPress. They&#8217;re bothered by the database. Or they&#8217;re frustrated with a lack of an API (which now exists!).</p> <p>And if we are to compete well in the future, we have to make changes to WordPress. But not all changes are easy. And not all changes are incremental.</p> <p>What do you do when you need to rethink the architecture on a large scale?</p> <p>I&#8217;ll tell you what you don&#8217;t do:</p> <ul> <li>You don&#8217;t declare that you need to rewrite all of WordPress</li> <li>You don&#8217;t declare that you&#8217;re going to fork WordPress</li> <li>You don&#8217;t declare that WordPress is only good for certain things (like blogging)</li> </ul> <p>You don&#8217;t do these things because more than anything, they cause people to run for the doors. The exit doors.</p> <p>But that doesn&#8217;t mean you do nothing. You can&#8217;t afford to do nothing because the result will be the same &#8211; people running for the doors.</p> <p>What you do is start to think about a completely new architecture that can solve both short and long-term problems. An architecture like <strong>blocks</strong> that can be re-used and re-purposed all across the platform.</p> <p>It&#8217;s why you&#8217;d say something like, &#8220;Everything will be a block.&#8221; Because it will. And because that will be the layer of abstraction that could allow you to change both what&#8217;s above it (UI and UX) and below it (database structures, etc).</p> <h2>What is the future in web publishing?</h2> <p>The future of web publishing, in my opinion, isn&#8217;t page building. <strong>The future can&#8217;t continue to be a unidirectional dynamic where someone in marketing determines the best articulation of their message in a single-focused and static design. </strong></p> <p>When you think about page building, you think about the site owner creating a beautiful page that they hope others will like viewing. Sure there are &#8220;blocks&#8221; &#8211; columns, rows, content in each, and you can move them around &#8211; but those blocks are containers of content that are relatively static and don&#8217;t actually change based on the visitor or the number of times they visit.</p> <p>The page builders of today &#8211; with <a href="">Beaver Builder</a> being my all time favorite &#8211; solve this problem already. If we&#8217;re rearchitecting an entire solution for WordPress just to solve a problem they&#8217;ve already solved, we&#8217;re being dumb.</p> <p>But I don&#8217;t think that&#8217;s what&#8217;s happening.</p> <p>The future of publishing is that different people can get different content depending on their behavior, demographics, interest and more.</p> <p>And if that&#8217;s the case, you can&#8217;t shove content into a static container like a post or a page. You have to put that content in a dynamic container that can appear anywhere.</p> <p>And your engine no longer is about rendering pages or posts. Instead, it is focused on pulling together the right &#8220;blocks&#8221; for you.</p> <p>In the future, people won&#8217;t create pages. They&#8217;ll create various kinds of content and allow an engine to dynamically display different views of that content at different points along the journey.</p> <h2>A simple example of the future Gutenberg</h2> <p>Imagine I&#8217;m visiting a software company&#8217;s website like VMWare. They sell corporate / enterprise products. But they also sell consumer products (Fusion for Mac).</p> <p>Instead of creating page layouts for their home page, they create building blocks. Small components of content that represent different content for different audiences. They create:</p> <ul> <li>general news</li> <li>desktop product news</li> <li>security news</li> <li>cloud news</li> </ul> <p>Each of those news clusters can hold either the top converting news items, or the most recent.</p> <p>Should they show all of them? Nope. Only the one that is most related to my interests &#8211; which they monitor in my first visit. If I head straight to the Fusion for Mac page, they may show me desktop product news on my next visit to the home page.</p> <p>They can do the same with ads, case studies, product announcements and more.</p> <p>They no longer use a page builder to create a home page, or a product page, or a landing page. Instead they simply create blocks (of content, video, ads, etc) and then create a way to arrange and present them to me.</p> <h2>Here&#8217;s the thing about replatforms&#8230;</h2> <p>When you do a mid-flight engine change, you sometime call it something else. In the software engineering world where I&#8217;ve spent my time, we call it a re-platform. It&#8217;s often an attempt to revitalize a product by changing the insides (infrastructure) and making a product more nimble.</p> <p>The thing about replatforms is that everyone knows they&#8217;re risky. And because of that, everyone is involved in the risk mitigation efforts &#8211; from communication to preparation, from development to testing.</p> <p>I don&#8217;t know if Gutenberg really is a replatform, but it feels like that to me. And potentially a really powerful and useful one. One that would allow it to compete very effectively against others in the future.</p> <p>But to do that, it needs the whole community to be on board with what we&#8217;re really doing and why we&#8217;re really doing it. And in that dynamic is where I see the only misstep.</p> <p><strong>If it were me, I&#8217;d stop talking about Gutenberg as a change to the editor and start talking about it as a change to the architecture.</strong></p> <p>But that&#8217;s just me. I could still be confused&#8230;.</p> <p>The post <a rel="nofollow" href="">If I were talking about Gutenberg &#038; WordPress&#8230;</a> appeared first on <a rel="nofollow" href=""></a>.</p> text/html 2017-12-12T18:26:26+01:00 A Better Planet Peer into the future of Simplenote w/ Dan Roundhill text/html 2017-12-08T18:46:55+01:00 A Better Planet Why Laravel is Ruling Web Development <p>In today’s business-centric world, it is an arduous task to pick the right PHP web development framework for your business from the many available options. Choice of the correct platform is like an asset for your brand where a mere negligence or a wrong step can cause negative results.</p> <p>When it comes to discussing the leading name that tops the chart, Laravel certainly comes first in the list by surpassing the other popular frameworks including CakePHP, CodeIgniter, Symfony, Zend, and Yii.</p> <p>Its incredible features led to huge popularity, which is why businesses are opting for its unhindered growth. With Laravel, PHP development is a breeze through a powerful command-line interface, scalable and easy- to use behavior plus plenty of plugins meant to serve a specific purpose.</p> <p>We will go over some of the reasons developers should choose Laravel.</p> <h2>Object-oriented libraries</h2> <p>Plenty of pre-installed and object-oriented libraries make Laravel a good choice among other <a href="">PHP frameworks</a>.</p> <p>The authentication library is a well-known and easy to implement pre-installed library which is stuffed with tremendous features like password reset, checking active users, Bcrypt hashing, encryption, and CSRF (cross-site request forgery) protection.</p> <h2>Authorization process</h2> <p>It is a cakewalk to implement authentication techniques with Laravel where everything is configured in the prettiest manner.</p> <p>It is easy for the developers to use Laravel framework for organizing authorization logic and controlling access to the resources.</p> <h2>MVC support</h2> <p>The MVC architecture of the Laravel, such as Symfony, enables a clear view of the logic and presentation of the language.</p> <p>It also helps improve the performance of the design, allows better documentation, and renders multifarious inbuilt functionalities.</p> <p>MVC employs a simple process to work in accordance with the Laravel. Initially, a user request is submitted and routed to an appropriate Laravel controller.</p> <p>Then, it interacts with the data model and controller is allowed to invoke results view. You can render the final view in the user’s browser.</p> <h2>Database migration</h2> <p>To keep the database in sync is a tough task for the developers, but it becomes flawless with Laravel database migration.</p> <p>When you keep the entire database work in seeds and migration, it is easy to migrate the changes in any other development platform that you want.</p> <h2>Security</h2> <p>No matter which platform or framework is used, it must be secure. Laravel takes the utmost care of security by the means of salted and hashed password. It means the password is never saved as plain text in the database.</p> <p>Bcrypt hashing algorithm plays a bog role in generating encrypted passwords. Running in parallel, Laravel also uses prepared SQL statements to make injection attacks unimaginable.</p> <p>Laravel is a preferred choice if you want to escape user input to avoid user injection of &lt;script&gt; tag.</p> <h2>Automatic package discovery</h2> <p>The automatic package discovery feature of Laravel 5.5 detects the packages automatically to those users who want to install.</p> <p>It simply means that the users do not need to set up any providers for installation of fresh packages in Laravel. Laravel 5.5 also allows disabling this feature for few specific features.</p> <h2>Artisan</h2> <p>Artisan is a built-in tool that can be used for command-line. It is easy for a developer to interact with a Laravel framework through a command-line that can easily handle and create a Laravel environment.</p> <p>This inbuilt tool allows plenty of repetitive and tedious programming tasks that are tough to be performed manually.</p> <h2>Spark scaffolding</h2> <p>With <a href="">Laravel Spark</a>, it is easy to create a strong scaffolding system for prebuilt applications to accomplish password resets, authentication, invoicing and other related factors.</p> <h2>Deployment with Enveyor</h2> <p>Enveyor, a PHP deployment tool helps deliberately to run Laravel applications. With this tool, it is easy to deploy updated code and also manage the installation of Laravel code repositories and clone appropriate folders.</p> <h2>Conclusion</h2> <p>The benefits of Laravel are endless. There is something fresh and innovative with each new release. It helps create awesome web applications by using an impressive and simple syntax. This is the reason Laravel can be considered as the best PHP framework of the decade.</p> <div id="author-bio-box" style="background: #f8f8f8; border-top: 2px solid #cccccc; border-bottom: 2px solid #cccccc; color: #333333"><h3><a style="color: #555555;" href="" title="All posts by Jacob Colleen" rel="author">Jacob Colleen</a></h3><div class="bio-gravatar"><img alt='' src=';d=mm&#038;r=g' srcset=';d=mm&#038;r=g 2x' class='avatar avatar-70 photo' height='70' width='70' /></div><p class="bio-description"><p>Jacob Colleen is an expert web developer at Webby Central, a renowned <a href="">website design, and development company in the USA</a>. He likes to create feature-rich web applications by using the latest trends and techniques running hot in the market.</p> </p></div> <div class='ctx-subscribe-container ctx-personalization-container ctx_default_placement ctx-clearfix'></div><div class='ctx-social-container ctx_default_placement ctx-clearfix'></div><div class='ctx-module-container ctx_default_placement ctx-clearfix'></div><span class="ctx-article-root"><!-- --></span><div id="epoch-width-sniffer"></div><p>The post <a rel="nofollow" href="">Why Laravel is Ruling Web Development</a> appeared first on <a rel="nofollow" href="">Torque</a>.</p> text/html 2017-12-02T23:43:19+01:00 A Better Planet Matt Mullenweg State of the Word, 2017 <p>Matt Mullenweg has just finished the 2017 State of the Word address, where he offers the lay of the land for all things WordPress.</p> <h3>WordCamp in Nashville</h3> <p>This is the first WordCamp US in Nashville. The first two WordCamp US events were held in Philadelphia, following a long run of the primary event of the year being WordCamp San Francisco.</p> <p><a href="">Amanda Giles</a> recited her poem, &#8220;Code is Poetry&#8221; to kick off the event. She then introduced Matt, who started off his talk by thanking the top sponsors for WordCamp US: <a href="">SiteLock</a>, <a href="">WooCommerce</a>, <a href="">Bluehost</a>, and <a href="">Jetpack</a>. I second Matt in thanking these sponsors as well as the other 36 sponsors who help make this event happen while keeping ticket prices so low &#8212; only $40.</p> <h3>WordCamps and Meetups</h3> <p>WordCamp US makes for the 128th WordCamp of the year, and 40,000 tickets were sold across them. There were more than 1,008 organizers, 2,310 speakers, 1,091 unique sponsors.</p> <p>Since adding the meetups to the WordPress News widget, meetup attendance is up more than 30%. I can confirm that I met people at my own home WordCamp who discovered it was happening this way.</p> <p><img data-attachment-id="40190" data-permalink="" data-orig-file="" data-orig-size="1909,684" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="events-widget" data-image-description="" data-medium-file="" data-large-file="" class="aligncenter size-large wp-image-40190" src="" alt="" width="752" height="269" srcset=" 752w, 150w, 300w, 1116w" sizes="(max-width: 752px) 100vw, 752px" /></p> <p>Last year three charities were chosen to donate to, and eachHack the Hood, the Internet Archive, and Black Girls Code received $15,000 &#8212; more than the original goal.</p> <h3>WordPress Foundation donations open</h3> <p>With the first step I&#8217;ve seen of Matt opening up the WordPress foundation in any way, he&#8217;s enabled direct donations to the foundation. I look forward to seeing how else this may evolve.</p> <h3>Hackerone update</h3> <p>52 bugs were resolved through Hackerone, with 39 reward to 46 hackers that were thanked.</p> <p><img data-attachment-id="40189" data-permalink="" data-orig-file="" data-orig-size="1901,629" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="hacker1" data-image-description="" data-medium-file="" data-large-file="" class="aligncenter size-large wp-image-40189" src="" alt="" width="752" height="249" srcset=" 752w, 150w, 300w, 1116w" sizes="(max-width: 752px) 100vw, 752px" />The top reporter submitted 9 reports. It&#8217;s been an effective way thus far to resolve WordPress security issues.</p> <h3>Updates to</h3> <p><img data-attachment-id="40191" data-permalink="" data-orig-file="" data-orig-size="1806,894" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="spanish" data-image-description="" data-medium-file="" data-large-file="" class="aligncenter size-large wp-image-40191" src="" alt="" width="752" height="372" srcset=" 752w, 150w, 300w, 1116w" sizes="(max-width: 752px) 100vw, 752px" /></p> <p>One of the big updates in the last year has been to update non-English versions of, that includes new landing pages in 26 languages.</p> <p>Language packs are now supported by 1,166 themes and 2,023 plugins, making WordPress even better for people, no matter what language they prefer it in. The top 10 WordPress plugins have between 19 and 56 translations.</p> <h3>Tide</h3> <p>Matt spent some time talking about the <a href="">Tide</a> project, which originated from XWP, but was adopted by the WordPress project. Tide runs automated tests against every plugin and theme in the WordPress directory.</p> <h3>WordPress Growth Council</h3> <p>Matt updated on the WordPress Growth Council, which he admitted has been slow, but says that the fist meeting will be next week.</p> <p>The goal of the council is to bring together WordPress advocates together from all over, including commercial companies, to share ideas and find new ways to market and grow WordPress.</p> <p>There will be two councils &#8212; an enterprise council, and a consumer council &#8212; in order to effectively serve two primary WordPress audiences.</p> <h3>Update on WordPress core focus areas</h3> <h4></h4> <p>We had two major releases in 2017, <a href="">WordPress 4.8</a> and <a href="">WordPress 4.9</a>. Gutenberg is slated for WordPress 5.0.</p> <p>The was a great deal of work in 2017 has been on Gutenberg, but there have been efforts amongst all three core focus areas.</p> <h4>The Customizer</h4> <p>The Customizer has had a lot of work done in WordPress 4.8 and 4.9 led by Weston Ruter, Mel Choyce, and Jeff Paul. Weston and Mel joined Matt on stage to talk about these releases.</p> <div id="attachment_40194" style="width: 762px" class="wp-caption aligncenter"><img data-attachment-id="40194" data-permalink="" data-orig-file="" data-orig-size="1590,873" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;4.5&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;Canon EOS 70D&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1512238197&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;200&quot;,&quot;iso&quot;:&quot;1250&quot;,&quot;shutter_speed&quot;:&quot;0.00625&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="state-of-the-word-2018-1" data-image-description="" data-medium-file="" data-large-file="" class="size-large wp-image-40194" src="" alt="" width="752" height="413" srcset=" 752w, 150w, 300w, 1116w, 1590w" sizes="(max-width: 752px) 100vw, 752px" /><p class="wp-caption-text">Weston Ruter</p></div> <div id="attachment_40196" style="width: 762px" class="wp-caption aligncenter"><img data-attachment-id="40196" data-permalink="" data-orig-file="" data-orig-size="1525,785" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;4.5&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;Canon EOS 70D&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1512237898&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;180&quot;,&quot;iso&quot;:&quot;1250&quot;,&quot;shutter_speed&quot;:&quot;0.008&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="state-of-the-word-2018-4" data-image-description="" data-medium-file="" data-large-file="" class="size-large wp-image-40196" src="" alt="" width="752" height="387" srcset=" 752w, 150w, 300w, 1116w, 1525w" sizes="(max-width: 752px) 100vw, 752px" /><p class="wp-caption-text">Mel Choyce</p></div> <p>The customizer and Gutenberg have several complimentary goals that will align in 2018.</p> <h4>The WordPress REST API</h4> <p>Ryan McCue gave a <a href="">State of the REST API</a> in blog format that&#8217;s worth reading, where he highlights the highs and lows of the REST API since its December 2016 release, including some challenges he believes it faces going forward.</p> <p>Matt acknowledged that there is a great deal of room to improve with the REST API.</p> <h3>The editor, Gutenberg</h3> <p><a href="">Gutenberg</a> has been a huge focus of WordPress development in 2017. Gutenberg has had 4,302 commits from 100+ contributors. There have been weekly releases and 18 major iterations. You can actually use Gutenberg yourself and use it now.</p> <div id="attachment_40195" style="width: 762px" class="wp-caption alignnone"><img data-attachment-id="40195" data-permalink="" data-orig-file="" data-orig-size="1594,860" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;4.5&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;Canon EOS 70D&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1512238930&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;180&quot;,&quot;iso&quot;:&quot;1250&quot;,&quot;shutter_speed&quot;:&quot;0.00625&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="state-of-the-word-2018-3" data-image-description="" data-medium-file="" data-large-file="" class="wp-image-40195 size-large" src="" alt="" width="752" height="406" srcset=" 752w, 150w, 300w, 1116w, 1594w" sizes="(max-width: 752px) 100vw, 752px" /><p class="wp-caption-text">Matias Ventura</p></div> <p>Matias Ventura came to the stage to talk about Gutenberg, including a live demo. Matias walked through how blocks work and the progress that has happened since it started. I was really impressed with the accessibility efforts that have gone into the project.</p> <p>Matt also noted that there&#8217;s a <a href="">classic editor</a> plugin now in the directory, just in case some users aren&#8217;t ready for Gutenberg.</p> <h3>Other core updates</h3> <p>There were a few updates about other core projects and endeavors.</p> <h4>WP-CLI an official WordPress project</h4> <p>There have been four major releases with 124 contributors to WP-CLI this year. Lead by Daniel Bachhuber, it is a really amazing way to interact with WordPress.</p> <p>It became an official WordPress project this year and has a bright future.</p> <h4>No default theme for 2018</h4> <p>For the first time since it started with TwentyTen, there won&#8217;t be a new default theme for 2018. This will allow more effort to be put into the block concepts with Gutenberg.</p> <h3>Looking forward</h3> <p>WordPress has grown another 2%+ this year, now 29.1% of the web, and Matt wants to continue to see growth. He says he&#8217;s keeping his &#8220;lead hat&#8221; on for another year, to see the Gutenberg project all the way through.</p> <h4>Three focuses for 2018</h4> <p>Matt said he&#8217;s excited to announce three big focuses for the next year around Gutenberg and core development.</p> <ul> <li>Gutenberg editing</li> <li>Gutenberg customization</li> <li>Gutenberg theme</li> </ul> <p>And with that, he&#8217;s ready to take questions.</p> <p><em>Photos by <a href="">Brian Richards</a>, for Post Status</em></p> text/html 2017-12-01T10:26:07+01:00 A Better Planet BuddyPress 2018 Survey <p>What would you like BuddyPress to focus on in 2018? The core team has ideas of where BuddyPress can expand on and your input is important to harness the time and resources of an all-volunteer crew.</p> <p>The survey will take 10-15 minutes to complete. Be assured that we will not publish your name, email address, nor IP address when we post the results of this survey at</p> <p>Thank you for your time and cooperation. Your feedback will help us improve BuddyPress for you.</p> <p>=&gt; <strong><a href="">Take the 2018 BuddyPress Survey</a></strong></p> text/html 2017-11-21T17:28:10+01:00 A Better Planet Studying TextBook A text/html 2017-10-11T13:47:19+01:00 A Better Planet Implementing A Service Worker For Single-Page App WordPress Sites text/html 2017-09-25T12:34:49+01:00 A Better Planet How To Change The Default WordPress Media Uploads Folder <p>This disappointed many bloggers. Mostly because using a custom media uploads directory made it easier to browse media files in one place rather than having to browse in multiple folders by month and year. It also had a small SEO benefit, especially when you host multimedia files such as PDFs.</p> <p>Luckily, there is a way you can get around this problem and customize the default media uploads path of your website. Here’s how you can do it.</p> <p><strong>Note:</strong> Following strategies involve customizing your website’s core files and editing code. Make sure to fully backup your website and files before trying out any of these methods.</p> <h2>Method #1 &#8211; Use A Plugin</h2> <p>The easiest way to change the default media uploads path is to use the <a href="">WP Original Media Path</a> plugin.</p> <p>Once installed, this plugin will allow you to easily change the default media directory into any path you like.</p> <p>For example, your current media uploads path may look like this: <strong><em></em></strong>. You can customize it to a more professional path like <strong><em></em></strong> using this plugin.</p> <p>Keep in mind that this plugin will only change the uploads folder for your future uploads. You’ll have to manually move the media files to the new folder if you want them to appear in the new and updated media path.</p> <p>If you decided to move the media files, you can then use the <a href="">Search &amp; Replace</a> plugin to modify MySQL to make sure your previously published articles find the media files from the new uploads folder.</p> <h2>Method #2 &#8211; Customize WP-Config.php</h2> <p>The other method is also simple, but it involves editing a core WordPress file.</p> <p>First, access the <strong>root directory</strong> of your WordPress installation using the File Explorer in your web hosting CPanel or using an FTP client. Then find a file named <strong>wp-config.php</strong> and open the file to edit.</p> <p>Then add the following line in the wp-config file:</p> <p><strong>define( &#8216;UPLOADS&#8217;, &#8216;wp-content/&#8217;.&#8217;media&#8217; );</strong></p> <p>This will make all your media uploads go in a folder named “media”. But it will still be inside the “wp-content” folder.</p> <p>If you want the uploads to go in a direct folder, like <em></em>, then use the following code instead:</p> <p><strong>define( &#8216;UPLOADS&#8217;, &#8221;.&#8217;media&#8217; );</strong></p> <p>Also, make sure to add the following code right before the line as well:</p> <p><strong>require_once(ABSPATH.’wp-settings.php’);</strong></p> <p>This will automatically create a folder in the WordPress directly if it doesn’t exist. Or, you can manually create the folder in the right path using the FTP client.</p> <p>The post <a rel="nofollow" href="">How To Change The Default WordPress Media Uploads Folder</a> appeared first on <a rel="nofollow" href="">WPRecipes</a>.</p> text/html 2017-09-12T19:39:13+01:00 A Better Planet bbPress 2.5.14 <p>Today we are releasing bbPress 2.5.14, which fixes a few small bugs we&#8217;ve noticed since 2.5.13 was released, in particular we&#8217;ve fixed some incompatibilities when using PHP 7.1, an unexpected debug notice with the Topics &amp; Replies widgets, and improved validation and sanitization of database properties with the forum converter.</p> <p>Also, remember that since bbPress 2.5.12, the minimum WordPress version allowed is 4.7. If you need to use a previous version of WordPress, you will want to continue to use 2.5.11.</p> <p>bbPress 2.6 is still in the release candidate phase while we tie up some loose ends across, but I&#8217;ll let you know when it&#8217;s ready to go!</p> text/html 2017-07-05T18:34:31+01:00 A Better Planet Welcome to Gutenberg <p>The process of designing a new editor is going to be the biggest user-facing change WordPress has made in many years.</p> <p>Matt Mullenweg previewed the editor <a href="">at WordCamp Europe</a>, and announced its availability on the WordPress plugin directory, meaning it&#8217;s now simple for anyone to install and test it.</p> <p>I would highly recommend you check it out, if you haven&#8217;t already. It&#8217;s an early &#8220;beta&#8221; &#8212; and maybe alpha would be more appropriate &#8212; but this will be the future of editing content in WordPress. It&#8217;s a great time to get involved.</p> <p>You can follow along <a href="">on GitHub</a>, add your own <a href="">feedback</a>, and all that fun stuff too.</p> <p>This post, of course, was written using Gutenberg. While my first impressions are good, there&#8217;s definitely work to do.</p> <p>I told Matt I&#8217;d start drafting all new posts in Gutenberg, so I should have plenty of my own feedback in the coming weeks.</p> <p><a rel="nofollow" href="">Welcome to Gutenberg</a> is a post by <a rel="nofollow" href="">Brian Krogsgard</a>. If you enjoyed it, please consider leaving a comment.</p> <div class="feedflare"> <a href=""><img src="" border="0"></img></a> <a href=""><img src="" border="0"></img></a> <a href=""><img src="" border="0"></img></a> </div><img src="" height="1" width="1" alt=""/> text/html 2017-06-12T22:43:55+01:00 A Better Planet Unsplash GPL-compatibility concern should be a red herring text/html 2016-11-01T20:27:00+01:00 A Better Planet The 4 best WordPress hosts of 2016 A text/html 2016-08-23T14:40:45+01:00 A Better Planet .blog <p>As you may have heard, Automattic <a href="" target="_blank">recently</a> secured the rights to operate the sale and registration of .blog &#8212; a new top-level domain, which is currently in the Sunrise period, where trademark owners can apply.</p> <p><img src="" alt="" width="2080" height="772" class="alignnone size-full wp-image-8259" srcset=" 2080w, 300w, 768w, 680w" sizes="(max-width: 2080px) 100vw, 2080px" /></p> <p>The Landrush period, where anyone can apply for their desired .blog domains, is scheduled for November 2nd, and public launch is expected on November 21st. However, a few select bloggers were granted the possibility to get .blog domains sooner as part of the Founders Program, and I was very lucky to be one of them.</p> <p>Welcome to <strong></strong> &#8212; a new home for my archive of <a href="" target="_blank">almost eight years</a> worth of writing on many topics, including SEO (yeah&#8230;), AWS, Twitter, robotics, Linux, PHP, WordCamps and WordPress.</p> <p>I admit I have neglected this place for a while, haven&#8217;t posted as much as I should have, and I can probably come up with plenty of excuses. But this new domain comes with a little string attached &#8212; I have to write more frequently, which I intend to do, so watch out for fresh thoughts, ideas, tips and hacks, and a lot of WordPress of course.</p> <p>If you&#8217;re looking for your own .blog domain, head over to <a href="" target="_blank"></a> for more information and updates.</p> <h3>More from Konstantin Kovshenin</h3> <ul> <li><a href=";utm_medium=latest_posts&#038;utm_campaign=feed">WordCamp Moscow 2016 Recap</a></a></li> <li><a href=";utm_medium=latest_posts&#038;utm_campaign=feed">What the Queries</a></a></li> <li><a href=";utm_medium=latest_posts&#038;utm_campaign=feed">WordCamp Russia 2015 Recap</a></a></li> <li><a href=";utm_medium=latest_posts&#038;utm_campaign=feed">Capture the Flag / OTA 2015</a></a></li> <li><a href=";utm_medium=latest_posts&#038;utm_campaign=feed">Color Options vs. Decisions in WordPress Themes</a></a></li> </ul> text/html 2015-01-07T14:23:01+01:00 A Better Planet Universal Typography with Tim Brown A text/html A Better Planet How to Auto Update WordPress Salts text/html A Better Planet 12 of the Best Tech Newsletters to Subscribe to in 2018