Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cross link and reorg docs #637

Merged
merged 2 commits into from
Feb 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 31 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,37 @@ preprod](https://github.com/Howdju/howdju/actions/workflows/deploy-preprod.yml/b
using evidence. The content is currently user-generated, and we hope to augment users' actions with
machine learning.

## Contributing

We welcome your contributions!

Please [join our
Slack](https://join.slack.com/t/howdju/shared_invite/zt-1qbfzlfsj-YRswgQ5RCLDHelef6ya6xg) to
introduce yourself and chat about what interests you. Before contributing please look over our
[Contributor Guidelines](https://github.com/Howdju/howdju/blob/master/CONTRIBUTING.md).

### Issues

Our [open issues](https://github.com/Howdju/howdju/issues) indicate the work we have identified.

Here are some focused ways to view issues:

- [Assigned to Carl](https://github.com/Howdju/howdju/issues/assigned/carlgieringer) these are
issues I'm actively working on or that I intend to work on soon.
- [Enhancements](https://github.com/Howdju/howdju/issues?q=is%3Aopen+is%3Aissue+label%3Aenhancement):
features on our road map (as opposed to bugs.)
- [Core domain](https://github.com/Howdju/howdju/labels/core%20domain): these are the work items
that relate to Howdju‘s primary fact-checking functionality.
- [In the Add Appearances project](https://github.com/orgs/Howdju/projects/3): this is a Kanban
board that contains similar issues to those assigned to Carl.
- [Good first issues](https://github.com/Howdju/howdju/labels/good%20first%20issue): Howdju welcomes
contributions! Carl is happy to explain the platform and the development process to newcomers. I
am also happy to talk through ideas for features and implementation approaches.

The current general direction is to evaluate and improve the social fact-checking functionality.

### Contribution guidelines

## Development

See [docs/Development.md](https://github.com/Howdju/howdju/blob/master/docs/Development.md) to get
Expand Down Expand Up @@ -84,13 +115,6 @@ See Howdju/howdju#304.
We initially considered Premiser as a name for Howdju, and so some packages have this name. Howdju
is now the preferred name.

## Contributing guide

If you'd like to contribute to Howdju, great! Please feel free to join our Slack to introduce
yourself and chat about what interests you. If you're specifically interested in contributing code
changes to Howdju's source code or issues to this repository, please see our [Contributor
guidelines](https://github.com/Howdju/howdju/blob/master/CONTRIBUTING.md).

## Code layout

This repository is a monorepo based on Yarn berry workspaces. This diagram shows the high level
Expand Down
4 changes: 3 additions & 1 deletion howdju-docs/pages/_meta.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
{
"index": "Home",
"introduction": "",
"features": "",
"design": "",
"concepts": "",
"background": "",
"organization": "",
"community": {
"title": "Community",
"type": "menu",
Expand Down
74 changes: 74 additions & 0 deletions howdju-docs/pages/background.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Background

*This page provides a longer background of the thoughts and motivations leading to Howdju.*

Information online is growing quickly. Besides the large amount of information generated daily by
traditional news and institutional sources, social media and a variety of new media sources are
generating information faster than the average person can keep up. New tools are needed to help
people aggregate and filter the content that is most relevant to them and to help them to evalute
new information efficiently.

One of the greatest impediments to human well-being is lack of mutual understanding. Howdju is
designed to expose users to alternative viewpoints to try and help people to understand better where
the other is coming from. It is also intended to provide people the best information to evaluate
different perspectives on issues to help inform their dialog.

Howdju is a platform to help people stay informed. Its primary objective is to help people
effectively understand the massive amount of information that we increasingly need to digest to make
decisions about our lives. Howdju’s vision is both to help people remain informed about the high
level events and currents of our societies, while allowing them to dig deeply into the specifics of
those events, all while helping us to keep track of what was learned.

## Hypotheses

Howdju is based upon on these hypotheses:

- We are more open to alternative perspectives when we share why we believe what we believe than
when we are told what is correct or incorrect. (The name “Howdju” comes from “How d’you know
that…?”)
- Doubt and resistance will persist until we are confident that all sides have had an opportunity
to present alternative perspectives and respond to others’ perspectives.
- To maintain trust and accountability, a human-centered aggregatator must be in the loop of any AI
generated information.

## Research supports this approach

[Research](http://dx.doi.org/10.1080/23808985.1999.11678963 "Daniel J. O’Keefe (1999) How to Handle
Opposing Arguments in Persuasive Messages: A Meta-Analytic Review of the Effects of One-Sided and
Two-Sided Messages, Annals of the International Communication Association, 22:1, 209-249, DOI:
10.1080/23808985.1999.11678963") indicates that two-sided messaging that includes counter-arguments
is much more persuasive than without.
[Research](https://www.poynter.org/news/fact-checking-doesnt-backfire-new-study-suggests "Fact-checking doesn't 'backfire,' new study suggests, Alexios Mantzarlis, November 2, 2016 citing
Wood, Thomas and Porter, Ethan, The Elusive Backfire Effect: Mass Attitudes’ Steadfast Factual
Adherence (December 31, 2017)") also indicates that the “backfire effect” may occur for isolated
incidents based upon wording of the correction. “[B]y and large, citizens heed factual information,
even when such information challenges their partisan and ideological commitments.”

## Democracy & social cohesion

Democratic government depends upon its citizens getting good information in a timely fashion. If
citizens do not receive good information when they need it, or, worse, if they receive bad
information, then democratic government suffers. Special interests that do not necessarily reflect
the best interests of a country can influence opinion with bad information, leading to the break
down of the concensus which is necessary for democratic government to survive.

As societies grow in population, citizens grow increasingly disconnected from each other. This is
just an outcome of the limit on the human ability to maintain relationships and keep track of
information. At the same time, as technology advances, a society’s ability to create and share
information increases. But a society’s ability to separate good information from bad information
does not necessarily grow at the same time. This creates a dangerous situation where segments of the
population can become disconnected from one another in opinion, based upon a lack of consensus of
what is true.

In smaller, less technologically advanced societies, social cohesion was created by a combination of
editorialization and citizen communication. These two channels of verifying information cannot keep
up with a growing society: technology has weakened the power of editorialization, both for good and
for bad. Now that anyone can create “news” in a few easy steps (1. register a domain, 2. perform a
few clicks to install a blogging platform with a professional theme, 3. write anything you want at
all, 4. share via social media and/or advertising.) it can be difficult to tell the good news from
the bad. Growing population has weakened citizen communication.

Assuming increasing population growth and technological advancement, democratic governments must
discover ways to balance the influence of bad information. The thesis of Howdju is that in order to
do so, a system must bring together all the information, both the good and the bad, present them
side-by-side, and provide tools for tracking the good and the bad information.
20 changes: 18 additions & 2 deletions howdju-docs/pages/features.mdx → howdju-docs/pages/design.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,20 @@
# Features
# Design

This page describes the goals of Howdju's functionality, how specific features
achieve those goals. It also compares Howdju to other well-known platforms to
explain the benefit of its particular design.

## Intended qualities

Howdju’s intended qualities are:

- Convenience: make it easy to input and to access information
- Consolidation: prevent duplication and collect related things together
- Context: empower users with the information they need to evaluate the information.

### Features

Specific features embodying these qualities are:

- One-step submission of evidence:

Expand All @@ -9,7 +25,7 @@
- Convenient viewing of evidence in-context

The same three tools enable quickly viewing a
[MediaExcerpt](/concepts/media-excerpts) in situ.
[MediaExcerpt](/concepts/media-excerpts) in context.

- Consolidate equivalent entities and connect related ones

Expand Down
15 changes: 13 additions & 2 deletions howdju-docs/pages/index.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,15 @@
# Howdju's Docs

Howdju is a platform for crowdsourced factchecking. These docs describe Howdju's
features and concepts.
Howdju is a prototype platform for crowdsourced factchecking started by by [Carl
Gieringer](https://www.linkedin.com/in/carlgieringer/). These docs describe
Howdju's features and concepts.

Howdju's goal is to decrease misunderstandings by making it convenient to access and
share factual information relating to debated topics.

## Prototype?

Prototype means:

- Functionality may be incomplete or unreliable
- Functionality may change with new ideas for how the platform should work.
15 changes: 15 additions & 0 deletions howdju-docs/pages/organization.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Organization

Howdju currently has no formal legal entity, but these are the requirements of
any future organization:

- All income must come from sources that will preserve the platform's independent nature. The
platform will not sell advertisements, but instead will receive donations and possibly offer
subscription-only features targeting professional users.
- Profits will be reinvested into R&D for the platform and donated to causes relating to media
literacy and critical thinking.
- Always develop source code in the open.
- Cooperate with researchers: work with sincere and qualified researchers to provide
privacy-sensitive access to Howdju data in order to advance societal understanding.

A non-profit corporation structure would probably best serve these requirements.
7 changes: 7 additions & 0 deletions premiser-ui/src/App.scss
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,13 @@ strong {
}
padding: 10px;
text-align: center;

#footer-links {
:first-child {
margin-right: 10px;
}
float: right;
}
}

// Cards that are the top-level element in a grid cell should fill it. This
Expand Down
26 changes: 19 additions & 7 deletions premiser-ui/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { TabsList, Tab } from "@react-md/tabs";
import { connect, ConnectedProps } from "react-redux";
import { Switch } from "react-router";
import { Link } from "react-router-dom";
import { FontIcon } from "@react-md/icon";
import { FontIcon, SVGIcon } from "@react-md/icon";
import { Sheet } from "@react-md/sheet";
import { List } from "@react-md/list";
import { MessageQueue } from "@react-md/alert";
Expand Down Expand Up @@ -62,7 +62,6 @@ import { startPersisting, stopPersisting } from "./store";
import t, {
MAIN_TABS_ABOUT_TAB_NAME,
MAIN_TABS_RECENT_ACTIVITY_TAB_NAME,
MAIN_TABS_WHATS_NEXT_TAB_NAME,
} from "./texts";
import { isDevice, isScrollPastBottom, isScrollPastTop } from "./util";
import WindowMessageHandler from "./WindowMessageHandler";
Expand All @@ -71,6 +70,7 @@ import { AddMessageCapturer } from "./AddMessageCapturer";

import "./App.scss";
import "./fonts.js";
import { MaterialSymbol } from "react-material-symbols";

const tabInfos = [
{
Expand All @@ -83,11 +83,6 @@ const tabInfos = [
text: t(MAIN_TABS_RECENT_ACTIVITY_TAB_NAME),
id: "recent-activity-tab",
},
{
path: paths.whatsNext(),
text: t(MAIN_TABS_WHATS_NEXT_TAB_NAME),
id: "whats-next-tab",
},
{
path: paths.about(),
text: t(MAIN_TABS_ABOUT_TAB_NAME),
Expand Down Expand Up @@ -384,6 +379,13 @@ class App extends Component<Props> {
component={Link}
to="/media-excerpts/new"
/>,
<MenuItemLink
key="documentationSite"
primaryText="Docs site"
leftAddon={<MaterialSymbol icon="menu_book" />}
component={Link}
href="https://docs.howdju.com"
/>,
<MenuItemLink
key="tools"
primaryText="Chrome Extension"
Expand Down Expand Up @@ -541,6 +543,16 @@ class App extends Component<Props> {
Use of this site constitutes acceptance of our{" "}
<Link to={paths.userAgreement()}>User Agreement</Link> and{" "}
<Link to={paths.privacyPolicy()}>Privacy Policy</Link>.
<div id="footer-links">
<a href="https://www.github.com/Howdju/howdju" title="Github">
<SVGIcon aria-label="Github">
<path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" />
</SVGIcon>
</a>
<a href="https://docs.howdju.com" title="Documentation">
<MaterialSymbol icon="menu_book" size={24} />
</a>
</div>
</div>

<AddMessageCapturer />
Expand Down
Loading
Loading