Search

Showing results for code
  • How Node.js Makes Network Code More Testable

    Greg Smith - September 3rd, 2013

    Introduction Node.js, a server platform built on Chrome’s JavaScript engine, is changing the face of web development. While Node.js itself is fast and scalable, the open source community surrounding Node.js is constantly discovering new ways to make application development more productive. This article will show how Node.js network code can be easier to write automated […]

  • Code Repository Analysis

    Boaz Sender - January 9th, 2010

    Ever wonder how many files or lines of code are sitting in your project? Hop on the command line and run the following find commands in your bash Find the number of files in the current directory (runs recursively down into all subdirectories): find . | wc -l Find how many lines of code are […]

  • How to run a DIY node server in 2024

    Boaz Sender - June 11th, 2024

    We have been deploying node apps to VPS and bare metal at Bocoup for almost 15 years, and with the growing number of full service hosting platforms, we thought this would be a good time to document how to do it yourself in 2024 for those of you who would still like to. We think […]

  • Full Stack Web Push API Guide

    Boaz Sender - June 5th, 2024

    Push notifications are supported across major browsers, and with their recent addition to iOS last year, they are a compelling integration for the web. We recently built an installable web application with push notifications called Robert’s App (read the iOS install instructions to test it out). We built the application with remix.run and implemented notifications […]

  • Remix.run at Bocoup

    Boaz Sender - May 29th, 2024

    Remix.run entered the mix of frameworks we’re using at Bocoup for a little over a year, and it’s been a huge lift in our velocity, enabling us to do things like offer free prototypes. We’re going to be posting a series of blog posts about parts of our workflow, and wanted to start with an […]

  • Announcing updates to p5.js

    Lazarus Letcher - February 22nd, 2024

    A fresh upgrade to p5.js We’re excited to announce our work with p5.js to set the tech stack and rebuild their incredible website, supported by The Processing Foundation. The Processing Foundation is a rad organization that has helped folks in the visual arts improve their software literacy for over a decade. p5.js is an open-source […]

  • Interop 2024 Launch

    Lola Odelola and Lazarus Letcher - February 1st, 2024

    Intro 2024 marks three years of working with our partners on bolstering interoperability on the web. This year, we’ve identified 17 focus areas dedicated to enhancing interoperability. Improving interoperability is not just about convenience; it’s a matter of accessibility and fairness, ensuring that simplifying web creation and navigation becomes a victory for all. The goal […]

  • No Neutral Map

    Lazarus Letcher - June 28th, 2022

    So geographers, in Afric maps With savage pictures fill their gaps And o’er uninhabitable downs Place elephants for want of towns This snippet from 18th century writer John Swift’s epic poem “Poetry: A Rhapsody” demonstrates that for centuries we have grappled with the politics of drawing borders, naming places, and mapping. There is no such […]

  • Redesigning ARIA Authoring Practices Guide

    Seth Thompson - May 19th, 2022

    We are excited to announce the launch of a redesign of the ARIA Authoring Practices Guide (APG), an essential resource that shows web developers how to make accessible versions of common user interface design patterns, such as comboboxes, dialog modals, and menu bars. In coordination with the W3C APG Task Force and Education and Outreach […]

  • Crossed Wires: Tech and the Movement for Black Lives

    Lazarus Letcher - February 23rd, 2022

    I remember sitting at my dorm room desk and reading the news that Trayvon Martin’s killer George Zimmerman was a free man. Trayvon was a couple of years younger than me, he still had the chubby cheeks of childhood. I didn’t really understand the term gutted before, but at that moment I felt hollow – […]

  • Bocoup 2021 In Review

    Sheila Moussavi - January 27th, 2022

    Our 2021 Over the past several years, we’ve been transitioning toward a more explicit focus on accessibility, inclusion, and justice on the web. Last year, we invested in growing our team, expanding our partnerships, and strengthening our operational foundation to support that transition. We’re excited to share some highlights with you as we prepare for […]

    CC BY-SA icon
  • Happy Global Accessibility Awareness Day! Resources for Getting Started with Digital Accessibility

    Courtney Holland - May 20th, 2021

    Each year, on the third Thursday of May, millions across the globe come together to acknowledge and celebrate Global Accessibility Awareness Day (GAAD), an initiative started by Joe Devon and Jennison Asuncion. Devon and Asuncion created the day with the intention for people to gather and “learn about and experience digital accessibility.” Back in November […]

  • Test262, Inside-out

    Mike Pennisi - March 4th, 2021

    Have you ever noticed how easy it can be to overlook small problems in everyday life? Some things start off as imperceptible but slowly intensify over time, and just like the apocryphal frog in boiling water, we acclimate. In pathological cases, we don’t recognize what’s happening until the issue has grown way out of hand. […]

    CC BY-SA icon
  • Path Forward: Our Commitment to the Movement for Black Lives

    Sheila Moussavi - January 28th, 2021

    We’ve been quiet on here since last summer. We wanted to take some time to reflect on our engagement with the Black Lives Matter movement, and to advocate for it through various channels. As we prepare for the year ahead in the midst of white supremacist uprisings, we’d like to share our commitments to honoring […]

  • Bocoup & Open Standards: A (Very Full) Year in Review

    Jory Burson - December 19th, 2019

    We’ve had a very productive year making web standards more open, predictable, and inclusive. As our standards liaison, my job is to spot opportunities for us to do that work externally, and to see where more support is needed. We still have a lot to do, but it’s nice to reflect on our accomplishments over […]

  • Launching Test262 Results on MDN Web Docs

    Rick Waldron, Valerie Young, and Seth Thompson - October 22nd, 2019

    We are excited to announce support for report embedding on test262.report, along with a new MDN collaboration to bring up-to-date information about ECMAScript feature conformance to MDN Web Docs. Starting today, you can view test results from Test262 Report, updated daily and embedded directly on MDN pages for the newest ECMAScript features where interoperability and […]

  • Introducing a JavaScript library for exploring Scratch projects: sb-util

    Seth Thompson, Erika Miguel, and Corey Frang - September 26th, 2019

    Introduction We’re excited to introduce sb-util, a new JavaScript library that makes it easy to query Scratch projects via .sb3 files. This npm library allows developers (or even teachers and students) to parse and introspect Scratch projects for a range of purposes, from data visualization to custom tooling. Previously, working with Scratch project files required […]

  • How to scribe at TPAC

    Simon Pieters and Elika Etemad - September 13th, 2019

    Next week is TPAC in Fukuoka, Japan. This is an annual conference for all working groups in the W3C to meet face-to-face. Naturally, there is a desire to have a record of what is said in these meetings. This is done by people in the meeting taking turns to scribe. Even if you have attended […]

    CC BY icon
  • Experiments in Faster Scratch 3 Loading with Texture Atlases

    Z Goddard - August 19th, 2019

    One of the best parts of the Scratch community is the diversity of Scratch projects. Community members have used the Scratch programming language to create many different kinds of interactive applications, from full game engines to music sequencers. One genre is especially unique: Multiple Animator Projects, or MAPs. These Scratch projects compile animations from many […]

  • Contributing to the ARIA Authoring Practices Guide

    Simon Pieters and Valerie Young - August 1st, 2019

    We believe that inclusivity and accessibility are of utmost importance to the open web platform. One of the ways that we empower the full diversity of Internet users is by ensuring that those with permanent disabilities and temporary limitations, can browse websites with assistive technologies. Writing accessible code improves the experience of browsing a website […]

  • Lessons Learned from a Year of Testing the Web Platform

    Mike Pennisi - July 22nd, 2019

    The web-platform-tests project is a massive suite of tests (over one million in total) which verify that software (mostly web browsers) correctly implement web technologies. It’s as important as it is ambitious: the health of the web depends on a plurality of interoperable implementations. Although Bocoup has been contributing to the web-platform-tests, or “WPT,” for […]

    CC BY-SA icon
  • Optimizing Scratch 3 Pen Blocks

    Z Goddard - July 10th, 2019

    Earlier this year, we shared our work on the launch of Scratch 3.0, a major version of the visual programming environment for children of all ages. The new version of Scratch marked a complete rewrite of the runtime in JavaScript leveraging open web APIs. In our previous post, we enumerated the many performance optimizations that […]

  • Widening the Web with ECMA-402: Our work on the Internationalization Extension to JavaScript

    Valerie Young - May 30th, 2019

    Inconsistencies across browser implementations have caused web authors and users headaches since the dawn of time (or at least Jan 1, 1970), but nowhere has that pain been felt more acutely than in the realm of language and regional internationalization and localization. We have an inclusion gap on the web. Web authoring tools structurally exclude […]

  • Glitching Scratch 3.0 on an Embedded Web Game Console

    Boaz Sender, Corey Frang, and Amal Hussein - May 29th, 2019

    Today, we are excited to announce our partnership with JoyLabz, which began in 2017 and has centered around the development of a new game console called GameBender. JoyLabz, developers of Makey Makey and Drawdio, and founded by former Lifelong Kindergarten researcher Jay Silver, has been an incredible partner. We are excited to finally share the […]

  • Test262 Helps Advance JavaScript Proposals to Standardization

    Seth Thompson - April 11th, 2019

    Test262 is a conformance test suite for ECMAScript, the programming language on which JavaScript is based. Containing 36,103 individual tests at the time of this writing, Test262 ensures that different implementations of the language, such as the JavaScript engines in web browsers or stand-alone runtimes like Node.js or Moddable XS, agree on the minutiae of […]

  • Porting Scratch from Flash to JavaScript: Performance, Interoperability and Extensions

    Corey Frang - February 28th, 2019

    Last year we formed a team focused on using the growing number of new web APIs to build multimedia applications that push the edge of the web platform. Our main work in this area over the last 2 years has been with the wonderful team behind Scratch at MIT’s Lifelong Kindergarten Group (LLK), and with […]

    CC BY icon
  • Charting Web Platform Interoperability in 2018

    Seth Thompson - December 20th, 2018

    Bocoup has been a long-time contributor to the Web Platform Tests (WPT) project, helping spec writers draft testable specs and helping browser implementers test features for correctness and interoperability based on those specs. In 2018, we’ve made great strides improving the coverage of WPT, the ergonomics of writing and running tests, and the infrastructure necessary […]

    CC BY-SA icon
  • The Eight-Month Omelette: adding a feature to one million conformance tests

    Mike Pennisi - December 5th, 2018

    The web-platform-tests project (WPT) houses over a million tests written to ensure our browsers provide a consistent experience of the web. WPT predates most of today’s popular JavaScript testing frameworks, so it implements one of its own: testharness.js. In December of 2017, I offered to extend testharness.js with a new feature. No one expected this […]

    CC BY-SA icon
  • Announcing Test262 Report

    Rick Waldron and Boaz Sender - November 7th, 2018

    Today we’re launching Test262 Report to provide JavaScript developers with up-to-date information on the state of new and existing language features across implementations. Test262 Report is based on daily runs of Test262, the ECMA-262 (“ECMAScript” or “JavaScript”) test suite, in nightly builds of JavaScript engines, and visualizes at-a-glance status of feature implementation progress. Taking a […]

  • New Test262 Import and Runner in WebKit

    Rick Waldron - October 16th, 2018

    Bocoup recently facilitated an update to the WebKit project’s interaction with Test262. In this article, I’ll cover what this means for the WebKit project and the JavaScript ecosystem, as well as what exactly has been done in the WebKit project to help make this process more repeatable. Test262 is a project maintained by Ecma’s TC39. […]

  • The State of Fieldset Interoperability

    Simon Pieters - September 19th, 2018

    We recently started working with browser implementers to improve the state of fieldset, the 21 year old feature in HTML, that provides form accessibility benefits to assistive technologies like screen readers. It suffers from a number of interoperability bugs that make it difficult for web developers to use. Here is an example form grouped with […]

  • WPT Workshop Report

    Mike Pennisi and Simon Pieters - July 19th, 2018

    On June 13, operations screeched to a halt here at Bocoup. The phones were ringing, but we didn’t answer them. Packages delivered to our door went ignored. Chicken eggs piled up. All hands were on keyboards, collaborating on the web-platform-tests project. We’ve been participating in WPT for years, largely in collaboration with the Chromium, Gecko […]

    CC BY-SA icon
  • Adapter Pattern – A Must for Vendor & Service Integrations

    Brendan McLoughlin - May 1st, 2018

    Software development is a costly process. Requirements need to be gathered, decisions need to be made, and resources need to be scheduled to write the software. All of these steps require an investment of time and money to get a feature to the point where it starts bringing value to a business. After the feature […]

  • So, You’d Like to Start an Open Source Project

    Mike Pennisi - January 29th, 2018

    Regular readers of this blog are no strangers to free and open source software. From Firefox to Brave, Node.js to OpenSSL, and jQuery to React (finally), today’s web developer can’t get very far at all without relying on “FOSS.” However, there is a huge difference between consuming FOSS and maintaining FOSS. The latter task is […]

    CC BY-SA icon
  • Our Technical Partner Moseys On

    Mike Pennisi - December 11th, 2017

    Back in 2012, on a day that is now ensconced in company lore, the IRC user tkellen joined the channel for the Bocoup-maintained F/OSS project, Grunt. The stranger immediately began to vent on all the shortcomings he saw in the task runner. This was our introduction to Tyler Kellen. We’re reflecting on that event today […]

    CC BY-SA icon
  • Lorin, Redrafted

    Mike Pennisi - December 1st, 2017

    Our pal Lorin Bond has headed out Californee Way to seek her fortune in her home state. She’s done a lot of good around these parts over the past few years, and we wanted to make sure everybody knows about it. From the get-go, we all knew we wanted to work with Lorin. For some, […]

    CC BY-SA icon
  • I Slipped on JavaScript’s Banana Peel

    Mike Pennisi - November 20th, 2017

    Think of the last time you goofed up on the job. Maybe you forgot to clean out the microwave in the break room. Maybe you hit “Reply All” when you really meant “Reply.” Or maybe you nodded off during an all-hands meeting. Probably your mistake was a little less banal than any of that, but […]

    CC BY-SA icon
  • This One Outgrew Her Shell

    Mike Pennisi - October 1st, 2017

    Can you tell me what EBITDA stands for? No? Okay, well, how many varieties of sea slugs can you name? None?! Clearly, you have never worked with Jasmin Jata. She taught us all this and more over the past 3 years. Although Jasmin joined us with a good deal of experience under her belt, she […]

    CC BY-SA icon
  • Ergonomic Testing with Webpack, Part One, File Resolving

    Z Goddard - September 14th, 2017

    This is part one in a series on the intersection of module bundlers and testing frameworks. Our focus will be webpack and jest but the techniques explored here can be reused with other tools as well. Modern websites and applications are routinely built by combining hundreds of small JavaScript modules. In order to increase the […]

  • The Next Steps For TC39

    Leo Balter - August 10th, 2017

    It’s been more than an year since I started attending TC39 meetings, and this most recent meeting felt much like the first, as I faced a new personal challenge: I went there as the acting chair. TC39 is a group of almost 50 highly skilled professionals, each with very strong positions on the existing form […]

  • The Caper of the Flaky Test

    Mike Pennisi - August 3rd, 2017

    The test showed up on my desk just like any other. There I was, working with Google’s Web Platform Predictability team to find so-called “flaky” tests in the venerable Web Platform Tests project. I’d run a hundred or so at a time, over and over again, looking for any that reported inconsistent results. It was […]

    CC BY-SA icon
  • Accessibility for Robots

    Mike Pennisi - July 26th, 2017

    Maybe you’re not a “people person.” It’s not that you dislike other humans, but you recognize certain realities of your work. Your day job is maintaining a web application, after all, not carousing with your users. You know that accessibility is an important topic, but you haven’t been able to find the time to learn […]

    CC BY-SA icon
  • Peter Changes Divisions

    Mike Pennisi - July 21st, 2017

    Peter Beshai has hung up his Bocoup jersey so that he can continue to challenge himself in the field of data visualization. We wanted to take a moment to talk about why Peter will always be a member of this team, wherever he plays Peter’s first order of business was creating an interactive experience for […]

    CC BY-SA icon
  • Agile Methods for Tackling Technical Debt

    Matt Surabian - July 14th, 2017

    Managing technical debt is such an important part of software development we include this goal in every contract we send out: Reduce or eliminate technical debt. All complex projects accumulate some form of technical debt. In extreme cases, it can cause project velocity to slow to a crawl. In this post we’ll review a few […]

  • Getting Started with Shiny

    Jim Vallandingham - July 11th, 2017

    Do you know a bit of R and have some data you need to visualize quickly? In this blog post we take a look at Rstudio’s Shiny package and the first steps toward creating a working interactive to explore your data with it. What is Shiny? Shiny is a framework to develop web-based frontends for […]

    CC0 icon
  • Lyza’s Laser Focus

    Mike Pennisi - June 30th, 2017

    When we first welcomed Lyza Gardner to our team, we knew her to be an especially thorough sort of web developer. Now that she’s struck out on her own, it’s a good time to document how she maintained that reputation during her time at Bocoup. Lyza floored us with a presentation all about the burgeoning […]

    CC BY-SA icon
  • Spliced from Our Array

    Mike Pennisi - June 30th, 2017

    Writer of code and lover of words Brian Brennan has left Bocoup to build collaborative music services at Splice. We had the pleasure of working with Brian for three years, so we wanted to take a moment to reflect on that. When he first joined our team, Brian worked primarily as a consultant. He lent […]

    CC BY-SA icon
  • So Long, ajpiano

    Mike Pennisi - June 28th, 2017

    Adam Sontag came to Bocoup with a reputation for community support. Between his tireless commitment to newcomers in the #jquery IRC channel on freenode.net and his commanding presence on the yayQuery podcast, if you were learning jQuery in 2010, you probably got a tip or two from Adam. (We’d be remiss if we neglected to […]

    CC BY-SA icon
  • Rockaway Jess

    Jory Burson - June 6th, 2017

    When Jess Klein joined Bocoup in 2015, we were ecstatic to have landed a designer of her caliber. Though today we share the sad news that she’s moving on, we wanted to take a moment to celebrate her many accomplishments, and the ways in which Jess improved her craft (and Bocoup) in the process. Almost […]

  • The Many Faces of Functions in JavaScript

    Leo Balter and Rick Waldron - May 11th, 2017

    If you’ve had any contact with JavaScript code, you’re probably very familiar with how to define and call functions, but are you aware of of how many different ways you can define a function? This is a common challenge of writing and maintaining tests in Test262—especially when a new feature comes into contact with any […]

  • Moving Targets: A Case Study on Testing Web Standards

    Lyza Gardner - May 8th, 2017

    Recently, I had the opportunity to contribute to a massive, meaningful effort: the open-source Web Platform Tests (WPT) project. My task was to improve WPT test coverage for areas of the HTML specification dealing with navigation —things like the details of loading new web pages, browsing around the web, and opening new windows. I didn’t […]

  • Screencast Transcript: Improving Webpack Build Times

    Matt Surabian - May 3rd, 2017

    On February 15, 2017 we had a screencast to talk about how to improve webpack build times by utilizing the new webpack HardSource plugin created by our colleague Z Goddard. This post contains the video of that event along with a transcript and visual aids. If you’re interested in learning more about webpack, check out […]

  • Webpack: A simple loader

    Z Goddard - May 2nd, 2017

    A webpack loader is a Node module that tells webpack how to take some input content and transform it into output JavaScript. I often build one-off loaders to experiment or fulfill specific needs for projects—their most basic interface is simple, but can get a lot done. They can be pretty easy to follow and understand, […]

  • Exploring New Technologies for Making Maps (Part Two): Two Fragment Shaders and a Mouse

    Yannick Assogba - April 18th, 2017

    In part one of this series we started learning how to make maps rendered by WebGL, a browser based hardware-accelerated graphics API for 2D and 3D graphics. Our access to this technology was via Tangram, a map rendering library from Mapzen. This post will focus primarily on shaders, those perplexing parallel programs that power our […]

  • Using NVDA Screen Reader on Windows

    Sue Lockwood - March 21st, 2017

    NVDA stands for NonVisual Desktop Access and is a FREE screen reading app for Windows OS. Emphasis on the “free”, as there are other Windows screen readers out there with prices that will make you spit-take across your monitor. (Is there such a thing as a subtweet inside a blog post?) If you do end […]

  • Smoothly animate thousands of points with HTML5 Canvas and D3

    Peter Beshai - March 16th, 2017

    Sometimes in life, you’ve just gotta move thousands of points around on the screen. For hundreds of points, this can be accomplished with D3 through d3-transition on SVG nodes, but this typically becomes too slow when you need to animate more than a thousand points. So how do you do it? Enter canvas. Each point […]

  • Lets Define My Favorite Test

    Mike Pennisi - March 9th, 2017

    Since starting our work on Test262, the official test suite for the ECMAScript programming language, we’ve seen our fair share of strange tests. For nerds like us, every test has the promise to teach us something new, make us laugh, or bury our head in our hands. But unlike choosing between movies, books, or 18th […]

    CC BY-SA icon
  • Visualizing the Health of the Internet with Measurement Lab

    Jim Vallandingham and Peter Beshai - March 8th, 2017

    How do you visualize the “Health of the Internet”? This was the challenge posed to the Data Vis team at Bocoup by our client Measurement Lab, a nonprofit that collects millions of Internet speed tests every month from around the world since 2009. This data is invaluable to policy makers, researchers, and the general public […]

  • Three Years with the WordPress REST API

    K. Adam White - March 3rd, 2017

    In December WordPress 4.7 shipped with a built-in REST API, giving every WordPress site out-of-the-box REST endpoints for the core WordPress data types such as posts, comments and categories. This release is the culmination of almost four years of work by a globally-distributed contributor team, and I’m proud to say that here at Bocoup we’ve […]

    CC BY-SA icon
  • CSS Grid: Responsive and Accessibility

    Susan Robertson - March 2nd, 2017

    Reflow your content with ease In the first post I wrote about my very first learnings with CSS Grid, I showed how I took a pattern I’ve used many times and reproduced it with a lot less code. After learning about how to do something simple, I started wondering about the other properties of CSS […]

  • CSS Grid: Design possibilities

    Susan Robertson - February 24th, 2017

    As I started to learn about CSS Grid and the new base layout possibilities, I was struck by how much this changes things for design. I don’t think I’m alone in this, either: a search through CodePen reveals plenty of designers and developers thinking about this as well. There are so many new ways to […]

  • Getting Started with VoiceOver & Accessibility

    Sue Lockwood - February 23rd, 2017

    If you are a web developer working on a Mac, you can become a hero for thousands of people out there by assuring that anything you create for the web can be read properly by a screen reader. This blog post is going to teach you how to access and wield this super power that […]

  • CSS Grid: Learning new layout

    Susan Robertson - February 21st, 2017

    I’ve been writing base layouts for CSS a long time. Come next month, I’m going to be using a new feature to do that work for the first time in many years, CSS Grid. Yes, flexbox came along and I used it for some pieces of the layout, but it didn’t change the way I […]

  • Exploring New Technologies for Making Maps. Vector Tiles & WebGL (Part One)

    Yannick Assogba - February 10th, 2017

    Maps are both practical and political. They possess undoubtable utility for navigating the physical world and have a long history of being used to shape and reshape the our social and political conceptions of the world. The ability to mark a territory, carve up a continent (or remember one), count a people, or map our […]

    CC BY-SA icon
  • Data Visualization at Bocoup, 2016 Recap

    Irene Ros - February 8th, 2017

    2016 was an exciting year for the Bocoup DataVis team – we wanted to start a new tradition of sharing some of our key highlights, and telling you more about the fun things to come this year. Here goes! 2016 In summary (in no particular order): The very excellent Peter Beshai joined our team, bringing with […]

    CC BY icon
  • Performance Under Pressure

    Mat "Wilto" Marquis - February 7th, 2017

    The following is a transcript of a talk given at various events throughout 2016, including Smashing Conf NYC, and An Event Apart Chicago. I’d like to begin with an exercise in relaxation. As many of you know, I am the picture of mellowness—ol’ Namasté Marquis, they call me. So, close your laptops. Close ’em. No […]

  • JavaScript Developers: Watch Your Language!

    Mike Pennisi - November 30th, 2016

    Illustration courtesy Matt McLaughlin. It is 9:18 AM on August 21, 2021. You have just finished eating your space-breakfast, and you’re ready to get back to work maintaining the web presence for Omni Consumer Products. After about an hour, you find your latest change fails an acceptance test. It turns out to be a bug […]

    CC BY-SA icon
  • How are Americans feeling about the election?

    Irene Ros - November 3rd, 2016

    Much like the rest of the country, we’ve been mesmerized by the election and the coverage surrounding it. This election, more than any previous, has spurred conversations and challenges previously unseen, raising questions around political discourse and campaigning nationwide. We’ve been thinking a lot about those very questions, especially in the coming crescendo of election […]

    CC BY-SA icon
  • Accessibility Wins: Let’s talk color

    Susan Robertson - September 21st, 2016

    In the last two posts we talked about laying the foundation for an accessible website and making sure keyboard users can navigate your site—this week we’re gonna dive into the visual and talk about color. As it turns out, color is a more complex topic than it might seem. We’ll start with a quick run-through […]

  • Showing Missing Data in Line Charts

    Peter Beshai - September 20th, 2016

    While working on visualizing the results of internet speed test data for Measurement Lab, it became clear that there wouldn’t always be data for every geographic location on every single day. We might go several days without meeting a minimum threshold of tests, meaning there would be gaps in our data. This is a pretty […]

    CC BY-SA icon
  • Improving D3 Path Animation

    Peter Beshai - September 14th, 2016

    D3 provides us with many of the basic building blocks needed to make charts in browsers while also making it extremely easy to animate them. One of the most common charts created with D3 is a line chart, often consisting of a series of SVG <path> elements to visualize the data. In this post, I […]

    CC BY-SA icon
  • How BoxArt Provides Fast DOM Animations

    Lyza Gardner and Z Goddard - September 13th, 2016

    Our last article about BoxArt showed how to use BoxArt’s Animated component to animate a tile-dropping game built in React. This time, we are going to look at some features of how Animated optimizes animations for performance. The Beastliness of Layout Thrash There’s a performance nightmare constantly threatening when you’re animating in the browser. As […]

  • Animating React Elements with BoxArt

    Lyza Gardner and Z Goddard - September 8th, 2016

    Have you ever tried writing animations into a website? It’s complicated. There’s lots of room for error, and no tool seems to fill every animation need. Recently, while writing some DOM-based games, the Bocoup team realized there wasn’t existing software for all of the projects’ animation needs. To help fill the gaps, Bocoup created BoxArt, […]

  • Accessibility Wins: Keyboard navigation

    Susan Robertson - September 7th, 2016

    Last week, in the first of our series on Accessibility Wins, we looked at setting up a good foundation by using HTML and ARIA roles properly. This week we’re going to dive into the world of making sure that people can navigate your site using their keyboard. Many, many people use just their keyboards for […]

  • Accessibility Wins: Start with the foundations

    Susan Robertson - August 30th, 2016

    Welcome to the first post in our Accessibility Wins series, which will detail techniques you can use today to improve the accessibility of your web projects. Through this process, you’ll gain insight into how we think about accessibility here at Bocoup. First up is the foundation on which it all rests: writing good HTML and […]

  • Future Responsive

    Brendan McLoughlin and Susan Robertson - August 29th, 2016

    The mobile web’s market share is growing as a bigger and bigger part of the overall web every year. Because of this, more and more organizations are recognizing the value of responsive web design. However, not every organization is ready to go responsive right now. Fixed width sites don’t translate into cheaper sites to build […]

  • Test262 is a JavaScript Sideshow

    Mike Pennisi - August 25th, 2016

    Illustration by Sue Lockwood TC-39, the standards body that defines JavaScript, maintains a gigantic suite of tests for the language. The name of that test suite is Test262. When we started extending Test262 to cover brand new language features, we knew we were in for some surprises. Even so, we never could have anticipated the […]

    CC BY-SA icon
  • Advancing the Open Web through Test262

    Mike Pennisi - August 11th, 2016

    In the beginning of 2015, we started another important project for the open web. Of course you haven’t forgotten, but for all the folks just joining us: Google and Bocoup teamed up to improve Test262, the official test suite for the JavaScript language. Our goal was to improve the dependability of the web platform (not […]

    CC BY-SA icon
  • Creating a Bocoup style guide

    Susan Robertson - July 14th, 2016

    In between client work and working with my design colleagues on an internal project, I’ve been busy creating a Bocoup style guide. One of the fantastic things about Bocoup is that we make a lot of the tools we use to track our work, schedules, and skills—but we didn’t have an easy way for anyone […]

  • Pom & Circumstance: Announcing Pombot for tracking time and productivity in Slack

    Jenn Schiffer - July 8th, 2016

    Recent communication apps, like Slack, have lowered the barrier of entry for the use of bots to increase productivity. There are many techniques that I, personally, have tried in the past for time management, but none that I ever ended up fully adopting. Despite that, I always have been fascinated with what my colleagues were […]

  • Making the Reconbots for Intel at Maker Faire Bay Area 2016

    Francis Gulotta - June 20th, 2016

    This year Intel and Bocoup joined forces to show what you can do at home with the Intel Edison and Johnny-Five. We built a roving robot with streaming video and touchscreen controls in a few days using off-the-shelf parts and under 600 lines of code. We named it Reconbot. Build and drive a robot with […]

    CC BY icon
  • CriticalCSS In Action

    Susan Robertson - June 15th, 2016

    In just my first weeks at Bocoup, I’ve been learning a lot about performance and how to make a site smoking fast. Recently, we were hired to audit and help a client understand what they could do to improve their site speed, and through this project I learned the nuts of bolts of actually implementing […]

  • Building a Better Lyra

    K. Adam White - June 6th, 2016

    Last year we had a successful Knight Foundation Prototype Grant-funded collaboration with the University of Washington Interactive Data Lab (IDL) to improve their Voyager data exploration tool. At the end of our collaboration we knew we wanted to work with the amazing team from the IDL again, so we were thrilled when Jeff Heer & […]

    CC BY icon
  • Introducing BoxArt: A Library to Help Build HTML Games

    Z Goddard - May 23rd, 2016

    We’ve been busy building some Open Web Games at Bocoup. As we did so, we realized there was a dearth of resources for making performant, fun web games using the DOM. Most material aimed at game developers focuses on canvas rendering, and there aren’t many resources for web developers that show them how to use […]

    CC BY icon
  • The Cranky Ghost in the Machine

    Mike Pennisi - April 25th, 2016

    Sometimes I swear source code can say as much about its author as any poetry. This might sound like an exaggeration (or like I don’t read too much poetry), but I’m often surprised by how style and values find their way into the seemingly-lifeless language of software. For me, nowhere has this been more apparent […]

    CC BY-SA icon
  • Equality and Relational Operators: Comparing the strange relationship between null and 0

    Leo Balter - March 29th, 2016

    Recently I saw a tweet about the relationship between values in JavaScript saying that greater or equals means nothing. The tweet reported the following results: null >= 0 // true null > 0 // false null == 0 // false My experience with the JavaScript language makes me believe that everything has a meaning, even […]

  • Looking at JavaScript with “new” eyes: Digging into the specs to learn more about the new operator

    Leo Balter - March 22nd, 2016

    To me, the JavaScript language is as beautiful and unexpectedly wondrous as a mini donkey. If I could propose a new cover for the book Beautiful JavaScript, I would choose this one: The reason I find JavaScript beautiful is that there’s something new to learn everyday. For example, recently I learned some surprising facts about […]

  • Seams in JavaScript

    Mike Pennisi - March 17th, 2016

    Sometimes I’m not satisfied with the way things are. I wish they could be a little bit different, just for a moment. I deal with this desire in my personal life by sighing and gazing through a rain-dotted window. When writing code, I take a more productive approach: I use seams. During application development, there […]

    CC BY-SA icon
  • Say “Hello World” with Johnny-Five on Tessel 2

    Rick Waldron - February 22nd, 2016

    Back in April I wrote about Bocoup’s excitement for the recently announced Tessel 2 in “Pushing NodeBots Into The Future with Tessel 2”. Since then, we’ve worked side-by-side with the Tessel Project to help them realize their platform vision for the next stage in the evolution of the Tessel. With shipping underway, we’re excited to […]

  • Open Source Infrastructure: Deploying jQuery with Ansible

    Corey Frang - February 17th, 2016

    Over the last ten years, the servers that power jQuery and its associated projects have evolved from a single shared webhost to a complex fleet of more than thirty virtual machines. Recently, I have been working with the jQuery Foundation to reel in this decade of organic growth by standardizing the configuration management of our […]

  • Workshops by Bocoup: New Look, Same Great Taste

    Adam Sontag - February 2nd, 2016

    Education and learning have always been a core part of what we do at Bocoup. From our earliest days in Fort Point, we’ve held classes dedicated to teaching people to build on the Open Web, the subjects evolving along with the platform itself. Over the past few months, we’ve been working on a new format […]

  • Bocoup ♥ WordPress

    Bocoup - December 10th, 2015

    Illustration by Sue Lockwood We here at Bocoup want to take a moment to recognize two of our team members for their work on WordPress 4.4, which was released this week: Mat “Wilto” Marquis and K. Adam White. Mat, by his own description, was the lead noise-maker for the effort to get native responsive image […]

  • Smaller, Faster Websites

    Mat "Wilto" Marquis - December 9th, 2015

    The following is a transcript of a talk given at various events throughout 2015, including Bocoup’s own TXJS and Boston JS. Transcript My name is Mat Marquis, of Marquis Home Renovation. I don’t care about websites. I’m a carpenter. That, you’ll notice, is why my slide deck looks like the side of the most badass […]

  • Learning Three.js With Real World Challenges (that have already been solved)

    Sue Lockwood - December 3rd, 2015

    Illustration by Sue Lockwood When exploring a new library or language, I like having a clear set of requirements with an end goal in mind. For me, learning new technologies through client work is ideal—I use the project requirements as a guide to push me to do things I might not normally try on my […]

  • Ansible-based Deployment Workflow for Modern Webapps and Websites

    Adam Sontag, Christine An, and Tyler Kellen - November 18th, 2015

    Illustration by Christine An Over the years, Bocoup has put a lot of open source work on the internet, and we’ve used a huge range of services to do so. In early 2014, it was possible to find our efforts hosted on Dreamhost, Media Temple, Linode, Github Pages, Rackspace, Heroku, DigitalOcean, Amazon, and more. Recently, […]

  • Welcome, Francis Gulotta!

    Adam Sontag - November 18th, 2015

    We’re servo-ing up some great news today: our coop is embiggened once again, with Francis Gulotta joining Bocoup as Director of Web Connected Devices. A lifelong New Yorker, Francis has spent his life immersed in building technology. He’s consulted for small businesses, schools, and startups on his own and at his agency, Wizard Development, served […]

  • Needles, Haystacks, and the Canvas API

    Yannick Assogba - September 29th, 2015

    Rendering and animating a lot of objects while maintaining the interactivity we want to deliver is one challenge we sometimes face as creators of data visualizations. Dominikus Baur explores the axis of performance vs. developer pain in his OpenVis 2015 talk. In summary, higher level APIs such as the DOM and SVG offer a rich […]

  • Mapping the Conflict in Syria – a Design Process (Part 1 of 2)

    Irene Ros - September 28th, 2015

    We’ve been very lucky this last month to join the excellent journalists and editors at GlobalPost on their journey to document the conflict in the Middle East. Several months ago, GlobalPost reached out to us for help with several new long narratives they had in the works. The first narrative, which focuses on the state […]

  • Introducing the Moebio Framework

    Jim Vallandingham - September 15th, 2015

    The Bocoup Data Visualization Team is excited to announce the first public release of the Moebio Framework in collaboration with Santiago Ortiz and Moebio Labs. The Moebio Framework is a JavaScript Toolkit for analyzing and visualizing data in the browser. At the core of this JavaScript framework is a set of data types and functions […]

  • A Git Workflow Walkthrough – Merging Pull Requests

    Jim Vallandingham - August 13th, 2015

    We are in the homestretch with our git workflow walkthrough. I knew we could do it! Last time, we looked at a few ways to review pull requests. In this final (for now!) installment, we will merge our reviewed changes back into master. Once your pull request reviewer is satisfied with the changes, you’ll get […]