Skip to main content
Ben Nadel at CFUNITED 2010 (Landsdown, VA) with: Randy Brown and Rick Mason
Ben Nadel at CFUNITED 2010 (Landsdown, VA) with: Randy Brown Rick Mason

Sunday Hackathon: ThingsIGive.com - A Digital Journal Of Your Awesome Self

By
Published in , , , Comments (20)

My first resolution of the new year - 2011 - was to "give more, sacrifice less." Let's face it, sacrificing sucks; it does nothing but breed resentment and guilt. Giving, on the other hand - that is, non-altruistic acts of kindness - feels totally awesome. And, I strongly believe that if we sacrificed less and gave more in general, we'd not only obtain a higher set-point of happiness, we'd also raise the quality of living for those around us.

The prerequisite of sacrifice is necessarily low self-esteem. We sacrifice because we don't believe that we have the right to avoid it. At some level, we don't believe that we have the right to be happy; or, at least, not that happy.

Ironically, I believe that fears and anxieties about giving (such as those that I sometimes get) also come from low self-esteem. If we have a poor self-image, we believe that others will judge us with the same critical eye with which we judge ourselves. As such, it is no wonder that even the benevolent act of giving can raise concerns of judgement and cause anxiety.

By the end of this year, I want giving to become second nature. Rather than be anxious about the idea of giving, I want to be anxious about the idea of not giving. I want to have enough faith in myself that I can quickly follow through with even the smallest inkling of a desire to give love to a fellow friend and human being.

So, how can I do this? And more importantly, how can I do this in a way that makes use of ColdFusion and jQuery? I was meditating on this question last week when I had the idea for a super simple web-based application that would create a positive feedback loop through the act of giving. And, not having partaken in a hackathon in quite some time, I figured this would be the perfect Sunday activity.

After 12 hours, I created, Things I Give: www.thingsigive.com.

 
 
 
 
 
 
Things I Give - A Digital Journal Of The Awesome You.  
 
 
 

 
 
 

 
ThingsIGive.com - Original Sketches.  
 
 
 

While my twelve-hour hackathon only allowed me to finish about 40% of my original vision, I believe this early beta gets the point across. ThingsIGive.com is a quasi "gamification" of the act of giving. The concept is simple: every time you give love to someone, take note of it; record the act in this one-click-style application. Not only does the application keep track of the total number of loving acts that you have "rocked," it stores individual records in a centralized online database. While I have not coded this aspect yet, these persisted records could be used to chart your giving over time and provide personal records with which to set personal goals.

Basically, it's an app that let's you become more aware of how awesome you are. And, when you realize how awesome you are, I suspect that you'll want to become even more awesomer!

I designed the app to be useable in iPhone's "app mode". But, other than the use of HTML5's "localStorage," I can't think of anything that would stop this app from working on any browser.

 
 
 
 
 
 
ThingsIGive.com - A Digital Journal Of Your Awesome Self.  
 
 
 
 
 
 
 
 
 
ThingsIGive.com - A Digital Journal Of Your Awesome Self.  
 
 
 
 
 
 
 
 
 
ThingsIGive.com - A Digital Journal Of Your Awesome Self.  
 
 
 
 
 
 
 
 
 
ThingsIGive.com - A Digital Journal Of Your Awesome Self.  
 
 
 
 
 
 
 
 
 
ThingsIGive.com - A Digital Journal Of Your Awesome Self.  
 
 
 

Right now, there is no sense of a login. When you enter the application, you are automatically given a "device ID." This device ID is then used in your app URL and cached within your HTML5 localStorage. Essentially, the use of the application is currently device-specific, not user-specific.

This approach, of course, has "security" concerns (which is an odd concept for this type of application); but more importantly, it limits the ways in which the application can be used. Originally, I was going to build-in Facebook oAuth integration, which was relatively easy to setup; but, iPhone web pages that are running in "app mode" cannot change URLs without jumping into Safari. As such, I couldn't use a 3rd-party login system without breaking the "app mode" experience.

The application does make use of HTML5's cache manifest and the browser's offline application cache. In theory, once loaded, this application should work fine offline. When the user records their random acts of kindness, the records get stored in both a local Javascript object and then serialized to the localStorage. It is only subsequently that the local queue then gets flushed to the live server. As such, the records should be persisted locally until the live server becomes available and the records can be flushed.

 
 
 
 
 
 
 
 
 
 

Building this app was both fun and frustrating; I ran into a bunch of technical hurdles and started down a number or deadends. But, in the end, I think this tiny beta / proof-of-concept certainly represents the spirit of the application. Now, I am looking forward to using it and seeing what kind of changes it can precipitate.

Reader Comments

4 Comments

Good to see that the localStorage worked out for you. Pretty much all the desktop browsers support localStorage, the all-seeing, all-knowing Wiki has a comparison chart on the level of support (http://bit.ly/fEfkOz).

On a related note there's a proposal for something similar to localStorage called Indexed Database (http://bit.ly/5eSeBs), but it's only in Draft now. I've only seen it mentioned in the Blackberry Developer Days show where they were talking about it in relation to WebWorks and the Playbook.

15,848 Comments

@Brian,

I think it will good. Being mindful is not a one-shot deal. It's something that we have to work at. I know that for me personally, adding structure to anything makes it easier to follow. And, I think keeping track of the count and having a record of it adds some personal gaming elements that can make it even more fun.

Now, I just need to add those other elements so people can get a better feel for what they've done. Right now, other than the number, there's not a great sense of overall awesomeness.

15,848 Comments

@Howard,

I haven't heard of the indexed databases yet. I'll keep my eyes open for that. Since this is targeted for on-the-go, mobile use, as long as it works on iPhone and Android, I think it should be mostly sufficient.... not that I've tested this on Android.

5 Comments

Thanks Ben. I'm thinking that in terms of self-esteem viz cognitive behavioral psychlgy, u may have come up w/ something quite significant. So THIS is my first Officially TIG (things i give) compliment. Question, are TIG users Tiggers?

15,848 Comments

@Frank,

Awesome - that magic is already working :D

At first, I see it becoming a sort of game - like, trying to figure out where I can insert a compliment or a gift *just* so I can mark it off; but, over time, that has just become second nature.

"Tiggers"... ha ha, awesome :D

5 Comments

have you posted info on the history of TIG in your blog? How long has it been around? How many users? I mean wow, u have 58,490 points....Yikes! Just curious, btw.

15,848 Comments

@Frank,

The "Things I Give" site was literally launched this morning. Anonymous data is being captured right now; but without a login system, the early-beta has limited capabilities.

My blog (this blog) has been around for since early 2006, I think.

5 Comments

ah. Sorry. That's what I thought, but then saw the 58,501 points... are those blog points. Have been messing w/ FB for about a year now, but just now delving into blogs, twitter etc

15,848 Comments

@Frank,

The blogosphere is a pretty cool place to explore. There's a ton of people with some great knowledge. You really get to feel like you're part of a community.

@Sumit,

Thanks my man :)

@Lynn,

Aww, shucks :) Thanks!

9 Comments

I'm not sure how you could have possibly come to that conclusion, but low self-esteem is certainly NOT a prerequisite for sacrifice. Being alive is. Every time you make a choice between 2 or more things, you're making a sacrifice. Every time you take a chance on something, you're making a sacrifice. It may or not pay off for you, but it's a sacrifice, none-the-less.

If you truly deemed yourself unworthy, you probably wouldn't even consider that you have the choice to begin with.

15,848 Comments

@JGarrido,

I suppose we are having a semantic argument; I don't view all choices as sacrifices. If I choose to have a hamburger instead of a burrito, it's not a sacrifice.

When I talk about sacrifice, I typically mean things that are done with little to no *expected* return value. And, the idea of return value is very contextual.

For example, if I give $10 to a strange and I don't feel good about it, that is a sacrifice. However, if I give $10 to a friend and I feel good about doing the Mitzvah, that is *not* a sacrifice - that is a mutually beneficial interaction.

When I think about sacrifice, the definition is concerned with return value; but, the particulars are highly subjective. What seems like a sacrifice to me might very well seem like a wonderful gesture to someone else (and vice versa).

@Kevin,

Thanks my man :) That reminds me, Dig Deep Fitness is definitely on my new year's resolution list this year. I need to actually do something with it!

9 Comments

@Ben

It *is* a bit semantic, and contextual (as you mentioned), and I'd say perhaps also a bit spiritual. One definition, and the one I had in-mind regarding sacrifice, is as follows:

- noun
3. the surrender or destruction of something prized or desirable for the sake of something considered as having a higher or more pressing claim.

- verb
8. to surrender or give up, or permit injury or disadvantage to, for the sake of something else.

So in your example of choosing a burger over a burrito, you're placing priority on the burger, so you therefore sacrifice your desire for the burrito - you don't get to have both; unless you're a glutton, and then that is a different sacrifice you're making. You'll pay first in the bathroom, and then maybe again later (over time) in the mirror.

Performing a mitzvah should *always* leave you feeling good :)

You ultimately decide, but you still need to make the choice; either way, there most definitely *is* value on the return. If there weren't, that would be called robbery...

or taxes? No, I jest ;)

15,848 Comments

@JGarrido,

I think we are, more or less, in agreement. I suppose that what you consider "robbery" is what I am thinking about in terms of "sacrifice."

5 Comments

Same root as for the word "sacred."
Some thoughts:

A millionaire could give away a million bucks and not "feel" it.

The etymology (below) defines it as "something given up for the sake of another."

Somewhere I read once about the importance of never telling anyone that you did a "good deed," as it would take away from the value.

I like the concept of a "mitzvah" a good deed. Hillel* reduced (the commandments, extended version) to his "Golden Rule": "That which is hateful to you, do not do to your fellow. That is the whole Torah; the rest is the explanation; go and learn." So by extension, putting yourself in a stranger's shoes requires a "sacrifice." To my mind that sacrifice involves "letting go of Illusion" and "being here now."

From http://www.etymonline.com/index.php?term=sacrifice
"sacrifice (n.) Look up sacrifice at Dictionary.com
mid-13c., from O.Fr. sacrifise (12c.), from L. sacrificium, from sacrificus "performing priestly functions or sacrifices," from sacra "sacred rites" (prop. neut. pl. of sacer "sacred," see sacred) + root of facere "to do, perform" (see factitious). L. sacrificium is glossed in O.E. by ansegdniss. Sense of "something given up for the sake of another" is first recorded 1590s. Baseball sense first attested 1880. The verb is first recorded late 13c. Related: Sacrificed; sacrificing."

* More re Hillel:
He is popularly known as the author of two sayings: "If I am not for myself, who will be for me? And when I am for myself, what am 'I'? And if not now, when?

167 Comments

<cffunction name="sacrifice" returntype="void">
</cffunction>

The more I think about sacrifice not returning anything, the more I have to agree. But, you sure put a negative slant on the word. I've always considered sacrificing to be a neutral-sometimes-positive.

The wonderful thing about TIGgers are that TIGgers are wonderful things.

Oddly, I read this originally on my iPhone Touch (an iPhone that has no service). Good job, Ben, especially for one-day's worth of work!

Didn't play with it extensively, but do you know about these input types?

<input type='tel'/>
<input type='number'/>
<input type='email'/>

I believe in love. I believe in compassion. I believe in human rights. I believe that we can afford to give more of these gifts to the world around us because it costs us nothing to be decent and kind and understanding. And, I want you to know that when you land on this site, you are accepted for who you are, no matter how you identify, what truths you live, or whatever kind of goofy shit makes you feel alive! Rock on with your bad self!
Ben Nadel