
Show HN: Grasswire – an Internet newsroom curated and fact-checked by everyone - austenallred
http://grasswire.com/#/hn
======
stinos
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.

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

~~~
austenallred
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.

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

------
a-nikolaev
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.

~~~
austenallred
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.

~~~
a-nikolaev
Yeah, you are right, somehow I missed that.

~~~
austenallred
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.

------
randomtask
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.

~~~
austenallred
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.

~~~
andrewvijay
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!

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

~~~
austenallred
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."

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

------
lalwanivikas
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](http://frrole.com)
[2][http://news.frrole.com/world](http://news.frrole.com/world)

~~~
jonnyscholes
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 :)

------
palakchokshi
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.

~~~
xwowsersx
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.

~~~
jivid
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.

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

------
lihorne
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
&amp;

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

~~~
lihorne
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.

~~~
austenallred
Thank you so much!

------
have_faith
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.

~~~
xwowsersx
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!

------
CmonDev
TypeError: Cannot read property 'left' of undefined at g
([http://grasswire.com/scripts/8ca0d719.vendor.js:12:1650](http://grasswire.com/scripts/8ca0d719.vendor.js:12:1650))
at Object.fn
([http://grasswire.com/scripts/8ca0d719.vendor.js:12:1242](http://grasswire.com/scripts/8ca0d719.vendor.js:12:1242))
at i.$digest
([http://grasswire.com/scripts/8ca0d719.vendor.js:5:17771](http://grasswire.com/scripts/8ca0d719.vendor.js:5:17771))
at i.$apply
([http://grasswire.com/scripts/8ca0d719.vendor.js:5:19070](http://grasswire.com/scripts/8ca0d719.vendor.js:5:19070))
at HTMLAnchorElement.<anonymous>
([http://grasswire.com/scripts/8ca0d719.vendor.js:6:28105](http://grasswire.com/scripts/8ca0d719.vendor.js:6:28105))
at HTMLAnchorElement.kb.event.dispatch
([http://grasswire.com/scripts/8ca0d719.vendor.js:2:23617](http://grasswire.com/scripts/8ca0d719.vendor.js:2:23617))
at HTMLAnchorElement.r.handle
([http://grasswire.com/scripts/8ca0d719.vendor.js:2:20329](http://grasswire.com/scripts/8ca0d719.vendor.js:2:20329))

~~~
xwowsersx
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.

------
ollerac
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.

------
viraptor
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...

~~~
netcraft
You might find this subreddit interesting:
[http://www.reddit.com/r/structureddebate](http://www.reddit.com/r/structureddebate)

Also:
[http://wiki.lesswrong.com/wiki/Debate_tools](http://wiki.lesswrong.com/wiki/Debate_tools)

If you find a good one let me know.

------
netcraft
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.

~~~
austenallred
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.

~~~
pfraze
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.

~~~
mind-blight
Do you have Adblock installed? That caused an error for me.

~~~
pfraze
I do, yeah. Will try without it.

EDIT: disabled it and ghostery, saw no improvement.

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

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

~~~
kijin
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.

~~~
austenallred
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.

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

~~~
xwowsersx
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.

------
ertdfgcb
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.

~~~
xwowsersx
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.

------
lynnaea
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.

------
alcipir
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?

~~~
xwowsersx
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.

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

------
mind-blight
AddBlocker Plus Breaks the site :(
[http://imgur.com/ux6jpAQ](http://imgur.com/ux6jpAQ)

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

------
klapinat0r
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](http://api.grasswire.net/v1/newsfeeds)

All javascript etc. is also loaded succesfully.

Any ideas?

~~~
xwowsersx
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.

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

------
Bahamut
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).

~~~
xwowsersx
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.

~~~
Bahamut
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](https://docs.angularjs.org/api/ng/directive/ngCloak).

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

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

------
dkhenry
I like it.

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

~~~
austenallred
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?"

~~~
diN0bot
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.

~~~
austenallred
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).

~~~
NortySpock
Perhaps "Interesting"?

------
donut2d
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.

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

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

Surely there is some good/productive news worth sharing?

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

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

------
hnriot
Chrome/Linux 35.0.1916.153 (Official Build 274914)

TypeError: Cannot read property 'left' of undefined

page is empty

~~~
colemanfoley
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](http://api.grasswire.net/v1/newsfeeds).
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin '[http://grasswire.com'](http://grasswire.com') is therefore not
allowed access. "

Here's a screenshot:
[https://drive.google.com/file/d/0B2XTGTLKMtvmOHpYTnEyMEdnaE0...](https://drive.google.com/file/d/0B2XTGTLKMtvmOHpYTnEyMEdnaE0/edit?usp=sharing)

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

~~~
xwowsersx
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?

------
randall
No tweets showing up. But yay otherwise! :)

~~~
austenallred
Give it just a second :)

~~~
gregknaddison
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.

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

------
nwalter08
Fact checking is what makes this different

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

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

~~~
xwowsersx
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.

------
nebulous1
You should look up ng-cloak

~~~
xwowsersx
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!

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

------
dang
A dupe of
[https://news.ycombinator.com/item?id=7573989](https://news.ycombinator.com/item?id=7573989).

~~~
austenallred
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).

~~~
dang
Ok, in that case we'll unbury it.

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

~~~
austenallred
Completely agreed.

