Plugin Release: Disclaimers

Let's start with some ancient history. Our flagship WordPress theme, Largo, descends from work that NPR did in the early 2010s under the name The Argo Network. The network's work included best-practices recommendations for working with WordPress in news, published at the Argo Project, and an open-source WordPress theme called Argo, which INN forked in 2012.

Fast-forward a few years. INN was working on a big refresh of WisconsinWatch.org for the Wisconsin Center for Investigative Journalism, and was bringing in new features in Largo to support that refresh. The 0.4 release of Largo included a disclaimer widget that could be used to provide site-wide or per-article disclaimers and disclosures.

Today, we're happy to announce that that functionality is available to all WordPress users, with the launch of the Disclaimers plugin. 🎉

The plugin's site-wide settings page, showing an example setting of "This is an example sitewide disclaimer."
The plugin's site-wide settings page, showing an example setting.
The widget settings page, showing the Disclaimers widget added to the "Article Bottom" widget area. The active theme is Largo.
The widget settings page, showing the Disclaimers widget added to the "Article Bottom" widget area. The active theme is Largo.
The Disclaimers widget, displaying a sitewide disclaimer, set at the bottom of an article.
The Disclaimers widget, displaying a sitewide disclaimer, set at the bottom of an article using the Largo theme.
With the Twenty Seventeen theme active, this site has chosen to put the Disclaimer widget at the top of the sidebar.
With the Twenty Seventeen theme active, this site has chosen to put the Disclaimer widget at the top of the sidebar.
Here's what the per-post settings look like on a site using the Gutenberg editor plugin. The same subset of HTML is supported in this box as your site supports in the post body.
Here's what the per-post settings look like on a site using the Gutenberg editor plugin. The same subset of HTML is supported in this box as your site supports in the post body.
A screenshot of a post in Twenty Seventeen displaying a more-complex disclaimer with HTML bold, strong, emphasized, italic, and link tags in use.
A screenshot of a post in Twenty Seventeen displaying a more-complex disclaimer with HTML bold, strong, emphasized, italic, and link tags in use.

Largo sites running any current version of Largo don't need to install this plugin now, but we will be removing the corresponding disclaimers functionality from Largo in the next release. The migration process will be as painless as we can make it, with all your existing disclaimers carried forward.

Stay tuned for more plugin announcements in the coming months! You can subscribe to our newsletter or follow us on Twitter at @innnerds to receive updates. Or, just watch our blog here. We even have an RSS feed!

Office Hours Recording: Steve Grunwell’s “Code Review” Talk

On May 25, we had the privilege of hosting Steve Grunwell's reprise of his WordCamp Dayton talk, "Code Review: For Me & You". Here's the description:

On the surface, the idea of code review is a no-brainer: why wouldn’t we want a second set of eyes on our code, especially before deploying to production?

As we peel back the layers, however, we find that the topic of code review is much more nuanced. How detailed should the review be? Who is qualified to perform the review (hint: it’s not just senior developers)? Can we afford to take another developer away from their project to review this one? What steps can we take to ensure reviews are constructive, rather than demoralizing?

Attendees will gain deeper insight into some of the arguments for and against systemic, peer code review, as well as pick up some useful tools to make code review a natural part of their teams’ workflow.

Check out the recording of Steve's presentation here and follow along with the slides at this link. (Hit s to read the speaker notes — it's a Reveal.js presentation.)

Have something you'd like to present to the INN Labs team and our INN members? Get in touch!

Resources for getting started building news graphics

This post started as a conversation with an INN member about how to turn a database into something searchable for readers. We talked about Datasette Publish, and custom solutions, but the conversation turned into a discussion of how they could build their own simple things, and from there how they could find people and resources to learn more.

And then we thought that other people would have similar questions, so here's what we've come up with on how to get started building news apps and building your own apps team.

C'mon let's go and play

Every snowman starts with a snowball. Do something small to learn the tools, and work your way up from there.

Start by reading the 2013 Source article on building apps on a shoestring. Pay attention not to the specific tools, but to the philosophies in them: static sites that don't depend on servers, replicatable pipelines for turning your data into HTML, and building configurability into your code so you can use the same tool for a different data set next time.

Read:

Try:

Remember that "Any technology, no matter how primitive, is magic to those who don't understand it," and there's probably going to be a lot of tools that are indecipherable magic. When you're just getting started, it's okay for those tools to remain magic. You'll come to understand them later.

Keep an eye on these resources to see what other people are making:

It doesn't have to be a big team

First, read this 2015 Source article about how to be a lonely coder. (It's by Tyler Machado, our new front-end dev!)

Join the Lonely Coders' Club Slack and the News Nerdery Slack. If you have the budget, attend the yearly NICAR conference, which is full of tools and ideas.

Read:

Realize that other teams are lot farther along than you are, and that's okay. They started small, too.

An interactives team isn't a movie. It's a movie studio, and the thing about movies is that anyone with a camera can make them. If all you have is a camera and a script, that's enough to make a simple film. If all you have is a website and some data, that's enough to make a simple chart.

A side-by-side comparison of a static storyboard image from the ballroom coronation confrontation scene of Frozen, and the final film product, where Ana grabs Elsa's hand.
On the left we have a static image. On the right, we have the final film's animation. They still tell the same story, right?

Your first project doesn't have to be Snowfall. It's okay to just have static charts. Start small and work your way up.

How would you do this?

If you have feedback or advice or links on this blog post, let us know, and we'll do a roundup or recap of responses next week. Send an email at labs@inn.org or tweet us @innnerds.

Are you still there?

Maybe we should get a bunch of people who started interactives teams together for a panel about how they built the interactive teams and the tools. If you've started such a team, and are interested in participating, send me an email ben@inn.org and we'll put together a pitch for SRCCON or NICAR 2019.

How to use News Match Donation Shortcode

As part of INN's support for the 2017 News Match campaign, we've released two WordPress plugins to help sites convert readers. News Match Donation Shortcode provides a donation form for your site to ease donations through the News Revenue Hub as part of the News Match campaign.

Prefer a video walkthrough? Watch this tutorial on youtube.

Installing the plugin

On your WordPress site, click on "Plugins" in the Dashboard menu. If you see an "Add New" button at the top of the page, click that.

If you don't see the "Add New" button or the "Plugins" menu, your user might not have permission to manage plugins on the site; you should contact your technical support and ask them to install News Match Donation Shortcode for you. Your site might require downloading the plugin ZIPs and uploading them via FTP instead of using WordPress' built-in plugin installation tools.

Configuring the plugin

A screenshot of the plugin's locaiton in the wordpress settings menuThe plugin's settings are at Settings > News Match Shortcode in the WordPress admin.

When you first enable the plugin, you'll want to configure it with your organization's name, your News Revenue Hub ID, the default donation amount, and the live and staging URLs of your News Revenue Hub form.

The settings is where you configure the donation levels to match your organization's membership levels. While the plugin comes with 4 default donation levels, you can easily define your own labels and donation levels. The defaults are: $0-$5 Friend, $5-$50 Ally, $50-$500 Champion, and $500+ Ambassador. If you want fewer donation levels, set the third level's upper donation amount to a very high amount, such as your org's dream budget, and make sure that the fourth level is more than that.

A screenshot of the level 1 donation level settings.
Here's an example of non-default configuration of the first donation level out of four.

If you use Salesforce to track campaigns, you can set a default Salesforce campaign ID for the plugin in the plugin's settings. This can be overridden on a per-form basis by setting the sf_campaign_id attribute of the shortcode, like so: [newsmatch_donation_form sf_campaign_id="foo" amount="25"]

A screenshot of the WordPress admin dashboard shows the setting for the Salesforce Campaign ID
This is the Salesforce campaign ID setting in the plugin admin.

The shortcode in use

The default form of the shortcode uses buttons to select the donation level:

a screenshot of the donation form
[newsmatch_donation_form]
By adding type="select" to the shortcode, it appears like this:

a screenshot of the dropdown donation form
[newsmatch_donation_form type="select"]
A full list of shortcode arguments and examples can be found in the plugin's WordPress.org entry, but they're basically one-off overrides for your Salesforce campaign ID, your default donation amount, and the type of form.

The above screenshots use the plugin's default styles with non-default configuration. You can style the donation form using your site's theme's CSS, Jetpack’s Custom CSS Editor, or any other tool that allows you to define custom styles on your site. Guidance for these custom styles can be found in the FAQ section of the plugin's WordPress.org entry.

Need support?

If you have questions about this plugin and integrating it with your WordPress site, contact support@inn.org.

If you have questions about the News Revenue Hub, visit their contact page.

If you have questions about the News Match program, visit their website for donornonprofit and funding partner information.

How to use News Match Popup Basics

As part of INN's support for the 2017 News Match campaign, we've released two WordPress plugins to help sites convert readers. News Match Popup Basics provides a little guidance and some useful tools for using popups in your campaigns.

Prefer a video walk through? Watch this tutorial on youtube.

News Match Popup Basics does the following:

  • Creates a new popup with our recommended default settings, using the free Popup Maker plugin
  • Provides a way to disable popups on your donation pages
  • Provides a way to disable popups when readers click a link in your Mailchimp-powered newsletter

Let's walk you through installing the plugin and getting it set up.

Installing the plugin

News Match Popup Basics requires the Popup Maker plugin, so first we need to install that.

On your WordPress site, click on "Plugins" in the Dashboard menu. If you see an "Add New" button at the top of the page, click that.

If you don't see the "Add New" button or the "Plugins" menu, your user might not have permission to manage plugins on the site; you should contact your technical support and ask them to install News Match Popup Basics for you. Your site might require downloading the plugin ZIPs and uploading them via FTP instead of using WordPress' built-in plugin installation tools.

After clicking "Add New" you should be on the "Add Plugins" page. In the "Search plugins..." box, enter "popup maker" — you should see an entry named "Popup Maker™ – Best Rated" appear, by "WP Popup Maker." Click "Install Now" to install the plugin, and then click "Activate". You'll be sent to a page asking you to allow sending certain information to a third party. You can press the "Skip" button without any negative effects. Whether you choose to skip or accept, you'll be taken to the list of Popup Maker popups: none yet exist, and that's okay.

Go back to the "Plugins" page, and inn the "Search plugins..." box, enter "news match popup basics innlabs" and choose the presented popup named "News Match Popup Basics" by "innlabs" — that's our plugin. Install and activate it.

In the Dashboard menu, choose the "Popup Maker" item. This will take you back to the "Popups" page you saw earlier, but there should now be a draft popup named "News Match Default Popup." Click on it.

You'll see an editor page that looks rather like the default WordPress post editor, but with a number of exciting new boxes. You can read more about those boxes at the Popup Maker plugin documentation, which is thorough and well-illustrated.

Our default settings for the popup are these:

  • is not published by default, but requires you to publish it before it becomes active on your site
  • is the size “Large” from Popup Maker’s settings
  • appears at the center of the bottom of the reader’s screen
  • appears by sliding up from the bottom of the screen, over 350 milliseconds
  • has a “Close” button
  • does not prevent readers from interacting with the page by means of an overlay
  • does not have a title
  • automatically opens after 25 seconds on the page, because immediate popup appearances can be jarring
  • once dismissed by a reader, does not appear again for a year or until the reader clears their browser’s cookies, whichever comes first
  • appears on the front page of your site
  • uses Popup Maker’s default theme

You'll need to configure which pages the popup appears on, using the built-in conditionals feature. For disabling the popup on certain pages or in certain cases, read on in this blog post, or check out Popup Maker's paid extensions.

You'll also probably want to review the Popup Maker themes available and modify them to suit your own site's appearances. Once you've modified or created a theme, edit your popup to make it use your theme.

In addition to using Popup Maker themes, you can style popups using your site's WordPress theme's CSS, Jetpack’s Custom CSS Editor, or any other tool that allows you to define custom styles on your site.

What goes in a popup?

We recommend donation forms or newsletter signup forms. For a simple donation form that integrates with the News Match campaign, check out News Match Donation Shortcode.

Finding the News Match Popup Basics settings

From the WordPress Dashboard menu, under Popup Maker, choose "News Match Popup Basics." This is where you configure whether the plugin disables certain popups.

Disabling popups on certain pages

Donation pages should help people give you money, and should have as few obstacles to that goal as possible. Likewise, newsletter signup pages. Strip out ads, remove unnecessary headers, maybe even clean up your footer on these pages. Donation and signup pages should do one thing and do that well.

Popup Maker's free version includes a simple yet powerful Boolean conditionals system that determines on what pages popups appear, but that system only works on a per-popup basis. Preventing popups from appearing on a particular page requires checking every single popup on your site, and modifying their conditions. We've endeavored to make the process simpler.

In the News Match Popup Basics settings, check the box to enable donation page popup prevention, and add some URLs to the box. Each URL must be on its own line. You should remove the protocol from the start of the URL, so that https://example.org/ is entered as example.org/.

A screenshot of the WordPress admin showing the News Match Popup Basics settings page, focused on the URL-based popup suppression feature's settings. The URLS given are example.org/donate/, example.org/newsletter-signup/, and /about/
Example settings for the URL-based popup prevention feature of News Match Popup Basics.

When a visitor goes to a page the URL of which matches one of the entered URLs, News Match Popup Basics will prevent Popup Maker from displaying any popups on that page. You can include URL fragments as well, so if you want to prevent popups on pages that have a common URL name, like every page that has donate in its URL.

Be careful with how general your URL fragments are. By "match" we mean that if the entire text on the line in the box can be found in the URL, it will match:

  • example.org/meow/ will only match example.org/meow/ and example.org/meow/woof/
  • /meow/ will only match example.org/meow/, example.org/meow/woof/ and example.org/2014/03/25/meow/
  • meow will match example.org/meow/, example.org/meow/woof/, example.org/2014/03/25/meow/,
    example.org/2017/10/25/adopt-chairman-meow-adorable/ and
    example.org/category/homeownership/

We named this feature "donation page popup prevention," but in reality it can be used to exclude popups on all sorts of pages.

If you'd like the ability to programmatically exclude popups on arbitrary pages, let us know on this feature proposal on GitHub.

Disabling popups from Mailchimp visitors

In the WordPress Dashboard, under the “Popup Maker” menu item, on the “News Match Popup Basics” page, there is a checkbox that enables MailChimp suppression. There is also a text box to set the utm_source parameter. MailChimp automatically appends this URL parameter to outbound links in your emails if you have click tracking set up.

From one of the emails you have sent, find a link that contains a utm_source= parameter and copy the following argument text, up until any & character, into the text box. For example, a Nerd Alert newsletter sent by INN Labs contained a link that looked like this: https://example.org/?utm_source=Nerd+Alert&utm_campaign=4d4ecd9f68-EMAIL_CAMPAIGN_2017_10_06&utm_medium=email&utm_term=0_1476113985-4d4ecd9f68-421742753. From that URL, you would copy Nerd+Alert into the text box.

A screenshot of the WordPress Admin settings page for News Match Popup Basics, focused on the popup prevention for MailChimp visitors. The setting for utm_source is set to "Nerd+Alert"
An example configuration of the utm_source setting.

Once you have provided a utm_source parameter, checked the checkbox, and saved the settings, any popup that contains an HTML element with an id attribute equal to mc_embed_signup, or a CSS selector equal to #mc_embed_signup, will be suppressed. Suppression works client-side using JavaScript that runs in the visitor’s browser.

If you have multiple MailChimp signup forms on your site, suppression based on the HTML ID of the form will not work for you. You should add a class to all MailChimp forms in popups, and use that as the selector. For more details about this process, see the FAQ entry "Why does MailChimp popup suppression use #mc_embed_signup" at the plugin's WordPress.org entry.

If you'd like better tracking of MailChimp form sign-ups, we recommend that you follow MailChimp's guide on editing forms for better analytics to track popup conversions.

Need help?

If you have questions, join us in our webinar today (Wednesday, October 25) at 1 p.m. Eastern, or contact us at support@inn.org.

Nerd Alert 141: We wish you a merry weekend

We wish you a merry weekend
We wish you a happy weekend
We wish you a restful weekend
And a happy day off ♬

HOT LINKS

What we're reading this week

Ben: The RNNoise Project is collecting donations of noise to help improve real-time noise suppression algorithms. Record a sample in your browser, review it to make sure that there's nothing sensitive, and submit. It's that easy!

RC: Pierrick Calvez's "A Five Minutes Guide to Better Typography" is a beautifully-laid-out demonstration of its own principles.

Julia: “Want readers to start trusting you? Stop stalking them across the internet,” says Melody Kramer.

Kay: How are you treating your most committed users? You have potential to expand your loyal members/followers/supporters and you can start with talking to them like they matter.

Inndy: Other robots are calling you, and it’s because the Do Not Call list has a big hole in it.

ANNOUNCEMENTS

Listen up!

The News Match logo is plain text that reads: News Match. Quality Journalism Matters.

News Match is back, and our team is working to help participating organizations take advantage of this unique and impactful opportunity. Read more about how we can help, and check back here every week for updates. We’ll be posting plugin release announcements, how-tos for configuring donation forms, best practices for user experience design, and advice on maximizing Google Analytics for donation campaigns. You won’t want to miss it.

EVENTS/DEADLINES

Be in the know

October 6: Last day to apply for Catalyst AAJA’s Media Entrepreneurship Program
October 13-14: Computation and Journalism Symposium 2017 at Northwestern University
October 14: Last day to apply to participate in the Washington News Nerds’ Tacoma (un)conference
November 3: Deadline for proposals for Propublica’s Local Reporting Network
December 1-3: WordCamp US in Nashville
December 7-8: SRCCON:WORK in Philadelphia

SHOUT OUT

Work we admire by our journalism peers

A graph showing the percent of Puerto Rican power customers who have service. It starts below 5% and slowly grows to 10.7%.

When FEMA removed drinking water and power statistics from its page covering Puerto Rico's recovery, The Washington Post started graphing those stats. And FEMA started posting those stats again.

The Financial Times has created an eye-opening game based on real reporting, including interviews with dozens of Uber drivers, that shines a light on the realities of working in the gig economy. You're an Uber driver. Can you make your mortgage payment?

Do you develop or maintain database-reliant interactive websites? How will they be preserved for the future? Katherine Boss at New York University Libraries, and Meredith Broussard at the New York University Arthur L. Carter Journalism Institute are conducting a survey of news apps, to help figure out what the best ways to archive such projects are.

GET A JOB

Good jobs with good people

NPR is hiring a product designer.

The Center for Public Integrity is hiring a news developer.

St. Louis Public Radio is hiring a digital engagement producer and a bunch of other positions.

Poynter has a massive roundup of journalism internships and fellowships.

If you're looking for general jobs in nonprofit news, check out the main INN newsletter and sign up here to get it in your inbox every Tuesday. Two INN newsletters are better than one!

DISCOVER

Gather ye rosebuds

READ: Wordways, an open-access journal dedicated to "recreational logology."

LISTEN: It’s Halloween Month, but if you don’t want to listen to the Otomatone cover of Spooky Scary Skeletonscheck out The Guardian's list of the best 50 tracks from September. 🎶

PLAY: Mavis Beacon Teaches Typing meets Asteroids in Ztype.

WATCH: Three hours and 47 minutes of live YouTube comments being fed into a shredder.

EAT: Overnight sous-vide bacon.

DRINK: Pumpkin beverages — including ones without pumpkin spice!


It’s been a tough week. You survived!

The Pokémon Staryu floats against a blue background with motion-blurred purple and white stripes. From its central gem, endless streams of stars pour towards the viewer.

You get a star!

Hurricane Irma remote contribution opportunities

This is a roundup of all Irma-related things that people can contribute to remotely: mapping projects, newsroom projects, and so on. Suggest changes to this Google Doc and we'll update this post.


This post originally appeared in the Friday, September 8 edition of the Nerd Alert newsletter.

Nerd Alert 138: What if we all worked together on something?

HOT LINKS

What we're reading this week

Ben: Content “blocks” are the happening thing. WordPress is working on Gutenberg. Tumblr is moving from plain HTML to the Neue Post Format. ProPublica now runs on Craft, which is built around blocks. What else is out there?

RC: Jake Spurlock’s presentation, A Biased Guide to Managing Bias, is a must read.

Julia: This post on the narrowing gap between design and code suggests that a new era of design etiquette is upon us.

Kay: Designing, developing, and testing for multiple screen sizes has its challenges - including not being able to work with multiple devices at the same time. That’s why I was excited to read about XRespond, a tool made to simplify that process and give you an all-in-one overview.

Inndy: Fear dumb robots.

PEOPLE ARE MAKING THINGS

Helpful projects that you can join

This is a roundup of all Irma-related things that people can contribute to remotely: mapping projects, newsroom projects, and so on:

The above is what ran in the Nerd Alert Newsletter sent on Friday, September 8. We're keeping an updated version of this list over here.

 

EVENTS/DEADLINES

Be in the know

This Saturday, September 9, is the last day to fill out the OpenNews News Nerd Survey.

September 22: Last day to pitch talks to the 2018 Computer Assisted Reporting conference, aka NICAR.

September 23: Data Journalism Bootcamp at CUNY – sign up soon!

September 29: Last day to apply for a Knight Visiting Nieman Fellowship.

SHOUT OUT

Work we admire by our journalism peers

The logo of Coral Project's Talk software is a text bubble with three hollow circles in it.
The Washington Post is now using Talk, the Coral Project’s commenting platform. It'll help them engage with commenters, instead of the too-common approach of turning comments off.

 

GET A JOB

Good jobs with good people

ProPublica is hiring a senior reporting fellow and a contract animator.

CALmatters is hiring an audience engagement manager.

Reese News Lab is hiring a data scientist.

100 Days in Appalachia is hiring a digital managing editor.

WNYC is hiring a data reporter.

If you're looking for general jobs in nonprofit news, check out the main INN newsletter and sign up here to get it in your inbox every Tuesday. Two INN newsletters are better than one!

 

DISCOVER

Gather ye rosebuds

READ: I downloaded an app. And suddenly, was part of the Cajun Navy 📲

LISTEN: Bohemian Rhapsody on a fairground organ 🎶

WATCH: A webcam on Miami Beach ⛱

EAT: Do-it-yourself Meals Ready to Eat 🍴

DRINK: Clean water 🚰

PLAY: The Magic Door ✨

 


 

Stay dry, friend.

An illustration of a white cat sitting on the edge of a pool, watching the goldfish swim. This is in a garden with lots of cabbage.

WordCamp for Publishers Wrap-Up

Contributor Day Thanks

INN would like to thank the following people for their contributions during Contributor Day:

  • Mike Schinkel for Largo pull requests #1469 and #1466, fixing errors in Largo when running under WP_DEBUG and cleaning up some widgets.
  • Chris Hardie for Largo pull requests #1463#1465, and #1468, fixing syntax problems and WordPress Theme Check issues.
  • Jeremy Green for Largo pull request #1464, fixing a number of translation text domain issues.
  • Mads Holmen, Ben Borie, and Douglas Arellanes for their contributions to the Largo Wiki.
  • Adam Schweigert for continued work on DoubleClick for WordPress.

If you'd like to contribute to the next version of Largo, check out the Largo issue tracker on GitHub. We have a number of issues that would make good community contributions. Also, check out Largo's contributor guidelines and our team documentation!

INN at #wcpub

We'll update this section with transcripts and video as they become available.

Julia's Designing for Customization session provided an overview of the WordPress Customizer, information on how we're building the next version of Largo for Customizer-powered homepages, and ended with a brainstorming session about ways to solve a number of problems through improving customizability. Read her slides and speaker notes, and the prompt from the brainstorming session.

RC led INN's Contributor Day presence, which focused on building the next edition of Largo.

Ben's lightning talk was about all of INN's plugins, starting with the popular ones and wrapping up with the ones we've built for other people.

Kay and Ben were WordCamp for Publishers organizers as well as INN representatives. Kay was part of the Denver team that handled events and logistics, and Ben was part of the publicity team that handled the website, social media updates, and photography.

During Contributor Day, RC worked on Largo and Ben worked on INN's Storytelling Tools plugin.

Nerd Alert 135: Hello from WordCamp!

We're at WordCamp for Publishers this week, so this Nerd Alert is a little light.

If you’re in Denver, come say hi! 👋

If not, never fear! You can follow the events on Twitter at #wcpub, and check out our team's slides here:

You're invited to join us remotely for Contributor Day! The event kicks off tomorrow at 10:30 a.m. MT, and RC will be leading collaboration on Largo. Take a look at the issues on GitHub and jump in wherever you can!

HOT LINKS

  RC: If you haven’t checked out the WP GraphQL project yet, here’s a great presentation on how and why you’d want to get started using it.

  Kay: Tech platforms have long stood by strict neutrality and freedom of expression. That may now be changing.

  Julia: Some Internet history for your Friday afternoon: The languages that almost became CSS.

  Ben: The processes described in this blog post sound incredibly inadvisable – changing a computer’s operating system in place as it runs, live, without rebooting, in a production environment – but Magento did it, and it worked.

  Inndy: Robot dance party?

SOME OTHER STUFF

LISTEN: Beethoven's Pathétique Sonata

EAT: Blueberry Crisp Tart with Oat Crust

DRINK: Nutella Latte

WATCH: You owe it to yourself to experience a total solar eclipse


Whoa.

A dolphin, a whale and a seal bob up and down in the ocean, wearing eclipse glasses, while the sun flicks on and off as the moon passes in front of it.