102 comments

[ 2.8 ms ] story [ 134 ms ] thread
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
Good to know. Still figuring out what the right mix is for that.
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.
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.

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

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.

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.
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).
Maybe "important" fits the constraints?
(comment deleted)
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.

(comment deleted)
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.
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).
(comment deleted)
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.
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?
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!
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.
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.
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.
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}}.
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 :)
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.
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...

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!
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.
Chrome/Linux 35.0.1916.153 (Official Build 274914)

TypeError: Cannot read property 'left' of undefined

page is empty

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