gratipay / gratipay.com Goto Github PK
View Code? Open in Web Editor NEWHere lieth a pioneer in open source sustainability. RIP
Home Page: https://gratipay.news/the-end-cbfba8f50981
License: MIT License
Here lieth a pioneer in open source sustainability. RIP
Home Page: https://gratipay.news/the-end-cbfba8f50981
License: MIT License
Tippers should be able to leave two-sentence anonymous thank yous for tippees. These will show on tippee profile pages, and in a "featured" section on the homepage.
Was: Create Template for Features Content and Nominations
Warning, noob work below:
In order to highlight some of the great work being done by lesser-known civil-servant programmers and open-source heroes, Gittip should rotate ultra-short "Features"... short bios on tip-able git-members (around 10 lines). In order to crowd-source the content for the bio/feature and obtain nominations to help choose the features, an ultra-simple template should be made. Nominations are anonymous.
--Template Rough Draft--
Nominee's Github Username: WHIT537
Current Project: Gittip
Major Contributions: Aspen.io, Gittip, IHasAMoney.com
Anonymous two-sentence "Thank You": Chad has changed my life with all of his techno-shenanigans. If it weren't for his IHasAMoney project, I wouldn't know what to do WIF it, Thanks Chad, keep up the great work!
NOMINATE CHAD WHITACRE FOR MORE TIPS
Would it be useful to create this as a google form? Then you could later pull the content from a g-docs spreadsheet and input it into a content box on the main page. Thoughts on the concept as a whole?
It's tricky because we don't want to require a credit card in order to tip, but we also want accurate numbers of what people are actually getting on the site.
We don't want to require a credit card because that is a huge barrier to entry and we want as many people as possible to have the fun of tipping (and for them to spread the word).
We also don't want to require a credit card because people can be given money through the site, of course, and that can then be used to give to other people later on.
We want accurate numbers of what people are being given through the site so that their expectations are not frustrated. I have $10 in my tipjar! What does that mean? I am getting $10 on Friday? I have a total balance of $10 already given to me? This is unclear. Currently we say "$10 pledged" but of course only $1.00 of that is backed. So (a) it's a downer when they only get $1, and (b) it's misleading to people watching who think, "Wow! This guy is really being given a lot!" when he's not really. Underpromise and overdeliver.
On the other hand we want the new tippers to have a good experience. If we're reporting tips pledged and they pledge a tip then we want that to be reflected immediately as positive feedback for the new tipper.
Here's what we'll do:
QR codes, etc.
If I have a working credit card, I shouldn't see the warning on the participant/github page that I'll need to add a card before tips can go through.
pay with clicks, likes, tagits, etc. (non-monetary)
It's vital that we aren't paying more fees than we're expecting for cc transactions, or we won't have cash to cover withdrawals.
This issue got derailed in the first comment. The original is reticketed as #28, "we need an opt-out mechanism".
Heroku Scheduler doesn't have a weekly option, only daily. Open a support request with Heroku for this. In the meantime do one of:
Right now we're running it manually (on my laptop ๐ฑ). We should automate this.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Issue raised on Twitter. Don't understand enough yet to say whether it's a suggestion for GitHub or Gittip.
We want to funnel analytics from both subdomains into the same GA account. Here's the tracking code to add to both sites, I believe (note the "domain" attribute):
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-247427-33']);
_gaq.push(['_setDomainName', 'gittip.com']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
Now that we've had our first real payday we should make sure the numbers really really all line up.
from w/in Gittip (not just Samurai)
It'd be nice to get to this before the blogosphere does.
Statement in particular, check for others.
Original: "do what Venmo does, maybe"
Learned about Venmo tonight.
"This payment was free! You have $499.00 left of free credit card payments. After that, you can make debit payments from your bank for free, or choose to make credit card payments for a fee. "
Check them out for mobile payments.
This should be doable with the tip.json API.
Examples
https://dev.twitter.com/docs/tweet-button
http://www.google.com/webmasters/+1/button/
http://developers.facebook.com/docs/reference/plugins/like/
Should be able to authenticate with a Google+ account. If already authenticated, should associated Google+ profile with existing Gittip participant account.
This is near and dear to my heart because Guido uses Google+, and doesn't use Github or Facebook or Twitter.
A few tips to organizations snuck in before #4 was closed. Make sure to remove those before running payday next.
Plays into #7. Need to fill out the user profile.
should be close
If you are signed in as one github user we give the option to sign out and sign back in to claim a different github account. But signing out of gittip is not enough, you also need to sign out of github. We can link to the github signout link, but can we then redirect back to the gittip page? Not sure. Figure it out and implement it and then make the text prompt reflect reality.
tabbing in and out of it is jarring
09 shows up goofy when you reload the page
Gittip.com is currently opt-out, and that's not cool. See below for discussion.
Original:
We've got a fine line to toe. Kachinga pissed people off by collecting money on their behalf without explicit permission. We're a bit different (donor pays fee vs. cut to recipient, coop vs. corp) but it remains to be seen whether we're different enough.
Even if the world is okay with us being opt-out instead of opt-in, we still need an opt-out mechanism. This would involve claiming an account and then clicking a big red "Stop taking donations for me" button.
(This started as #26 but then got derailed. Reticketing.)
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Status: We need someone to join Team Gittip and take ownership of our bitcoin integration. Is it you?!
The essence of Gittip is recurring gifts, and there is (I gather) no way to do recurring bitcoin payments. Gittip will likely add explicit support for one-off (#5) and pre-paid (#113) gifts once the core recurring feature has matured. At that point we'll be ready for funding with bitcoin.
I (@whit537) am going to let someone else contribute the bulk of this work. On the pattern of Balanced contributing integration with their system (#78), my ideal would be to see a bitcoin processor such as Bit-Pay step forward and contribute integration with their service. A lesser option would be for a non-Bit-Pay member of the Gittip community to contribute the integration.
We want this so we can review a user's activity deterministically. This will be important for support requests and our own troubleshooting. It should be available privately to users as well as to admins.
the shoutout.
Need more velocity for this to make sense.
We should only list people on the homepage who have claimed their account. That will mean they've opted in to the system as a participant.
Hi, sorry I don't have much time to contribute, I just tried to run it and it doesn't work. I didn't see any documentation in your README referring to where to put the required configuration or in general how to startup the development environment.
sudo ./swaddle local.env ./env/bin/aspen \
--www_root=www/ \
--project_root=.. \
--show_tracebacks=yes \
--changes_reload=yes \
--network_address=:80
[SWADDLE] local.env is not a file; environment unchanged.
pid-23591 thread-47493497806592 (MainThread) Reading configuration from defaults, environment, and command line.
pid-23591 thread-47493497806592 (MainThread) changes_reload False default
pid-23591 thread-47493497806592 (MainThread) changes_reload True command line option --changes_reload=yes
pid-23591 thread-47493497806592 (MainThread) charset_dynamic UTF-8 default
pid-23591 thread-47493497806592 (MainThread) charset_static None default
pid-23591 thread-47493497806592 (MainThread) configuration_scripts [] default
pid-23591 thread-47493497806592 (MainThread) indices [u'index.html', u'index.json', u'index'] default
pid-23591 thread-47493497806592 (MainThread) list_directories False default
pid-23591 thread-47493497806592 (MainThread) logging_threshold 0 default
pid-23591 thread-47493497806592 (MainThread) media_type_default text/plain default
pid-23591 thread-47493497806592 (MainThread) media_type_json application/json default
pid-23591 thread-47493497806592 (MainThread) network_address ((u'0.0.0.0', 8080), 2) default
pid-23591 thread-47493497806592 (MainThread) network_address ((u'0.0.0.0', 80), 2) command line option --network_address=:80
pid-23591 thread-47493497806592 (MainThread) network_engine cherrypy default
pid-23591 thread-47493497806592 (MainThread) project_root None default
pid-23591 thread-47493497806592 (MainThread) project_root .. command line option --project_root=..
pid-23591 thread-47493497806592 (MainThread) renderer_default tornado default
pid-23591 thread-47493497806592 (MainThread) show_tracebacks False default
pid-23591 thread-47493497806592 (MainThread) show_tracebacks True command line option --show_tracebacks=yes
pid-23591 thread-47493497806592 (MainThread) www_root None default
pid-23591 thread-47493497806592 (MainThread) www_root www/ command line option --www_root=www/
pid-23591 thread-47493497806592 (MainThread) project_root is relative: '..'.
pid-23591 thread-47493497806592 (MainThread) project_root set to /home/marko/Projects/www.gittip.com.
pid-23591 thread-47493497806592 (MainThread) Renderers (*ed are unavailable, CAPS is default):
pid-23591 thread-47493497806592 (MainThread) TORNADO
pid-23591 thread-47493497806592 (MainThread) *pystache ImportError: No module named pystache
pid-23591 thread-47493497806592 (MainThread) *jinja2 ImportError: No module named jinja2
pid-23591 thread-47493497806592 (MainThread) Oh no! Aspen crashed!
pid-23591 thread-47493497806592 (MainThread) Traceback (most recent call last):
pid-23591 thread-47493497806592 (MainThread) File "/home/marko/Projects/www.gittip.com/env/local/lib/python2.7/site-packages/aspen/server.py", line 122, in main
pid-23591 thread-47493497806592 (MainThread) _main(argv)
pid-23591 thread-47493497806592 (MainThread) File "/home/marko/Projects/www.gittip.com/env/local/lib/python2.7/site-packages/aspen/server.py", line 48, in _main
pid-23591 thread-47493497806592 (MainThread) website = Website(argv)
pid-23591 thread-47493497806592 (MainThread) File "/home/marko/Projects/www.gittip.com/env/local/lib/python2.7/site-packages/aspen/website.py", line 25, in __init__
pid-23591 thread-47493497806592 (MainThread) self.configure(argv)
pid-23591 thread-47493497806592 (MainThread) File "/home/marko/Projects/www.gittip.com/env/local/lib/python2.7/site-packages/aspen/configuration/__init__.py", line 347, in configure
pid-23591 thread-47493497806592 (MainThread) execfile(filepath, {'website': self})
pid-23591 thread-47493497806592 (MainThread) File "/home/marko/Projects/www.gittip.com/configure-aspen.py", line 8, in <module>
pid-23591 thread-47493497806592 (MainThread) gittip.wireup.canonical()
pid-23591 thread-47493497806592 (MainThread) File "/home/marko/Projects/www.gittip.com/gittip/wireup.py", line 13, in canonical
pid-23591 thread-47493497806592 (MainThread) gittip.canonical_scheme = os.environ['CANONICAL_SCHEME']
pid-23591 thread-47493497806592 (MainThread) File "/home/marko/Projects/www.gittip.com/env/lib/python2.7/UserDict.py", line 23, in __getitem__
pid-23591 thread-47493497806592 (MainThread) raise KeyError(key)
pid-23591 thread-47493497806592 (MainThread) KeyError: 'CANONICAL_SCHEME'
There's a field in the database for each participant to make a "statement." It's actually already presented if it exists, there's just no UI for users to edit it. There should be.
I'm thinking of a prompt like, "I'm trying to make the world better by ..."
It's fine to start with a save button.
Nice to have: an auto-save feature (saves after 1 second of inactivity with a clear "Saved!" indication that then fades).
It's barely acceptable to have launched without any testing, but if we go another bump without tests and code docs/comments I'm not going to feel good about it.
"three dollars ... okay, 52 weeks in a year ..."
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
I haven't indexed anything yet.
Right now you can tip to any github account, including organization accounts. I want to constrain it to personal accounts for now. If anyone should tip to an org before this is fixed then the policy is to reassign those tips amongst the organization's public members.
Right now they show on other people's pages but not my own.
Should be able to authenticate with a Twitter account. If already authenticated, should associated Twitter profile with existing Gittip participant account.
The essence of Gittip is recurring tips, but once we solidify that I'm open to mixing in one-offs.
The reason recurring tips are important is because my mortgage is recurring and Gittip is about paying my mortgage.
There is a $80 open bounty on this issue. Add to the bounty at Bountysource.
Shows top 20 tippees by backed tips for next payday.
Should be able to authenticate with a Facebook account. If already authenticated, should associated Facebook profile with existing Gittip participant account.
We need support for organizations and projects somehow. I would like to emphasize that groups are made up of individuals, and the individuals are responsible (for both good and ill). Need to define the semantics around individuals leaving and joining the group.
This is really a tough nut to crack. It's the line between group and individual. Right now Gittip is designed for individuals, but that means every individual has to be their own marketing department. It only works for "Internet rock stars." What about normal people? What about everyone who labors tirelessly without tooting their own horn? How does Gittip work for them?
Try saving yer statement and it horks.
We should funnel feedback from site users straight into Github. We'll get more feedback if we make a gremlin Github account for this purpose. We should communicate to users that if they want to interact about the issue they'll need a Github account.
May want some stuff from it?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.