Skip to content

Instantly share code, notes, and snippets.

@cbfrance
Last active August 12, 2021 15:42
Show Gist options
  • Save cbfrance/e0e7462a3aaaa91cf9b5e1125a1a51c9 to your computer and use it in GitHub Desktop.
Save cbfrance/e0e7462a3aaaa91cf9b5e1125a1a51c9 to your computer and use it in GitHub Desktop.
Nov 2012 checkdesk notes.md

######################################################################

Checkdesk copywriting

######################################################################

Political Fact-checkers are asking: 
	Are we sure this is the case? 
	How does this compare to what they said previously? 
	How does this compare to what other sources are saying?

Social media fact-checkers are asking:
	Are there any signs at all that this is somehow false?
	Who is posting this information?
	Is there any motivation to give false information?

We propose:

  • let's model these questions and make them easier for us all to ask
  • let's make fact-checking analysis more recognizable and visible
  • let's identify common techniques of manipulation, forgery and misinformation

######################################################################

letter to the team about this release

######################################################################

  • make it something the team wants to use

  • build out from the gameplan, tell the user what the method is (give them flexibility to shape the app with custom statuses, open discussion)

  • Checkdesk is an ACTUAL Desk lol — here's the plan for 4 monitors a door, sawhorses ..

  • publishing more media items

    • in a space that is safe for asking questions
    • in a way that solicits reader help
  • It's a reference manager — too boring and meaningless

  • Citation management tool — not a citiation

  • workflow tool — not yet! right now it's barely a guideline.

  • bookmarking tool — old fashioned word

  • sources database - meaningless

  • a methodology ... getting better but that's not realistically fungible!

  • we're reaching out to geeks and journalists

  • Checkdesk is part of a suite of tools for "programmers who want to be more like journalists.""

  • Made for people who are doing research with social media.

    • Academics
    • Journalists
    • Persistent types of people

Logo of two monitors on a Desk ha ....

[ ][ ]

/\ /\

######################################################################

Big Questions Going In

######################################################################

- Who is the target audience: Journalist or user? Blogger or professional?
- What is their goal?
- Do we emphasize media or story-level analysis?
- Do we have one product or a few of them? 
- How can we get more users?
- Can we have a better name than "media object?"" Than "Story?"

######################################################################

Best Design Recommendations

######################################################################

Styleguide index

- Project configuration 
	- wireframe site
	- path to stylesheets
	- path to cucumber stories
	- path to ...

- Project team 
	- list of each active team member with gravatar image

- Project architecture 
	- visualization of the whole project including documentation

- Project vision
	- written statment of the project design manifesto

- Project calendar
	- upcoming design sprints
	- upcoming user tests
	- current phase and upcoming phases/versions

- Project patterns
	- name
	- status
	- capstone sketch
	- task flow definitions
	- comments on the pattern, design rationale statement
	- 1/2/3/4 implementation status of the pattern
	- version of the pattern 
	- type of pattern

	- link to mantis 
		- bugs that reference this pattern 
	
	- code for the pattern implementation
		- which files are used
		- which mixins are used
		- dependencies and files are included
		- are relevant tests passing?
		- recent changes in relevant files

	- wireframes site link
		- wireframes
		- comments on the wireframes
		- status of the wireframes
		- created at & last updated

- Project by task flow
	- task flow name
		- contains patterns
			- contains code

- Project source code
	- by library 
	- by filename
	- by mixin or function name
	- by DOM id
	- by CSS selector
	- changelog

- Project assets
	- Design documents
		- Rationale
		- Brand imagery for the project
		- Omnigraffle templates with default grid
		- Other general advice ... 

	- Ops 
		- build environment
		- complete setup instructions

######################################################################

Post-Cairo design ideas

######################################################################

Anyone can add fields on a media reference

- these then autocomplete when you add them later
- this makes the system learn your style
- in the future we can implement these attributes as presets
- this leads naturally to task design 

Change those boring terms in the IA!

- Story is a Collection of References (more fun, centralize the resources, not about the liveblog)
- A Report is a Reference (more useful but also more serious and academic in tone)

Keep the possibility of the status on each reference

- but allow more flexibility in the colors and titles of the status

Clarify which sites you are emulating and why

- Stackoverflow for its clarifying discussions and sophisticated community culture
- Reading.am for its amazing community and minimalist bookmarking interaction design
- Pinboard for its reliability and clarity of product vision
- Balsamiq for an ambitious desktop product and having such a strong team presence
- Global Voices for their community and natural talents
- Wikipedia and OSM for illustrating the power of changelog 
- Github for setting the high bar in collaboration and information management

Strengthen the bookmarklet and make sure it is error free

- doesn't need to have too many features

Incorporate screenshotting tool to give users a sense of documentary power

Bring the app back to something that we actually want to use.

Give a stronger sense of completion and progress

We want to keep asking: 
- what work has been done? 
- what work needs to be done? 

Give each collection a sense of strong personality, owned by someone

- for example andy carvin in the top right corner — I can see him and trust what he is doing. There might be others who I would not want to do work. But andy has something that he is asking me to do very clearly. I can see that others are already doing it too .... POWERFUL motivators
- give a sense or responsibility without hierarchy, because I can create one too!
- Models the behavior for me, the user, and now I can see why I might want to do the same thing. 
- The fact-checking space for a given event is small, this implies that we should share in the work and that a strong leader should emerge in the public interest... forking/merging would be nice here, but the key to the story is that we want to PROMOTE THE PUBLIC INTEREST and COLLABORTE in a TRANSPARENT WAY online to ACHIEVE DISCREET GOALS that are set by our peers.

Vastly simpler that Factcheck.it

Different thing than Superdesk

- we don't spider out to other networks
- you just choose from the links you brought in with the bookmarklet
- and the links that others are brining to you
- you never search youtube in that little sidebar

Go for a brand family?

- Checkdesk — the liveblog
- Checkteam — the report stream
Focusing on check would distinguish us from the Desk guys at sourcefabric. 

Ask questions that can be resolved.

- discussion type on media object: the question, it can be resolved. 
	- can it stay this simple for now? 
- this gives us the design element: # of questions / # resolved. 
	- This could be used to create a progress bar. 

Layout

- leaning toward two column with floated content blocks, very flexible
- give the user the ability to customize the top of the 
- the default view is compact references only, extremeley minimalist
- but the page needs to scroll if the items are expanded, there are two sidebars, but no header or footer.
- one of the sidebars exapands when you need to do some kind of action. 
- optimized for desktop at this point, mobile later. 
- Should work OK on a tablet. 
- The layout is designed ideally for a widescreen monitor that is used by someone who is actively covering the story in "the Checkdesk method"
- Items can be expanded one at a time or all at once with collection-level toggle

we want reproducible journalism. Like a logical proof.

- When you see the report and the status, you should see a chain of logic that leads to the status. You can review each step in the assumptions, and any skipped steps will be self evident (they might not always be necessary but you will know they are missing ... how does this work?)

The log is the backbone, the media object status is a work of reproducible journalism, like a logical proof

- communicate the important of the log in how the whole system works, "it's a transparent system that shows you how certain conclusions were reached"
- As with wikipedia and OSM these are important mechanisms for us to prevent abuse in the public domain.
- How the log should work: 
	- embedded attribution
	- link to a complete log
	- there is a log on each reference that contains all of the work related to that reference. 
	- there is a log on each collection that shows the aggregated changes of all references in that collection

Add notifications when someone is online

- just a little light or something

Improve performance of the site

- concat js and css
- fewer items on a page
- lazy load
- by default hide media — part of the academic strategy
- warning when adding more than X items to a story
- height and width of images in markup
- watch the page load in slow motion
- emphasize screenshots over live media

Improve email messaging strategy

- work on campaigns that attempt to grow user numbers with measured steps
- set goals for growth in numbers 

Do the work: a news sprint

- Chris and others should do a good sprint on covering the news
- Try to see if you can turn on a system and hack together some tools
- Goal is to learn about the reality of driving news on a schedule
- Will need to get a TV to do proper coverage
- Try to post as much as possible and to engage people online in helping
- See how many followers/visits you can get over the week
- Use the lessons from the Atlantic
- Write about the whole experience
- Make sure to do it with Checkdesk tools at the core, but use all kinds of other tools
- Cover stories that are newsworthy, go for eyeballs. 
- Consider completely alternative design strategies, incorporate the lessons into the methodology document

Stronger management of the design cycle: new styleguide and docs

- more employees in design now and we could use a better way to communicate and formalize the design. We want to avoid UI regression bugs. We want a very clear understanding of which section of the UI is controlled by which code. I want to see each section of the wireframes broken out into sections, then each section has documentation.
- Additionally the spec pages ("pattern" pages) can link out to the actual files in github, the commit log, open bugs, see the omnigraffle designs, otherwise related pages. This makes the styleguide more of a developer hub. 
- In general we have more assets than ever, these give us a strong basis for growth in clarity around each of our patterns. As we implement the current omnigraffle designs we should make sure to keep the designs updated so they can serve as an ongoing reference for quality control, and for an informed design evolution over time.
- Annotated sass files, documenting the purpose and usage of each file and major mixin. 

Strengthen the bond with the user. Plan more for a distributed, trollable project.

- make the user agree to a clear set of principles
- emphasize the users's "signing off" behavior in content creation. 
- remind the user about the tone of the site, make the tone part of the design of the site.
- whenever necessary bring the banhammer

Bring the dev team and management and design and users all together into one community. Clarify the goal of the project as a community.

- Create a support microsite that emphasizes the unity of the team, social media connections and github activity.
- Start a Checkdesk blog that talks about fact-checking issues, and use it to communicate product news, emphasizing members of the team.
- Work more activley with our twitter network to emphasize our role in this space. 
- Reach out to more potential partners and friends, participate more broadly in relevant activities and conferences
- Make clearer statement of what the project tangibly wants to achive as a community.

Emphasize an academic style branding and interactivity.

- Expect professional use and communicate the professionalism of the tools.
- Cite things with lots of metadata and attribution

Provide a full log of all activities in the site by all users

- Give a real foundation for accountability in our community. 

Hosting and Business model: freemium + managed hosted + pro sources db + design consulting

- Host a free version that is alway public
- If you want a private instance, talk to us about our services
- Install your own version of The Meedan Open Source Stack
- Meedan managed hosting can provide instances...
	- subcontract to mekkawy? 
- Meedan design team can help you plan your project using our general purpose tools
- Sources database has privileged sections that you get when you are a member of the network, a nonprofit, member-supported collective of media analysis.
- Tasking? We provide translators? With a huge fee .... hmm

Architecture change: Each story has a "collection" of "references" which can be analyzed and discussed, independently, as a collection, or as a subset of the collection.

	- People want to bookmark before they start storytelling.
	- The methodology encourages you to bookmark first before you start to promote the story. 
	- The operations that can be performed on references are plugins

More peer to peer interactions — thinking about the user to user interactions more. Get out of the idea that we have a system role for the journalist, we just let anyone use it and you can act like a journalist if you want to.

	- We don't see a lot of validation for the role of the journalist in user testing
	- we don't want to encourage two tiers of users, we want to integrate the work of "the journalist" and "the citizen"
	- In Checkdesk 1.0 we refined the personas to reflect this, and we should still keep those as the type of 
	- what else does this mean for our strategy? 
	- what are our user number goals? 
	- what else can we do strategically to drive user numbers?

Develop a better methodology

- Create a durable artifact that explains how we recommend you use Checkdesk 
- image the logo: someone at a Desk with 4 huge monitors
- The basic idea is that you get up early, you watch TV, you start to bookmark in small pools as you get some stories cooking, then you start to ask questions on social media about your pool of media, you get readers to help egg you on with certain stories, you can tell what is newsworthy, you try to get traffic to your sites, and you can see each of their stats in a dashboard. 
- You are working as a journalist, you have to write a story by the end of the day, you bookmark a bunch of links about your story and people help you fact check. 
- You are randomly bookmarking things and asking questions about them in an academic sense, only a very small group of people is interested in them and wants to answer. 
- Do we force people to use it in public? 
	- yes: it is designed for something that is a social good, not just for you to get your work done.
	- no: it is design for you to get your work done before it is a social good. 
		No, right!?
- "checkdesk is designed to help you get your work done" only works for journalists or people who are already doing this. What about all of the people who are just getting started with this, people whom we want to encourage to do more rigours media analysis. 
- The vast majority of people are not already "doing this" — bookmarking and asking critical questions about the news. 

The opportunity is in breaking news

- We should stay focused on breaking news and develop a methodology that serves a busy distributed newsroom working on a daily cycle. 
- We can "seed the day" with automatic references, but really we 

New design parts of the IA:

- media objects are now called references. 
	- They can be references to any file, link or person
- the collection of references

Focus on my profile as the default collection

- simplify the startup task and give me my own face for a private collection that I can do anything with. 

Focus on designing for a single stable screen

- keep the metaphor very simple, like a desktop app

Remaning questions I have

- What about the in vivo view with injected content? 
- What about the idea of publishing to my blog? 
	- This is a huge difference from the Checkdesk 1.0 version, whereas we once wanted (needed) to support blogging, let's focus more on something that is easier to pick up independently, the collection. However we CAN still use blogging as the backbone of the publication routine, but we should expect that users are going to use their OWN blogs. So we have to provide something NEW that is SPECIAL. 
- what about social media intake — does anyone really want to contribute? This seems like a bottleneck in some of the designs. We still really need to drive it for one person. 
- Do we have one bookmarklet per collection? 
- What is the data flow between partners if they are both working on the same thing? Do we have an "all collections" page that shows an incoming stream from the partners? 
- What if we choose our partners very carefully create the first partner network on checkdesk? The current strategy is to close and do a SaaS model, each one gets their own collection of media. 
- how do we promote our network? We want to eventually create a stream of content coming from the best partners. 

- how should we update the personas? Need to add more types of users!
- which of our partners should I visit and what should I try to get out of that? 
- do we want to rate items? 
- how do we make the progress bar? 
- can we modularize the task flow like chamales' system? One person does translation, two people on geolocation, they go in Translation first ... etc. 

- how do we keep track of when the original refernce changes? this woudl be a huge feature

- what about the fact-checking statement? 
	- if we have questions emphasized on the media object this can be relieved some, it's clearer what is happening on each item. 

- how do we handle the missing attributes concept? We want people to see that there is missing work, but the use cases are so diverse, we can't just have an empty field for each missing piece of metadata. It seems to bring me back to the idea of the icons getting filled in as progress is made on the report. ... Need to practice more to really see how this should be filled out ...

- What are the big things you see if you squint: 
	- formal citiations bringing order to social media chaos
	- directed questions bringing energy where it is needed in a story
	- a rapidly emerging newsworthy story on this one page
	- strong sense of transparency and attribution
	- sense of sophistication and well-informed experimental computational journalism

Add document cloud support and open annotations ...

... how? 
- make it so you can "go way into" the reporting
- anyone doing paperwork can attach that
- or attach your voice recordings 
- you can build a whole pile of media in your collection, of all kinds
- even if you don't have the actual thing online you can create a reference. 

Support custom kinds of references over time.

- we don't have to do 100 reference types immediately, but we should continue to grow support for the ones we do have. 

Each question can be a top level media item

... how?

- what if the reference detail page has a masonry layout with all of the top level discussion? 

Clarify concrete goals:

- publishing more media items
- more communication on the newsteam
- more people volunteering information in a directed way 
- more questions asked and answered
- better attributed information about breaking stories

The reference

- uses typography primarily, no gimmicks
- Has a unique ID which allows the reference to be discussed in any thread on the site.
- no graphics or embedded media, unless click for that, then it expands inplace
- feels very stable and formal 
- is visually comparable to other references
- feels embeddable
- has a way to attach annotations/comments/status changes to the reference
- does this embed in the reference?
- or the comment goes to a stream and it is merely listed on the reference-citation-report as an associated comment
- where does all of the metadata on a report live? 
- perhaps a citation is when it is used in context? 
- "create a reference so you can refer to this media object at a certain time on a certain network" 
- "as seen on twitter via @someonerandom at 10:45am yesterday"
- has citation information 
- all of the attached things expand. There is a row of buttons that has all of the available actions. 
- you can click to view the media that it references
- you can click to screenshot the page
- you can do a PREDICTABLE steady set of actions on each item
- everything you do has an impact on the changelog for that reference. 
- The reference is a tiny tip of an iceberg, a small header on top of a big discussion thread and toolbox and embedded media!
- check the box to do a bulk action

Featured comments.

- let the collection owner promote a select group of comments

Unusual composer

- lets you arrange citations inline with your text (how? they are too big?)
- automatically builds a post from citations with correct information all written out for you

Provide something NEW that is special

- as ethan would say, we shouldn't call it liveblogging, talk about the NEW thing that you are doing. 
- Let's not be afraid to make something special and really unique (even though over all we do focus on making it predictable.)

Focus on the topics and styles that work well

- regional focused collections
- highly newsworthy
- not already saturated with coverage
- strong social media presence that is not well understood (no shortage of this!)

######################################################################

Longer term

######################################################################

The big strategy ... we want to lead up to ...

- making money for the users — promoting a network
- sources database growth 
- meedan gets other projects based on this

Design an actual desktop application

- connect a solid tool to a web-based backend 
- collaborate powerfully and rapidly 

Workbench with plugin architecture can frame diverse ideas

- Strategically this is a big idea, because if we could have this in place then Checkdesk would host many ideas! Journalist hackers could use our platform to test the ideas on a datase.
- A Checkdesk plugin would be best placed in the workbench.
- This would be probably more like a 3.0 thing, but a natural trajectory of the system which could be planned for in 2.0:
- fuzzing faces
- anonymizing texts
- geolocating in a certain way
- translating with a certain MT 
- Each of these could be defined as a configurable "Task" which could be created by the collection owner. Then we would have a directory of tasks created by everyone.
- advanced queuing system
- Translation could be a huge emphasis but is still only one type of task we want people to do in the real world
- screenshots!
- track changes on media items
- if the list is simplified to extreme, do we show which were "published on the blog?" (would be easy but not part of the focused 2.0 vision?)
- Checkdesk themes, to style the collection
- bulk operations
- forking and merging collections 
- social media intake of replies ... (direct reply, or hashtags or link-reference)

- screnshotting and archiving tools
- youtube remix tools that let you annotate youtube (like holovaty's project)

- a command line interface for workbench plugins

######################################################################

Things we still want to avoid

######################################################################

  • ranking comments and scoring users
  • false precision and fake numbers like klout — but we can do arbitrary scales as long as they are nicely represented. For examples a collection owner might set an arbitrary progress bar. ....
  • modals — try to keep it all feeling inline, multithreaded, fast-pace

######################################################################

the experiment week

######################################################################

Todo

- come back to the designs of the bookmarklet

Major Checkdesk thoughts today:

- I will do a pilot test to my own satisfaction, which will involve me tracking stories all week using the most appropriate services I can find.
- we need to focus on writing and gathering material (photos and videos)
- The app should focus on lean reference management
- When you add a media object, it creates a citation, and you work with that. 
A citation has a 
	body (embed) 
	a status
	changelog
	discussion
	related media
	contained in collections
	location tag
	author tag (autocompletes from sources db)

Plan for pilot test next week

  • overview plan page with extremely brief summary of findings — I hope everyone is going to closely watch because there will be no deliverable

  • I will follow on TV.

  • I will need external monitor and maybe an extra computer

  • I will need at least a week

  • I will document the techniques I am using and incorporate these into a piece of software which contains Checkdesk and checkteam and checkDB as well as bundled/customized/maintained/unified/modular tools that we bring from other open source areas

  • We will have a repository which contains libraries that we think are excellent for use in computational journalism

  • we will devote developer efforts to solving specific daily fact-checking needs with custom code which can later be used in other contexts

  • we will work under deadline to tell stories while they are still newsworthy

  • we will work strategically for large audience numbers

  • we will work strategically to find the best possible use case of our documentation energy

  • we will interact a lot with our networks while we are doing it

  • if we can achieve a threshold of interest and volumen of contributions, new design possibilities emerge, such as making the sources database

######################################################################

the sources database

######################################################################

Connection to the sources db — "CheckDB"

- The integration with the sources db is on the author field. It just autocompletes. You can see when an author is recognized in the sources database and has a corresponding author profile.The profile is a list of citations in which the person appears. 

- The sources databse is a membership service. If you want the latest copy, you must be a member. Or you can get a monthly snapshot that is published on the first of each month.

- Membership is invitation only. 

- CheckDB is a database of media criticism.

CheckDB is a good idea because it preserves effort over time. If you aren't bookmarking links all the time, CheckDB is not going to grow. If we can populate a few thousand pages of this, then we would have something really valuable.

IDEA: I work for a week to populate the sources database with George.

We work to define quantitative aspects of the news. How many pages did Al-Jazeera publish today? How many websites do they have anyway?

This would be geographically referenced publishing statistics.

WARNING: this will be very expensive to maintain.

A better way to work is to automatically bring in some content. But not too much. Think of it like MSG. When I get to a dead end, I want a little MSG, bring in a dash of content, but if there is human work — that's what we're really here for.

So: strong guardrails that will keep people in the human curated content. AND we have some related recent links handy when you need them.

Where to start?

Which topic? science? politics literature and poetry local politics

which audience? Which location? What timing? What is the model? collaborative or solo? daily or weekly? slow or fast? breaking news or doing deep research

#TODO - bilingual layout markup and js with james (in the styleguide) - design the banner for the icon of the company

MINI CHECKDESK

  • bring in a single link and create a discussion
  • add a custom field
  • klout-style score? NO RANDOM NUMBERS
  • journalistic concern for privacy — what is the SCOPE Of our research
  • focus on the false marks ... or don't what if acarvin is marked as false — add special badges FACTCHECKER

#badges make the badges random and custom ... factchecker falsifier high reputation

#privacy model

  • make part of it public, which is like rapportive
  • the assessment part is private only for the partners "sources are sacred" but "leveage the tension" — Jessica D

How to benefit both the reported and the reporter — blur these two roles, consider it is us in the page

Mainstream media gets detailed scrutiny and people get summaries

followups

  • email mushon to talk about the involuntary facebook project

#general principles just remove the label and leave the content

working with the parner network

spectranalysis

Mainstream media or social media emergent news vs slow news automatically built vs hand built

#infographics venn diagram showing shared networks

Compare two sources

Find more sources like this one

################ Checkdesk testing

custom bibs on each media type

test it with andy carvin content

  • need to be able to embed media into the check log

  • automatically get replies from twitter

  • add a first link o a video — JUST fact check videos?

  • add a related link

  • how to make a status on a single link?

=============================================================

  • what if the bookmarklet stream could go with you anywhere? =============================================================

susy instructions to Zeinab

  • the docs are not great

  • read the output, it can be hard to find where you are outputting styles

  • then read the source gem unpack susy gem unpack compass

  • Susy concepts

  • works mostly by setting block or inline, and setting width in percents.

  • understand the idea of the container, declare container only once

  • only a few span-columns per project

  • width: target / total

  • span-columns(5, 20);

  • be sure you enable the grid visualization on the container

  • you can put the container wherever you want — just do it once.

setting up the vagrant instance

Needed to better understand how it would work - I needed the root db password on the vagrant instance to put into my settings.local.php (root/root) - I needed to notice that the CLI does not necessarily appear in a popup - needed to create a database with phpmyadmin - which I did with a recent snapshot used: drush sql-sync @checkdesk.dev @checkdesk.local mysqldump -u root > checkdesk.latest.sql

Checkdesk layout

- like ghostly international
- very pale and reserved
- extremeley minimalist 
- but offering a great deal of power (implied complexity)

work strategy

- move the layout over to the styleguide

Checkdesk ideas

- signup for a mailing list checkdesk-announce and checkdesk-dev
- you have to APPLY to be involed as an editor — like littlesis.org
- the design is based around the concept of the citation
- it has a proper traditional flair
  • but also a unique voice
  • it above all seems to represent the journalists that it presents
  • it not only keeps them from looking stupid, it keeps them very well cared for thank you
  • see the citations at littlesis.org

what I did so far to update the codebase

- converted variables.scss (Less naming convention) into base.scss (compass style)
- moved susy layout configuration lines from grid.scss into base.scss
- deleted grid.scss
- annotated and cleaned up all of the files 
	- added styleguide sections
	- added compatibility header and notes for each file
	- added documentation for each mixin
	- added readme
- removed reset and replaced it with the version from the gem
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment