├── 2017 ├── about.html ├── index.html ├── js │ └── load.js ├── openaccessvis.csv ├── style.css ├── workshops.csv └── workshops.html ├── 2018 ├── about.html ├── images │ ├── Closed_Access_Research.svg │ ├── Open_Access.svg │ ├── blank.png │ ├── chevron-circle-down.svg │ ├── data-o.svg │ ├── data.svg │ ├── favicon.ico │ ├── file-text-o.svg │ ├── file-text.svg │ ├── info-o.svg │ ├── info.svg │ ├── materials-o.svg │ ├── materials.svg │ ├── no_thumbnail.png │ ├── preregistered-o.svg │ ├── preregistered.svg │ ├── reproducible.svg │ ├── summary.png │ └── summary_about.png ├── index.html ├── js │ ├── d3.v4.min.js │ └── load.js ├── openaccessvis2018.csv ├── style.css ├── workshops.html └── workshops2018.csv ├── 2019 └── openaccessvis2019.csv ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE.md ├── LICENSE.md └── README.md ├── .gitignore ├── about.html ├── images ├── Closed_Access_Research.svg ├── Open_Access.svg ├── blank.png ├── chevron-circle-down.svg ├── data-o.svg ├── data.svg ├── favicon.ico ├── file-text-o.svg ├── file-text.svg ├── info-o.svg ├── info.svg ├── materials-o.svg ├── materials.svg ├── no_thumbnail.png ├── preregistered-o.svg ├── preregistered.svg ├── reproducible-o.svg ├── reproducible.svg ├── summary.png └── summary_about.png ├── index.html ├── js ├── d3.v4.min.js └── load.js ├── loadfile.php ├── readcsv.php ├── style.css └── workshops.html /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | To add new paper URLs or fix incorrect info: 2 | 3 | 1. Specify the paper title and first author 4 | 2. Ensure that an entry includes at least the paper url on a persistenat archive and the abstract 5 | 3. Specify any additional info, including preregistration, data collection code, etc. URLs must be in the paper, except for the explanation page and the video. 6 | 7 | Thumbnails can be pasted into this issue (as a 400 x 300 png). Or feel free to email me thumbnails. -------------------------------------------------------------------------------- /.github/LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Steve Haroz 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.github/README.md: -------------------------------------------------------------------------------- 1 | # How you can contribute to Open Access Vis 2 | 3 | Please create an [issue](https://github.com/steveharoz/open-access-vis/issues) to: 4 | 5 | * Add missing data 6 | * Fix incorrect data 7 | * Add thumbnails (a missing thumbnail or a better version of an existing one) 8 | 9 | Please do not edit the CSV via a pull request. For data updates, only use issues. 10 | 11 | **Important: Do not retrieve any information from IEEE (especially abstracts and thumbnails). Everything should come from other sources.** 12 | 13 | ## URLs: 14 | 15 | * URLs on an open access repository are prioritized for longevity. 16 | * White-listed open access repositories are in the `OADomains` variable in [js/load.js](../js/load.js#L12). Let me know if others should be added. 17 | * For URLs outside of an open access repository, it must be on the site of an author or their institution. 18 | * The paper must be viewable directly in a browser without any required download. 19 | 20 | ## Explanation page: 21 | 22 | The explanation page is for sites that contain more than the basic information. It's not simply a "landing page", and it includes a simpler description of the project and/or a demo. Good examples: 23 | 24 | * [Timecurves](http://www.aviz.fr/~bbach/timecurves/) 25 | * [Timelines Revisited](https://timelinesrevisited.github.io/) 26 | * [Isotype Visualization](http://steveharoz.com/research/isotype/) (blatent self promotion) 27 | 28 | ## Thumbnails 29 | 30 | * The image must be exactly 400 x 300 pixels. 31 | * Try to find a figure that is explanatory rather than just eye candy. 32 | * The filename is the first non-article word in the title + `"_"` + the next word + `"_"` + first name of first author + `".png"` (all lower case). 33 | For example, "A Nifty Vis System" by Jane Smith and John Smith would become `nifty_vis_jane.png` 34 | 35 | For now, thumbnails are not in the repository. Feel free to paste new ones into a github issue or email them to me. 36 | 37 | ## Videos 38 | 39 | * Prioritize explanatory videos rather than teasers or eye candy. 40 | * Videos on Youtube, Vimeo, or hosted as an MP4 should all work. 41 | * Youtube spreadsheet format: `youtube VIDEO_ID`. For example `youtube Xj-AEmUwsvQ` 42 | * Vimeo spreadsheet format: `vimeo VIDEO_ID`. For example `vimeo 223373844` 43 | * Video file spreadsheet format: `video VIDEO_URL`. For example 44 | `video http://timelinesrevisited.github.io/supplemental/stories/routines.mp4` 45 | If the video file is hosted on a personal domain (not github), ask for permission before using. 46 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode/ 2 | thumbnails/ 3 | trash/ 4 | oavis_analytics.php 5 | 2019/thumbnails* 6 | -------------------------------------------------------------------------------- /2017/about.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | About - Open Access VIS 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 42 | 43 | 44 | 45 | 49 | 50 | 51 | 52 |
53 |
54 |
55 |

Open Access VIS

56 |

A collection of open access visualization research at the VIS 2017 conference.

57 | 58 |

Goals of this site

59 |
    60 |
  1. Collect openly accessible papers, data, and other materials from VIS before the conference.
  2. 61 |
  3. Encourage authors to post papers, data, and materials.
  4. 62 |
  5. Encourage posting on reliable open access repositories to avoid "link rot".
  6. 63 |
  7. Get an overview of how many VIS papers are inaccessible outside of a pay wall.
  8. 64 |
65 | 66 |

Badges

67 |
68 |

This paper is available on a reliable open access repository.

69 |

This paper is available on an author or institution site.

70 |

This paper may not be legitimately available outside of a paywall.

71 |
72 |
73 |

The materials or source code needed to reproduce this work are available on a reliable open access repository. Full criteria.

74 |

The materials or source code needed to reproduce this work are available from some other source.

75 |

The materials or source code needed to reproduce this work may not be available.

76 |
77 |
78 |

The experiment data is available on a reliable open access repository. Full criteria.

79 |

The experiment data is available from some other source.

80 |

The experiment data may not be available.

81 |
82 |
83 |

A simple explanation or interactive demonstration is available on a reliable open access repository. (Not sure if this is realistic)

84 |

A simple explanation or interactive demonstration is available.

85 |

A simple explanation or interactive demonstration may not be available.

86 |
87 | 88 |

How do I make my work open access?

89 |

I suggest using the Open Science Foundation (OSF) to post your work.

90 |

Sign up. Create a new project. And upload your paper, data, and materials. It takes under 5 minutes.

91 |

You can also connect your OSF project to a GitHub repository to avoid keeping track of multiple repositories.

92 |

Once you're done, make a GitHub issue with the URLs for your work.

93 | 94 |

What counts as a reliable open access repository?

95 |

The item(s) in the repository (pdf, dataset, code, etc.) needs to be freely accessible and have a permanent identifier.

96 |

The following domains are currently counted: osf.io, arxiv.org, biorxiv.org, psyarxiv.org, hal.inria.fr, hal.archives-ouvertes.fr, and eprints.whiterose.ac.uk

97 |

The Open Science Foundation (OSF) is suggested because it is general purpose and can store documents, materials, and data together. However, other open access repositories or institutional repositories are equally valid.

98 | 99 |

I see missing info, incorrect info, or a bug. How can I fix it?

100 |

Help filling in missing or incorrect info is greatly appreciated. The data and code are on GitHub.

101 |

Thumbnails are kept separately for now. Information for adding or improving thumbnails is also on GitHub.

102 | 103 |

Acknowledgements

104 |

This site was built with Boostrap, D3, and a fuckton of StackOverflow searches.

105 |

Some icons are from Font-Awesome-SVG-PNG (Font Awesome by Dave Gandy).

106 |

Open Access logo by PlOS via Wikipedia

107 |

Open access materials and open access data symbols by Center for Open Science. Note that the "partial credit" versions were created by me.

108 |

Closed access science icon is CC-BY by Steve Haroz

109 |

The workshop page data was compiled by Angus Forbes

110 |

Special thanks to the Walsh Whiskey Distillery whose booze made all of this possible.

111 |
112 |
113 |
114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | -------------------------------------------------------------------------------- /2017/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Open Access VIS 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 29 | 30 | 31 | 32 |
33 |
34 |
35 |

36 | Open Access VIS 37 | 38 | 39 |

40 |
41 |
42 | 43 |
44 |
45 |

A collection of open access visualization research at the VIS 2017 conference. Info about the symbols and open access. To edit the data, see GitHub.

46 |

Also see the VIS Workshops.

47 |
48 |
49 | 50 |
51 |
52 |
53 |
54 | 55 | 56 | 57 | 58 |
59 |
60 |
61 |
62 |
63 | 64 | 65 |
66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 79 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /2017/js/load.js: -------------------------------------------------------------------------------- 1 | var asdf = require("d3"); // dummy call for vscode 2 | var dataCSV, dataNested; // keep data global 3 | var thumbnails, abstracts; // set the big things last 4 | var dayNames = ["Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]; 5 | var dayAbrevs = {"Saturday morning": "Sa AM", "Saturday afternoon": "Sa PM", 6 | "Sunday morning": "Su AM", "Sunday afternoon": "Su PM", 7 | "Monday morning": "M AM", "Monday afternoon": "M PM", 8 | "Tuesday morning": "Tu AM", "Tuesday afternoon": "Tu PM", 9 | "Wednesday morning": "W AM", "Wednesday afternoon": "W PM", 10 | "Thursday morning": "Th AM", "Thursday afternoon": "Th PM", 11 | "Friday morning": "F AM", "Friday afternoon": "F PM"}; 12 | var OADomains = ["osf.io", "arxiv.org", "biorxiv.org", "psyarxiv.org", "/hal.", "/eprints.", "/openaccess."]; 13 | var linkImages = {"PDF": "file-text", "Materials": "materials", "Data": "data", "Explanation": "info"}; 14 | var timeParser = d3.timeParse("%I:%M %p"); 15 | var style = "col-md-12 col-lg-10 col-lg-offset-1"; 16 | var untouched = true; 17 | 18 | 19 | // load and parse the data 20 | d3.csv(dataSource, d => d, function(error, data) { 21 | if (error) throw error; 22 | dataCSV = data; 23 | 24 | // make some extra properties 25 | dataCSV = dataCSV.map(d => { 26 | d.PM = timeParser(d.ConferenceTimeStart).getHours() > 12; 27 | d.closedAccess = d.AuthorPDF == ""; 28 | d.simpleName = getSimpleName(d); 29 | return d; 30 | }); 31 | 32 | // nest the data 33 | dataNested = d3.nest() 34 | // day 35 | .key(d => (dayNames.indexOf(d.ConferenceDay) + (+d.PM * 0.5)) + "|" + d.ConferenceDay + " " + (d.PM ? "afternoon" : "morning")) 36 | .sortKeys((a,b) => a.split("|")[0] - b.split("|")[0]) 37 | // session 38 | .key(d => d.ConferenceTrack + "|" + d.ConferenceSession) 39 | .sortKeys((a,b) => a.localeCompare(b)) 40 | .entries(dataCSV); 41 | dataNested = dataNested.map(d => { 42 | // sort papers within each session 43 | d.values = d.values.map(s => { 44 | s.values.sort( (a,b) => timeParser(a.ConferenceTimeStart) - timeParser(b.ConferenceTimeStart)); 45 | s.startTime = s.values[0].ConferenceTimeStart; 46 | return s; 47 | }); 48 | // sort sessions 49 | d.values.sort( (a,b) => timeParser(a.startTime) - timeParser(b.startTime) ) 50 | return d; 51 | }); 52 | 53 | buildPage(); 54 | }); 55 | 56 | // use the data to construct the page elements 57 | function buildPage() { 58 | ///// Day ///// 59 | var days = d3.select(".container") 60 | .selectAll(".day") 61 | .data(dataNested).enter(); 62 | days = days.append("div") 63 | .classed("day", true) 64 | .classed("row", true) 65 | .attr("id", d => d.key.split("|")[1].replace(" ", "_")) 66 | .append("div") 67 | .classed(style, true); 68 | 69 | days.append("h2") 70 | .text(d => d.key.split("|")[1]); 71 | 72 | makeDayButtons(); 73 | 74 | ///// session ///// 75 | var sessions = days.selectAll(".session") 76 | .data(d => d.values).enter() 77 | .append("div") 78 | .attr("class", d => d.values[0].ConferenceTrack.toLowerCase()) 79 | .classed("session", true); 80 | sessions.append("h3").text(d => d.values[0].ConferenceSession); 81 | 82 | ///// paper ///// 83 | var papers = sessions.selectAll(".paper") 84 | .data(s => s.values).enter() 85 | .append("div") 86 | .attr("id", d => d.simpleName) 87 | .attr("class", "paper row") 88 | .classed("fullOpenAccess", d => isOpenAccessDomain(d.AuthorPDF)) 89 | .classed("closedAccess", d => d.closedAccess); 90 | 91 | ///// thumbnail ///// 92 | var left = papers.append("div") 93 | .classed("col-sm-3 col-sm-2 hidden-xs thumbExpander", true); 94 | left.append("img") 95 | .classed("spacer", true) 96 | .attr("src", "../images/blank.png"); 97 | 98 | ///// expander button ///// 99 | var expander = left.append("div").classed("thumbExpanderContainer", true); 100 | thumbnails = expander.append("div").classed("thumbContainer", true).append("img") 101 | .classed("thumb", true) 102 | .on("error", (d,i,nodes) => d3.select(nodes[i]).attr("src", "../images/no_thumbnail.png" )) 103 | .attr("src", "../images/Closed_Access_Research.svg"); 104 | expander.append("img").classed("expander", true).attr("src", "../images/chevron-circle-down.svg"); 105 | left.on("click", (d,i) => expandEventHandler(left, d)); 106 | 107 | ///// basic info ///// 108 | var mid = papers.append("div") 109 | .classed("col-sm-8 col-xs-12", true); 110 | mid.append("h4") 111 | .classed("title", true) 112 | .text(d => d.Title); 113 | mid.append("p") 114 | .classed("authors", true) 115 | .text(d => d.Authors); 116 | mid.append("p") 117 | .classed("time", true) 118 | .text(d => formatTimeRange(d.ConferenceTimeStart, d.ConferenceTimeEnd) + " " + d.ConferenceDay + " " + d.ConferenceRoom); 119 | mid.append("p") 120 | .classed("closedAccessMessage", true) 121 | .html("This paper does not appear to be available. Please encourage the authors to post their work."); 122 | 123 | ///// links ///// 124 | var right = papers.append("div") 125 | .classed("col-sm-2 col-xs-12 links", true); 126 | var mobileExpander = right.append("div").classed("expanderContainer", true) 127 | .append("img") 128 | .classed("expander", true) 129 | .attr("src", "../images/chevron-circle-down.svg"); 130 | mobileExpander.on("click", (d,i) => expandEventHandler(left, d)); 131 | right.appendLink("PDF", "PDF", d => d.AuthorPDF); 132 | right.appendLink("sourceMaterial", "Materials", d => d.SourceMaterials); 133 | right.appendLink("data", "Data", d => d.Data); 134 | right.appendLink("projectPage", "Explanation", d => d.ExplanationPage); 135 | 136 | 137 | ///// expander content ///// 138 | var expandInfo = papers.append("div") 139 | .attr("id", d => d.simpleName + "_expandInfo") 140 | .classed("col-xs-12 col-sm-8 col-sm-offset-2 expandInfo collapse", true); 141 | var mobileThumbnails = expandInfo.append("img").classed("mobileThumb", true); 142 | abstracts = expandInfo.append("p") 143 | .classed("abstract", true); 144 | videos = expandInfo.append("div") 145 | .classed("videoWrapper empty", true); 146 | expandInfo.append("pre") 147 | .classed("citation", true) 148 | .text(makeCitation); 149 | 150 | // load thumbnails last 151 | thumbnails.attr("src", getThumbnailPath); 152 | mobileThumbnails.attr("src", getThumbnailPath); 153 | } // end buildPage() 154 | 155 | 156 | 157 | // make a simple name for the paper 158 | function getSimpleName(paper, sep = "_") { 159 | var title = dropLeadingArticle(paper.Title); 160 | return title.split(/[^\w]/, 1)[0].toLowerCase() 161 | + sep 162 | + paper.Authors.split(/[^\w]/, 1)[0].toLowerCase(); 163 | } 164 | function dropLeadingArticle (text) { 165 | if (text.startsWith("A ")) text = text.substring(2); 166 | if (text.startsWith("An ")) text = text.substring(3); 167 | if (text.startsWith("The ")) text = text.substring(4); 168 | // numerical leads are bad too 169 | if (!isNaN(parseInt(text[0]))) 170 | text = text.substring(text.indexOf(" ") + 1); 171 | return text; 172 | } 173 | 174 | // get thumbnail image 175 | function getThumbnailPath(paper) { 176 | if (paper.closedAccess) 177 | return "../images/Closed_Access_Research.svg"; 178 | return thumbnailFolder + paper.simpleName + ".png"; 179 | } 180 | 181 | // is the pdf on a true open access repository 182 | function isOpenAccessDomain(href) { 183 | for (var i = 0; i < OADomains.length; i++) { 184 | if (href.includes(OADomains[i])) 185 | return true; 186 | } 187 | return false; 188 | } 189 | 190 | // time to string converter 191 | var timeFormatterShort = d3.timeFormat("%-I:%M"); 192 | var timeFormatterLong = d3.timeFormat("%-I:%M %p"); 193 | 194 | // time range to string 195 | function formatTimeRange(start, end) { 196 | start = timeParser(start); 197 | end = timeParser(end); 198 | // if both AM or both PM 199 | if ((start.getHours() >= 12) == (end.getHours() >= 12)) 200 | return timeFormatterShort(start) + "-" + timeFormatterLong(end); 201 | return timeFormatterLong(start) + "-" + timeFormatterLong(end); 202 | } 203 | 204 | // add a link and icon 205 | d3.selection.prototype.appendLink = function (css, text, href) { 206 | var link = this.append("a") 207 | .classed("link " + css, true) 208 | .attr("target", "_blank") 209 | .attr("href", href) 210 | .attr("title", d => isOpenAccessDomain(href(d)) ? "Open access repository with permanent URL" : "Personal/Institutional site") 211 | .classed("OADomain", d => isOpenAccessDomain(href(d))); 212 | 213 | link.append("img") 214 | .attr("src", d => 215 | "../images/" + 216 | linkImages[text] + 217 | (isOpenAccessDomain(href(d)) ? ".svg" : "-o.svg")); 218 | 219 | link.append("span") 220 | .text(text); 221 | } 222 | 223 | // 224 | function makeVideoFrame(video) { 225 | if (video == "") 226 | return ""; 227 | if (video.startsWith("youtube ")) { 228 | var videoID = video.split(" ")[1]; 229 | return ``; 230 | } 231 | if (video.startsWith("vimeo ")) { 232 | var videoID = video.split(" ")[1]; 233 | return ``; 234 | } 235 | if (video.startsWith("video ")) { 236 | var videoID = video.split(" ")[1]; 237 | return ``; 238 | } 239 | return video; 240 | } 241 | 242 | // make text that can be copied for a citation 243 | function makeCitation(paper) { 244 | var IEEE = ""; 245 | var authors = paper.Authors.split(", "); 246 | authors = authors.map(convertName2Reference); 247 | IEEE = authors[0]; 248 | if (authors.length == 2) 249 | IEEE += " and " + authors[1]; 250 | if (authors.length > 2) { 251 | for (var a = 1; a < authors.length - 1; a++) 252 | IEEE += ", " + authors[a]; 253 | IEEE += ", and " + authors[authors.length - 1]; 254 | } 255 | IEEE += ". \"" + paper.Title + "\". "; 256 | IEEE += journals[paper.PublicationVenue] + ". "; 257 | IEEE += paper.PublicationYear + ". "; 258 | IEEE += paper.DOI ? "DOI:" + paper.DOI + "." : ""; 259 | 260 | var bibtex = "@Article{" + paper.simpleName + ",\n"; 261 | bibtex += " author = " + paper.Authors.split(", ").join(" and ") + "\n"; 262 | bibtex += " title = " + paper.Title + "\n"; 263 | bibtex += " journal = " + journals[paper.PublicationVenue] + "\n"; 264 | bibtex += " year = " + paper.PublicationYear + "\n"; 265 | bibtex += " DOI = " + paper.DOI + "\n"; 266 | bibtex += "}"; 267 | 268 | return IEEE + "\n\n" + bibtex; 269 | } 270 | 271 | // make a reference-style initial name 272 | var particles = [" von der ", " van der ", " van den ", " van het ", " op het ", " van ", " von ", " de ", " di ", " d’ "]; // more? 273 | function convertName2Reference(name) { 274 | var shortName = ""; 275 | var particle = particles.map(p => name.includes(p) ? p : "").filter(p => p != ""); 276 | particle = particle.length == 0 ? "" : particle[0]; 277 | if (particle != "") 278 | name = name.replace(particle, " "); 279 | var tokens = name.split(" "); 280 | var lastName = tokens.pop(); 281 | var firstInitials = tokens.map(t => { 282 | if (!t.includes("-")) 283 | return t.trim()[0] + "."; 284 | return t.split("-").map(t => t[0]).join(".-") + "."; 285 | }).join(" "); 286 | return firstInitials + particle.trimRight() + " " + lastName; 287 | } 288 | 289 | // show/hide the expand region 290 | function expandEventHandler(left, paper) { 291 | if (untouched) { 292 | abstracts.html(d => d.Abstract); 293 | untouched = false; 294 | } 295 | if (paper.closedAccess) 296 | return; 297 | var id = '#' + paper.simpleName; 298 | if (paper.Video != "" && d3.select(id + " .videoWrapper").html() == "") 299 | d3.select(id + " .videoWrapper").classed("empty", false).html(makeVideoFrame(paper.Video)); 300 | d3.select(id).classed("isExpanded", !d3.select(id).classed("isExpanded")); 301 | $(id + "_expandInfo").collapse('toggle'); 302 | } 303 | 304 | // make button to show/hide each day 305 | function makeDayButtons() { 306 | d3.select("#dayToggles") 307 | .selectAll("button") 308 | .data(dataNested).enter() 309 | .append("button") 310 | .attr("type", "button") 311 | .attr("id", d => "#" + d.key.split("|")[1].replace(" ", "_") + "_btn") 312 | .classed("btn active btn-day", true) 313 | .attr("data-toggle", "button") 314 | .attr("data-subset", d => "#" + d.key.split("|")[1].replace(" ", "_")) 315 | .attr("aria-pressed", "true") 316 | .attr("autocomplete", "off") 317 | .append("span").text(d => dayAbrevs[d.key.split("|")[1]]); 318 | 319 | // set up button events handlers 320 | d3.selectAll('button').on("click", function() { 321 | var subset = d3.select(this).node().dataset["subset"]; 322 | var isPressed = d3.select(this).attr("aria-pressed"); 323 | d3.selectAll(subset).style("display", isPressed == "false" ? "block" : "none"); 324 | }); 325 | } 326 | 327 | function makeViewCurrent() { 328 | d3.now() 329 | } 330 | 331 | // just for dev 332 | function checkImageSizes() { 333 | d3.selectAll(".thumb").each(function(d) { 334 | var a = d3.select(this).node(); 335 | if (a.naturalHeight < a.naturalWidth * .75 && !a.src.includes("Closed_Access")) 336 | console.log(a.naturalHeight + " x " + a.naturalWidth + ": " + a.src); 337 | }); 338 | } 339 | 340 | // just for dev 341 | function checkCompleteness() { 342 | return d3.nest() 343 | .key(d => d.ReviewVenue) 344 | .rollup(rv => rv.filter(p => p.AuthorPDF!="").length / rv.length ) 345 | .entries(dataCSV); 346 | console.log(completeness); 347 | } -------------------------------------------------------------------------------- /2017/style.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css?family=Roboto:400,500,700'); 2 | body { 3 | font-family: Segoe UI,Roboto,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif; 4 | font-weight: 400; 5 | padding-bottom: 4em; 6 | } 7 | h1 img { height: 1.25em; margin-top: -.25em; opacity: .8; } 8 | h1 svg { height: .8em; width: .8em; float: right; margin-left: .2em; margin-top: .2em; } 9 | h1 svg:hover { fill: #5C7E99; } 10 | .controls { 11 | background: #f0f0f0; 12 | padding: 6px 0 0 6px; 13 | font-size: 0; 14 | } 15 | .controls > div { padding-bottom: 6px; } 16 | 17 | 18 | .session { 19 | margin-bottom: 0.5em; 20 | padding: 1em 1em .5em 1em; 21 | } 22 | .session h3 { margin-top: 0; margin-bottom: 0.75em; } 23 | .session h3::before { 24 | display: inline-block; 25 | font-size: 10px; 26 | margin-left: -.5em; 27 | margin-right: -.5em; 28 | transform: rotate(-90deg); 29 | transform-origin: 50% 50%; 30 | vertical-align: 40%; 31 | font-weight: bold; 32 | } 33 | 34 | 35 | .paper { 36 | margin-bottom: 1em; 37 | min-height: 7em; 38 | padding-top: 0.5em; 39 | } 40 | 41 | 42 | .paper .thumbExpander { 43 | margin-right: -20px; 44 | margin-bottom: -3em; /* to let left margin of expandInfo overlap with this */ 45 | cursor: pointer; 46 | clear: both; 47 | } 48 | .paper .thumbExpander .spacer { 49 | width: 100%; 50 | } 51 | .paper .thumbExpander .thumb { 52 | left: 0; 53 | padding: 1px; 54 | width: 100%; 55 | min-width: 100%; 56 | } 57 | .paper .thumbExpander .thumbExpanderContainer { 58 | position: absolute; 59 | padding: inherit; 60 | width: 100%; 61 | top: 0; 62 | left: 0; 63 | } 64 | .paper .thumbExpander .thumbExpanderContainer .thumbContainer { 65 | background-color: rgba(0, 0, 0, 0.08); 66 | width: 100%; 67 | clear: both; 68 | } 69 | .paper .thumbExpander:hover .thumbExpanderContainer .expander { visibility: visible; } 70 | .paper .thumbExpander:active .thumbExpanderContainer .expander { opacity: 1; } 71 | .paper .thumbExpander .thumbExpanderContainer .expander { 72 | width: 25%; 73 | position: absolute; 74 | left: 0; 75 | right: 0; 76 | bottom: 0; 77 | margin: 0 auto; 78 | opacity: 0.75; 79 | visibility: hidden; 80 | } 81 | .paper.isExpanded .expander { transform: rotate(180deg); } 82 | 83 | .paper.fullOpenAccess .thumbExpander .thumb { border-left: 2px solid black; } 84 | 85 | .paper p, .paper h4 { 86 | margin-bottom: 0.1em; 87 | color: hsla(0,0%,0%,0.75); 88 | } 89 | .paper .title { 90 | font-size: inherit; 91 | line-height: inherit; 92 | font-weight: 500; 93 | margin-top: -0.2em; 94 | } 95 | .paper.fullOpenAccess .title { font-weight: bold; } 96 | .paper .time { font-family: Consolas, monaco, monospace; white-space: pre; } 97 | .paper .expandInfo { margin-left: calc(16.666666% - 20px); } 98 | .paper .expandInfo .mobileThumb { display: none; } 99 | .paper .expandInfo .abstract { margin-top: .5em; } 100 | .paper .expandInfo .videoWrapper.empty { display: none; } 101 | .paper .expandInfo .videoWrapper { 102 | position: relative; 103 | padding-bottom: 56.25%; /* 16:9 */ 104 | margin-top: 1.5em; 105 | height: 0; 106 | } 107 | .paper .expandInfo .videoWrapper iframe { 108 | position: absolute; 109 | top: 0; 110 | left: 0; 111 | width: 100%; 112 | height: 100%; 113 | } 114 | .paper .expandInfo pre { 115 | background-color: hsla(0,0%,0%,0.05); 116 | border: 1px solid hsla(0,0%,0%,0.15); 117 | margin-top: 1em; 118 | white-space: pre-wrap; 119 | word-break: normal; 120 | } 121 | 122 | .paper .links { margin-top: -.2em; padding-right: 0; margin-bottom: -2em; } 123 | .paper .links .expander { display: none; } 124 | .paper .link[href=""] { 125 | pointer-events: none; 126 | cursor: default; 127 | opacity: 0.1; 128 | } 129 | .paper .link { 130 | clear: both; 131 | display: block; 132 | opacity: 0.75; 133 | } 134 | .paper .link img { 135 | display: inline-block; 136 | vertical-align: middle; 137 | margin-right: .35em; 138 | width: 1em; 139 | height: 1em; 140 | } 141 | .paper .link span { 142 | vertical-align: text-top; 143 | display: inline-block; 144 | } 145 | .paper .link.OADomain { font-weight: 500; } 146 | 147 | .btn { 148 | border-radius: 3px; 149 | padding: 3px 6px; 150 | margin-right: 6px; 151 | min-width: 10%; 152 | box-shadow: -1px 1px 3px rgba(0,0,0,.125); 153 | border-style: none; 154 | } 155 | .btn.active { box-shadow: inset 0 1px 3px rgba(0,0,0,.125); } 156 | .btn:focus, .btn:active:focus, .btn.active:focus { outline-style: none; } 157 | .btn[aria-pressed="false"] span:after { 158 | font-family: 'Glyphicons Halflings'; 159 | content: "\e157"; 160 | margin-left: 0.5em; 161 | font-size: 80%; 162 | } 163 | .btn[aria-pressed="true"] span:after { 164 | font-family: 'Glyphicons Halflings'; 165 | content: "\e067"; 166 | margin-left: 0.5em; 167 | font-size: 80%; 168 | } 169 | .btn[aria-pressed="false"] svg.unchecked { display: inline-block; } 170 | .btn[aria-pressed="true"] svg.checked { display: inline-block; } 171 | .btn-day:hover, .btn-day:focus:hover { 172 | color: hsla(240, 0%, 99%, 1); 173 | background-color: hsla(0, 0%, 70%, 1); 174 | } 175 | .btn-day, .btn-day:focus { 176 | color: hsla(0, 0%, 50%, 1); 177 | background-color: hsla(240, 0%, 99%, 1); 178 | } 179 | 180 | .paper.closedAccess .thumbExpander { cursor: default; } 181 | .paper.closedAccess .links, 182 | .paper.closedAccess .expander, 183 | .paper.closedAccess .time { display: none; } 184 | .paper.closedAccess .title, 185 | .paper.closedAccess .authors, 186 | .paper.closedAccess .closedAccessMessage, 187 | .paper.closedAccess .thumb { opacity: 0.5; } 188 | .closedAccessMessage { display: none; } 189 | .paper.closedAccess .closedAccessMessage { display: block; font-style: italic; } 190 | 191 | /* Mobile site */ 192 | @media (max-width: 768px) { 193 | h1 { font-size: 28px; } 194 | h2 { font-size: 26px; } 195 | .btn { width: calc(24% - 4px); margin-bottom: 6px; } 196 | .controls > div { padding-bottom: 0; } 197 | 198 | 199 | .paper { margin-bottom: 0.5em; } 200 | 201 | 202 | .paper .authors { 203 | white-space: nowrap; 204 | overflow: hidden; 205 | text-overflow: ellipsis; 206 | } 207 | .paper .authors:hover, 208 | .paper .authors:active, 209 | .paper .authors:focus { 210 | white-space: normal; 211 | overflow: auto; 212 | text-overflow: clip; 213 | } 214 | 215 | 216 | .paper .links { 217 | margin-top: 0; 218 | margin-bottom: 1em; 219 | padding-right: 1em; 220 | } 221 | .paper .links .expanderContainer { 222 | display: inline-block; 223 | width: 32%; 224 | text-align: left; 225 | } 226 | .paper .links .expander { 227 | display: inline-block; 228 | height: 2em; 229 | opacity: 0.75; 230 | } 231 | .paper .link { 232 | display: inline-block; 233 | width: 17%; 234 | text-align: right; 235 | } 236 | .paper .link img { 237 | width: 2em; 238 | height: 2em; 239 | background-size: 2em; 240 | } 241 | .paper .link span { display: none; } 242 | 243 | 244 | .paper .expandInfo { margin-left: 0; margin-bottom: 2em; } 245 | .paper .expandInfo .mobileThumb { 246 | width: 100%; 247 | display: block; 248 | margin: 1em .5em 1em 0; 249 | border: 1px solid rgba(0,0,0,.125); 250 | } 251 | .paper .expandInfo .abstract { margin-left: .25em; } 252 | .paper .expandInfo pre { display: none; } 253 | } 254 | 255 | 256 | /* Track-specific styles */ 257 | 258 | .infovis { background-color: #f0f0ff; } 259 | .vast { background-color: #f0fff0; } 260 | .scivis { background-color: #fff0f0; } 261 | .other { background-color: #fafaea; } 262 | 263 | .infovis h3 { color: hsla(240, 100%, 80%, 1); } 264 | .vast h3 { color: hsla(120, 50%, 70%, 1); } 265 | .scivis h3 { color: hsla(0, 100%, 80%, 1); } 266 | .other h3 { color: hsla(60, 75%, 45%, 1) } 267 | 268 | .infovis h3::before { content: "INFO"; } 269 | .vast h3::before { content: "VAST"; } 270 | .scivis h3::before { content: "SCI "; margin-right: .1em; } 271 | 272 | 273 | .btn-infovis:hover, .btn-infovis:focus:hover { 274 | color: hsla(240, 100%, 97%, 1); 275 | background-color: hsla(240, 100%, 80%, 1); 276 | } 277 | .btn-infovis, .btn-infovis:focus { 278 | color: hsla(240, 100%, 70%, 1); 279 | background-color: hsla(240, 100%, 97%, 1); 280 | } 281 | .btn-vast:hover, .btn-vast:focus:hover { 282 | color: hsla(120, 50%, 97%, 1); 283 | background-color: hsla(120, 50%, 60%, 1); 284 | } 285 | .btn-vast, .btn-vast:focus { 286 | color: hsla(120, 50%, 60%, 1); 287 | background-color: hsla(120, 50%, 97%, 1); 288 | } 289 | .btn-scivis:hover, .btn-scivis:focus:hover { 290 | color: hsla(0, 65%, 95%, 1); 291 | background-color: hsla(0, 100%, 80%, 1); 292 | } 293 | .btn-scivis, .btn-scivis:focus { 294 | color: hsla(0, 100%, 70%, 1); 295 | background-color: hsla(0, 65%, 95%, 1); 296 | } 297 | .btn-other:hover, .btn-other:focus:hover { 298 | color: hsla(60, 65%, 95%, 1); 299 | background-color: hsla(60, 75%, 45%, 1); 300 | } 301 | .btn-other, .btn-other:focus { 302 | color: hsla(60, 75%, 45%, 1); 303 | background-color: hsla(60, 65%, 95%, 1); 304 | } 305 | 306 | 307 | .visap { background-color: #faf2ea; } 308 | .visap h3 { color: hsla(30, 75%, 45%, 1) } 309 | .visap h3::before { content: "VISAP"; } 310 | .btn-visap:hover, .btn-visap:focus:hover { 311 | color: hsla(30, 65%, 95%, 1); 312 | background-color: hsla(30, 75%, 45%, 1); 313 | } 314 | .btn-visap, .btn-visap:focus { 315 | color: hsla(30, 75%, 45%, 1); 316 | background-color: hsla(30, 65%, 95%, 1); 317 | } -------------------------------------------------------------------------------- /2017/workshops.csv: -------------------------------------------------------------------------------- 1 | ReviewVenue,PublicationVenue,Title,Authors,AuthorPDF,Abstract,ExplanationPage,SourceMaterials,Data,Video,DOI,PublicationYear,ConferenceYear,ConferenceTrack,ConferenceRoom,ConferenceDay,ConferenceSession,ConferenceTimeStart,ConferenceTimeEnd 2 | VISAP,VISAP,Adapted Dorling Cartogram on Wage Inequality in Portugal,Pedro Cruz,http://visap.uic.edu/2017/materials/Cruz-DorlingCartogram-visap117.pdf,"Wage inequality in Portugal has been systematically around 27%. This paper describes a set of animated cartograms that show this inequality for several years. The visualization was designed for an exhibition setting, and instead of presenting the final cartograms, it shows the cartogram formation for each year as a way of reiterating the message. The model used is a modification of Dorling cartograms that visually appears as a set of contiguous amalgams of total wages earned by subregion. This aspect confers an organic tone to the artifact, as if liquids of different densities were being poured into the canvas without mixing, and depicting a tension based behavior where amalgams of men and women push among themselves to compete for the same space.",,,,,,2017,2017,VISAP,101-ABC,Wednesday,VIS Arts Program - Papers Track - Session 1,8:30 AM,8:50 AM 3 | VISAP,VISAP,Understanding People’s Interaction with Neural Sci-Art,"Manuela Garreton, Karina Hyland, and Denis Parra",http://visap.uic.edu/2017/materials/Garreton-NeuralSciArt-visap154.pdf,"Recent studies in cognitive neuroscience have discovered a complex neural network that activates when not performing a task. Every time the mind wanders and an inner conversation takes place, a series of brain regions work together to achieve some very important mental processes. These regions conform the default mode network (DMN), and its study has become critical for understanding how consciousness operates. With the intention to introduce this novel scientific finding to a non-expert audience and motivated by related works that combine science and art, we designed and implemented Default Stories: a work in progress of an interactive and immersive experience on the web. Using features of web interactive documentaries (i-docs), we present the main characteristics and relevance of the DMN in a language that can be understood by almost anyone. This website was published and available online for a month, where we collected navigation data (n=98) and analyzed the interaction between users and the interface. After this study, we were able to detect patterns on the interactions and intersect the findings with how the audience perceives and understands the presented subject. This work will serve as a starting point for new projects that present complex scientific research to non-expert public, by using interactive web experiences.",,,,,,2017,2017,VISAP,101-ABC,Wednesday,VIS Arts Program - Papers Track - Session 1,8:50 AM,9:10 AM 4 | VISAP,VISAP,Visualizing Causes and Effects of California Sea Lion Unusual Mortality Event (UME),"Yoon Chung Han, Praful Surve, Subin Kim, and Josh Cuellar",http://visap.uic.edu/2017/materials/Han-CausesAndEffects-visap160.pdf,"This paper introduces our project Causes and Effects, which visualizes California sea lion unusual mortality events (UME) to create a new layer of understanding of the situation as an important environmental issue. It examines the causes of and impacts on sea lion UME by controlling multivariate factors that impact sea lions’ health and stranding. Previous visualizations for sea lion mortality only captured temporal data and the relationship between causes and effects using simple graphs. However, sea lion UME results from multiple causes and it requires multivariate visualization to establish clear solutions for future results. The resulting images of our visualization allow users to explore how environmental factors impact the lives and situations of sea lions.",,,,,,2017,2017,VISAP,101-ABC,Wednesday,VIS Arts Program - Papers Track - Session 1,9:10 AM,9:30 AM 5 | VISAP,VISAP,Spatial Reliefs: Cross-Scale Space-Scapes,"Clarissa Ribeiro, Mick Lorusso, and Herbert Rocha",http://visap.uic.edu/2017/materials/Ribeiro-SpatialReliefs-visap184.pdf,"Conceived as a peaceful and playful exploration of interstellar space, this augmented reality and sound installation invites the audience to access the experiential dimension of space technologies and how the huge amount of data derived from space exploration can be accessed, appropriated, integrated into the artist’s poetics and experienced by the audience. The audience is invited to walk through a softly illuminated room where a few transparent cables come from the ceiling having small augmented reality markers in their extremities. Holding an iPad mini while exploring the space, one will find him/herself immersed in a soundscape populated with 3D models derived from actual micro scale images. The 3D models were generated via parametric design strategies from NASA’s Stardust Discovery-class mission’s database images of aerogel samples which have captured cosmic dust particles. The soundscape, or the soundtrack for navigating this Augmented Reality interstellar space, is a composition using a combination of sounds derived from images of identified stardust particles in nano scale from the same NASA mission. The installation is a tribute to Helio Oiticica’s radical series of red and ´ yellow ‘Spatial Reliefs’ (1960).",,,,,,2017,2017,VISAP,101-ABC,Thursday,VIS Arts Program - Papers Track - Session 2,8:30 AM,8:50 AM 6 | VISAP,VISAP,Fiber Optic Ocean: Merging Media for Data Representation,Ozge Samanci and Adam Snyder,http://visap.uic.edu/2017/materials/Samanci-FiberOpticOcean-visap143.pdf,"This paper explores the interactive art installation, Fiber Optic Ocean, portraying the consequences of technology’s invasion of oceans. Three life-size shark skeletons are trapped in an ocean made of fiber optic threads. This 20-foot-by-20-foot installation combines fiber optics with sculptural elements and data-driven light and sound design. Data visualization and sonification emerge from the use of two data sets: human data (tweets per second) and shark data (speed of live sharks tagged with GPS). This paper examines the affordances and constraints of design with fiber optic threads. Using fiber optics in this media context expands the expressive opportunities for artists and creates a platform for representation of data.",,,,,,2017,2017,VISAP,101-ABC,Thursday,VIS Arts Program - Papers Track - Session 2,8:50 AM,9:10 AM 7 | VISAP,VISAP,Using the Interaction Geography Slicer to Visualize New York City Stop & Frisk,"Ben Rydal Shapiro and Francis A. Pearman, II",http://visap.uic.edu/2017/materials/Shapiro-StopAndFrisk-visap147.pdf,"This paper adapts and uses a dynamic visualization environment called the Interaction Geography Slicer (IGS) developed by the 1st author to visualize data about New York City’s Stop & Frisk Program. Findings and discussion focus on how this environment provides new ways to view, interact with and query large-scale data sets over space and through time to support analyses of and public discussion about New York City’s Stop & Frisk Program.",,,,,,2017,2017,VISAP,101-ABC,Thursday,VIS Arts Program - Papers Track - Session 2,9:10 AM,9:30 AM 8 | VISAP,VISAP,3D Visualization of Genetic Networks Using Diverse Art Materials,Jennifer Weiler and Kat Fowler,http://visap.uic.edu/2017/materials/Weiler-GeneticNetworks-visap150.pdf,"There has been growing interest in using artistic approaches to communicate scientific data. Most of this work has also taken advantage of new technology by incorporating digital and interactive media to convey complex or abstract concepts. In our work, we use these tools, data analysis and 3D printing, to explore means of representing genetic information using traditional art materials. From variations in DNA, we generate 3D models and used them as a basis for creating both a bronze sculpture and a low cost, tactilely-interactive piece. Looking forward, we are interested in understanding how viewers interpret data displays differently based on the type of materials used to construct the visualizations.",,,,,,2017,2017,VISAP,101-ABC,Thursday,VIS Arts Program - Papers Track - Session 2,9:30 AM,9:50 AM -------------------------------------------------------------------------------- /2017/workshops.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Workshops - Open Access VIS 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 29 | 30 | 31 | 32 |
33 |
34 |
35 |

36 | Open Access VIS 37 | 38 | 39 | Workshops 40 |

41 |
42 |
43 | 44 |
45 |
46 |

A collection of open access visualization research at the VIS 2017 conference. Info about the symbols and open access. To edit the data, see GitHub.

47 |
48 |
49 | 50 |
51 |
52 |
53 |
54 | 55 |
56 |
57 |
58 |
59 |
60 | 61 | 62 |
63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 77 | 78 | 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /2018/about.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | About - Open Access VIS 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 43 | 44 | 45 | 46 | 50 | 51 | 52 | 53 |
54 |
55 |
56 |

Open Access VIS

57 |

A collection of open access visualization research at the VIS conference.

58 |

Created and maintained by Steve Haroz. Help with data entry was provided by Noeska Smit, Isaac Cho, and André Calero Valdez.

59 | 60 |

Goals of this site

61 |
    62 |
  1. Collect openly accessible papers, data, and other materials from VIS before the conference.
  2. 63 |
  3. Encourage authors to post papers, data, and materials.
  4. 64 |
  5. Encourage posting on reliable open access repositories to avoid "link rot".
  6. 65 |
  7. Get an overview of how many VIS papers are inaccessible outside of a pay wall.
  8. 66 |
67 | 68 |

Badges

69 |
70 |

This paper is accessible on a reliable open access repository.

71 |

This paper is accessible on an author or institution site.

72 |

This paper may not be legitimately available outside of a paywall.

73 |
74 |
75 |

The materials or source code needed to replicate or reproduce this work are available on a reliable open access repository. Full criteria.

76 |

The materials or source code needed to replicate or reproduce this work are available from some other source.

77 |

The materials or source code needed to reproduce this work may not be available.

78 |
79 |
80 |

Raw data measured by the authors to support the conclusions of an empirical study are available on a reliable open access repository. Full criteria.

81 |

Raw data measured by the authors to support the conclusions of an empirical study are available from some other source.

82 |

Raw data may not be available.

83 |
84 |
85 |

A timestamped and immutable research plan describing research questions, independent variables, dependent variabes, and covariates. Full criteria.

86 |

A preregistration may not be available.

87 |
88 | 89 |

How do I make my work open access?

90 |

I suggest using the Open Science Foundation (OSF) to post your work.

91 |

Sign up. Create a new project. And upload your paper, data, and materials. It takes under 5 minutes.

92 |

You can also connect your OSF project to a GitHub repository to avoid keeping track of multiple repositories.

93 |

Once you're done, make a GitHub issue with the URLs for your work.

94 | 95 |

What counts as a reliable open access repository?

96 |

Personal websites, institutional websites, and commercial websites such as github are not reliable.

97 |

A reliable open access repository should (1) be freely accessible, (2) provide a persistent identifier, (3) have immutable versioining, and (4) have a long-term sustainability plan (see this example).

98 |

The following domains are currently counted: osf.io, arxiv.org, biorxiv.org, psyarxiv.org, hal.inria.fr, hal.archives-ouvertes.fr, and eprints.whiterose.ac.uk. Please file an issue to add others.

99 |

The Open Science Foundation (OSF) is suggested because it is general purpose and can store documents, materials, and data together. However, other open access repositories or institutional repositories are equally valid.

100 | 101 |

Where are the videos?

102 |

Expanding the thumbnail will show the paper's video, but only for papers shared on a reliable open access server. If the author has time to make a video, they can spare a few minutes to post the paper on osf.io, arxiv.org, or a similar reliable open repository.

103 | 104 |

I see missing info, incorrect info, or a bug. How can I fix it?

105 |

Help filling in missing or incorrect info is greatly appreciated. Please file an issue on GitHub.

106 |

Thumbnails are kept separately for now. Information for adding or improving thumbnails is also on GitHub.

107 |

Because accessibility is important, the paper should be viewable in the browser. URLs that require people to download a PDF or fill out a form will not be accepted.

108 | 109 |

Acknowledgements

110 |

This site was built with Boostrap, D3, and a fuckton of StackOverflow searches.

111 |

Some icons are from Font-Awesome-SVG-PNG (Font Awesome by Dave Gandy).

112 |

Open Access logo by PlOS via Wikipedia

113 |

Open access materials and open access data symbols by Center for Open Science. Note that the "partial credit" versions were created by me.

114 |

Closed access science icon is CC-BY by Steve Haroz

115 |

Special thanks to the D'Achouffe, whose beer made all of this possible.

116 |
117 |
118 | 119 | 123 |
124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | -------------------------------------------------------------------------------- /2018/images/Closed_Access_Research.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | 19 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /2018/images/Open_Access.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos 6 | http://www.plos.org/ 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /2018/images/blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steveharoz/open-access-vis/8433d07b461ce00a33b4727aee8797e0597f31f5/2018/images/blank.png -------------------------------------------------------------------------------- /2018/images/chevron-circle-down.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /2018/images/data-o.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 13 | 14 | -------------------------------------------------------------------------------- /2018/images/data.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | -------------------------------------------------------------------------------- /2018/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steveharoz/open-access-vis/8433d07b461ce00a33b4727aee8797e0597f31f5/2018/images/favicon.ico -------------------------------------------------------------------------------- /2018/images/file-text-o.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /2018/images/file-text.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /2018/images/info-o.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /2018/images/info.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /2018/images/materials-o.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 14 | 15 | -------------------------------------------------------------------------------- /2018/images/materials.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /2018/images/no_thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steveharoz/open-access-vis/8433d07b461ce00a33b4727aee8797e0597f31f5/2018/images/no_thumbnail.png -------------------------------------------------------------------------------- /2018/images/preregistered-o.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 13 | -------------------------------------------------------------------------------- /2018/images/preregistered.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | -------------------------------------------------------------------------------- /2018/images/reproducible.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /2018/images/summary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steveharoz/open-access-vis/8433d07b461ce00a33b4727aee8797e0597f31f5/2018/images/summary.png -------------------------------------------------------------------------------- /2018/images/summary_about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steveharoz/open-access-vis/8433d07b461ce00a33b4727aee8797e0597f31f5/2018/images/summary_about.png -------------------------------------------------------------------------------- /2018/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | Open Access VIS 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 | 33 |
34 |
35 |
36 |

37 | Open Access VIS 38 | 39 | 40 |

41 |
42 |
43 | 44 |
45 |
46 |

A collection of open access visualization research at the VIS 2018 conference. Info about the symbols and open access. To edit the data, see GitHub.

47 |

Also see Open Access VIS for 2018 Workshops, 2017, and 2017 Workshops.

48 |
49 |
50 | 51 |
52 |
53 |
54 |
55 | 56 | 57 | 58 | 59 |
60 |
61 |
62 |
63 |
64 | 65 | 66 |
67 | 68 | 73 | 74 |
75 | 79 |
80 |
81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 94 | 95 | 99 | 100 | 101 | 102 | 103 | 104 | -------------------------------------------------------------------------------- /2018/js/load.js: -------------------------------------------------------------------------------- 1 | var asdf = require("d3"); // dummy call for vscode 2 | var dataCSV, dataNested; // keep data global 3 | var thumbnails, abstracts; // set the big things last 4 | var dayNames = ["Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]; 5 | var dayAbrevs = {"Saturday morning": "Sa AM", "Saturday afternoon": "Sa PM", 6 | "Sunday morning": "Su AM", "Sunday afternoon": "Su PM", 7 | "Monday morning": "M AM", "Monday afternoon": "M PM", 8 | "Tuesday morning": "Tu AM", "Tuesday afternoon": "Tu PM", 9 | "Wednesday morning": "W AM", "Wednesday afternoon": "W PM", 10 | "Thursday morning": "Th AM", "Thursday afternoon": "Th PM", 11 | "Friday morning": "F AM", "Friday afternoon": "F PM"}; 12 | var OADomains = ["osf.io", "arxiv.org", "biorxiv.org", "psyarxiv.org", "/hal.", "/eprints.", "/openaccess."]; 13 | var linkImages = {"PDF": "file-text", "Materials": "materials", "Data": "data", "Preregistered": "preregistered", "Explanation or demo": "info"}; 14 | var timeParser = d3.timeParse("%I:%M %p"); 15 | var style = "col-md-12 col-lg-10 col-lg-offset-1"; 16 | var untouched = true; 17 | 18 | 19 | // load and parse the data 20 | function load() { 21 | // drop the fetchable text 22 | d3.select("#fetchable").remove(); 23 | 24 | // if on a server with php, use the optimized approach... 25 | if (typeof dataString !== "undefined") { 26 | var data = d3.csvParse(dataString); 27 | LoadCSVData(data); 28 | // if there isn't php (e.g, debugging), load the file via d3... 29 | } else { 30 | d3.csv(dataFilename, d => d, function (error, data) { 31 | if (error) 32 | throw error; 33 | LoadCSVData(data); 34 | }); 35 | } 36 | } 37 | 38 | function LoadCSVData(data) { 39 | dataCSV = data; 40 | // make some extra properties 41 | dataCSV = dataCSV.map(d => { 42 | d.PM = timeParser(d.ConferenceTimeStart).getHours() > 12; 43 | d.closedAccess = d.AuthorPDF == ""; 44 | d.simpleName = getSimpleName(d); 45 | return d; 46 | }); 47 | // nest the data 48 | dataNested = d3.nest() 49 | // day 50 | .key(d => (dayNames.indexOf(d.ConferenceDay) + (+d.PM * 0.5)) + "|" + d.ConferenceDay + " " + (d.PM ? "afternoon" : "morning")) 51 | .sortKeys((a, b) => a.split("|")[0] - b.split("|")[0]) 52 | // session 53 | .key(d => d.ConferenceTrack + "|" + d.ConferenceSession) 54 | .sortKeys((a, b) => a.localeCompare(b)) 55 | .entries(dataCSV); 56 | dataNested = dataNested.map(d => { 57 | // sort papers within each session 58 | d.values = d.values.map(s => { 59 | s.values.sort((a, b) => timeParser(a.ConferenceTimeStart) - timeParser(b.ConferenceTimeStart)); 60 | s.startTime = s.values[0].ConferenceTimeStart; 61 | return s; 62 | }); 63 | // sort sessions 64 | d.values.sort((a, b) => timeParser(a.startTime) - timeParser(b.startTime)); 65 | return d; 66 | }); 67 | 68 | buildPage(); 69 | } 70 | 71 | // use the data to construct the page elements 72 | function buildPage() { 73 | ///// Day ///// 74 | var days = d3.select("#content_goes_here") 75 | .selectAll(".day") 76 | .data(dataNested).enter(); 77 | days = days.append("div") 78 | .classed("day", true) 79 | .classed("row", true) 80 | .attr("id", d => d.key.split("|")[1].replace(" ", "_")) 81 | .append("div") 82 | .classed(style, true); 83 | 84 | days.append("h2") 85 | .text(d => d.key.split("|")[1]); 86 | 87 | makeDayButtons(); 88 | 89 | ///// session ///// 90 | var sessions = days.selectAll(".session") 91 | .data(d => d.values).enter() 92 | .append("div") 93 | .attr("class", d => d.values[0].ConferenceTrack.toLowerCase()) 94 | .classed("session", true); 95 | sessions.append("h3").text(d => d.values[0].ConferenceSession); 96 | 97 | ///// paper ///// 98 | var papers = sessions.selectAll(".paper") 99 | .data(s => s.values).enter() 100 | .append("div") 101 | .attr("id", d => d.simpleName) 102 | .attr("class", "paper row") 103 | .classed("fullOpenAccess", d => isOpenAccessDomain(d.AuthorPDF)) 104 | .classed("closedAccess", d => d.closedAccess); 105 | 106 | ///// thumbnail ///// 107 | var left = papers.append("div") 108 | .classed("col-sm-3 col-sm-2 hidden-xs thumbExpander", true); 109 | left.append("img") 110 | .classed("spacer", true) 111 | .attr("src", "images/blank.png"); 112 | 113 | ///// expander button ///// 114 | var expander = left.append("div").classed("thumbExpanderContainer", true); 115 | thumbnails = expander.append("div").classed("thumbContainer", true).append("img") 116 | .classed("thumb", true) 117 | .on("error", (d,i,nodes) => d3.select(nodes[i]).attr("src", "images/no_thumbnail.png" )) 118 | .attr("src", "images/Closed_Access_Research.svg"); 119 | expander.append("img").classed("expander", true).attr("src", "images/chevron-circle-down.svg"); 120 | left.on("click", (d,i) => expandEventHandler(d)); 121 | 122 | ///// basic info ///// 123 | var mid = papers.append("div") 124 | .classed("col-sm-8 col-xs-12", true); 125 | mid.append("h4") 126 | .classed("title", true) 127 | .text(d => d.Title); 128 | mid.append("p") 129 | .classed("authors", true) 130 | .text(d => d.Authors); 131 | mid.append("p") 132 | .classed("time", true) 133 | .text(d => formatTimeRange(d.ConferenceTimeStart, d.ConferenceTimeEnd) + " " + d.ConferenceDay + " " + d.ConferenceRoom); 134 | mid.append("p") 135 | .classed("closedAccessMessage", true) 136 | .html("This paper does not appear to be available. Please encourage the authors to post their work."); 137 | 138 | ///// links ///// 139 | var right = papers.append("div") 140 | .classed("col-sm-2 col-xs-12 links", true); 141 | var mobileExpander = right.append("div").classed("expanderContainer", true) 142 | .append("img") 143 | .classed("expander", true) 144 | .attr("src", "images/chevron-circle-down.svg"); 145 | mobileExpander.on("click", (d,i) => expandEventHandler(d)); 146 | right.appendLink("PDF", "PDF", d => d.AuthorPDF); 147 | right.appendLink("sourceMaterial", "Materials", d => d.SourceMaterials); 148 | right.appendLink("data", "Data", d => d.Data); 149 | right.appendLink("preregistered", "Preregistered", d => d.Preregistered); 150 | 151 | 152 | ///// expander content ///// 153 | var expandInfo = papers.append("div") 154 | .attr("id", d => d.simpleName + "_expandInfo") 155 | .classed("col-xs-12 col-sm-8 col-sm-offset-2 expandInfo collapse", true); 156 | var mobileThumbnails = expandInfo.append("img").classed("mobileThumb", true); 157 | abstracts = expandInfo.append("p") 158 | .classed("abstract", true); 159 | expandInfo.appendLink("projectPage", "Explanation or demo", d => d.ExplanationPage); 160 | videos = expandInfo.append("div") 161 | .classed("videoWrapper empty", true); 162 | expandInfo.append("pre") 163 | .classed("citation", true) 164 | .text(makeCitation); 165 | expandInfo.append("div") 166 | .classed("notReliable", true) 167 | .html('Videos, explanations, demos, and citation information for this paper will only be shown if the paper is posted to a reliable open access repository such as osf.io or arxiv.org. For now, the authors don\'t appear to have shared the paper reliably. For more information about reliable open access, click here.'); 168 | 169 | // load thumbnails last 170 | thumbnails.attr("src", getThumbnailPath); 171 | mobileThumbnails.attr("src", getThumbnailPath); 172 | parseURL(); 173 | } // end buildPage() 174 | 175 | 176 | 177 | // make a simple name for the paper 178 | function getSimpleName(paper, sep = "_") { 179 | var title = dropLeadingArticle(paper.Title); 180 | return title.split(/[^\w]/, 3).filter(s => s!="").slice(0,2).join("_").toLowerCase() + 181 | sep + 182 | paper.Authors.split(/[^\w]/, 1)[0].toLowerCase(); 183 | } 184 | function dropLeadingArticle (text) { 185 | if (text.startsWith("A ")) text = text.substring(2); 186 | if (text.startsWith("An ")) text = text.substring(3); 187 | if (text.startsWith("The ")) text = text.substring(4); 188 | // numerical leads are bad too 189 | if (!isNaN(parseInt(text[0]))) 190 | text = text.substring(text.indexOf(" ") + 1); 191 | return text; 192 | } 193 | 194 | // get thumbnail image 195 | function getThumbnailPath(paper) { 196 | if (paper.closedAccess) 197 | return "images/Closed_Access_Research.svg"; 198 | return thumbnailFolder + paper.simpleName + ".png"; 199 | } 200 | 201 | // is the pdf on a true open access repository 202 | function isOpenAccessDomain(href) { 203 | for (var i = 0; i < OADomains.length; i++) { 204 | if (href.includes(OADomains[i])) 205 | return true; 206 | } 207 | return false; 208 | } 209 | 210 | // time to string converter 211 | var timeFormatterShort = d3.timeFormat("%-I:%M"); 212 | var timeFormatterLong = d3.timeFormat("%-I:%M %p"); 213 | 214 | // time range to string 215 | function formatTimeRange(start, end) { 216 | start = timeParser(start); 217 | end = timeParser(end); 218 | // if both AM or both PM 219 | if ((start.getHours() >= 12) == (end.getHours() >= 12)) 220 | return timeFormatterShort(start) + "-" + timeFormatterLong(end); 221 | return timeFormatterLong(start) + "-" + timeFormatterLong(end); 222 | } 223 | 224 | // add a link and icon 225 | d3.selection.prototype.appendLink = function (css, text, href) { 226 | var link = this.append("a") 227 | .classed("link " + css, true) 228 | .attr("target", "_blank") 229 | .attr("href", href) 230 | .attr("title", d => isOpenAccessDomain(href(d)) ? "Open access repository with permanent URL" : "Personal/Institutional site") 231 | .classed("OADomain", d => isOpenAccessDomain(href(d))); 232 | 233 | link.append("img") 234 | .attr("src", d => 235 | "images/" + 236 | linkImages[text] + 237 | (isOpenAccessDomain(href(d)) ? ".svg" : "-o.svg")); 238 | 239 | link.append("span") 240 | .text(text); 241 | }; 242 | 243 | // 244 | function makeVideoFrame(video) { 245 | if (video == "") 246 | return ""; 247 | var videoID = []; 248 | if (video.startsWith("youtube ")) { 249 | videoID = video.split(" ")[1]; 250 | return ``; 251 | } 252 | if (video.startsWith("vimeo ")) { 253 | videoID = video.split(" ")[1]; 254 | return ``; 255 | } 256 | if (video.startsWith("video ")) { 257 | videoID = video.split(" ")[1]; 258 | return ``; 259 | } 260 | return video; 261 | } 262 | 263 | // make text that can be copied for a citation 264 | function makeCitation(paper) { 265 | var IEEE = ""; 266 | var authors = paper.Authors.split(", "); 267 | authors = authors.map(convertName2Reference); 268 | IEEE = authors[0]; 269 | if (authors.length == 2) 270 | IEEE += " and " + authors[1]; 271 | if (authors.length > 2) { 272 | for (var a = 1; a < authors.length - 1; a++) 273 | IEEE += ", " + authors[a]; 274 | IEEE += ", and " + authors[authors.length - 1]; 275 | } 276 | IEEE += ". \"" + paper.Title + "\". "; 277 | IEEE += journals[paper.PublicationVenue] + ". "; 278 | IEEE += paper.PublicationYear + ". "; 279 | IEEE += paper.DOI ? "DOI:" + paper.DOI + "." : ""; 280 | 281 | var bibtex = "@Article{" + paper.simpleName + ",\n"; 282 | bibtex += " author = " + paper.Authors.split(", ").join(" and ") + "\n"; 283 | bibtex += " title = " + paper.Title + "\n"; 284 | bibtex += " journal = " + journals[paper.PublicationVenue] + "\n"; 285 | bibtex += " year = " + paper.PublicationYear + "\n"; 286 | bibtex += " DOI = " + paper.DOI + "\n"; 287 | bibtex += "}"; 288 | 289 | return IEEE + "\n\n" + bibtex; 290 | } 291 | 292 | // make a reference-style initial name 293 | var particles = [" von der ", " van der ", " van den ", " van het ", " op het ", " van ", " von ", " de ", " di ", " d’ "]; // more? 294 | function convertName2Reference(name) { 295 | var shortName = ""; 296 | var particle = particles.map(p => name.includes(p) ? p : "").filter(p => p != ""); 297 | particle = particle.length == 0 ? "" : particle[0]; 298 | if (particle != "") 299 | name = name.replace(particle, " "); 300 | var tokens = name.split(" "); 301 | var lastName = tokens.pop(); 302 | var firstInitials = tokens.map(t => { 303 | if (!t.includes("-")) 304 | return t.trim()[0] + "."; 305 | return t.split("-").map(t => t[0]).join(".-") + "."; 306 | }).join(" "); 307 | return firstInitials + particle.trimRight() + " " + lastName; 308 | } 309 | 310 | // show/hide the expand region 311 | function expandEventHandler(paper) { 312 | if (untouched) { 313 | abstracts.html(d => d.Abstract); 314 | untouched = false; 315 | } 316 | if (paper.closedAccess) 317 | return; 318 | var id = '#' + paper.simpleName; 319 | if (paper.Video != "" && d3.select(id + " .videoWrapper").html() == "") 320 | d3.select(id + " .videoWrapper").classed("empty", false).html(makeVideoFrame(paper.Video)); 321 | d3.select(id).classed("isExpanded", !d3.select(id).classed("isExpanded")); 322 | $(id + "_expandInfo").collapse('toggle'); 323 | } 324 | 325 | // make button to show/hide each day 326 | function makeDayButtons() { 327 | d3.select("#dayToggles") 328 | .selectAll("button") 329 | .data(dataNested).enter() 330 | .append("button") 331 | .attr("type", "button") 332 | .attr("id", d => "#" + d.key.split("|")[1].replace(" ", "_") + "_btn") 333 | .classed("btn active btn-day", true) 334 | .attr("data-toggle", "button") 335 | .attr("data-subset", d => "#" + d.key.split("|")[1].replace(" ", "_")) 336 | .attr("aria-pressed", "true") 337 | .attr("autocomplete", "off") 338 | .append("span").text(d => dayAbrevs[d.key.split("|")[1]]); 339 | 340 | // set up button events handlers 341 | d3.selectAll('button').on("click", function() { 342 | var subset = d3.select(this).node().dataset.subset; 343 | var isPressed = d3.select(this).attr("aria-pressed"); 344 | d3.selectAll(subset).style("display", isPressed == "false" ? "block" : "none"); 345 | }); 346 | } 347 | 348 | //function makeViewCurrent() { 349 | // d3.now() 350 | //} 351 | 352 | // just for dev 353 | function checkImageSizes() { 354 | d3.selectAll(".thumb").each(function(d) { 355 | var a = d3.select(this).node(); 356 | if (a.naturalHeight < a.naturalWidth * 0.75 && !a.src.includes("Closed_Access")) 357 | console.log(a.naturalHeight + " x " + a.naturalWidth + ": " + a.src); 358 | }); 359 | } 360 | 361 | // just for dev 362 | function checkCompleteness() { 363 | return d3.nest() 364 | .key(d => d.ReviewVenue) 365 | .rollup(rv => rv.filter(p => p.AuthorPDF!="").length / rv.length ) 366 | .entries(dataCSV); 367 | //console.log(completeness); 368 | } 369 | function justShowClosed() { 370 | d3.selectAll('.paper').style("display", "none"); 371 | d3.selectAll('.closedAccess').style("display", "block"); 372 | } 373 | function justShowOpen() { 374 | d3.selectAll('.paper').style("display", "block"); 375 | d3.selectAll('.closedAccess').style("display", "none"); 376 | } 377 | function justShowFullOpen() { 378 | d3.selectAll('.paper').style("display", "none"); 379 | d3.selectAll('.fullOpenAccess').style("display", "block"); 380 | } 381 | function parseURL() { 382 | if (new URL(window.location.href).searchParams.get("onlyclosed") == "") justShowClosed(); 383 | else if (new URL(window.location.href).searchParams.get("onlyopen") == "") justShowOpen(); 384 | else if (new URL(window.location.href).searchParams.get("onlyfullopen") == "") justShowFullOpen(); 385 | if (location.hash != "") 386 | d3.select(location.hash).node().scrollIntoView(); 387 | } 388 | 389 | // after this file is fully parsed... 390 | load(); -------------------------------------------------------------------------------- /2018/style.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css?family=Roboto:400,500,700'); 2 | body { 3 | font-family: Segoe UI,Roboto,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif; 4 | font-weight: 400; 5 | padding-bottom: 1em; 6 | } 7 | h1 img { height: 1.25em; margin-top: -.25em; opacity: .8; } 8 | h1 svg { height: .8em; width: .8em; float: right; margin-left: .2em; margin-top: .2em; } 9 | h1 svg:hover { fill: #5C7E99; } 10 | .controls { 11 | background: #f0f0f0; 12 | padding: 6px 0 0 6px; 13 | font-size: 0; 14 | } 15 | .controls > div { padding-bottom: 6px; } 16 | .footer { padding-top: 2em; } 17 | 18 | .session { 19 | margin-bottom: 0.5em; 20 | padding: 1em 1em .5em 1em; 21 | } 22 | .session h3 { margin-top: 0; margin-bottom: 0.75em; } 23 | .session h3::before { 24 | display: inline-block; 25 | font-size: 10px; 26 | margin-left: -.5em; 27 | margin-right: -.5em; 28 | transform: rotate(-90deg); 29 | transform-origin: 50% 50%; 30 | vertical-align: 40%; 31 | font-weight: bold; 32 | } 33 | 34 | 35 | .paper { 36 | margin-bottom: 1em; 37 | min-height: 7em; 38 | padding-top: 0.5em; 39 | } 40 | 41 | 42 | .paper .thumbExpander { 43 | margin-right: -20px; 44 | margin-bottom: -3em; /* to let left margin of expandInfo overlap with this */ 45 | cursor: pointer; 46 | clear: both; 47 | } 48 | .paper .thumbExpander .spacer { 49 | width: 100%; 50 | } 51 | .paper .thumbExpander .thumb { 52 | left: 0; 53 | padding: 1px; 54 | width: 100%; 55 | min-width: 100%; 56 | opacity: 0.67; 57 | } 58 | .paper .thumbExpander .thumbExpanderContainer { 59 | position: absolute; 60 | padding: inherit; 61 | width: 100%; 62 | top: 0; 63 | left: 0; 64 | } 65 | .paper .thumbExpander .thumbExpanderContainer .thumbContainer { 66 | background-color: rgba(0, 0, 0, 0.08); 67 | width: 100%; 68 | clear: both; 69 | } 70 | .paper .thumbExpander:hover .thumbExpanderContainer .expander { visibility: visible; } 71 | .paper .thumbExpander:active .thumbExpanderContainer .expander { opacity: 1; } 72 | .paper .thumbExpander .thumbExpanderContainer .expander { 73 | width: 25%; 74 | position: absolute; 75 | left: 0; 76 | right: 0; 77 | bottom: 0; 78 | margin: 0 auto; 79 | opacity: 0.75; 80 | visibility: hidden; 81 | } 82 | .paper.isExpanded .expander { transform: rotate(180deg); } 83 | 84 | .paper.fullOpenAccess .thumbExpander .thumb { 85 | opacity: 1; 86 | } 87 | .paper p, .paper h4 { 88 | margin-bottom: 0.1em; 89 | color: hsla(0,0%,0%,0.75); 90 | } 91 | .paper .title { 92 | font-size: inherit; 93 | line-height: inherit; 94 | font-weight: 400; 95 | margin-top: -0.2em; 96 | } 97 | .paper.fullOpenAccess .title { font-weight: bold; } 98 | .paper .time { font-family: Consolas, monaco, monospace; white-space: pre; } 99 | .paper .expandInfo { margin-left: calc(16.666666% - 20px); } 100 | .paper .expandInfo .mobileThumb { display: none; } 101 | .paper .expandInfo .abstract { margin-top: .5em; } 102 | .paper .expandInfo .videoWrapper.empty { display: none; } 103 | .paper .expandInfo .videoWrapper { 104 | position: relative; 105 | padding-bottom: 56.25%; /* 16:9 */ 106 | margin-top: 1.5em; 107 | height: 0; 108 | } 109 | .paper .expandInfo .videoWrapper iframe { 110 | position: absolute; 111 | top: 0; 112 | left: 0; 113 | width: 100%; 114 | height: 100%; 115 | } 116 | .paper .expandInfo pre { 117 | background-color: hsla(0,0%,0%,0.05); 118 | border: 1px solid hsla(0,0%,0%,0.15); 119 | margin-top: 1em; 120 | white-space: pre-wrap; 121 | word-break: normal; 122 | } 123 | 124 | /* hide extras when not fullOpenAccess */ 125 | .paper:not(.fullOpenAccess) .expandInfo .videoWrapper { display: none; } 126 | .paper:not(.fullOpenAccess) .expandInfo .projectPage { display: none; } 127 | .paper:not(.fullOpenAccess) .expandInfo pre { display: none; } 128 | .paper.fullOpenAccess .expandInfo .notReliable { display: none; } 129 | .paper .expandInfo .notReliable { 130 | margin-top: 0.5em; 131 | opacity: 0.5; 132 | } 133 | 134 | .paper .links { margin-top: -.2em; padding-right: 0; margin-bottom: -2em; } 135 | .paper .links .expander { display: none; } 136 | .paper .link[href=""] { 137 | pointer-events: none; 138 | cursor: default; 139 | opacity: 0.1; 140 | } 141 | .paper .link { 142 | clear: both; 143 | display: block; 144 | opacity: 0.75; 145 | } 146 | .paper .link img { 147 | display: inline-block; 148 | vertical-align: middle; 149 | margin-right: .35em; 150 | width: 1em; 151 | height: 1em; 152 | } 153 | .paper .link span { 154 | vertical-align: text-top; 155 | display: inline-block; 156 | } 157 | .paper .link.OADomain { font-weight: 500; } 158 | 159 | /* explanation or demo */ 160 | .paper .link.projectPage { margin-top: 0.6em; } 161 | .paper .link.projectPage[href=""] { display: none; } 162 | 163 | .btn { 164 | border-radius: 3px; 165 | padding: 3px 6px; 166 | margin-right: 6px; 167 | min-width: 10%; 168 | box-shadow: -1px 1px 3px rgba(0,0,0,.125); 169 | border-style: none; 170 | } 171 | .btn.active { box-shadow: inset 0 1px 3px rgba(0,0,0,.125); } 172 | .btn:focus, .btn:active:focus, .btn.active:focus { outline-style: none; } 173 | .btn[aria-pressed="false"] span:after { 174 | font-family: 'Glyphicons Halflings'; 175 | content: "\e157"; 176 | margin-left: 0.5em; 177 | font-size: 80%; 178 | } 179 | .btn[aria-pressed="true"] span:after { 180 | font-family: 'Glyphicons Halflings'; 181 | content: "\e067"; 182 | margin-left: 0.5em; 183 | font-size: 80%; 184 | } 185 | .btn[aria-pressed="false"] svg.unchecked { display: inline-block; } 186 | .btn[aria-pressed="true"] svg.checked { display: inline-block; } 187 | .btn-day:hover, .btn-day:focus:hover { 188 | color: hsla(240, 0%, 99%, 1); 189 | background-color: hsla(0, 0%, 70%, 1); 190 | } 191 | .btn-day, .btn-day:focus { 192 | color: hsla(0, 0%, 50%, 1); 193 | background-color: hsla(240, 0%, 99%, 1); 194 | } 195 | 196 | .paper.closedAccess .thumbExpander { cursor: default; } 197 | .paper.closedAccess .links, 198 | .paper.closedAccess .expander, 199 | .paper.closedAccess .time { display: none; } 200 | .paper.closedAccess .title, 201 | .paper.closedAccess .authors, 202 | .paper.closedAccess .closedAccessMessage, 203 | .paper.closedAccess .thumb { opacity: 0.5; } 204 | .closedAccessMessage { display: none; } 205 | .paper.closedAccess .closedAccessMessage { display: block; font-style: italic; } 206 | 207 | /* Mobile site */ 208 | @media (max-width: 768px) { 209 | h1 { font-size: 28px; } 210 | h2 { font-size: 26px; } 211 | .btn { width: calc(24% - 4px); margin-bottom: 6px; } 212 | .controls > div { padding-bottom: 0; } 213 | 214 | 215 | .paper { margin-bottom: 0.5em; } 216 | 217 | 218 | .paper .authors { 219 | white-space: nowrap; 220 | overflow: hidden; 221 | text-overflow: ellipsis; 222 | } 223 | .paper .authors:hover, 224 | .paper .authors:active, 225 | .paper .authors:focus { 226 | white-space: normal; 227 | overflow: auto; 228 | text-overflow: clip; 229 | } 230 | 231 | 232 | .paper .links { 233 | margin-top: 0; 234 | margin-bottom: 1em; 235 | padding-right: 1em; 236 | } 237 | .paper .links .expanderContainer { 238 | display: inline-block; 239 | width: 32%; 240 | text-align: left; 241 | } 242 | .paper .links .expander { 243 | display: inline-block; 244 | height: 2em; 245 | opacity: 0.75; 246 | } 247 | .paper .link { 248 | display: inline-block; 249 | width: 17%; 250 | text-align: right; 251 | } 252 | .paper .link img { 253 | width: 2em; 254 | height: 2em; 255 | background-size: 2em; 256 | } 257 | .paper .link span { display: none; } 258 | 259 | 260 | .paper .expandInfo { margin-left: 0; margin-bottom: 2em; } 261 | .paper .expandInfo .mobileThumb { 262 | width: 100%; 263 | display: block; 264 | margin: 1em .5em 1em 0; 265 | border: 1px solid rgba(0,0,0,.125); 266 | } 267 | .paper .expandInfo .abstract { margin-left: .25em; } 268 | .paper .expandInfo pre { display: none; } 269 | } 270 | 271 | 272 | /* Track-specific styles */ 273 | 274 | .infovis { background-color: #f0f0ff; } 275 | .vast { background-color: #f0fff0; } 276 | .scivis { background-color: #fff0f0; } 277 | .other { background-color: #fafaea; } 278 | 279 | .infovis h3 { color: hsla(240, 100%, 80%, 1); } 280 | .vast h3 { color: hsla(120, 50%, 70%, 1); } 281 | .scivis h3 { color: hsla(0, 100%, 80%, 1); } 282 | .other h3 { color: hsla(60, 75%, 45%, 1) } 283 | 284 | .infovis h3::before { content: "INFO"; } 285 | .vast h3::before { content: "VAST"; } 286 | .scivis h3::before { content: "SCI "; margin-right: .1em; } 287 | 288 | 289 | .btn-infovis:hover, .btn-infovis:focus:hover { 290 | color: hsla(240, 100%, 97%, 1); 291 | background-color: hsla(240, 100%, 80%, 1); 292 | } 293 | .btn-infovis, .btn-infovis:focus { 294 | color: hsla(240, 100%, 70%, 1); 295 | background-color: hsla(240, 100%, 97%, 1); 296 | } 297 | .btn-vast:hover, .btn-vast:focus:hover { 298 | color: hsla(120, 50%, 97%, 1); 299 | background-color: hsla(120, 50%, 60%, 1); 300 | } 301 | .btn-vast, .btn-vast:focus { 302 | color: hsla(120, 50%, 60%, 1); 303 | background-color: hsla(120, 50%, 97%, 1); 304 | } 305 | .btn-scivis:hover, .btn-scivis:focus:hover { 306 | color: hsla(0, 65%, 95%, 1); 307 | background-color: hsla(0, 100%, 80%, 1); 308 | } 309 | .btn-scivis, .btn-scivis:focus { 310 | color: hsla(0, 100%, 70%, 1); 311 | background-color: hsla(0, 65%, 95%, 1); 312 | } 313 | .btn-other:hover, .btn-other:focus:hover { 314 | color: hsla(60, 65%, 95%, 1); 315 | background-color: hsla(60, 75%, 45%, 1); 316 | } 317 | .btn-other, .btn-other:focus { 318 | color: hsla(60, 75%, 45%, 1); 319 | background-color: hsla(60, 65%, 95%, 1); 320 | } 321 | 322 | 323 | .beliv { background-color: hsla(45, 65%, 95%, 1); } 324 | .beliv h3 { color: hsla(45, 75%, 45%, 1) } 325 | .beliv h3::before { content: "BELIV"; } 326 | .btn-beliv:hover, .btn-beliv:focus:hover { 327 | color: hsla(45, 65%, 95%, 1); 328 | background-color: hsla(45, 75%, 45%, 1); 329 | } 330 | .btn-beliv, .btn-beliv:focus { 331 | color: hsla(45, 75%, 45%, 1); 332 | background-color: hsla(45, 65%, 95%, 1); 333 | } 334 | 335 | .vizsec { background-color: hsla(150, 65%, 95%, 1); } 336 | .vizsec h3 { color: hsla(150, 75%, 45%, 1) } 337 | .vizsec h3::before { content: "VIZSEC"; } 338 | .btn-vizsec:hover, .btn-vizsec:focus:hover { 339 | color: hsla(150, 65%, 95%, 1); 340 | background-color: hsla(150, 75%, 45%, 1); 341 | } 342 | .btn-vizsec, .btn-vizsec:focus { 343 | color: hsla(150, 75%, 45%, 1); 344 | background-color: hsla(150, 65%, 95%, 1); 345 | } -------------------------------------------------------------------------------- /2018/workshops.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | Workshops - Open Access VIS 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 | 33 |
34 |
35 |
36 |

37 | Open Access VIS 38 | 39 | 40 | Workshops 41 |

42 |
43 |
44 | 45 |
46 |
47 |

A collection of open access visualization research at the VIS 2018 conference. Info about the symbols and open access. To edit the data, see GitHub.

48 |

Also see Open Access VIS for 2018, 2017, and 2017 Workshops.

49 |
50 |
51 | 52 |
53 |
54 |
55 |
56 | 57 | 58 |
59 |
60 |
61 |
62 |
63 | 64 | 65 |
66 | 67 | 72 | 73 |
74 | 78 |
79 |
80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 93 | 94 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | -------------------------------------------------------------------------------- /2018/workshops2018.csv: -------------------------------------------------------------------------------- 1 | ReviewVenue,PublicationVenue,Title,Authors,AuthorPDF,Abstract,ExplanationPage,SourceMaterials,Data,Preregistered,Video,DOI,PublicationYear,ConferenceYear,ConferenceTrack,ConferenceRoom,ConferenceDay,ConferenceSession,date,ConferenceTimeStart,ConferenceTimeEnd 2 | Beliv,Beliv,Towards Designing Unbiased Replication Studies in Information Visualization,"Poorna Talkad Sukumar, Ronald Metoyer",https://osf.io/q38pg,"Experimenter bias and expectancy effects have been well studied in the social sciences and even in human-computer interaction. They refer to the nonideal study-design choices made by experimenters which can unfairly influence the outcomes of their studies. While these biases need to be considered when designing any empirical study, they can be particularly significant in the context of replication studies which can stray from the studies being replicated in only a few admissible ways. Although there are general guidelines for making valid, unbiased choices in each of the several steps in experimental design, making such choices when conducting replication studies has not been well explored. We reviewed 16 replication studies in information visualization published in four top venues between 2008 to present to characterize how the study designs of the replication studies differed from those of the studies they replicated. We present our characterization categories which include the prevalence of crowdsourcing, and the commonly-found replication types and study-design differences. We draw guidelines based on these categories towards helping researchers make meaningful and unbiased decisions when designing replication studies. Our paper presents the first steps in gaining a larger understanding of this topic and contributes to the ongoing efforts of encouraging researchers to conduct and publish more replication studies in information visualization.",,,,,,not yet submitted to crossref,2018,2018,Beliv,"Hall 1, Section C",Sunday,Mini-tutorials,21-Oct,10:00 AM,10:20 AM 3 | Beliv,Beliv,Skipping the Replication Crisis in Visualization: Threats to Study Validity and How to Address Them,"Robert Kosara, Steve Haroz",https://osf.io/f8qey,"Replications are rare in visualization research, but if they were more common, it is not unreasonable to believe that they would show a similar rate of unreproducible results as in the psychological and social sciences. While a replication crisis in visualization research would be a helpful wake-up call, examining and correcting the underlying problems in many studies is ultimately more productive. In this paper, we survey the state of replication in visualization research. We examine six threats to the validity of studies in visualization and suggest ways to address them. Finally, we describe possible models for publishing replications that satisfy the novelty criterion that can keep replications from being accepted.",,,,,,not yet submitted to crossref,2018,2018,Beliv,"Hall 1, Section C",Sunday,Mini-tutorials,21-Oct,10:20 AM,10:40 AM 4 | Beliv,Beliv,Open Practices in Visualization Research,Steve Haroz,https://osf.io/8ag3w,"Two fundamental tenants of scientific research are that it can be scrutinized and built-upon. Both require that the collected data and supporting materials be shared, so others can examine, reuse, and extend them. Assessing the accessibility of these components and the paper itself can serve as a proxy for the reliability, replicability, and applicability of a field’s research. In this paper, I describe the current state of openness in visualization research and provide suggestions for authors, reviewers, and editors to improve open practices in the field. A free copy of this paper, the collected data, and the source code are available at https://osf.io/qf9na/",,https://osf.io/qf9na/,https://osf.io/d96af/,,,not yet submitted to crossref,2018,2018,Beliv,"Hall 1, Section C",Sunday,Panel - A Roadmap For Replication in Visualization,21-Oct,11:00 AM,11:10 AM 5 | Beliv,Beliv,Requirements for Reproducibility of Research in Situational and Spatio-Temporal Visualization,"André Calero Valdez, Anne Kathrin Schaar, Julian Romeo Hildebrandt, Martina Ziefle",https://www.calerovaldez.com/pdf/beliv2018.pdf,"Research on spatio-temporal visualization is driven by the development of novel visualization and data aggregation techniques. Yet, only little research is conducted on the systematic evaluation of such visualizations. Evaluation of such technology is often conducted in real-life settings and thus lacks fundamental requirements for laboratory-based replication. Replication requires other researchers to independently conduct their own experiments to verify your results. In this position paper, we discuss the requirements for replication studies of spatio-temporal visualization systems. These requirements are often impossible to achieve for highly contextual visualizations such as spatio-temporal visualizations. We argue that reproducibility—allowing other researchers to validate your findings from your data—is a better aim for highly contextual visualiza- tions. We provide a sample workflow to ensure reproducibility for spatio-temporal visualization and discuss its implications.",,,,,,not yet submitted to crossref,2018,2018,Beliv,"Hall 1, Section C",Sunday,Panel - A Roadmap For Replication in Visualization,21-Oct,11:10 AM,11:20 AM 6 | Beliv,Beliv,Towards Characterizing Domain Experts as a User Group,"Yuet Ling Wong, Krishna Madhavan, Niklas Elmqvist",http://web.ics.purdue.edu/~wong64/Domain_Experts.pdf,"Visualization is an inherently interdisciplinary research area: visualization researchers are always visualizing other people’s data. While recent trends in the field has turned toward a more inclusive audience, particularly within the topic of “visualization for the masses”, the traditional user group for our tools have been the domain expert: people who are experts in a specific professional domain where they want to apply visualization and analytics, but who often lack high literacy, training, and motivation in visualization and visual analytics. Such domain experts want to opportunistically reap the benefits of visualization, but have no patience for long training, poor interaction or visual design, or complex displays. While domain experts are a familiar user group, surprisingly little effort has been devoted towards characterizing them for both design and evaluation purposes. To help the visualization community better understand this specific group, in this paper, we describe the characteristics of domain experts, discuss existing examples designed for them, and propose possible guidelines to facilitate the design process. We believe this discussion will help visualization researchers better understand this group and uncover more research opportunities",,,,,,not yet submitted to crossref,2018,2018,Beliv,"Hall 1, Section C",Sunday,Papers and Breakout Groups 1,21-Oct,2:20 PM,2:25 PM 7 | Beliv,Beliv,A Micro-Phenomenological Lens for Evaluating Narrative Visualization,"Stanislaw Nowak, Lyn Bartram, Thecla Schiphorst",https://osf.io/xht7y/,"Narrative visualizations engage audience in data stories, evoking emotions by using narrative patterns, rhetoric, visual design, and content among other strategies. How these elements combine to influence user experiences is complex and difficult to measure using empirical methods. This is partly due to the fact that narrative visualizations influence audiences affectively and implicitly [1]–[3]. Evaluations of narrative visualizations that aim to better understand these mechanisms should capture this rich complexity by focusing on gathering descriptions of lived experience. Micro-phenomenology, a rigorous set of methods developed for soliciting descriptions of experiences, has empirically been shown to improve recollection of otherwise implicit aspects of experience [4]. Building on work using micro-phenomenological interviews to evaluate static visualizations [5], we apply these methods to interactive narrative visualizations. We conducted a small study to explore the potential of these methods in this context. Our findings reveal how narrative patterns and designs influence affective states, how they support various forms of exploratory analysis, and how they can facilitate or hinder non-analytical reflection such as the imagining of stories described within visualizations. These types of insights can inform future designs and help researchers understand how techniques employed in narrative visualizations influence users in specific and often implicit ways.",,,,,,not yet submitted to crossref,2018,2018,Beliv,"Hall 1, Section C",Sunday,Papers and Breakout Groups 1,21-Oct,2:25 PM,2:30 PM 8 | Beliv,Beliv,From Taxonomy to Requirements: A Task Space Partitioning Approach,"Mai Elshehaly, Natasha Alvarado, Lynn McVey, Rebecca Randell, Mamas Mamas, Roy Ruddle",http://www.vaqua.org/mai/papers/BELIV_2018_camera_ready.pdf,"We present a taxonomy-driven approach to requirements specification in a large-scale project setting, drawing on our work to develop visualization dashboards for improving the quality of healthcare. Our aim is to overcome some of the limitations of the qualitative methods that are typically used for requirements analysis. When applied alone, methods like interviews fall short in identifying the full set of functionalities that a visualization system should support. We present a five-stage pipeline to structure user task elicitation and analysis around well-established taxonomic dimensions, and make the following contributions: (i) criteria for selecting dimensions from the large body of task taxonomies in the literature, (ii) use of three particular dimensions (granularity, type cardinality and target) to create materials for a requirements analysis workshop with domain experts, (iii) a method for characterizing the task space that was produced by the experts in the workshop, (iv) a decision tree that partitions that space and maps it to visualization design alternatives, and (v) validating our approach by testing the decision tree against new tasks that were collected through interviews with further domain experts.",,,,,,not yet submitted to crossref,2018,2018,Beliv,"Hall 1, Section C",Sunday,Papers and Breakout Groups 1,21-Oct,2:30 PM,2:35 PM 9 | Beliv,Beliv,How to evaluate an evaluation study? Comparing and contrasting practices in vis with those of other disciplines,"Anamaria Crisan, Madison Elliott",https://amcrisan.github.io/assets/files/papers/beliv-2018.pdf,"Evaluative practices within vis research are not routinely compared to those of psychology, sociology, or ther areas of empirical study, leaving vis vulnerable to the replicability crisis that has embroiled scientific research more generally. In this position paper, we compare contemporary vis evaluative practices against those in those other disciplines, and make concrete recommendations as to how vis evaluative practice can be improved through the use of quantitative, qualitative, and mixed research methods. We summarize our discussion and recommendations as a checklist, that we intend to be used a resource for vis researchers conducting evaluative studies, and for reviewers evaluating the merits of such studies.",,,,,,not yet submitted to crossref,2018,2018,Beliv,"Hall 1, Section C",Sunday,Papers and Breakout Groups 1,21-Oct,2:35 PM,2:40 PM 10 | Beliv,Beliv,The Garden of Forking Paths in Visualization: A Design Space for Reliable Exploratory Visual Analytics,"Xiaoying Pu, Matthew Kay",https://osf.io/4jbh2/,"Tukey emphasized decades ago that taking exploratory findings as confirmatory is “destructively foolish”. We reframe recent conversations about the reliability of results from exploratory visual analytics—such as the multiple comparisons problem—in terms of Gelman and Loken’s garden of forking paths to lay out a design space for addressing the forking paths problem in visual analytics. This design space encompasses existing approaches to address the forking paths problem (multiple comparison correction) as well as solutions that have not been applied to exploratory visual analytics (regularization). We also discuss how perceptual bias correction techniques may be used to correct biases induced in analysts’ understanding of their data due to the forking paths problem, and outline how this problem can be cast as a threat to validity within Munzner’s Nested Model of visualization design. Finally, we suggest paper review guidelines to encourage reviewers to consider the forking paths problem when evaluating future designs of visual analytics tools.",,,,,,not yet submitted to crossref,2018,2018,Beliv,"Hall 1, Section C",Sunday,Papers and Breakout Groups 1,21-Oct,2:40 PM,2:45 PM 11 | Beliv,Beliv,Lowering the Barrier for Successful Replication and Evaluation,"Hendrik Lücke-Tieke, Marcel Beuth, Philipp Schader, Thorsten May, Jürgen Bernard, Jörn Kohlhammer",http://publica.fraunhofer.de/eprints/urn_nbn_de_0011-n-5152858.pdf,"Evaluation of a visualization technique is complex and time-consuming. We present a system that aims at easing design, creation and execution of controlled experiments for visualizations in the web. We include of parameterizable visualization generation services, thus separating the visualization implementation from study design and execution. This enables experimenters to design and run multiple experiments on the same visualization service in parallel, replicate experiments, and compare different visualization services quickly. The system supports the range from simple questionnaires to visualization-specific interaction techniques as well as automated task generation based on dynamic sampling of parameter spaces. We feature two examples to demonstrate our service-based approach. One example demonstrates how a suite of successive experiments can be conducted, while the other example includes an extended replication study.",,,,,,not yet submitted to crossref,2018,2018,Beliv,"Hall 1, Section C",Sunday,Papers and Breakout Groups 2,21-Oct,4:20 PM,4:25 PM 12 | Beliv,Beliv,A case for cognitive models in visualization research,Lace M. K. Padilla,http://lacepadilla.com/Downloads/publications/Padilla_2018_Preprint.pdf,"The visualization community has seen a rise in the adoption of user studies. Empirical user studies systematically test the assumptions that we make about how visualizations can help or hinder viewers’ performance of tasks. Although the increase in user studies is encouraging, it is vital that research on human reasoning with visualizations be grounded in an understanding of how the mind functions. Previously, there were no sufficient models that illustrate the process of decision-making with visualizations. However, Padilla et al. [41] recently proposed an integrative model for decision-making with visualizations, which expands on modern theories of visualization cognition and decision-making. In this paper, we provide insights into how cognitive models can accelerate innovation, improve validity, and facilitate replication efforts, which have yet to be thoroughly discussed in the visualization community. To do this, we offer a compact overview of the cognitive science of decision-making with visualizations for the visualization community, using the Padilla et al. [41] cognitive model as a guiding framework. By detailing examples of visualization research that illustrate each component of the model, this paper offers novel insights into how visualization researchers can utilize a cognitive framework to guide their user studies. We provide practical examples of each component of the model from empirical studies of visualizations, along with visualization implications of each cognitive process, which have not been directly addressed in prior work. Finally, this work offers a case study in utilizing an understanding of human cognition to generate a novel solution to a visualization reasoning bias in the context of hurricane forecast track visualizations.",,,,,,not yet submitted to crossref,2018,2018,Beliv,"Hall 1, Section C",Sunday,Papers and Breakout Groups 2,21-Oct,4:25 PM,4:30 PM 13 | Beliv,Beliv,Heuristic Evaluation in Visualization: an empirical study - Position paper,"Beatriz Sousa Santos, Samuel Silva, Paulo Dias",http://sweet.ua.pt/bss/papers/HE-empirical%20study-BELIV18_2.pdf,"Heuristic evaluation is a usability inspection method that has been adapted to evaluate visualization applications through the development of specific sets of heuristics. This paper presents an empirical study meant to assess the capacity of the method to anticipate the usability issues noticed by users when using a visualization application. The potential usability problems identified by 20 evaluators were compared with the issues found for the same application by 46 users through a usability test, as well as with the fixes recommended by the experimenters observing those users during the test. Results suggest that using some heuristics may have elicited potential problems that none of the users noticed while using the application; on the other hand, users encountered unpredicted usability issues.",,,,,,not yet submitted to crossref,2018,2018,Beliv,"Hall 1, Section C",Sunday,Papers and Breakout Groups 2,21-Oct,4:30 PM,4:35 PM 14 | Beliv,Beliv,Reflecting on the Evaluation of Visualization Authoring Systems,"Donghao Ren, Bongshin Lee, Matthew Brehmer, Nathalie Henry Riche",https://www.microsoft.com/en-us/research/uploads/prod/2018/08/AuthoringToolsEval-BELIV2018.pdf,"In this paper, we discuss the challenges one faces when evaluating authoring systems developed to help people design visualization for communication purposes. We reflect on our own experiences in evaluating the visualization authoring systems that we have developed as well as the evaluation methods used in other recent projects. We also examine alternative approaches for evaluating visualization authoring systems that we believe to be more appropriate than traditional comparative studies. We hope that our discussion is informative, not only for researchers who intend to develop novel visualization authoring systems, but also for reviewers assigned to evaluate the research contributions of these systems. Our discussion concludes with opportunities for facilitating the evaluation and adoption of deployed visualization authoring systems.",,,,,,not yet submitted to crossref,2018,2018,Beliv,"Hall 1, Section C",Sunday,Papers and Breakout Groups 2,21-Oct,4:35 PM,4:40 PM 15 | VizSec,VizSec,Visual-Interactive Identification of Anamolous IP-Block Behavior Using Geo-IP Data,"Alex Ulmer, Marija Schufrin, David Sessler, Jörn Kohlhammer",https://www.crisp-da.de/fileadmin/News___Veranstaltungen/PDF_fuer_news_events/Visual-interactive_Identification_of_anomalous_IP-Block_behavior_using_G....pdf?_=1540985649,"Routing of network packets from one computer to another is the backbone of the internet and impacts the everyday life of many people. Although, this is a fully automated process it has many security issues. IP hijacks and misconfigurations occur very often and are difficult to detect. In the past visual analytics approaches aimed at detecting these phenomenons but only a few of these integrated geographical references. Geo-IP data is being used mostly as a lookup table which is an undervaluation of its capabilities. In this paper we present a visual-interactive system which only relies on Geo-IP data to create more awareness for this data source. We show that looking at Geo-IP data over time in combination with owner and location information of IP blocks already reveals suspicious cases. Together with our design study we also contribute a pre-processing algorithm for the Maxmind GeoIP2 City and ISP databases, to motivate the community to integrate this data source in future approaches.",http://crisp.igd.fraunhofer.de/,,,,,,2018,2018,VizSec,"Hall 1, Section C",Monday,Networks and Privacy,22-Oct,11:00 AM,11:25 AM 16 | VizSec,VizSec,Looking for a Black Cat in a Dark Room: Security Visualization for Cyber-Physical System Design and Analysis,"Georgios Bakirtzis, Brandon James Simon, Cody H Fleming, Carl R. Elks",https://arxiv.org/pdf/1808.08081.pdf,"Today, there is a plethora of software security tools employing visualizations that enable the creation of useful and effective interactive security analyst dashboards. Such dashboards can assist the analyst to understand the data at hand and, consequently, to conceive more targeted preemption and mitigation security strategies. Despite the recent advances, model-based security analysis is lacking tools that employ effective dashboards—to manage potential attack vectors, system components, and requirements. This problem is further exacerbated because model-based security analysis produces significantly larger result spaces than security analysis applied to realized systems—where platform specific information, software versions, and system element dependencies are known. Therefore, there is a need to manage the analysis complexity in model-based security through better visualization techniques. Towards that goal, we propose an interactive security analysis dashboard that provides different views largely centered around the system, its requirements, and its associated attack vector space. This tool makes it possible to start analysis earlier in the system lifecycle. We apply this tool in a significant area of engineering design—the design of cyber-physical systems—where security violations can lead to safety hazards.",,https://github.com/bakirtzisg/security-analyst-dashboard,,,,,2018,2018,VizSec,"Hall 1, Section C",Monday,Networks and Privacy,22-Oct,11:25 AM,11:50 AM 17 | VizSec,VizSec,Visual Analytics for Root DNS Data,"Eric Krokos, Alexander R Rowden, Kirsten Whitley, Amitabh Varshney",https://obj.umiacs.umd.edu/dns/Visual_Analytics_For_Root_DNS_Data.pdf,"The analysis of vast amounts of network data for monitoring and safeguarding a core pillar of the internet, the root DNS, is an enormous challenge. Understanding the distribution of the queries received by the root DNS, and how those queries change over time, in an intuitive manner is sought. Traditional query analysis is performed packet by packet, lacking global, temporal, and visual coherence, obscuring latent trends and clusters. Our approach leverages the pattern recognition and computational power of deep learning with 2D and 3D rendering techniques for quick and easy interpretation and interaction with vast amount of root DNS network trafc. Working with real-world DNS experts, our visualization reveals several surprising latent clusters of queries, potentially malicious and benign, discovers previously unknown characteristics of a real-world root DNS DDOS attack, and uncovers unforeseen changes in the distribution of queries received over time. These discoveries will provide DNS analysts with a deeper understanding of the nature of the DNS trafc under their charge, which will help them safeguard the root DNS against future attack.",,,,,,,2018,2018,VizSec,"Hall 1, Section C",Monday,Networks and Privacy,22-Oct,11:50 AM,12:15 PM 18 | VizSec,VizSec,An Empirical Study on Perceptually Masking Privacy in Graph Visualizations,"Jia-Kai Chou, Chris Bryan, Jing Li, Kwan-Liu Ma",,,,,,,,,2018,2018,VizSec,"Hall 1, Section C",Monday,Networks and Privacy,22-Oct,12:15 PM,12:40 PM 19 | VizSec,VizSec,"Building a Machine Learning Model for the SOC, by the Input from the SOC, and Analyzing it for the SOC","Awalin Sopan, Matthew Berninger, Murali Kiran Mulakaluri, Raj Katakam",https://osf.io/agsvz/,"This work demonstrates an ongoing effort to employ and explain machine learning model predictions for classifying alerts in Security Operations Centers (SOC). Our ultimate goal is to reduce analyst workload by automating the process of decision making for investigating alerts using the machine learning model in cases where we can completely trust the model. This way, SOC analysts will be able to focus their time and effort to investigate more complex cases of security alerts. To achieve this goal, we developed a system that shows the prediction for an alert and the prediction explanation to security analysts during their daily workflow of investigating individual security alerts. Another part of our system presents the aggregated model analytics to the managers and stakeholders to help them understand the model and decide,on when to trust the model and let the model make the final decision. Using our prediction explanation visualization, security analysts will be able to classify oncoming alerts more efficiently and gain insight into how a machine learning model generates predictions. Our model performance analysis dashboard helps decision makers analyze the model in signature level granularity and gain more insights about the model.",,,,,,,2018,2018,VizSec,"Hall 1, Section C",Monday,Analytics,22-Oct,2:20 PM,2:45 PM 20 | VizSec,VizSec,Visualizing Automatically Detected Periodic Network Activity,"Robert Gove, Lauren Deason",https://osf.io/xpwfe,"Malware frequently leaves periodic signals in network logs, but these signals are easily drowned out by non-malicious periodic network activity, such as software updates and other polling activity. This paper describes a novel algorithm based on Discrete Fourier Transforms capable of detecting multiple distinct period lengths in a given timeseries. We pair the output of this algorithm with aggregation summary tables that give users information scent about which detections are worth investigating based on the metadata of the log events rather than the periodic signal. A visualization of selected detections enables users to see all detected period lengths per entity, and compare detections between entities to check for coordinated activity. We evaluate our approach on real-world netflow and DNS data from a large organization, demonstrating how to successfully find malicious periodic activity in a large pool of noise and non-malicious periodic activity.",,,,,youtube Oisi6PlepTA,,2018,2018,VizSec,"Hall 1, Section C",Monday,Analytics,22-Oct,2:45 PM,3:10 PM 21 | VizSec,VizSec,Crush your data with ViC^2ES then CHISSL away,"Dustin L Arendt, Lyndsey Franklin, Fumeng Yang, Brooke Brisbois, Ryan LaMothe",,,,,,,,,2018,2018,VizSec,"Hall 1, Section C",Monday,Analytics,22-Oct,3:10 PM,3:35 PM 22 | VizSec,VizSec,ROPMate: Visually Assisting the Creation of ROP-based Exploits,"Marco Angelini, Graziano Blasilli, Pietro Borrello Borrello, Emilio Coppa, Daniele Cono D'Elia, Serena Ferracci, Simone Lenti, Giuseppe Santucci",,,,,,,youtube uR6skHG9KI8,,2018,2018,VizSec,"Hall 1, Section C",Monday,Malware Analysis,22-Oct,4:20 PM,4:45 PM 23 | VizSec,VizSec,Eventpad: Rapid Malware Analysis and Reverse Engineering using Visual Analytics,"Bram Cappers, Paulus N. Meessen, Sandro Etalle, Jarke van Wijk",,,http://www.event-pad.com/,,,,youtube g4brXOtPELI,,2018,2018,VizSec,"Hall 1, Section C",Monday,Malware Analysis,22-Oct,4:45 PM,5:10 PM 24 | VizSec,VizSec,User Behavior Map: Visual Exploration for Cyber Security Session Dat,"Siming Chen, Shuai Chen, Natalia Andrienko, Gennady Andrienko, Phong H. Nguyen, Cagatay Turkay, Olivier Thonnard, Xiaoru Yuan",http://vis.pku.edu.cn/people/simingchen/docs/vizsec18_behaviormap.pdf,"User behavior analysis is complex and especially crucial in the cyber security domain. Understanding dynamic and multi-variate user behavior are challenging. Traditional sequential and timeline based method cannot easily address the complexity of temporal and relational features of user behaviors. We propose a map-based visual metaphor and create an interactive map for encoding user behaviors. It enables analysts to explore and identify user behavior patterns and helps them to understand why some behaviors are regarded as anomalous. We experiment with a real dataset containing multiple user sessions, consisting of sequences of diverse types of actions. In the behavior map, we encode an action as a city and user sessions as trajectories going through the cities. The position of the cities is determined by the sequential and temporal relationship of actions. Spatial and temporal patterns on the map reflect behavior patterns in the action space. In the case study, we illustrate how we explore relationships between actions, identify patterns of the typical session and detect anomaly behaviors.",,,,,,,2018,2018,VizSec,"Hall 1, Section C",Monday,Short Papers,22-Oct,5:10 PM,5:30 PM 25 | VizSec,VizSec,TAPESTRY: Visualizing Interwoven Identities for Trust Provenance,"Yifan Yang, John Collomosse, Arthi Kanchana Manohar, Jo Briggs, Jamie Steane",http://nrl.northumbria.ac.uk/35602/1/Yang%20et%20al%20-%20TAPESTRY%20AAM.pdf,"In this paper we report our study involving an early prototype of TAPESTRY, a service to support people and businesses to connect safely online through the use of a Machine Learning generated visualization. Establishing the veracity of the person or business behind a pseudonomized identity, online, is a challenge for many people. In the burgeoning digital economy, finding ways to support good decision-making in potentially risky online exchanges is of vital importance. In this paper, we propose a Machine Learning method to extract temporal patterns from data on individuals’ behavioral norms in their online activity. This monitors and communicates the coherence of these activities to others, especially those who are about to disclose personal information to the individual, in a visualization. We report findings from a user trial that examined how people accessed and interpreted the TAPESTRY visualization to inform their decisions on who to back in a mock crowdfunding campaign to evaluate its efficacy. The study proved the protocol of the Machine Learning method and qualitative insights are informing iterations of the visualization design to enhance user experience and support understanding.",,,,,,,2018,2018,VizSec,"Hall 1, Section C",Monday,Short Papers,22-Oct,5:30 PM,5:50 PM -------------------------------------------------------------------------------- /about.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | About - Open Access VIS 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 43 | 44 | 45 | 46 | 50 | 51 | 52 | 53 |
54 |
55 |
56 |

Open Access VIS

57 |

A collection of open access visualization research at the VIS conference.

58 |

Created and maintained by Steve Haroz. Help with data entry was provided by Andrew McNutt and James Scott-Brown.

59 | 60 |

Goals of this site

61 |
    62 |
  1. Encourage authors to post papers, data, and materials.
  2. 63 |
  3. Encourage posting on reliable open access repositories to avoid "link rot".
  4. 64 |
  5. Collect openly accessible papers, data, and other materials from VIS before the conference.
  6. 65 |
  7. Get an overview of how many VIS papers are reliably inaccessible outside of a pay wall.
  8. 66 |
67 | 68 |

Badges

69 |
70 |

A timestamped and immutable research plan describing research questions, independent variables, dependent variabes, and covariates. Full criteria.

71 |

A preregistration may not be available.

72 |
73 |
74 |

The materials or source code needed to replicate the data collection are available on a reliable open access repository. Full criteria.

75 |

The materials or source code needed to replicate the data collection are available from some other source.

76 |

The materials or source code needed to replicate the data collection may not be available.

77 |
78 |
79 |

Raw data measured by the authors to support the conclusions of an empirical study are available on a reliable open access repository. Full criteria.

80 |

Raw data measured by the authors to support the conclusions of an empirical study are available from some other source.

81 |

Raw data may not be available.

82 |
83 |
84 |

The materials or source code needed to reproduce analyses and computations are available on a reliable open access repository. Full criteria.

85 |

The materials or source code needed to reproduce analyses and computations are available from some other source.

86 |

The materials or source code needed to reproduce analyses and computations may not be available.

87 |
88 | 89 |

How do I make my work open access?

90 |

I suggest using the Open Science Foundation (OSF) to post your work.

91 |

Sign up. Create a new project. And upload your paper, data, and materials. It takes under 5 minutes.

92 |

You can also connect your OSF project to a GitHub repository to avoid keeping track of multiple repositories.

93 |

Feel free to use any accessible, persistent, and immutable repository.

94 |

Once you're done, make a GitHub issue with the URLs for your work.

95 | 96 |

What counts as a reliable open access repository?

97 |

A reliable open access repository should (1) be freely accessible, (2) provide a persistent identifier, (3) have immutable versioining, and (4) have a long-term sustainability plan (see this example).

98 |

Personal websites, institutional websites, and commercial websites such as github do not meet these criteria.

99 |

The following domains are currently counted: osf.io, arxiv.org, biorxiv.org, psyarxiv.org, hal.*.fr, eprints.whiterose.ac.uk, ora.ox.ac.uk, kops.uni-konstanz.de, and figshare.com. Please file an issue to add others.

100 |

The Open Science Foundation (OSF) is suggested because it is general purpose and can store documents, materials, and data together. However, other open access repositories or institutional repositories are equally valid.

101 | 102 |

Where are the videos?

103 |

Expanding the thumbnail will show the paper's video, but only for papers shared on a reliable open access server. If the author has time to make a video, they can spare a few minutes to post the paper on osf.io, arxiv.org, or a similar reliable open repository.

104 | 105 |

I see missing info, incorrect info, or a bug. How can I fix it?

106 |

Help filling in missing or incorrect info is greatly appreciated. Please file an issue on GitHub.

107 |

Thumbnails are kept separately for now. Information for adding or improving thumbnails is also on GitHub.

108 |

Because accessibility is important, the paper should be viewable in the browser. URLs that require people to download a PDF or fill out a form will not be accepted.

109 | 110 |

Acknowledgements

111 |

This site was built with Boostrap, D3, and a fuckton of StackOverflow searches.

112 |

Some icons are from Font-Awesome-SVG-PNG (Font Awesome by Dave Gandy).

113 |

Open Access logo by PlOS via Wikipedia

114 |

Open access materials and open access data symbols by Center for Open Science. Note that the "partial credit" versions were created by me.

115 |

Closed access science icon is CC-BY by Steve Haroz

116 |

Special thanks to the D'Achouffe, whose beer made all of this possible.

117 | 118 |

Citation

119 |

If you discuss this project in an article, please cite the paper that describes it:

120 |
 
121 |     S. Haroz, "Open Practices in Visualization Research : Opinion Paper," 
122 |     IEEE Evaluation and Beyond - Methodological Approaches for Visualization (BELIV), 2018.
123 |     doi: 10.1109/BELIV.2018.8634427
124 |             
125 |
126 |
127 | 128 | 132 |
133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | -------------------------------------------------------------------------------- /images/Closed_Access_Research.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | 19 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /images/Open_Access.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos 6 | http://www.plos.org/ 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /images/blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steveharoz/open-access-vis/8433d07b461ce00a33b4727aee8797e0597f31f5/images/blank.png -------------------------------------------------------------------------------- /images/chevron-circle-down.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /images/data-o.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 13 | 14 | -------------------------------------------------------------------------------- /images/data.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | -------------------------------------------------------------------------------- /images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steveharoz/open-access-vis/8433d07b461ce00a33b4727aee8797e0597f31f5/images/favicon.ico -------------------------------------------------------------------------------- /images/file-text-o.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /images/file-text.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /images/info-o.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /images/info.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /images/materials-o.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 14 | 15 | -------------------------------------------------------------------------------- /images/materials.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /images/no_thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steveharoz/open-access-vis/8433d07b461ce00a33b4727aee8797e0597f31f5/images/no_thumbnail.png -------------------------------------------------------------------------------- /images/preregistered-o.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 13 | -------------------------------------------------------------------------------- /images/preregistered.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | -------------------------------------------------------------------------------- /images/reproducible-o.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 9 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /images/reproducible.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /images/summary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steveharoz/open-access-vis/8433d07b461ce00a33b4727aee8797e0597f31f5/images/summary.png -------------------------------------------------------------------------------- /images/summary_about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steveharoz/open-access-vis/8433d07b461ce00a33b4727aee8797e0597f31f5/images/summary_about.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | Open Access VIS 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 | 33 |
34 |
35 |
36 |

37 | Open Access VIS 38 | 39 | 40 |

41 |
42 |
43 | 44 |
45 |
46 |

A collection of open access visualization research at the VIS 2019 conference. Info about the symbols and open access.

47 |

Open Access VIS was created by Steve Haroz with helpful contributions from Andrew McNutt and James Scott-Brown.

48 |

For corrections, please file an issue.

49 |

See past years: 2018 and 2017

50 |
51 |
52 | 53 |
54 |
55 |
56 |
57 | 58 | 59 | 60 | 61 | 62 |
63 |
64 |
65 |
66 |
67 | 68 | 69 |
70 | 71 | 76 | 77 |
78 | 82 |
83 |
84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 97 | 98 | 102 | 103 | 104 | 105 | 106 | 107 | -------------------------------------------------------------------------------- /js/load.js: -------------------------------------------------------------------------------- 1 | var asdf = require("d3"); // dummy call for vscode 2 | var dataCSV, dataNested; // keep data global 3 | var thumbnails, abstracts; // set the big things last 4 | var dayNames = ["Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]; 5 | var dayAbrevs = {"Saturday morning": "Sa AM", "Saturday afternoon": "Sa PM", 6 | "Sunday morning": "Su AM", "Sunday afternoon": "Su PM", 7 | "Monday morning": "M AM", "Monday afternoon": "M PM", 8 | "Tuesday morning": "Tu AM", "Tuesday afternoon": "Tu PM", 9 | "Wednesday morning": "W AM", "Wednesday afternoon": "W PM", 10 | "Thursday morning": "Th AM", "Thursday afternoon": "Th PM", 11 | "Friday morning": "F AM", "Friday afternoon": "F PM"}; 12 | var OADomains = ["osf.io", "arxiv.org", "biorxiv.org", "psyarxiv.org", "/hal.", "/eprints.", "/openaccess.", "ora.ox.ac.uk", "kops.uni-konstanz.de", "figshare"]; 13 | var linkImages = {"PDF": "file-text", "Data Collection": "materials", "Code or Analyses": "reproducible", "Empirical Data": "data", "Preregistered": "preregistered", "Explanation or demo": "info"}; 14 | var timeParser = d3.timeParse("%I:%M %p"); 15 | var style = "col-md-12 col-lg-10 col-lg-offset-1"; 16 | var untouched = true; 17 | 18 | 19 | // load and parse the data 20 | function load() { 21 | // drop the fetchable text 22 | d3.select("#fetchable").remove(); 23 | 24 | // if on a server with php, use the optimized approach... 25 | if (typeof dataString !== "undefined") { 26 | var data = d3.csvParse(dataString); 27 | LoadCSVData(data); 28 | // if there isn't php (e.g, debugging), load the file via d3... 29 | } else { 30 | d3.csv(dataFilename, d => d, function (error, data) { 31 | if (error) 32 | throw error; 33 | LoadCSVData(data); 34 | }); 35 | } 36 | } 37 | 38 | function LoadCSVData(data) { 39 | dataCSV = data; 40 | // make some extra properties 41 | dataCSV = dataCSV.map(d => { 42 | d.PM = timeParser(d.ConferenceTimeStart).getHours() > 12; 43 | d.closedAccess = d.AuthorPDF == ""; 44 | d.simpleName = getSimpleName(d); 45 | return d; 46 | }); 47 | // nest the data 48 | dataNested = d3.nest() 49 | // day 50 | .key(d => (dayNames.indexOf(d.ConferenceDay) + (+d.PM * 0.5)) + "|" + d.ConferenceDay + " " + (d.PM ? "afternoon" : "morning")) 51 | .sortKeys((a, b) => a.split("|")[0] - b.split("|")[0]) 52 | // session 53 | .key(d => d.ConferenceSession) 54 | .sortKeys((a, b) => a.localeCompare(b)) 55 | .entries(dataCSV); 56 | dataNested = dataNested.map(d => { 57 | // sort papers within each session 58 | d.values = d.values.map(s => { 59 | s.values.sort((a, b) => timeParser(a.ConferenceTimeStart) - timeParser(b.ConferenceTimeStart)); 60 | s.startTime = s.values[0].ConferenceTimeStart; 61 | return s; 62 | }); 63 | // sort sessions 64 | d.values.sort((a, b) => timeParser(a.startTime) - timeParser(b.startTime)); 65 | return d; 66 | }); 67 | 68 | buildPage(); 69 | } 70 | 71 | // use the data to construct the page elements 72 | function buildPage() { 73 | ///// Day ///// 74 | var days = d3.select("#content_goes_here") 75 | .selectAll(".day") 76 | .data(dataNested).enter(); 77 | days = days.append("div") 78 | .classed("day", true) 79 | .classed("row", true) 80 | .attr("id", d => d.key.split("|")[1].replace(" ", "_")) 81 | .append("div") 82 | .classed(style, true); 83 | 84 | days.append("h2") 85 | .text(d => d.key.split("|")[1]); 86 | 87 | makeDayButtons(); 88 | 89 | ///// session ///// 90 | var sessions = days.selectAll(".session") 91 | .data(d => d.values).enter() 92 | .append("div") 93 | //.attr("class", d => d.values[0].ConferenceTrack.toLowerCase()) 94 | .classed("session", true); 95 | sessions.append("h3").text(d => d.values[0].ConferenceSession); 96 | 97 | ///// paper ///// 98 | var papers = sessions.selectAll(".paper") 99 | .data(s => s.values).enter() 100 | .append("div") 101 | .attr("id", d => d.simpleName) 102 | .attr("class", d => d.ReviewVenue.toLowerCase()) 103 | .classed("paper row", true) 104 | .classed("journal", d => d.ReviewVenue == "CG&A" || d.ReviewVenue == "TVCG") 105 | .classed("fullOpenAccess", d => isOpenAccessDomain(d.AuthorPDF)) 106 | .classed("closedAccess", d => d.closedAccess); 107 | 108 | ///// thumbnail ///// 109 | var left = papers.append("div") 110 | .classed("col-sm-2 hidden-xs thumbExpander", true); 111 | left.append("div").classed("conferenceTrack", true).append("span").text(d => d.ReviewVenue); 112 | left.append("img") 113 | .classed("spacer", true) 114 | .attr("src", "images/blank.png"); 115 | 116 | ///// expander button ///// 117 | var expander = left.append("div").classed("thumbExpanderContainer", true); 118 | thumbnails = expander.append("div").classed("thumbContainer", true).append("img") 119 | .classed("thumb", true) 120 | .on("error", (d,i,nodes) => d3.select(nodes[i]).attr("src", "images/no_thumbnail.png" )) 121 | .attr("src", "images/Closed_Access_Research.svg"); 122 | expander.append("img").classed("expander", true).attr("src", "images/chevron-circle-down.svg"); 123 | left.on("click", (d,i) => expandEventHandler(d)); 124 | 125 | ///// basic info ///// 126 | var mobilelabel = papers.append("div") 127 | .classed("col-xs-1 mobileReviewLabel", true) 128 | .append("span") 129 | .text(d => d.ReviewVenue); 130 | var mid = papers.append("div") 131 | .classed("col-sm-8 col-xs-11 paperMetadata", true); 132 | mid.append("h4") 133 | .classed("title", true) 134 | .append("a") 135 | .attr("href", d => d.AuthorPDF) 136 | .style("pointer-events", d => d.AuthorPDF == "" ? "none" : "all") 137 | .text(d => d.Title); 138 | mid.append("p") 139 | .classed("authors", true) 140 | .text(d => d.Authors); 141 | mid.append("p") 142 | .classed("time", true) 143 | .text(d => formatTimeRange(d.ConferenceTimeStart, d.ConferenceTimeEnd) + " " + d.ConferenceDay + " " + d.ConferenceRoom); 144 | mid.append("p") 145 | .classed("closedAccessMessage", true) 146 | .html('This paper does not appear to be available on an open persistent repository. Please encourage the authors to post their work. Before citing this paper, be aware that your readers may not be able to access it.'); 147 | 148 | ///// links ///// 149 | var right = papers.append("div") 150 | .classed("col-sm-2 col-xs-12 links", true); 151 | var mobileExpander = right.append("div").classed("expanderContainer", true) 152 | .append("img") 153 | .classed("expander", true) 154 | .attr("src", "images/chevron-circle-down.svg"); 155 | mobileExpander.on("click", (d,i) => expandEventHandler(d)); 156 | right.appendLink("preregistered", "Preregistered", d => d.Preregistered, "A prespecified study plan", "Either this paper does not include a study, \nor its studies are exploratory, \nwhich may warrant heightened skepticism."); 157 | right.appendLink("sourceMaterial", "Data Collection", d => d.DataCollectionMaterials, "Materials needed to replicate empirical data collection", "This paper either did not collect any empirical data, \nor its data collection is not available for reviewer or reader scrutiny, \nwhich may warrant heightened skepticism."); 158 | right.appendLink("data", "Empirical Data", d => d.Data, "Study or scraped data", "Either this paper did not collect any empirical data \nor its data is not available for reader or reviewer scrutiny, \nwhich may warrant heightened skepticism."); 159 | right.appendLink("computationMaterial", "Code or Analyses", d => d.ComputationalMatrials, "Materials needed to reproduce analyses and computations", "This paper either did perform any analyses or computations, \nor its code not available for reviewer or reader scrutiny, \nwhich may warrant heightened skepticism."); 160 | 161 | ///// expander content ///// 162 | var expandInfo = papers.append("div") 163 | .attr("id", d => d.simpleName + "_expandInfo") 164 | .classed("col-xs-12 col-sm-8 col-sm-offset-2 expandInfo collapse", true); 165 | var mobileThumbnails = expandInfo.append("img").classed("mobileThumb", true); 166 | abstracts = expandInfo.append("p") 167 | .classed("abstract", true); 168 | expandInfo.appendLink("projectPage", "Explanation or demo", d => d.ExplanationPage); 169 | videos = expandInfo.append("div") 170 | .classed("videoWrapper empty", true); 171 | expandInfo.append("pre") 172 | .classed("citation", true) 173 | .text(makeCitation); 174 | expandInfo.append("div") 175 | .classed("notReliable", true) 176 | .html('Videos, explanations, demos, and citation information for this paper will only be shown if the paper is posted to a reliable open access repository such as osf.io or arxiv.org. For now, the authors don\'t appear to have shared the paper reliably. For more information about reliable open access, click here.'); 177 | 178 | // load thumbnails last 179 | thumbnails.attr("src", getThumbnailPath); 180 | mobileThumbnails.attr("src", getThumbnailPath); 181 | parseURL(); 182 | } // end buildPage() 183 | 184 | 185 | 186 | // make a simple name for the paper 187 | function getSimpleName(paper, sep = "_") { 188 | var title = dropLeadingArticle(paper.Title); 189 | return title.split(/[^\w]/, 3).filter(s => s!="").slice(0,2).join("_").toLowerCase() + 190 | sep + 191 | paper.Authors.split(/[^\w]/, 1)[0].toLowerCase(); 192 | } 193 | function dropLeadingArticle (text) { 194 | if (text.startsWith("A ")) text = text.substring(2); 195 | if (text.startsWith("An ")) text = text.substring(3); 196 | if (text.startsWith("The ")) text = text.substring(4); 197 | // numerical leads are bad too 198 | if (!isNaN(parseInt(text[0]))) 199 | text = text.substring(text.indexOf(" ") + 1); 200 | return text; 201 | } 202 | 203 | // get thumbnail image 204 | function getThumbnailPath(paper) { 205 | if (paper.closedAccess) 206 | return "images/Closed_Access_Research.svg"; 207 | return thumbnailFolder + paper.simpleName + ".png"; 208 | } 209 | 210 | // is the pdf on a true open access repository 211 | function isOpenAccessDomain(href) { 212 | if (typeof(href) == "undefined") 213 | console.log(href); 214 | for (var i = 0; i < OADomains.length; i++) { 215 | if (href.includes(OADomains[i])) 216 | return true; 217 | } 218 | return false; 219 | } 220 | 221 | // time to string converter 222 | var timeFormatterShort = d3.timeFormat("%-I:%M"); 223 | var timeFormatterLong = d3.timeFormat("%-I:%M %p"); 224 | 225 | // time range to string 226 | function formatTimeRange(start, end) { 227 | start = timeParser(start); 228 | end = timeParser(end); 229 | // if both AM or both PM 230 | if ((start.getHours() >= 12) == (end.getHours() >= 12)) 231 | return timeFormatterShort(start) + "-" + timeFormatterLong(end); 232 | return timeFormatterLong(start) + "-" + timeFormatterLong(end); 233 | } 234 | 235 | // add a link and icon 236 | d3.selection.prototype.appendLink = function (css, text, href, tooltip_yes, tooltip_no) { 237 | var link = this.append("a") 238 | .classed("link " + css, true) 239 | .attr("target", "_blank") 240 | .attr("href", href) 241 | .attr("title", d => isOpenAccessDomain(href(d)) ? tooltip_yes : href(d)=="" ? tooltip_no : (tooltip_yes + "\n(Not available on an open persistent repository)")) 242 | .classed("OADomain", d => isOpenAccessDomain(href(d))); 243 | 244 | link.append("img") 245 | .attr("src", d => 246 | "images/" + 247 | linkImages[text] + 248 | (isOpenAccessDomain(href(d)) ? ".svg" : "-o.svg")); 249 | 250 | link.append("span") 251 | .text(text); 252 | }; 253 | 254 | // 255 | function makeVideoFrame(video) { 256 | if (video == "") 257 | return ""; 258 | var videoID = []; 259 | if (video.startsWith("youtube ")) { 260 | videoID = video.split(" ")[1]; 261 | return ``; 262 | } 263 | if (video.startsWith("vimeo ")) { 264 | videoID = video.split(" ")[1]; 265 | return ``; 266 | } 267 | if (video.startsWith("video ")) { 268 | videoID = video.split(" ")[1]; 269 | return ``; 270 | } 271 | return video; 272 | } 273 | 274 | // make text that can be copied for a citation 275 | function makeCitation(paper) { 276 | var IEEE = ""; 277 | var authors = paper.Authors.split(", "); 278 | authors = authors.map(convertName2Reference); 279 | IEEE = authors[0]; 280 | if (authors.length == 2) 281 | IEEE += " and " + authors[1]; 282 | if (authors.length > 2) { 283 | for (var a = 1; a < authors.length - 1; a++) 284 | IEEE += ", " + authors[a]; 285 | IEEE += ", and " + authors[authors.length - 1]; 286 | } 287 | IEEE += ". \"" + paper.Title + "\". "; 288 | IEEE += journals[paper.PublicationVenue] + ". "; 289 | IEEE += paper.PublicationYear + ". "; 290 | IEEE += paper.DOI ? "DOI:" + paper.DOI + "." : ""; 291 | 292 | var bibtex = "@Article{" + paper.simpleName + ",\n"; 293 | bibtex += " author = " + paper.Authors.split(", ").join(" and ") + ",\n"; 294 | bibtex += " title = " + paper.Title + ",\n"; 295 | bibtex += " journal = " + journals[paper.PublicationVenue] + ",\n"; 296 | bibtex += " year = " + paper.PublicationYear + ",\n"; 297 | bibtex += " url = \\url{" + paper.AuthorPDF + "},\n"; 298 | bibtex += " DOI = " + paper.DOI + "\n"; 299 | bibtex += "}"; 300 | 301 | return IEEE + "\n\n" + bibtex; 302 | } 303 | 304 | // make a reference-style initial name 305 | var particles = [" von der ", " van der ", " van den ", " van het ", " op het ", " van ", " von ", " de ", " di ", " d’ "]; // more? 306 | function convertName2Reference(name) { 307 | var shortName = ""; 308 | var particle = particles.map(p => name.includes(p) ? p : "").filter(p => p != ""); 309 | particle = particle.length == 0 ? "" : particle[0]; 310 | if (particle != "") 311 | name = name.replace(particle, " "); 312 | var tokens = name.split(" "); 313 | var lastName = tokens.pop(); 314 | var firstInitials = tokens.map(t => { 315 | if (!t.includes("-")) 316 | return t.trim()[0] + "."; 317 | return t.split("-").map(t => t[0]).join(".-") + "."; 318 | }).join(" "); 319 | return firstInitials + particle.trimRight() + " " + lastName; 320 | } 321 | 322 | // show/hide the expand region 323 | function expandEventHandler(paper) { 324 | if (untouched) { 325 | abstracts.html(d => d.Abstract); 326 | untouched = false; 327 | } 328 | if (paper.closedAccess) 329 | return; 330 | var id = '#' + paper.simpleName; 331 | 332 | // add video on expand 333 | if ( (paper.Talk || paper.Video) != "" && d3.select(id + " .videoWrapper").html() == "") { 334 | if (paper.Talk != "") { 335 | //d3.select(id + " .videoWrapper").append("p").text("Conference talk:"); 336 | d3.select(id + " .videoWrapper").classed("empty", false).classed("talk", true).append("div").html(makeVideoFrame(paper.Talk)); 337 | } 338 | else { 339 | d3.select(id + " .videoWrapper").classed("empty", false).classed("preview", true).append("div").html(makeVideoFrame(paper.Video)); 340 | } 341 | } 342 | 343 | // 344 | d3.select(id).classed("isExpanded", !d3.select(id).classed("isExpanded")); 345 | $(id + "_expandInfo").collapse('toggle'); 346 | } 347 | 348 | // make button to show/hide each day 349 | function makeDayButtons() { 350 | d3.select("#dayToggles") 351 | .selectAll("button") 352 | .data(dataNested).enter() 353 | .append("button") 354 | .attr("type", "button") 355 | .attr("id", d => "#" + d.key.split("|")[1].replace(" ", "_") + "_btn") 356 | .classed("btn active btn-day", true) 357 | .attr("data-toggle", "button") 358 | .attr("data-subset", d => "#" + d.key.split("|")[1].replace(" ", "_")) 359 | .attr("aria-pressed", "true") 360 | .attr("autocomplete", "off") 361 | .append("span").text(d => dayAbrevs[d.key.split("|")[1]]); 362 | 363 | // set up button events handlers 364 | d3.selectAll('button').on("click", function() { 365 | var subset = d3.select(this).node().dataset.subset; 366 | var isPressed = d3.select(this).attr("aria-pressed"); 367 | d3.selectAll(subset).style("display", isPressed == "false" ? "block" : "none"); 368 | }); 369 | } 370 | 371 | //function makeViewCurrent() { 372 | // d3.now() 373 | //} 374 | 375 | // just for dev 376 | function checkImageSizes() { 377 | d3.selectAll(".thumb").each(function(d) { 378 | var a = d3.select(this).node(); 379 | if (a.naturalHeight < a.naturalWidth * 0.75 && !a.src.includes("Closed_Access")) 380 | console.log(a.naturalHeight + " x " + a.naturalWidth + ": " + a.src); 381 | }); 382 | } 383 | 384 | // just for dev 385 | function checkCompleteness() { 386 | return d3.nest() 387 | .key(d => d.ReviewVenue) 388 | .rollup(rv => rv.filter(p => p.AuthorPDF!="").length / rv.length ) 389 | .entries(dataCSV); 390 | //console.log(completeness); 391 | } 392 | function justShowClosed() { 393 | d3.selectAll('.paper').style("display", "none"); 394 | d3.selectAll('.closedAccess').style("display", "block"); 395 | } 396 | function justShowOpen() { 397 | d3.selectAll('.paper').style("display", "block"); 398 | d3.selectAll('.closedAccess').style("display", "none"); 399 | } 400 | function justShowFullOpen() { 401 | d3.selectAll('.paper').style("display", "none"); 402 | d3.selectAll('.fullOpenAccess').style("display", "block"); 403 | } 404 | function parseURL() { 405 | if (new URL(window.location.href).searchParams.get("onlyclosed") == "") justShowClosed(); 406 | else if (new URL(window.location.href).searchParams.get("onlyopen") == "") justShowOpen(); 407 | else if (new URL(window.location.href).searchParams.get("onlyfullopen") == "") justShowFullOpen(); 408 | if (location.hash != "") 409 | d3.select(location.hash).node().scrollIntoView(); 410 | } 411 | 412 | // after this file is fully parsed... 413 | load(); -------------------------------------------------------------------------------- /loadfile.php: -------------------------------------------------------------------------------- 1 | var dataString = `" . $fileContent . "`; \r\n"; 4 | ?> -------------------------------------------------------------------------------- /readcsv.php: -------------------------------------------------------------------------------- 1 | '); 10 | print($value['ReviewVenue'] . ': ' . $value['Title']); 11 | if ($value['AuthorPDF'] !== "") 12 | print(' PDF. '); 13 | else 14 | print(' NOT FOUND. '); 15 | print($value['Authors']); 16 | if ($value['Preregistered'] !== "") 17 | print(' Preregistered'); 18 | if ($value['DataCollectionMaterials'] !== "") 19 | print(' Open Materials'); 20 | if ($value['Data'] !== "") 21 | print(' Open Data badge'); 22 | if ($value['ComputationalMatrials'] !== "") 23 | print(' Open Materials'); 24 | #print(''); 25 | #print_r($value); 26 | print("\n
\n"); 27 | } 28 | ?> 29 | -------------------------------------------------------------------------------- /style.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css?family=Roboto:400,500,700'); 2 | body { 3 | font-family: /*Segoe UI,*/Roboto,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif; 4 | font-weight: 400; 5 | padding-bottom: 1em; 6 | } 7 | h1 img { height: 1.25em; margin-top: -.25em; opacity: .8; } 8 | h1 svg { height: .8em; width: .8em; float: right; margin-left: .2em; margin-top: .2em; } 9 | h1 svg:hover { fill: #5C7E99; } 10 | .controls { 11 | background: #f0f0f0; 12 | padding: 6px 0 0 6px; 13 | font-size: 0; 14 | } 15 | .controls > div { padding-bottom: 6px; } 16 | .controls button img { vertical-align: top; } 17 | .footer { padding-top: 2em; } 18 | 19 | .session { 20 | margin-bottom: 0.5em; 21 | padding: 1em 1em .5em 1em; 22 | background-color: #f7f7f7; 23 | } 24 | /* .day:nth-of-type(2n+1) .session { background-color: #e7e7e7; } */ 25 | .session h3 { 26 | margin-top: 0; 27 | margin-bottom: 0.75em; 28 | color: #777; 29 | } 30 | .session h3::before { 31 | display: inline-block; 32 | font-size: 10px; 33 | margin-left: -.5em; 34 | margin-right: -.5em; 35 | transform: rotate(-90deg); 36 | transform-origin: 50% 50%; 37 | vertical-align: 40%; 38 | font-weight: bold; 39 | } 40 | 41 | 42 | .paper { 43 | margin-bottom: 1em; 44 | min-height: 7em; 45 | padding-top: 0.5em; 46 | } 47 | 48 | 49 | .paper .thumbExpander { 50 | margin-right: -20px; 51 | margin-bottom: -3em; /* to let left margin of expandInfo overlap with this */ 52 | cursor: pointer; 53 | clear: both; 54 | width: 20%; 55 | display: flex; 56 | } 57 | .paper .thumbExpander .conferenceTrack { 58 | /* background-color: hsla(60, 75%, 45%, 1); */ 59 | width: 20%; 60 | margin-bottom: 4.5px; 61 | margin-top: 1px; 62 | color: #fafaea; 63 | } 64 | .paper .thumbExpander .conferenceTrack span { 65 | width: 4em; 66 | text-transform: uppercase; 67 | transform-origin: 0% 0%; 68 | transform: rotate(-90deg) translate(-0.6em, -3.6em); 69 | transform-origin: 100% 0%; 70 | font-weight: bold; 71 | display: block; 72 | text-align: right; 73 | } 74 | .paper .mobileReviewLabel { display: none;} 75 | 76 | .paper .thumbExpander .spacer { 77 | width: 80%; 78 | } 79 | .paper .thumbExpander .thumb { 80 | padding: 1px 1px 1px 0; 81 | width: 100%; 82 | min-width: 100%; 83 | opacity: 0.67; 84 | } 85 | .paper .thumbExpander .thumbExpanderContainer { 86 | position: absolute; 87 | /* padding: inherit; */ 88 | width: 80%; 89 | top: 0; 90 | /* left: 0; */ 91 | } 92 | .paper .thumbExpander .thumbExpanderContainer .thumbContainer { 93 | background-color: rgba(0, 0, 0, 0.08); 94 | width: 80%; 95 | clear: both; 96 | margin-left: 20%; 97 | } 98 | .paper .thumbExpander:hover .thumbExpanderContainer .expander { visibility: visible; } 99 | .paper .thumbExpander:active .thumbExpanderContainer .expander { opacity: 1; } 100 | .paper .thumbExpander .thumbExpanderContainer .expander { 101 | width: 30%; 102 | position: absolute; 103 | left: 45%; 104 | bottom: 0; 105 | margin: 0 auto; 106 | opacity: 0.75; 107 | visibility: hidden; 108 | } 109 | .paper.isExpanded .expander { transform: rotate(180deg); } 110 | 111 | .paper.fullOpenAccess .thumbExpander .thumb { 112 | opacity: 1; 113 | } 114 | .paper .paperMetadata { 115 | width: 60%; 116 | } 117 | .paper p, .paper h4 { 118 | margin-bottom: 0.1em; 119 | color: hsla(0,0%,0%,0.75); 120 | } 121 | .paper .title { 122 | font-size: inherit; 123 | line-height: inherit; 124 | font-weight: 400; 125 | margin-top: -0.2em; 126 | } 127 | .paper .title a, .paper .title a:visited { 128 | color: hsla(0,0%,0%,0.75); 129 | text-decoration-color: #777; 130 | } 131 | .paper.fullOpenAccess .title { font-weight: 500; } 132 | .paper.fullOpenAccess .title a { 133 | color: black; 134 | text-decoration-color: #777; } 135 | 136 | .paper .time { font-family: Consolas, monaco, monospace; white-space: pre; } 137 | .paper .expandInfo { margin-left: calc(20% - 20px); width: 60%; } 138 | .paper .expandInfo .mobileThumb { display: none; } 139 | .paper .expandInfo .abstract { margin-top: .5em; } 140 | .paper .expandInfo .videoWrapper { margin-top: 1.5em;} 141 | .talk::before { content: "Conference Talk:"; display: block; font-family: Consolas, monaco, monospace; } 142 | .paper .expandInfo .videoWrapper.empty { display: none; } 143 | .paper .expandInfo .videoWrapper div { 144 | position: relative; 145 | padding-bottom: 56.25%; /* for 16:9, use 56.25% */ 146 | height: 0; 147 | } 148 | .paper .expandInfo .videoWrapper div iframe { 149 | position: absolute; 150 | top: 0; 151 | left: 0; 152 | width: 100%; 153 | height: 100%; 154 | } 155 | .paper .expandInfo pre { 156 | background-color: hsla(0,0%,0%,0.05); 157 | border: 1px solid hsla(0,0%,0%,0.15); 158 | margin-top: 1em; 159 | white-space: pre-wrap; 160 | word-break: normal; 161 | } 162 | 163 | /* hide extras when not fullOpenAccess */ 164 | .paper:not(.fullOpenAccess) .expandInfo .videoWrapper { display: none; } 165 | .paper:not(.fullOpenAccess) .expandInfo .projectPage { display: none; } 166 | .paper:not(.fullOpenAccess) .expandInfo pre { display: none; } 167 | .paper.fullOpenAccess .expandInfo .notReliable { display: none; } 168 | .paper .expandInfo .notReliable { 169 | margin-top: 0.5em; 170 | opacity: 0.5; 171 | } 172 | 173 | .paper .links { margin-top: -.2em; padding-right: 0; margin-bottom: -2em; min-width: 20%; } 174 | .paper .links .expander { display: none; } 175 | .paper .link[href=""] { 176 | cursor: default; 177 | opacity: 0.1; 178 | } 179 | .paper .link { 180 | clear: both; 181 | display: block; 182 | opacity: 0.75; 183 | } 184 | .paper .link img { 185 | display: inline-block; 186 | vertical-align: middle; 187 | margin-right: .35em; 188 | width: 1em; 189 | height: 1em; 190 | } 191 | .paper .link span { 192 | vertical-align: text-top; 193 | display: inline-block; 194 | } 195 | .paper .link.OADomain { font-weight: 500; } 196 | 197 | /* explanation or demo */ 198 | .paper .link.projectPage { margin-top: 0.6em; } 199 | .paper .link.projectPage[href=""] { display: none; } 200 | 201 | .btn { 202 | border-radius: 3px; 203 | padding: 3px 6px; 204 | margin-right: 6px; 205 | min-width: 10%; 206 | box-shadow: -1px 1px 3px rgba(0,0,0,.125); 207 | border-style: none; 208 | } 209 | .btn.active { box-shadow: inset 0 1px 3px rgba(0,0,0,.125); } 210 | .btn:focus, .btn:active:focus, .btn.active:focus { outline-style: none; } 211 | .btn[aria-pressed="false"] span:after { 212 | font-family: 'Glyphicons Halflings'; 213 | content: "\e157"; 214 | margin-left: 0.5em; 215 | font-size: 80%; 216 | } 217 | .btn[aria-pressed="true"] span:after { 218 | font-family: 'Glyphicons Halflings'; 219 | content: "\e067"; 220 | margin-left: 0.5em; 221 | font-size: 80%; 222 | } 223 | .btn[aria-pressed="false"] svg.unchecked { display: inline-block; } 224 | .btn[aria-pressed="true"] svg.checked { display: inline-block; } 225 | .btn-day:hover, .btn-day:focus:hover { 226 | color: hsla(240, 0%, 99%, 1); 227 | background-color: hsla(0, 0%, 70%, 1); 228 | } 229 | .btn-day, .btn-day:focus { 230 | color: hsla(0, 0%, 50%, 1); 231 | background-color: hsla(240, 0%, 99%, 1); 232 | } 233 | 234 | .paper.closedAccess .thumbExpander { cursor: default; } 235 | .paper.closedAccess .links, 236 | .paper.closedAccess .expander, 237 | .paper.closedAccess .time { display: none; } 238 | .paper.closedAccess .paperMetadata { font-size: 80%;} 239 | .paper.closedAccess .title, 240 | .paper.closedAccess .authors, 241 | .paper.closedAccess .closedAccessMessage, 242 | .paper.closedAccess .thumb { opacity: 0.5; } 243 | .closedAccessMessage { display: none; } 244 | .paper.closedAccess .closedAccessMessage { display: block; font-style: italic; } 245 | 246 | /* Mobile site */ 247 | @media (max-width: 768px) { 248 | h1 { font-size: 28px; } 249 | h2 { font-size: 26px; } 250 | .btn { width: calc(24% - 4px); margin-bottom: 6px; } 251 | .controls > div { padding-bottom: 0; } 252 | 253 | 254 | .paper { margin-bottom: 0.5em; } 255 | 256 | .paper .mobileReviewLabel { 257 | background-color: hsla(60, 75%, 45%, 1); 258 | color: #fafaea; 259 | display: block; 260 | margin-left: 15px; 261 | width: 5%; 262 | padding: 1px; 263 | text-align: center; 264 | overflow: hidden; 265 | min-height: 6em; 266 | } 267 | .paper .mobileReviewLabel span { 268 | text-align: right; 269 | width: 4em; 270 | transform: rotate(-90deg) translate(-0.6em, -4em); 271 | transform-origin: 100% 0%; 272 | display: block; 273 | } 274 | .paper .paperMetadata { width: 90%; padding-left: 10px; } 275 | .paper .authors { 276 | white-space: nowrap; 277 | overflow: hidden; 278 | text-overflow: ellipsis; 279 | } 280 | .paper .authors:hover, 281 | .paper .authors:active, 282 | .paper .authors:focus { 283 | white-space: normal; 284 | overflow: auto; 285 | text-overflow: clip; 286 | } 287 | .paper .time { text-overflow: hidden;} 288 | 289 | 290 | .paper .links { 291 | margin-top: 0; 292 | margin-bottom: 1em; 293 | padding-right: 1em; 294 | } 295 | .paper .links .expanderContainer { 296 | display: inline-block; 297 | width: 32%; 298 | text-align: left; 299 | } 300 | .paper .links .expander { 301 | display: inline-block; 302 | height: 2em; 303 | opacity: 0.75; 304 | } 305 | .paper .link { 306 | display: inline-block; 307 | width: 17%; 308 | text-align: right; 309 | } 310 | .paper .link img { 311 | width: 2em; 312 | height: 2em; 313 | background-size: 2em; 314 | } 315 | .paper .link span { display: none; } 316 | 317 | 318 | .paper .expandInfo { margin-left: 0; margin-bottom: 2em; width: 100%; } 319 | .paper .expandInfo .mobileThumb { 320 | width: 100%; 321 | display: block; 322 | margin: 1em .5em 1em 0; 323 | border: 1px solid rgba(0,0,0,.125); 324 | } 325 | .paper .expandInfo .abstract { margin-left: .25em; } 326 | .paper .expandInfo pre { display: none; } 327 | } 328 | 329 | 330 | /* Track-specific styles */ 331 | .infovis, .btn-infovis { --hue: 240; --sat: 100%; --lum: 80%; } 332 | .vast, .btn-vast { --hue: 120; --sat: 50%; --lum: 70%; } 333 | .scivis, .btn-scivis { --hue: 0; --sat: 100%; --lum: 80%; } 334 | .short, .btn-short { --hue: 280; --sat: 50%; --lum: 70%; } 335 | .journal, .btn-other { --hue: 60; --sat: 75%; --lum: 45%; } 336 | .paper.closedAccess { --sat: 0%; --lum: 80%; } 337 | /* .btn-day { --hue: 0; --sat: 0%; --lum: 70%; } */ 338 | 339 | 340 | .paper .thumbExpander .conferenceTrack, .paper .mobileReviewLabel { background-color: hsla(var(--hue), var(--sat), var(--lum), 1); } 341 | 342 | .infovis .conferenceTrack, .infovis .mobileReviewLabel { color: #f0f0ff; } 343 | .vast .conferenceTrack, .vast .mobileReviewLabel { color: #f0fff0; } 344 | .scivis .conferenceTrack, .scivis .mobileReviewLabel { color: #fff0f0; } 345 | .short .conferenceTrack, .short .mobileReviewLabel { color: #f7e7f7; } 346 | 347 | /* .infovis h3::before { content: "INFO"; } 348 | .vast h3::before { content: "VAST"; } 349 | .scivis h3::before { content: "SCI "; margin-right: .1em; } */ 350 | 351 | 352 | .btn-track:hover, .btn-track:focus:hover { 353 | color: hsla(var(--hue), 100%, 97%, 1); 354 | background-color: hsla(var(--hue), var(--sat), var(--lum), 1); 355 | } 356 | .btn-track, .btn-track:focus { 357 | color: hsla(var(--hue), var(--sat), var(--lum), 1); 358 | background-color: hsla(var(--hue), 100%, 97%, 1); 359 | } 360 | 361 | 362 | 363 | .beliv { background-color: hsla(45, 65%, 95%, 1); } 364 | .beliv h3 { color: hsla(45, 75%, 45%, 1) } 365 | .beliv h3::before { content: "BELIV"; } 366 | .btn-beliv:hover, .btn-beliv:focus:hover { 367 | color: hsla(45, 65%, 95%, 1); 368 | background-color: hsla(45, 75%, 45%, 1); 369 | } 370 | .btn-beliv, .btn-beliv:focus { 371 | color: hsla(45, 75%, 45%, 1); 372 | background-color: hsla(45, 65%, 95%, 1); 373 | } 374 | 375 | .vizsec { background-color: hsla(150, 65%, 95%, 1); } 376 | .vizsec h3 { color: hsla(150, 75%, 45%, 1) } 377 | .vizsec h3::before { content: "VIZSEC"; } 378 | .btn-vizsec:hover, .btn-vizsec:focus:hover { 379 | color: hsla(150, 65%, 95%, 1); 380 | background-color: hsla(150, 75%, 45%, 1); 381 | } 382 | .btn-vizsec, .btn-vizsec:focus { 383 | color: hsla(150, 75%, 45%, 1); 384 | background-color: hsla(150, 65%, 95%, 1); 385 | } -------------------------------------------------------------------------------- /workshops.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | Workshops - Open Access VIS 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 | 33 |
34 |
35 |
36 |

37 | Open Access VIS 38 | 39 | 40 | Workshops 41 |

42 |
43 |
44 | 45 |
46 |
47 |

A collection of open access visualization research at the VIS 2018 conference. Info about the symbols and open access. To edit the data, see GitHub.

48 |

Also see Open Access VIS for 2018, 2017, and 2017 Workshops.

49 |
50 |
51 | 52 |
53 |
54 |
55 |
56 | 57 | 58 |
59 |
60 |
61 |
62 |
63 | 64 | 65 |
66 | 67 | 72 | 73 |
74 | 78 |
79 |
80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 93 | 94 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | --------------------------------------------------------------------------------