Search
The Eight-Month Omelette: adding a feature to one million conformance tests
Mike Pennisi - December 5th, 2018The 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 […]
A Git Workflow Walkthrough – Feature Branches
Jim Vallandingham - July 20th, 2015When 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, 2013I 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 […]
Interop 2025 Call for Proposals
Mike Pennisi - September 17th, 2024Between implementing brand-new technology and fixing bugs in existing code, the folks who make web browsers have no end of important work to do. The problem space is so vast, in fact, that even deciding where to start is a challenge. That’s where you come in! But first, some background. The Web Platform Tests Interop […]
Announcing the Privacy Stack for Remix
cypress masso - June 18th, 2024As part of our ongoing commitment to building a more just digital landscape, we have been thinking a lot about privacy this year. We’ve also been trying out Remix and though we wish the project was still working towards a renderer-agnostic architecture, we appreciate its reliance on web standards. Many technologists care about privacy and […]
How to run a DIY node server in 2024
Boaz Sender - June 11th, 2024We 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, 2024Push 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, 2024Remix.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, 2024When 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, 2024Bocoup 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, 2024Automation 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, 2024Intro 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, 2024Our 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, 2023The 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, 2023Three 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, 2023Our 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, 2023After 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, 2023Our 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, 2022So 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, 2022We 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, 2022Earth 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, 2022In 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, 2021Have 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. […]
Introducing the Web Platform Contribution Guide
Simon Pieters - May 26th, 2020Many 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, 2020In 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, 2019We 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, 2019Did 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 […]
Contributing to the ARIA Authoring Practices Guide
Simon Pieters and Valerie Young - August 1st, 2019We 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, 2019The 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 […]
Widening the Web with ECMA-402: Our work on the Internationalization Extension to JavaScript
Valerie Young - May 30th, 2019Inconsistencies 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
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, 2019Test262 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, 2019Last 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 […]
Charting Web Platform Interoperability in 2018
Seth Thompson - December 20th, 2018Bocoup 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 […]
Announcing Test262 Report
Rick Waldron and Boaz Sender - November 7th, 2018Today 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, 2018Bocoup 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, 2018We 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, 2018Friday, 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 […]
Adapter Pattern – A Must for Vendor & Service Integrations
Brendan McLoughlin - May 1st, 2018Software 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, 2018Regular 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 […]
Lorin, Redrafted
Mike Pennisi - December 1st, 2017Our 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, […]
I Slipped on JavaScript’s Banana Peel
Mike Pennisi - November 20th, 2017Think 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 […]
The Next Steps For TC39
Leo Balter - August 10th, 2017It’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, 2017Maybe 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 […]
Agile Methods for Tackling Technical Debt
Matt Surabian - July 14th, 2017Managing 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, 2017Do 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 […]
Lyza’s Laser Focus
Mike Pennisi - June 30th, 2017When 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 […]
Bocoup Data Visualization Goes Exploring
Chrys Wu - June 26th, 2017The 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, 2017If 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, 2017Recently, 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, 2017Illustration 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 […]
Exploring New Technologies for Making Maps (Part Two): Two Fragment Shaders and a Mouse
Yannick Assogba - April 18th, 2017In 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, 2017NVDA 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, 2017How 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, 2017In 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 […]
CSS Grid: Learning new layout
Susan Robertson - February 21st, 2017I’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, 2017Maps 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 […]
Performance Under Pressure
Mat "Wilto" Marquis - February 7th, 2017The 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, 2016Illustration 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 […]
How are Americans feeling about the election?
Irene Ros - November 3rd, 2016Much 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 […]
Showing Missing Data in Line Charts
Peter Beshai - September 20th, 2016While 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 […]
Improving D3 Path Animation
Peter Beshai - September 14th, 2016D3 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 […]
How BoxArt Provides Fast DOM Animations
Lyza Gardner and Z Goddard - September 13th, 2016Our 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, 2016Have 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, 2016Illustration 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 […]
Advancing the Open Web through Test262
Mike Pennisi - August 11th, 2016In 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 […]
Adventures in Pair Designing: Pomming
Jess Klein - July 19th, 2016Designing 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, 2016In 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, 2016Last 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 & […]
Introducing BoxArt: A Library to Help Build HTML Games
Z Goddard - May 23rd, 2016We’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 […]
A Baseline for Fast, Accessible, Responsive Games on the Open Web
Mat "Wilto" Marquis - May 12th, 2016The 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 […]
The Cranky Ghost in the Machine
Mike Pennisi - April 25th, 2016Sometimes 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 […]
Seams in JavaScript
Mike Pennisi - March 17th, 2016Sometimes 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 […]
Developing Educational Workshops with a Design-Driven Approach
Jess Klein - January 26th, 2016This 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, 2015The 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, 2015Illustration 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, 2015Recently, 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, 2015The 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, 2015We 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, 2015In 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, 2015At 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, 2015Last 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, 2015Illustration 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, 2015They 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 […]
text-rendering: optimizeLegibility is Decadent and Depraved
Mat "Wilto" Marquis - May 13th, 2015Look, 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, 2015There 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, 2015As 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, 2015On 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, 2015Amerigo 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, 2015Amé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, 2015August 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 […]
Bocoup’s Most Important (Empty) GitHub Repo
Greg Smith - January 9th, 2015Bocoup 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, 2014At 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, 2014Every 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 […]
A Day at the Races: Avoiding Random Failures in Selenium UI Tests
Mike Pennisi - October 15th, 2014Selenium 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 […]
Designing an Exponentiation Operator for JavaScript
Rick Waldron - August 5th, 2014Update: 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, 2014CSS 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, 2014For 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 […]
Git Workflows For Successful Deployment
Matt Surabian - May 7th, 2014One 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, 2014We’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 […]