Search

Showing results for feat
  • 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
  • A Git Workflow Walkthrough – Feature Branches

    Jim Vallandingham - July 20th, 2015

    When it comes to learning Git, most folks I’ve talked to (myself included) have taken the slow and gentle path toward becoming proficient by adding it incrementally to their existing development processes. We begin by just running git init on an almost finished project and adding everything with a commit message such as start. Then, […]

  • Sessions: The vim Feature You Probably Aren’t Using

    Adam Sontag - February 8th, 2013

    I may as well come out and say it. In 2010, I leapt directly from Dreamweaver to vim as my primary editor. (I’ve been told that I may be the only person ever to have made this jump, but have no concrete evidence to substantiate this claim.) I had grown tired of Dreamweaver’s engorged appetite […]

  • 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 […]

  • Bocoup’s Commitment to Privacy

    Lola Odelola - May 21st, 2024

    When the Web was created, it was an unregulated digital space where anyone with access could create, contribute and share. The lack of structure and governance on the early web quickly gave way to increased surveillance and unconsented data tracking. We are now in a time and space where governments, corporations and web users are […]

  • Free Prototype Program

    Sarah Z. Hakani - March 5th, 2024

    Bocoup is trying something new! We’re launching an opportunity to build a free prototype for you or your organization. We want to ensure that funding is not a barrier to entry to get new ideas out into the world, and we believe prototypes can open doors. Application Information Application link: https://freeprototype.bocoup.com Application deadline: Rolling until […]

  • ARIA Automation Launch

    Lola Odelola - February 7th, 2024

    Automation is likely never going to go out of style. As a people, we’re constantly looking for ways to automate our lives and work in order to make the systems we rely on more efficient and reliable, and the ARIA-AT app is no different. We’ve added automation to the ARIA-AT App allowing test administrators to […]

  • 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 […]

  • Year in Review 2023

    Lazarus Letcher - January 30th, 2024

    Our 2023 Last year, we continued our efforts to help build a more just and accessible web and partnered with some incredible organizations and people to help with that goal. We had our ups and downs, but continued our journey to worker ownership and grew our team. We’re excited to see what 2024 has in […]

  • Interop 2024 Call For Proposals

    Lazarus Letcher - September 14th, 2023

    The Web Platform Test (WPT) Interop 2024 call for proposals is launching today! Read more about the Interop Project and join us in moving the web toward a more interoperable future. Interop 2023 2023 is our third year as part of the incredible Web Platform Test (WPT) Interop team, a unified effort by Apple, Bocoup, […]

  • ‘Can I Use…’, but for ARIA!

    Lola Odelola and Boaz Sender - April 17th, 2023

    Three years ago we announced our work on the ARIA-AT program to develop an interoperability testing system for assistive technologies, starting with screen readers. Last year we completed a redesign of the ARIA Practices Guide (APG), which web developers use for guidance on making accessible websites and apps. We’ve been hard at work along the […]

  • Making Zoom Calls More Accessible

    Lazarus Letcher - March 28th, 2023

    Our co-worker thought we were heartless monsters. This is a slight exaggeration, but an important lesson about what gets lost in translation when apps aren’t entirely accessible. During an experimental Zoom call, we learned that screen readers and the reactions feature aren’t quite compatible. That means that every time during a call when someone mentioned […]

  • Interop 2023

    Lazarus Letcher - February 1st, 2023

    After a successful launch in 2022 we’re extremely excited to continue the journey in 2023! Interoperability across browsers is not just frustrating for web developers, but also for users whose experience can vary wildly. Interop 2023 will continue the effort to increase interoperability, especially in high priority areas. Better interoperability is an issue of access […]

  • 2022 Year in Review

    Lazarus Letcher - January 13th, 2023

    Our 2022 This past year we continued to fine tune our commitment to accessibility, inclusion and justice on the web through our projects, processes, and team trainings. We grew our team substantially, partnered with some very rad folks, and committed to worker-ownership and a four day work week. Growing our Team We added three new […]

  • 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 […]

  • What if Technology was Created for the Benefit of All Life on Earth?

    Lazarus Letcher - April 22nd, 2022

    Earth Day 2022 My generation was raised in the bosom of corporate greenwashing. Every year on Earth Day I remember gathering with my classmates to learn about our role in protecting the environment. We were constantly reminded of the dire need for us to separate our recyclables (and to shame our parents in to doing […]

  • Bocoup and Interop 2022

    Simon Pieters - March 3rd, 2022

    In 2019, Bocoup, Google, Microsoft, Mozilla, Samsung, and W3C together conducted a survey for web developers called MDN Web Developer Needs Assessment. A key finding from that survey was that browsers behaving differently or not supporting the same features was among the top frustrations for web developers. The next year there was a follow-up Browser […]

  • 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
  • Introducing the Web Platform Contribution Guide

    Simon Pieters - May 26th, 2020

    Many people in the web development community, including many of us at Bocoup, were drawn to the web because it appears to be a diverse and inclusive technology platform. But, when we look around the room at who is working on web standards like HTML, CSS and JavaScript, it is mostly a narrow group of […]

  • Interoperability Testing for Assistive Technologies and The Web Platform

    Seth Thompson - May 21st, 2020

    In 2018, we began contributing to ecosystem infrastructure for ARIA, the accessibility API for the web platform, with a project focused on regression testing for example patterns in the ARIA Practices Guide (APG). Since then, we’ve been working on writing new guidelines for the APG directly, which we continue to maintain with funding from Facebook […]

  • 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 […]

  • The ECMAScribes

    Mike Pennisi - October 3rd, 2019

    Did you know that in the process of standardizing JavaScript, TC39 publishes notes for each of their regular meetings? Every other month, over 50 “delegates” convene to discuss the future of the language, and the minutes they publish provide an incredible view into their discussions. Here’s what you can expect to find: a list of […]

    CC BY-SA icon
  • 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
  • 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
  • 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 […]

  • Three Cheers for Bmac

    Mike Pennisi - July 27th, 2018

    Friday, July 27 marked Brendan McLoughlin’s final day at Bocoup. Brendan (better known around the web as “bmac”) joined us way back in 2013, so there’s a lot to say about his contribution to our company. The most important thing to know about Brendan’s style (and probably the first thing you’d notice when working with […]

    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
  • 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
  • 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 […]

  • 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
  • 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
  • Bocoup Data Visualization Goes Exploring

    Chrys Wu - June 26th, 2017

    The Bocoup Data Visualization team will be at the Eyeo Festival in beautiful Minneapolis this week. We’re looking forward to learning, getting inspired, and meeting friends and colleagues from all over the world. If you’re attending too, be sure to say hello! Meanwhile, we wanted to share some of our latest work: In April, we […]

  • 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 […]

  • Diving Into the Web Platform Tests

    Mike Pennisi - April 27th, 2017

    Illustration by Sue Lockwood At Bocoup, we hold strong convictions about the social significance of the web platform. We want to see it expand, and we want to make sure that it remains open in all senses as it grows. Following the lead of Philippe Le Hegaret of the W3C (and in collaborations with the […]

    CC BY-SA icon
  • 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 […]

  • 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: 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
  • 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
  • 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, […]

  • 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
  • Adventures in Pair Designing: Pomming

    Jess Klein - July 19th, 2016

    Designing in a vacuum is challenging. It’s more than challenging – it’s hard, painful, sad, depressing, defeating, pointless, infuriating, lonely – you get my point? It can potentially be debilitating for a creative to be working in a silo, which from time to time could happen on a project. To address this, we are experimenting […]

  • 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 […]

  • 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
  • A Baseline for Fast, Accessible, Responsive Games on the Open Web

    Mat "Wilto" Marquis - May 12th, 2016

    The first thing I built on a computer wasn’t all that different from the last thing I built on one. That first computer was a Macintosh Classic II. It was one of those beige boxes with the handle on the top, a black and white screen that was—what—maybe twice the size of an iPhone 6 […]

    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
  • 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
  • Developing Educational Workshops with a Design-Driven Approach

    Jess Klein - January 26th, 2016

    This winter we will be offering a workshop series focusing on user experience design. We craft our educational offerings using similar practices to how we design products: using a goal oriented and design driven methodology. In this post, I’ll be sharing the process for how we went about developing this new workshop offering. Choose a […]

  • 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 […]

  • Our Work with Data Voyager: Designing for Fast Data Exploration

    Jim Vallandingham - November 23rd, 2015

    Recently, we announced our Knight Foundation Prototype Grant to work on Data Voyager, a tool for exploring the breadth and depth of a particular dataset with ease through automated visualization recommendations. Data Voyager was originally created as a research project by Jeff Heer’s Interactive Data Lab at the University of Washington (with implementation led by […]

  • 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 […]

  • A Git Workflow Walkthrough – Reviewing Pull Requests Locally

    Jim Vallandingham - August 3rd, 2015

    In many cases, a visual check of the changes via the PR page on GitHub is enough to give a +1 to changes. That’s how we did things in our previous walkthrough post. But sometimes, you want to try things out locally downloaded to your own machine to get a feel for what is really […]

  • Sponsoring Diversity Scholarships for BrazilJS

    Leo Balter - July 29th, 2015

    At Bocoup, we believe scholarships are an actionable way to promote a more diverse tech community and to provide direct support for under-represented groups to participate in tech events. We began offering Diversity Scholarships this year to the events we organize such as OpenVisConf, CSSConf and TXJS. With this in mind, we went beyond North […]

  • A Git Workflow Walkthrough – Reviewing Pull Requests

    Jim Vallandingham - July 24th, 2015

    Last time, we looked at how using feature branches makes life easier, and how you would create a feature branch to make a change and push it up to GitHub for review in the form of a pull request. Now that a Pull Request is live, someone has to review it. Let’s walk through some […]

  • Seeing the Extensible Web Manifesto Through

    Mat "Wilto" Marquis - July 7th, 2015

    Illustration by Sue Lockwood Participating in the creation of a new standard means joining listservs that look like they were put together circa 1850 and asynchronous arguments in IRC channels that span any/all timezones. It means devoting your nights and weekends to learning how to tinker with specs and fighting with professional web standards reps. […]

  • The ES2015 Nightmarefile

    Mike Pennisi - June 16th, 2015

    They tried to cover this up. In designing ECMAScript 2015 (a.k.a. ES6, a.k.a. ES2015), the authors identified a number of undesirable side effects of their work. “Why worry?” they asked. “People will be so smitten with arrow functions and block-scope bindings that they won’t care about a few measly backwards-breaking changes.” Well I care, and […]

    CC BY-SA icon
  • text-rendering: optimizeLegibility is Decadent and Depraved

    Mat "Wilto" Marquis - May 13th, 2015

    Look, I like good typography as much as the next person—maybe even a little more. When a CSS property came along with promises to doctor all my type with ligatures and carefully calculated kerning—not some half-assed tracking, but real kerning—I jumped at it. I put text-rendering: optimizeLegibility on headings, body copy, navigation links; I slapped […]

  • Lessons from Scrum

    Greg Smith - May 1st, 2015

    There is a notion in the software industry that teams are either “doing Scrum” or not. That is true in some cases, but the majority of teams are using a hybrid of methodologies based on their experiences and situation. Some of this apparent isolation is linguistic: Scrum has its own terminology for some notions that […]

  • Vintage Visualization Restoration – Bump Chart Edition

    Jim Vallandingham - April 29th, 2015

    As a side project, I decided to reimplement a classic bump chart visualization using JavaScript and D3. Check it out here. My Introduction to the Bump Chart This bizarre but majestic visualization was originally created for the 1890 US Statistical Atlas by the wonderfully talented Henry Gannett. It provides a look at the most populated […]

  • Pushing NodeBots Into The Future with Tessel 2

    Rick Waldron - April 1st, 2015

    On March 5, 2015, Technical Machine announced the next generation of their Tessel platform: the Tessel 2. Additionally, Technical Machine announced a prototype-to-production service for products that are built with the Tessel 2. These are both very exciting developments for the future of NodeBots. According to Technical Machine, the Tessel 2 builds on and grows […]

  • Practicing the new world language skills

    Leo Balter - March 12th, 2015

    Amerigo Vespucci once called the Americas the “New World”, as they weren’t known to our ancestors. That’s the same impression I’ve had of the forthcoming ES2015 (ECMA-262, 6th Ed.) specification and the newly evolved landscape that it creates. There are a lot of things to come and they’ll remain only examples until we really use […]

  • Praticando as linguagens do novo mundo

    Leo Balter - March 12th, 2015

    Américo Vespúcio uma vez chamou a América de “Novo Mundo” quando ela ainda não era conhecida pelos nossos ancestrais. Essa é a mesma impressão que tive com a especificação do ES2015 (ECMA-262, 6th Ed.) e o novo panorama que ela traz. Tem várias coisas por vir e elas vão se manter apenas como exemplos até […]

  • Stabilizing ECMAScript 2015 (ES6): Teaming up with TC39 and Google on Test262

    Mike Pennisi - February 18th, 2015

    August 14, 2015. Mark your calendars. That’s my next birthday. Another important date is June 18, 2015–it’s when the ECMA General Assembly will vote on and approve the 6th edition of Ecma-262 and usher in the next era of JavaScript. On that day, all those new language features we’ve been coveting/dreading will officially enter our […]

    CC BY-SA icon
  • Bocoup’s Most Important (Empty) GitHub Repo

    Greg Smith - January 9th, 2015

    Bocoup loves GitHub. Our code lives there, we collaborate and code review using Pull Requests, and it makes deployment a breeze. For the last year, we’ve even started using GitHub to manage Bocoup. What? As Bocoup has grown, we’ve started using new tools to manage information internally. We wanted a company Wiki, but which one […]

  • Assembling and Preparing the RobotsConf Sumobot with Johnny-Five

    Rick Waldron - December 19th, 2014

    At this year’s RobotsConf, the theme of the event was “Everyone Builds a Robot”. Creator and curator Chris Williams facilitated this by including a SumoBot Kit (designed and produced by Paweł Szymczykowski) and an ARDX Starter Kit for Arduino in the “swag bag” that every attendee received at registration. The bag also included an Arduino […]

  • What’s in a Function Name?

    Mike Pennisi - November 25th, 2014

    Every time I contribute to JSHint, I learn a little more about JavaScript. My most recent fantastical knowledge adventure led me to the behavior of the name attribute of function objects. JSHint has an interesting but lesser-known feature: code analysis reports. When used programatically, JSHint will return an object with some data about the code […]

    CC BY-SA icon
  • A Day at the Races: Avoiding Random Failures in Selenium UI Tests

    Mike Pennisi - October 15th, 2014

    Selenium is an indispensable tool for developing web applications. It allows developers to write test scripts that control real browsers and ensure their applications behave in the way that users expect. Tests like these make software development much more pleasant–developers can have much greater certainty that their application is functioning correctly even after large refactoring […]

    CC BY-SA icon
  • Designing an Exponentiation Operator for JavaScript

    Rick Waldron - August 5th, 2014

    Update: This proposal now has two open bugs for implementation, on V8 and SpiderMonkey. https://code.google.com/p/v8/issues/detail?id=3915 https://bugzilla.mozilla.org/show_bug.cgi?id=1135708 In this article, I’ll explore the process of adding syntax to a programming language by going through the process of designing a new JavaScript exponentiation operator, which I’ve submitted to TC39 for consideration in ES7. In many programming languages, […]

  • New Experiments in CSS Tooling

    Greg Smith - July 21st, 2014

    CSS is awful, but it doesn’t have to be that way. For example, new languages that compile to CSS like Stylus, Less, and Sass have made it much less painful to lay out and style web projects. However, these projects are limited: they provide delicious, delicious sugar, but ultimately they are using the same core […]

  • Improve Your Tests by Breaking the Rules

    Mike Pennisi - July 14th, 2014

    For many developers, writing tests is a hassle that would be best put off till tomorrow. For one, nothing can compete with the direct impact of writing great application logic. No user ever shared feedback like, “The UI was really pleasant and the functional tests were well-organized and readable.” There’s not much I can say […]

    CC BY-SA icon
  • Git Workflows For Successful Deployment

    Matt Surabian - May 7th, 2014

    One of the best parts about working at Bocoup is the freedom we have to explore ideas and open source projects. The diverse range of experience and interest we all bring to the table means there are always interesting open conversations taking place in the office; both about the implementation of specific ideas and the […]

  • bl.ocksplorer.org – Learning d3.js by Example

    Irene Ros - April 7th, 2014

    We’ve been working quite a bit with d3.js here at Bocoup. From working on d3.chart to our work with clients like Climate Central. Regardless of our endeavor, one thing stayed true – we rely on the many examples out there showing off how to use various esoteric features of d3.js. Many of these examples live […]

  • Proactive Node.js Development with Travis CI

    Mike Pennisi - March 13th, 2014

    Life on the cutting edge can be treacherous. At any moment, your web browser may dramatically update its user interface. Your e-reader might take your books away. Your favorite snack cake could disappear from store shelves. For many, the uncertainty of this lifestyle just isn’t worth it. Fortunately, when it comes to Node.js development, you […]

    CC BY-SA icon
  • Shell Hacking – CDPATH

    Corey Frang - January 27th, 2014

    Imagine you are working in your shell, you could be in any directory anywhere, but you want to go to ~/Projects/MyProject. You’re probably used to typing something like this: cd ~/Proj[tab]/MyPro[tab] Wouldn’t it be nice if you could end up in the exact folder you want with just: cd MyProject The CDPATH environment variable Much like the […]