Blog

Flexibility: Flexbox support for Internet Explorer

A few weeks ago, we pushed out our newest open source project: Flexibility, a polyfill that back ports Flexbox support to Internet Explorer versions 8 and 9.

Flexibility

Flexbox is one of the most significant advances in front end website layout since the advent of CSS, empowering us to build beautifully responsive and flexible layouts using pure, clean CSS. Here’s a short explanation from a great overview prepared by CSS-Tricks:

The main idea behind the flex layout is to give the container the ability to alter its items’ width/height (and order) to best fill the available space (mostly to accommodate to all kind of display devices and screen sizes). A flex container expands items to fill available free space, or shrinks them to prevent overflow.

Unfortunately, Flexbox support wasn’t added to Internet Explorer until version 10, leaving older versions – still popular in some corners – out of the Flexbox revolution. This idea didn’t sit well with 10up’er Jonathan Neal, tasked with engineering a beautiful layout for a Fortune 50 forced to contend with supporting older versions. We decided to subsidize his time to see if we could introduce Flexbox support under less-than-ideal browser requirements. The result was Flexibility: a smooth front end experience for older browsers, without compromising our ability to use pioneering layout technology.

Read More on Flexibility: Flexbox support for Internet Explorer

Reflections on ElasticPress

With 2015 coming to a close, I’ve been reflecting on the ElasticPress project’s accomplishments since its inception one and a half years ago.

Today, we released ElasticPress 1.7, which completely restructures post meta storage. This enables performant post meta queries with complex comparisons against data types, such as integers, dates, and times. We also fixed some bugs.

Like many of our popular open source projects, ElasticPress was originally conceived as an internal tool designed to support some specific client needs. Since open sourcing the project, ElasticPress has garnered over 30 contributors (most of whom do not work at 10up), 16 major releases, and a thriving Github community where developers and site owners are collaborating. ElasticPress is used by major hosting companies and across hundreds of websites, some of which serve millions of pages each month. I have introduced developers to ElasticPress at speaking engagements around the world.

elastic_press

We’ve also learned our fair share of lessons since initiating the project. Here are a few that stand out.
Read More on Reflections on ElasticPress

The First WordCamp Sacramento

WordCamp Sacramento

Sacramento, CA

Speaking Sponsoring

Rumors of a WordCamp Sacramento started in 2012, after I rebooted the WordPress Sacramento Meetup. Fast forward to 2015: there are 4 meetup organizers and northern California’s WordCamp San Francisco has been displaced by WordCamp US. The Art Institute of Sacramento volunteered its campus for an event, a professor offered himself as lead organizer, and indispensable local leaders stepped up to take an active role.

I’m proud to have played a small role in co-organizing the first WordCamp Sacramento, which takes place tomorrow, and even more proud that 10up is sponsoring the event. I’ll be joined at the event by three 10uppers who are speaking: Sacramento’s own Ben Ilfeld, who will be teaching site advertising basics, Northern California’s Vasken Hauri, who promises to improve lives with event-driven caching, and Luke Woodward, joining us from out-of-state to debut “Robots Write the Docs.”

Reiterating our commitment to an open web

It’s easy to take open-source software for granted, and to forget that the Internet we use every day depends in part on the freely donated work of thousands of programmers. If open-source software is at the heart of the Internet, then we might need to examine it from time to time to make sure it’s not bleeding.

The Internet’s Telltale Heartbleed (The New Yorker)

I’m proud to be a part of 10up because we are eager to support a platform we use heavily and that powers a significant percentage of the web. I am sponsored full-time as one of the six lead developers of WordPress, and am very excited to announce further expansion of our support for WordPress. As a fellow committer for WordPress, Drew Jaynes will now also be enabled to work full-time on WordPress. Drew has been instrumental in creating awareness, standards, and output in our developer documentation, as well as contributing in many other areas in the core software and in community projects such as the WordPress.org site itself.

As a part of this expansion, we’ve created a Platform Engineer position and transitioned Drew to his new title. While we’re not currently hiring for the position, we’ve intentionally left the title open-ended as we continue to grow our support for and even build web platforms. We’ve dedicated significant resources to WordPress as well as projects like sanitize.css and VVV, and envision a future in which we continue to do the same elsewhere.

10up also has the rare opportunity to take advantage of a confluence of timing, a core WordPress initiative, and an employee who already runs the effort. We are doing this by donating 100 hours of Scott Kingsley Clark’s company time to the ongoing Fields API project, starting today. Scott has already assembled a strong group of contributors and laid a solid foundation and roadmap, and we feel strongly that supporting this initiative will help move it into a viable state for potential inclusion in a near-future release of WordPress. As a company with a central mission of creating great publishing experiences, the user and developer experiences a fields API can improve are something we are particularly well-versed in.

Read More on Reiterating our commitment to an open web

You Got Your Content in My Web Design

design-content-conf

I’m very excited this week for the Design and Content Conference in Vancouver BC. The conference theme is “Designers and Content Strategists: We’re Better Together,” and the speakers list is a who’s-who of the web design and content strategy worlds, including Ethan Marcotte and Karen McGrane, whose Content Strategy for Mobile was the first detailed, extended discussion of how design and content come together in a multi-device world.

For me, the most important shifts in the web design and development industry in the last decade have been:

As these authors  pointed out, neither concept was entirely new. Ethan’s article referenced “A Dao of Web Design” which prescribed “pages which are accessible, regardless of the browser, platform or screen that your reader chooses or must use.”

Read More on You Got Your Content in My Web Design

Markup, CSS, and Project Structure Best Practices

front end standards

We’re proud to announce the release of Markup, CSS, and Project Structure sections for our Engineering Best Practices.

When it comes to CSS and Markup, our industry offers a vast landscape of choices and philosophies, illustrated by the number of frameworks and preprocessors available. While our Front End Engineering team always pushes the boundaries of these platforms, our Best Practices set a standard bar for the techniques, functionality, tools, and libraries we use.

As we focus on practical business application of technology, our philosophies are guided by a mandate to ensure consistent, reliable, and predictable experiences for website visitors. Many CSS attributes and HTML5 features are amazing, but are also dependent on unreliable polyfills for compatibility with some popular web browsers. In addition to avoiding known technical pitfalls, standardizing our tools, style, and structure improves efficiency, collaboration, and overall quality of work.

Consistent with our support for an open web, our Engineering Best Practices are open and available on Github. We encourage any and all contributions!

Jake Goldman

Three and a half years after her very first props in WordPress core and two years after becoming a core committer, Director of Platform Experience Helen Hou-Sandí has been promoted to Lead Developer for the WordPress project. She joins 5 other leads atop the WordPress credits screen, including project founder Matt Mullenweg. 10up is now the first and only consulting agency to have the honor of a Lead Developer in its ranks, as well as the only agency with not just one, but two WordPress release leads. We’re proud of Helen, and proud of our growing contributions.

ElasticPress and 10up at WordCamp Paris

ElasticPress is coming to Paris this weekend. I will be speaking at WordCamp Paris on January 23, 2015. Day one of the camp is being held at MAS Paris, and day two is at the EEMI school.

My session, occuring Friday at 3pm, is titled “Modernizing WordPress Search with Elasticsearch”. I will describe the limitations of WordPress search and present an alternative, Elasticsearch and ElasticPress. I will explain some basic Elasticsearch cluster configuration tips, run through ElasticPress setup, and demonstrate some really interesting queries that can be achieved with the plugin.

Whether you are a novice WordPress developer or an expert systems engineer with Elasticsearch experience, my session will demonstrate the power of WordPress and ElasticPress and hopefully spark some ideas on how you can improve your site’s search experience.

If you are attending WordCamp Paris, please come say hello! 10up is hiring, and I am always happy to chat about opportunities.

WP Engine Mercury: Building a WordPress Jet Engine

WP Engine MercuryPutting problem solving before technology often means figuring the technology out – sometimes as we go. From push notifications and search to standardizing local development, we’re most proud of contributions that advance markets and platforms, not just 10up.

Months ago, WP Engine, a market leader in managed WordPress hosting, reached out to us for candid feedback with an eye toward the platform’s future. The Labs team was determined to invent not only the future of WP Engine, but the future of WordPress hosting; to be as disruptive as WP Engine was in its earliest days. From better hardware and developer tools to bleeding edge performance technology, the vision was compelling, and it was clear that from CEO Heather Bruner to Founder & CTO Jason Cohen, they were all in.

Its 10up’s position that a rich, forward-looking ecosystem of managed hosting choices is vital to the success of a web platform; we’re only as strong as the weakest part of our stack. Membership, integrated social engagement – even e-commerce – are increasingly entangled with content and publishing, and there are, unsurprisingly, a dearth of hosted WordPress choices tackling these use cases. As the fail-whale oft-reminded us, these cases are very hard to scale, particularly with run-time languages like PHP atop traditional SQL databases. Just ask Facebook. (Actually: we did. Read on.)

WP Engine wanted to tackle this problem. They had us at “do you want to help us build it?”

Read More on WP Engine Mercury: Building a WordPress Jet Engine

10up Engineering Best Practices

At 10up, we build custom publishing experiences. We take great pride in all aspects of building websites, from user interaction design to code performance. Security, style, workflow, design patterns, performance, and even tools all influence that publishing experience. We use the term “engineer” rather than “develop” because of the amount of skillful strategy and true craftsmanship involved in what we build.

With over 90 full time employees, 10up has a diverse team of strategists, project managers, designers, and a few dozen incredibly smart, diverse engineers. Standardization in engineering is increasingly important with such a large team. Over the past few months we collaborated as a company to document how we engineer and why. We spent a great deal of time considering various things such as WP_Query performance recommendations, workflows to maximize efficiency, and tools we want to use and maintain as a team.

We are proud to open source our Engineering Best Practices as a public project on GitHub. WordPress is an open-source project and so are our Engineering Best Practices. We believe WordPress has continued to grow because of its embracement of open source philosophies. We want our Best Practices to follow that model. We know there are opportunities to keep improving, and want to welcome community contributions that are in tune with our philosophies.