Skip navigation

Base code for Occupy Can Has? and Occupy Has

This Group is archived. You may not add or alter any of its content.

Task: Base code for Occupy Can Has? and Occupy Has

Assigned To: 
Ben Acker
Status: 
Open
Priority: 
Normal
Type: 
Task

Currently: @OccupyHas and @OccupyCanHas are ours now. (muhuhaha)

 
I would think a tweet would look like this:
@willowbl00 sez: @OccupyCanHas we need a #tent down here in #seattle #westlake (adds to map)
@benacker sez: I dropped a #tent to @willowbl00 via @OccupyHas. (removes from map)
 
Request that people:
* geotag themselves when safe and possible
* don't split tweets - follow up with more info if necessary, but include all meta in one
* include @OccupyHas for things they need
* include @OccupyCanHas for things they can provide
** include twitter handle of person who requested when responding to a request
* use appropriate hash tags
** city or city abbreviation (it'll be up to us to include "#occupy AND #seattle" or "#occupyseattle" or "@occupyseattle" or "#ows #sea") or just request people be clear.
** needs tags can be #shelter #warmth #food #water #medical #legal #media #backup - further detail should be in the tweet itself, but those will have graphics
 
We should have a bot that handles most of it, but maybe sends on ones that aren't easily parsed to me to manually handle?
Retweet anything tweeted @OccupyCanHas to same account.
Comment viewing options
Select your preferred way to display the comments and click "Save settings" to activate your changes.

#1

Willow, 

 

What's the URL going to be? I'm trying to get everything set up, and that will be useful.

Here's what I think we should do so far:

Store tweets in CouchDB (maybe along with some other information, when it was fulfilled, followers so we have over-time information yada yada). 

I'll put the username/password stuff we need into the README in github once it's all ready.

 

The repo is there: 

 

https://github.com/nvcexploder/occupycanhas

Word!

#2

It'll be canhas.gwob.org

Yay!

#3

Woo!

So I've done a lotta thinkin. I've also committed some base stuff. We need to iron out all the use cases. 

I think first pass we should just pull the map markers from CouchDB. If there's anwers we'll update Couch @ that time. Then we can move into using Node on a heroku server streaming the Twitter data and updating couch, which I think is the best option. That way we can not have it barf based on too many people accessing it.

That being said, if we move to heroku or some other hosting for Server-y stuff, what if we incur cost? 

 

K. That's all I gots for now!

#4

I think GWOB can cover the cost, though I'd prefer to host it on our existing servers if that's the main cost.

#5

Okay! I'm all for that too. What can we host on y'alls servers, as that might change the target from Node to something else. 

If not node, is java on there? All of these would be good because they would bypass the same origin problems we may run into.

 

#6

1.  Suggest you take a look at http://nodester.com/ which is a free place to deploy Node.JS applications (we already sponsor Nodester, so if it can do the trick fo you, then great)

2. Alternatively, if you tell me what config you want we can spin up something on EC2 or Heroku.  A little more hoop jumping this way, but can be done.

(I've also added Aaron to this thread)

 

#7

1.  Suggest you take a look at http://nodester.com/ which is a free place to deploy Node.JS applications (we already sponsor Nodester, so if it can do the trick fo you, then great)

2. Alternatively, if you tell me what config you want we can spin up something on EC2 or Heroku.  A little more hoop jumping this way, but can be done.

(I've also added Aaron to this thread)

 

#8

Sounds great!

I'm sure we can get something up there to work just fine.

 

I will mess around with them this evening and update this task once I figure out what to do. I'm thinking we should have the node implementation up first (I don't think it's going to be that much longer to implement). That way we won't get blocked by hamering the Twitter search API.

 

-Ben

#9

Ben send me your email address so I can get you a Nodester coupon.  diggz@gwob.org 

#10

Okay here's my update:

I'm getting the Node stuff set up in Nodester (thanks Diggz). I should be done by weekend. I thought I'd be done sooner, but I'm on support this week @ Day Job; it's taking me a bit longer.  I've got the Twitter apps set up, and am finishing up oAuth and opening user streams tonight.

 

I talked with Brian tonight and I think he might be able to start getting some stuff done a little bit before I'm completely done with the Node server. 

 

When I mentioned setting up aliases I meant just getting some Apache aliases for the external services we're using. One for the CouchDB and one for the Nodester instance. Ultimately we may not need them, I think we can make that determination was we start consuming the services from the hosting location.

 

Anywho, hope y'all are doing good! 

#11

I got a lot done on this over the weekend. I think the server side will be ready for tomorrow. 

What this includes is a node server running and streaming tweets for @occupycanhas and @occupyhas, pushing those to CouchDB with the modifications we need. 

Couch will have the appropriate URLs to pull lists of open canhas requests, and lists of closed requests.

I think this is a good spot to start, then we can move into other functionality as we determine what else we need.

 

#13

I'm looking forward to working with this a bit tonight and more tomorrow. I can probably start with tests and integration.

#12

Super awesome, Ben! You are a rock star!

Where could others jump in to help?

#14

Here's what I feel needs to happen (feel free to modify, comment, whatever on any of these steps):

 

1.) Server aggregates tweets for map display and tracks whether they have been answered. It will do so to the best of it's ability based on hashtags, locations, and addresses. 

2.) We need tie-ins to the Google Maps (or whatever map API we want) with geolocation resolving, using the icons to indicate need and location.

3.) We need an 'Instructions' page detailing how to request and how to respond

4.) we need to be able to display the aggregated data on the map, and have easy ways for folks to respond to requests (perhaps from the site, or at least get the proper Twitter info to respond).

5.) we need it to look pretty. I threw those three pages together with Twitter's bootstrap, but they aren't anything we're married to. Also, the icons may need some work to get into a consistent size.

I think that folks in the OWS camps should listen to the addresses that can provide the help so they can help folks out and direct message if apllicable (for safety reasons). That way we can aggregate the Twitter data and review it to help, but Twitter is doing most of the work and the people there have immediate help not relyingon our system. As people use it, we can find where the system can enhance their use and improve fulfilling the needs of the folks that are there.

I've got couch updating properly, and am mulling some of the meta-data problems for the server side. 

The Maps API, Instructions, and making the site pretty are places that people can get started now, and things I could easily use help on. I am emailing Brian Rice today to get him information regarding the system as it is. I can also post stuff here. 

Willow, can we get another call about this sometime soon (day or evening is fine)?

#15

Yes! A call! Stupid broken arm.

http://www.doodle.com/7rm8inu8irh4iye6

#16

There is only a little bit of html, a style sheet and images in the github, but it sounds like you guys have done a lot more work than that. Sooo... if someone wants to help out, where can they jump in?

I'm writing a blog post on this right now, so if there is code that you have done and haven't posted to github, now would be an excellent time to do that. If you have some non-code request for help on the project, tell me now, and I'll include that in the post, too!

Thanks!

#17

There is only a little bit of html, a style sheet and images in the github, but it sounds like you guys have done a lot more work than that. Sooo... if someone wants to help out, where can they jump in?

I'm writing a blog post on this right now, so if there is code that you have done and haven't posted to github, now would be an excellent time to do that. If you have some non-code request for help on the project, tell me now, and I'll include that in the post, too!

Thanks!

#18

There totally is more stuff, but it's in a private github repo. It's got some private keys that we don't want hangin' around, so if someone wants to help they can give me a shout or we can find some way to get it on github publicly. 

 

Sorry, I haven't been doing much on this trying to get everything together for RHoK. 

#19

Might it be a good idea to take the private keys and stick them in one file that is NOT in the public repo, have all uses of those keys in the rest of the code be a contstant (included from that file), and put in the README a note that the developer should create their own version of the file with the private keys with their personal keys for their own development set up?

#20

In a word, yes.

In two words? Uh-huh.

I can make those changes this weekend probably! Once stuff dies down a little bit after RHoK gets rolling. I may be able to do some tonight too!