Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Grasswire – an Internet newsroom curated and fact-checked by everyone (grasswire.com)
115 points by austenallred on June 27, 2014 | hide | past | favorite | 98 comments



Like the idea, a lot, but I'm missing text. Maybe a small header text telling the core news of the item (and with more text than a typical tweet). And also articles instead of just videos? Or maybe the whole point is not having it?

Personal preference of course, but for instance after clicking Russia-Ukraine conflict it doesn't tell me in a quick glance what the story is, at the left there is a bunch of meaningless pictures from people I don't (or hardly) know, at the right some tweets in what seems at least 3 different font sizes, with the green imo making it harder to read,and then followed by a whole lot of videad with no title. Overall, an overload of colours and images. For me at least.


Jay Rosen's idea of "explainer" [1], implemented for instance by Vox's cardstacks, might help here.

[1] http://pressthink.org/2014/01/keep-me-informed-parsing-the-l...


Exactly my though as well, a 'quick catch up' for each topic would be very useful.


This is the number one response we're seeing, and it makes sense; we (the founders) follow this stuff all day every day, but it's really difficult to catch up, even though all that would be required is a couple of sentences. Trying to figure out the best way to do that without taking over editorially now.


Maybe a blurb from a source that is also curated and fact checked.


Great feedback. Thank you!


You can replace "Upvote" with two buttons: "Like" and "Confirm". Because people will tend to upvote things even if they are not sure wherther the fact is true or not, simply because they like that fact.

There are way too many low quality (twitter?) messages. Personally, I would not spend any of my time refuting and upvoting them. People have only 24 hour in a day, you need to provide better links, so people not only filter the data, but find new interesting stuff.


Could you build or use an algorithm to place high weight on trusted sources from twitter? A twitter account that has had multiple past confirms or upvotes could get placed higher. May also be able to add weight based # of followers.


That's basically what it is now - there's "upvote" and there's "confirm" (to the right in the grey)

There's not really any good way to say "show me only good Twitter stuff related to this content." The top of the page should show you the best stuff, and the live streams will be for more hardcore users, kind of like the people who scan through the "new" page on HN. But we are definitely trying to find way to make that better if you have any suggestions.


Yeah, you are right, somehow I missed that.


Obviously we didn't make it clear enough - didn't refer to it in the onboarding. Thanks for the feedback.

Also, part of our thesis as to how that works is that information can be "important" even if it's false - it's important to mark it out as false, since it's going to be spreading regardless. So in theory the two actions should be separate, and the incorrect information should be marked as such. Could be wrong on that - we'll see.


This really needs a "disturbing content ahead" warning on the parts of the site that have graphic images. I really don't expect to see decapitated bodies when I randomly click a link.


In theory we aren't pulling in any content that qualifies as "disturbing" from Twitter.

In practice you're absolutely right. Will get on that.


No I think it should be there. The people should really know whats happening and they'll not be ignorant anymore. They'll start to care and share. If some are afraid to face the truth , then let them be. But pls don't try to censor the news!


I don't think anyone's suggesting filtering out that content, but having a warning that there may be some disturbing images seems fair and we will likely put that on the site when we have a chance.


Labeling it is a reasonable and responsible thing to do given.


Ya, it's a tough call to make. Watching this stuff I've seen more severed heads and public executions than anyone should ever want to. It's brutal, but it helps you realize that this stuff really is going on. When we say "ISIS is a terrorist organization" everyone starts to yawn, because all we ever hear about are terrorists. But then you see them decapitate a 5-year-old? A public crucifixion? And not just one, at scale. Those little anecdotes do put things in perspective.

Yet my wife was furious with me the first time she used grasswire for those same reasons. "I don't want to see that" is a reasonable request. So we have to find a balance there - we have to warn but not censor. That's tricky when things are live and we don't technically control what others are posting - it may end up as a blanket "stuff on this site might be graphic."


You can wait for multiple NSFL/SFL votes from users before promoting an image to the main pages.


Cool. Otherwise I wholeheartedly endorse this effort.


I got the guided tour thing, when a picture of an executed Iraqi showed up the tour note was "this is where the magic happens". Wonderful.


Frrole[1] tried a similar thing through their endeavor Frrole News [1]. Instead of manual fact-checking, they relied on Twitter data. They developed very advanced ML algos to separate signal from the noise. It grabbed attention with close to a million visitors a month, but ultimately shifted to another business model. Maybe you can get in touch with them.

[1]http://frrole.com [2]http://news.frrole.com/world


This seems to happen a lot. Someone makes a wicked way to consume the news, but cant find a way to monetize it other than pivot into social analytics or premium content aggregation. Storyful is the other example that springs to mind. It's nice that frrole at least kept their old product around in some capacity though :)


When tweets start coming in it becomes very annoying when I'm trying to read a tweet and it keeps pushing it lower and lower and I have to keep scrolling down to read it only to have it get pushed lower again. But really good place to get a handle on all the news happening.


Thanks for the feedback. You're absolutely right, that is really annoying. We're going to implement pausing that live feed when you scroll down.


Instead of pausing the feed, maybe a simple 'Load X new tweets' banner at the top of the feed would do a better job? Twitter actually does exactly this when loading new tweets on the feed.


Yeah, that's a good suggestion. Thank you!


Some comments and bugs:

- The videos in the live stream are all really unappealing (not the content but the way they're presented), there should really be titles or comments or something on them. - The tweets move too quickly and the flashing is annoying, I have to keep scrolling to read them properly - The content above the black bar also needs some context besides just being pictures

- Hitting the ESC key I expect to close any open models, but instead I get redirected to the front page - Tweets with ampersands in them show up as &


Holy crap, I think you just read off my "todo" list! Haha, thanks so much for the feedback. Anything else you don't like?


No worries :) Sure I can list off a few more things:

- The videos under the bar seem to have consistently low resolution thumbnails, maybe try making them a bit smaller (to a resolution where they are meant to be in)?

- Many of the tweets aren't in English so they don't mean much to me, maybe detect languages and remove ones that aren't my native language / translate them?

- Just generally I prefer text over images or video for anything news related, and right now it seems like an overflow of images. e.g., Pinterest is almost all pictures but their 'main' content literally is whatever is in the picture (usually), whereas your 'main' content is the news, so I want to be able to just glance at a page for a news item and know without having to interact much further what is going on, similar to reddit.com/r/news.

- Also some other minor UI things that I noticed, the magnifying glass just seems strange, I guess it is a way to signal that this isn't a normal tweet but something I'm meant to pick out and observe further, but I might try doing that in a different way because it is just unconventional.

- It would be great to have a "score", like how many people have upvoted, how many confirmed and what their reference was, how many refuted and why; some level of discussion to go with it, etc.


Thank you so much!


I really like the idea of the site, it's an idea I've toyed with a lot myself and I think you've done a decent job but I think there are few usability issues:

Can't signup without clicking Login (slightly confusing to non technical users perhaps?)

The block layout gives no visual affordance to what is new / most active / has the most people verifying data etc. I can't see where the action is happening at a glance.

The text inside the boxes is scaled oddly and is actually difficult to read I find for the smaller boxes. I have to zoom in just to find out what some things are.

Videos have no titles. I have no idea what they're about without opening every single one.

I can't see who has confirmed the items (maybe it's somewhere?) seeing as you can sign in, being able to see WHO has confirmed a lead lets me check what else they have confirmed to help further solidly their authenticity (and perhaps expose bias).

Have you planned for people manipulating the site to mass confirm fake reports and bury legitimate data? Seems like an easy site to game with a few twitter profiles and a few accounts on your site.


Thank you this excellent feedback.

1. You're absolutely right that we need to do a better job of giving a sense of where the action is happening. 2. The text issues in the boxes are definitely a problem and we have some tinkering to do on that front. 3. As far as videos go, we will add the titles. In general, the videos are not a great experience. It's difficult to find relevant videos using the YouTube API. We are considering not using YouTube directly, but instead surfacing videos that are mentioned in tweets that are deemed relevant; they usually seem to be more relevant and raw. 4. Being able to see who has confirmed/refuted what is definitely important and we need to make that experience better. For now, we don't even have profile pages that let you see what someone has done. We'll be implementing that in the next iteration. 5. The security/spam issue is a tough one and we've given some thought to it, but honestly, not enough. In some ways, we wanted to prepare for it, but we also didn't want to work on a problem that didn't need to be solved just yet. I am sure this will be a constant battle, but as we improve both our algorithms for filtering tweets and our API security layer, hopefully we can prevent bad actors from completely overruning the site.

Thanks again for your thoughts. Any other feedback is welcome and very much appreciated!



That error is symptomatic of a larger issue (I think) which is that the page isn't loading correctly so it can't find a div its looking for which should be injected by angular if all goes right. We're looking into this and other issues though. Thanks for reporting.


I could see this becoming my primary source of news. My main problem with mainstream news sources is that they're filtered. This would be a great way of keeping up with what's going on in the world. I could see it turning into something awesome. Something like my own personal newsroom (i.e. the wall of screens I imagine they have at the big news stations with live coverage coming in from everywhere).

I'll keep an eye on this.


Slightly related: I was looking for some place on the Internets where you could submit an article and discuss the details / truthiness of it in a community (wiki?) style with some way to easily visualise and reference supporting data / tables. Does anyone know of a place like that?

This service is not exactly it, but comes close to the idea...


You might find this subreddit interesting: http://www.reddit.com/r/structureddebate

Also: http://wiki.lesswrong.com/wiki/Debate_tools

If you find a good one let me know.


going through the tutorial, once I clicked on the world cup it is a blank page. Load related I expect.

Very interesting concept though. You just need that critical mass of fact checkers.


For some reason our load balancer thinks 2 of the instances aren't healthy (though they are) - checking on that, seems to be working now.


EDIT: fixed, thanks.

I figure you're doing some live updating to the code right now, but just a heads up, I get two errors and a blank page atm:

  XMLHttpRequest cannot load http://api.grasswire.net/v1/newsfeeds. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://grasswire.com' is therefore not allowed access. (index):1

  TypeError: Cannot read property 'left' of undefined
    at g (http://grasswire.com/scripts/8ca0d719.vendor.js:12:1650)
    at Object.fn (http://grasswire.com/scripts/8ca0d719.vendor.js:12:1242)
    at i.$digest (http://grasswire.com/scripts/8ca0d719.vendor.js:5:17771)
    at i.$apply (http://grasswire.com/scripts/8ca0d719.vendor.js:5:19070)
    at HTMLAnchorElement.<anonymous> (http://grasswire.com/scripts/8ca0d719.vendor.js:6:28105)
    at HTMLAnchorElement.kb.event.dispatch (http://grasswire.com/scripts/8ca0d719.vendor.js:2:23617)
    at HTMLAnchorElement.r.handle (http://grasswire.com/scripts/8ca0d719.vendor.js:2:20329) 
Will check back in a bit, the project sounds interesting.


Do you have Adblock installed? That caused an error for me.


I do, yeah. Will try without it.

EDIT: disabled it and ghostery, saw no improvement.


Please add an SSL cert to this so traffic to and from can't be eavesdropped on (as easily.)


Why? SSL doesn't hide the domain name of the requests, and the site content is public


This is not a static site, it takes various kinds of user input. SSL would hide which pages you visited, which items you upvoted, and which items you helped confirm or refute.

In some countries, this kind of information could be a powerful tool of repression. The police knocks on your door and asks "You helped confirm Rumor X about our Dear Leader. Tell us everything you know about Rumor X!" (Of course such countries also tend to block domains like grasswire.com, but some might choose to keep it unblocked for a while and use it as a honeypot to pinpoint dissidents.)

The multimedia-heavy, AJAX-heavy interface also makes it a royal PITA to use the site over something like Tor.


We will absolutely be doing that. Having lived in China and eastern Ukraine the need for anonymity is very real, and very important to us. Thank you for the suggestion.


Just pointing out: This doesn't work at all until you enable cookies for the domain.


Thank you for letting us know. We still have a lot of work to do on the site and we'll keep this in mind.


Wow, this is awesome. However when I first open the page on Safari all of the tiles cascade straight down before rearranging themselves. It only happens for like a second but it's kind of distracting.


Thanks for reporting. We're aware of this. We had a lot of issues with those tiles in Safari and had to put in a few hacks to get it to work at all. It's definitely not pretty, but at least it eventually is laid out correctly. Previously, the tiles would stay cascaded straight down. We're looking into it. Thanks again.


I was able to spend 5 minutes on this site and get more valuable information than I would have gotten if I'd spent an hour watching the news or two hours searching and curating information for myself.


As I was looking into your source code, I found out that you use SessionCam to kind of record the user experience. I wonder, as I'm not using a low-end PC or tablet, if it consumes too much memory or has any restrictions of use that I should be aware of. I might use their product in the near future, would you mind to give some thought on this?


We should removed that in production. We had it in there so we could debug rendering issues that beta testers were reporting. SessionCam claims it has little to no impact and we haven't really noticed any. Overall it works pretty well. The main thing for us was that other screen capture services didn't work for Angular apps, but SessionCam seems to work fine.


Thank you, ah, I forgot: really interesting app.


AddBlocker Plus Breaks the site :( http://imgur.com/ux6jpAQ


Overall, I really like the cocnept. I'm looking forward to watching it evolve!


I'm having trouble viewing the page.

I've successfully signed up and in, but the newsfeed hangs (blank page): http://api.grasswire.net/v1/newsfeeds

All javascript etc. is also loaded succesfully.

Any ideas?


Pushing up some changes now that should hopefully fix that. Essentially, the AWS healthcheck ping is timing out so it's removing instances from our load balancer. The streaming of tweets down to the client is pretty intensive and apparently a big bottleneck at the moment.


Thanks for the quick reply. It's now resolved for me (OSX, Chrome, AdBlock + HTTPSEverywhere no problem).


I notice that this site takes a bit of time to load at first - it shows uninterpolated variables in the DOM. I also notice it uses Angular - take advantage of directives like ng-bind and ng-cloak to avoid the flash of uncompiled content (FOUC).


Thanks for the feedback. ng-cloak doesn't seem to be doing the trick in some spots, particularly for the page title and login/logout text. We're looking into it.


If it helps, I mainly saw it on the navbar.

Also with ng-cloak, the angular script must be loaded in the head of the html, or the CSS rule from the script applied manually in the stylesheet: https://docs.angularjs.org/api/ng/directive/ngCloak.


Very helpful, thank you. I missed that alternative method of putting the CSS into your stylesheet when I initially skimmed the docs. Thanks a lot!


If you could let me if you're still seeing this issue, I'd really appreciate it.


Haven't seen the issue since - keep in mind, part of the problem is that my work internet is slow heh.


I like it.

Feature request. Allow me to add a reference when I "Confirm" it


If you click "confirm" you should see "URL" and "description" - you should be adding a reference. Maybe the wording is ambiguous; we should change "URL" to "reference?"


yes, I would keep tweaking the words if i were you to be exactly explicit/specific. eg:

1. 'like" is better than 'upvote' because it is clear that i am evaluate whether i like(re: enjoy) something, but what metric am i using to [up]vote on something?

2. "Reference URL" describes specifically what you want rather than some random URL.


Great feedback. But what if something is important but I don't "like" it - similar to how I'm not sure whether I should like a post on FB when my boss in unemployed. We've had that feedback too, like "This is awful and heartbreaking - do I favorite it?" (Favorite was the word we used to use).


Perhaps "Interesting"?


Maybe "important" fits the constraints?


This is interesting. How is it determined what goes on the front page?

Also, the lack of animation when moving the mouse off of an item is a bit jarring compared to when the mouse onto an item.


Right now it's hand-picked ("do things that don't scale"), eventually we would like everything to be 100% community driven.


The whole front page is war, natural disasters, and World Cup.

Surely there is some good/productive news worth sharing?


We're working on a feature to allow users to request stories.


Top things for "World Cup" are videos of girls with big boobs in low cut shirts. Classy.


Chrome/Linux 35.0.1916.153 (Official Build 274914)

TypeError: Cannot read property 'left' of undefined

page is empty


I'm on Chrome Version 35.0.1916.153 on Mac. Same error. I also have a blank page (other than the navbar at the top). Also, probably more importantly: "XMLHttpRequest cannot load http://api.grasswire.net/v1/newsfeeds. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://grasswire.com' is therefore not allowed access. "

Here's a screenshot: https://drive.google.com/file/d/0B2XTGTLKMtvmOHpYTnEyMEdnaE0...


Cannot log in or sign up via Safari or Firefox on OSX Mavericks


Thanks for reporting. That may have just been because the backend was struggling for a while there. Can you do us a favor and try again?


No tweets showing up. But yay otherwise! :)


Give it just a second :)


I had to load the site 5 times before reading this comment and just being patient. Seems like a good tip to add to the onboarding tour.


Yeah, we're going to add a "tweets are loading" or something like that before they start coming in. Thank you!


Fact checking is what makes this different


The stream of hint boxes that need to be closed before the page actually loads is very distracting and probably unnecessary to most users


I like them initially, but they return every time you come back. Only showing them once would be a much more pleasant experience.


Yes, we need to fix that. The onboarding should not reappear once you've clicked on one of the live tweets and finished the onboarding there. Not the best way to implement it though and we will fix it.


Good to know. Still figuring out what the right mix is for that.


You should look up ng-cloak


Yeah, we have some ng-cloaks in there, but for some reason there's more to it than that at least as far as the page title and login/logout text goes. Thank you for the tip though!


You can use ng-bind instead of curly bracket interpolation. This will eliminate the flash of {{pageTitle}}.



These are actually completely different, though the titles are similar since they’re trying to solve the same problem. But not one line of code is the same, the solution is different, etc. The only thing that is the same is the problem we’re trying to solve and the domain. And… apparently the HN title.

The old one was just a list of tweets from the Twitter search API with an arrow that allowed people to move them up and down or.

The new one is a functioning newsroom, we do some machine learning to bring in youtube videos/tweets that we’ve identified to be relevant to a specific story, allow people to up vote, confirm or refute (while providing a link), take that all into some stuff we do on the back end and spit out content sized according to its importance (as a function of time, relevance, votes and fact checks).


Ok, in that case we'll unbury it.


Sidenote: This is a huge upside of public moderation. Such a welcome addition to HN!


Completely agreed.


Thank you!




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: