Updates to Case Display - Headmatter

The Caselaw Access Project offers free, public access to over 6.5 million decisions published by state and federal courts throughout American history. Because our mission is providing access to legal information, we make these decisions available in a variety of formats through a variety of different access methods.

One of our most important ways of sharing cases is through the basic case display. If you come across a case on Google or anywhere else on the web and click on the link, you're likely to land on the case display.

We're constantly thinking about better ways to present the range of information we have about each case. One of our latest improvements has been to update how headmatter is shown so that information about a case (such as the list of attorneys or, for older cases, public domain headnotes or other supplemental content) is distinct from the actual text of the case.

Here's an example of what that looks like:

Case view of "Whaling v. Shales" (1839) showing headnotes and attorneys highlighted above the text of the opinion.

Our goal is to share as much information as we possibly can about each case. But we want to make sure that the information is clear and readers can easily navigate all the distinct elements of the case.

If you have other ideas for how we can improve case display, please reach out to us anytime at info@case.law.

Search Update: Download Search Results as Dataset

The Caselaw Access Project offers free, public access to over 6.5 million decisions published by state and federal courts throughout American history. We make these decisions available in a variety of formats through a variety of different access methods.

Court decisions obviously are documents that can be read and interpreted by people, but they're also data that can be processed and analyzed by machines. We try to reflect this principle by designing interfaces that are useful for people (such as our search interface and case viewer) and for programs (our API).

Connecting Human Interfaces with Machine Interfaces

One of our favorite things is connecting these two types of interfaces together so that people who may be accustomed to searching for and reading cases can also begin to understand the cases as structured data that can be processed by programs. So, for example, our human search interface has a "SHOW API CALL" link that will display and explain the URL that is used by our API to execute your search:

Search for the word "computer", with an arrow pointing to "show API call".

Search for the word "computer", showing the API call used to complete the search as a link, highlighted with a box.

If you put that URL into your browser, you'll see the search results that are returned by our API. Likewise, when we display a case for reading, we also give you a button to view the case as structured data using our API:

Viewing the case, "Apple Computer, Inc v. Franklin Computer Corp.", with an arrow pointing to the format option "API", highlighted with a box.

Here's what that structured data looks like:

Viewing the case  "Apple Computer, Inc v. Franklin Computer Corp." as structured data using the CAP API.

We do this to help demystify the tech that powers legal information services, so that we all can demand more of the providers we rely on and so we can experiment in building our own things. Eventually, we expect others will make their own interfaces to the data that we make available through the CAP API. So if you don't like any of the commercial interfaces, and you don't like our search interface or case view, we want you to be able to build and experiment with your own. At a minimum, we hope that people will demand more from their information service providers, especially those who charge for access to public information.

Creating Datasets Out of Search Results

A new way we're connecting human interfaces to court decisions "as data" is to make it easy to download search results as a stand-alone dataset. We've heard many requests for this feature from our research community, and we're excited to announce it today.

Search for the word "computer", for cases decided in Arkansas between January 1, 2000 and December 31, 2002, with an arrow pointing to the "download" option, highlighted with a box.

When you click this button, you can download your search results as a custom dataset in JSON or CSV.

Search for the word "computer", for cases decided in Arkansas between January 1, 2000 and December 31, 2002, showing download options.

Once you've downloaded the dataset, you can work with the cases in your own environment using your own tools and methods. Creating custom datasets is something that most legal information providers do not support at all, which is part of the reason that empirical analysis of law has been so difficult and time-consuming in the past. Law professors and others were forced to spend months (or longer!) compiling collections of cases. We hope to make that process much easier with this feature.

Please let us know how it goes!

New Updates to Search: Advanced Filters

The Caselaw Access Project offers free, public access to over 6.5 million decisions published by state and federal courts throughout American history. Because our mission is providing access to legal information, we make these decisions available in a variety of formats through a variety of different access methods.

One type of access we've been working hard on recently is our search interface, which you can get to at case.law/search. We've had basic search working for a while, and we're pleased to share our new advanced search filters.

Advanced filters work exactly as you'd expect. Start your search with keywords or phrases, and then use the filters to narrow down jurisdictions, courts, and dates. Say you're looking for Massachusetts cases from 1820 to 1840 that contain the word "whaling."

Search for cases that include the word "whaling" decided from 1820 to 1840 in Massachusetts, showing advanced filters for full-text search, date from, date to, case name abbreviation, docket number, reporter, jurisdiction, citation, and court.

You can also access the advanced filters from the search results screen, so that you can fine-tune your search if you're not happy with the initial results. Delete or modify any of the filters as you go, and sort the results chronologically or by relevance.

Search results for cases that include the word "whaling" decided from 1820 to 1840 in Massachusetts, showing filters on left.

There is a lot more we hope to do with search, but we hope you enjoy this improvement. If you have ideas of your own, please share them with us at info@case.law.

CAP is a project of the Library Innovation Lab at Harvard Law School Library. We make open source software that helps people access legal information, preserve web sources with Perma.cc, and create open educational resources with H2O.

Exploring Caselaw Interfaces

Courts and the legal publishers that serve them, by necessity, are creatures of habit. A case's fundamental structure hasn't changed much, whether published early in the 19th century or during the COVID pandemic. Even when publishers started taking their wares online, they didn't stray far from their well-worn model. In many ways, that's a good thing. I imagine legal research and writing would be much more arduous if fundamental case elements were as inconsistent as citation schema over the years.

But we think these cases have undiscovered uses beyond informing legal arguments. We know that NLP (Natural Language Processing) folks have already made use of the API and bulk download tools we built at http://case.law. Still, the most frequently accessed pages on our website are individual case pages from google visitors. What are their needs? Historical research? Family history? ... leisure? Even if the fundamental structure of a case is necessarily immutable, are there opportunities for novel interfaces to bring these works to new audiences?

Process

The first step I took was to assemble a list of actions that people perform on collections of things.

a hand-scribbled list of verbs

Among these ideas, I was most interested in enhancing people's ability to cut through the endless walls of text we serve up to find what they're looking for. This is a more cut-and-dried topic for an interface exploration, so I spent most of my time there.

I am also interested in humanizing the stories behind these cases through narrative. Too often, the technical analysis of these legal documents overshadows that they describe real events in real people's lives. Not only have the subjects of these cases often endured gruesome, traumatic events, but the trials themselves are often traumatic. While I only lightly touched on this direction here, I'd very much like to explore it in the future.

The Results

Topic Explorer

Topic Explorer is a simple idea based on data or a data interface that does not exist. What if you could find the number of cases that contain a specific word and then get a list of the most frequently used important words in those cases?

an inverted triangle cut into sections each with search terms and results

At that point, you could add that word to your search.

an inverted triangle cut into sections each with search terms and results

Or hide it to expose more words.

an inverted triangle cut into sections each with search terms and results

Exclude it from your search to go in a different direction.

an inverted triangle cut into sections each with search terms and results

Trace Topic

Though based on the same interest in exploring a topic, this approach is a bit different. The idea is that within a case, you could highlight a word and then see how frequently that word appears in cases that cite to the case you're reading and cases that cite to those cases. The idea is that you could drill down from that topic into different usages within related cases.

a picture of a document with one word highlighted, and a number of documents around it.

The color of the case represents the relevance of the term in that search, or whatever else you want it to be, really.

Clandestine Conversation

This completely different approach to digging into a specific topic involves trying to facilitate conversation among readers. Maybe someone could annotate a highlighted passage with an invitation to discuss it.

Enter the text: a screenshot of a portion of text with a bit highlighted, and a small box pointing to it in which some text is entered in an input field

Users see a symbol: a screenshot of a portion of text with a bit highligted, and a small "i" icon next to it

They click on it and get the invitation: a screenshot of a portion of text with a bit highlighted, and a small box pointing to it in which some text invites a user to converse about the highlighted text

Ratings and Reviews

Maybe people have feelings about cases best expressed through star ratings and reviews? Frankly, they probably don't, but it seemed like too familiar an idiom to ignore.

a screenshot of a caselaw viewing toolbar interface with a "Ratings and review" section added, like on an ecommerce site.

If you haven't had a chance to check out our trends viewer, I highly recommend you drop what you're doing and play for a little while. Like Google's Ngram viewer, it will tell you the frequency with which a word appears in cases over time. You can even split it up by jurisdiction! However, if you want to see how something trends in ALL jurisdictions, it's a little tough to read.

Rather than having all years and jurisdictions visible, I represented jurisdictions on a map and added a year scrubber control. You can get the precise numbers for that year from the list on the right.

a map of the united states on which the states are varying in opacity based on some data, a timeline above it, and a data table to the right

3D Timeline Explorer

Our developer Anastasia is working on a very cool legally-focused storytelling interface we call Timeline. Its users can create legally-focused timelines that include cases, important dates and events, and narrative. Inspired by some of the new proximity conferencing tools, such as gather.town, I designed an interface with which someone could explore one of these timelines in a 3D environment.

Users access different bits of media when moving their sprite over different hot spots on the timeline.

a 3d cartoon depiction of a hallway with a timeline on the floor, marked with various hot spot symbols for sounds, movies or articles

Since we are primarily a caselaw database, court cases would probably get special treatment. Each case could have a virtual courtroom with different hot spots for different participants in the process.

a 3d cartoon depiction of a courtroom marked with various hot spot symbols for sounds, movies or articles

Sound of an Opinion

Like Topic Explorer, Sound of an Opinion would require data we don't yet have. Using pre-made or algorithmically-created sound clips, we would convey the emotional tone and other measurable facets of an opinion based on text sentiment analysis. In my simplistic demo, I correlate positivity/negativity with instrumentation and scale, verb density with the drumline volume, and adjective density with the drumline complexity. The sound clips were created in Logic Pro X using Apple Loops and their algorithmic drum beat creator.

a screenshot of a sound tile board

Check out this live ProtoPie demo (that will not work in Safari.)

Next Steps

While few, if any of these ideas will be fully realized, unencumbered, blue-skies thinking is time well spent around here. We've already started investigating the feasibility of generating and serving sentiment analysis data through our API. Do any of these ideas excite you? Do you have any ideas of your own you think belong here? Reach out and let us know!

This Is Just Amazing

The other day, I noticed this on the side of the house.

Category 5 cable with broken jacket

That is near the bottom of the run of Cat 5 Ethernet cable I installed over twenty years ago, from the cable modem and router in the basement through a window frame, up the side of the house and into the third floor through another hole in a window frame. What I found amazing was not so much that the cable, neither shielded nor rated for the out-of-doors, had lasted so long in such an amateurish installation, but that all of our Zoom meetings for the last eight months had passed through these little wires.

The really amazing part, beyond the near-magic of all that audio and video flying through little twists of copper, is the depth of dependency: at each end of that cable is hardware that changes voltages on the wires, operating system drivers for interacting with the hardware, the networking stacks of the operating systems that offer network interfaces to software, the software itself, the systems of authentication and authorization that the software uses to permit or deny access—a cascade of protocols, standards, devices, programming languages, and codebases that become the (mostly) seamless experience of the discussion we have at ten each morning. Or, a moment later, the experience of confirming that the city has accepted the ballot I mailed.

Starry-eyed delight in an amazing machine is clearly not sufficient, with as good a view as we now have of the broken dream of a liberatory Internet. We have to have an acute awareness of the system accidents implicit in our tools and the societal technologies that are connected to them. I believe the delight is necessary, though—without it, I don't see how we can ever learn to treat computers as anything other than an apparatus of control. There's hope, if a grimy cable with a broken jacket can carry joy.

Tech Tip: Sorting Cases on Analysis Fields

Last month we announced seven new data fields in the Caselaw Access Project. Here are API calls to the cases endpoint that demonstrate how to sort on these fields. Note the query strings, especially the use of the minus sign (-) to reverse order.

All cases ordered by PageRank, a measure of significance, in reverse order, so the most significant come first:

?ordering=-analysis.pagerank.percentile

All cases sorted by word count, from longest to shortest:

?ordering=-analysis.word_count

Introducing CAP Case Analysis

We’re announcing a new layer of information in the Caselaw Access Project.

Among seven new data fields are PageRank, the all-time significance of a case based on our citation graph, and Cardinality, the number of unique words in a case. These and other fields derived from case text allow us to do things like identifying the longest court opinion ever published, or investigating how language in cases has changed over time. You can view analysis fields in the sidebar when browsing or via the API.

We want to hear about what you’ve learned and created using these fields. Let us know!

Summer 2020 CAP Systems Update

Today we’re sharing an update to Caselaw Access Project systems. This change shows one way libraries can support access to large datasets at low cost. Here’s how we did it.

Unlike many services that run in the cloud, CAP runs on bare-metal servers. Running on bare metal solves two problems for us as a nonprofit: it gets us faster servers for less money, and it means we can offer high-traffic or CPU-intensive services to our users without risking an unexpected bill at the end of the month.

In the last few weeks we moved our main server to a new 64-core CPU with all-SSD storage. As long as we were doing that, we took the opportunity to upgrade our stack from Debian 9 to Debian 10, Python 3.5 to 3.7, Postgres 9.6 to 11, and Elasticsearch 6 to 7, as well as updating our own software to be compatible with the new stack.

The upshot is that our most resource-intensive tasks, like citation extraction, bulk exports, and rebuilding our search index now run about 20 times faster than they did a few weeks ago. This helps us move large amounts of data more quickly, for less money. We're looking forward to using that faster server for new features, like custom, on-demand bulk exports for researchers.

We like to talk about the systems behind CAP. Have questions about how CAP works? Let us know!

Caselaw Access Project Cite Grid

Today we’re sharing Cite Grid, a first visualization of our citation graph data. Citation graphs are a way to see relationships between cases, and to answer questions like “What’s the most cited jurisdiction?” and “What year was the most influential in U.S. case law?”

You can explore this visualization two ways. The map view allows you to select a jurisdiction, and view inbound and outbound citations. This shows states more likely to cite that jurisdiction in a darker color. For example, when viewing Texas, the states Missouri and California are shown as most likely to cite that state.

Map view showing inbound citations to Texas, with Missouri and California shown as most likely to cite that state.

The grid view allows you to view the percentage of citations by and to each state. Here’s an example! When we select one square, we can see that 1.4% of cases from Colorado cite California.

Grid view showing 1.4% of cases from Colorado citing to California.

Do you want to create your own visualization with the data supporting this tool? We’re sharing the dataset here. If you’re using our citation graph data, we want to hear about it, and help you spread the word!