Facebook or Spambook?

Facebook has brought the ability to spam to a whole new level. Now when I say spam, I don’t mean Nigerian princes and Viagra, I mean just unsolicited emails about stuff I don’t care about, that I never wanted to get and I can’t stop receiving. It’s incredible! Here, let me explain.

Case study 1:
Let’s say I want to email some twenty people about something important. Last time I tried to do that in GMail, it wouldn’t allow me. Said something about me possibly trying to spam and to use Google Groups instead for such situations. It annoyed me greatly, but I thought it was a good feature to have. I will guess that some other major email services have similar ways of protecting against spammers.
But, then again, there is NOTHING preventing me from sending a message to the almost three hundred friends I have on Facebook right now. Will they all get emails to notify them of those messages? Most probably. If I have a group or event of sorts, then this could be up to hundreds of thousands of messages at the click of a button.

Devil’s advocate objection: It’s not spam if you signed up for it. Being in a group means you’re accepting to get all of that, so Facebook can’t do anything about it, it’s all your fault. Which brings us to the next case study.

Case study 2:
Let’s say groups and events don’t cut it anymore. I mean a group will only be joined by those who care about it, so it’s hard to use it to advertise to people who know nothing about it in the first place. How do you still get your propaganda across? Well using, friends of course. Enter… “promoters”.
I mean, if a group annoys you, you’re just going to leave it. But are you going to remove a friend from your list just because they send you messages? Probably not (note: when I say friend, I mean a real person that you actually know outside of the social networking realm). So here we are with people sending spam to their friends, as a job. The most common case of that I see is promoting for a club. At some point I used to get tens of emails each week, from friends, advertising events at clubs.

This is a list you can’t sign out of. This is a message you can’t filter out. Remove your friend and… well…you’ve removed a friend, it breaks the whole social networking idea. Keep the friend and BOOM, spam all over the place.

So, what now Facebook? Are we going to allow this to keep happening? Or are we planning to do something about it? It comes down to whether you think you will either gain or lose money through this. Since its advertisement going through your channel that you’re not directly making money off of, and it has high potential of annoying your users to the point where they will start removing friends or quitting, I think it doesn’t take too many marketing research models to figure out the answer. But would I know about that, I’m just an engineer.

PS: I’m only picking on Facebook because I’m using it and it’s popular. I think any other social network can be used in a similar manner to propagate unwanted messages. It’s a problem inherent to the business model, but not a problem that can’t be fixed.

Design outside the box

These have been the best 28 minutes of my week. The following video has Jesse Schell (a CMU professor, game designer and imagineer) take us through games as they are today and as he envisions them tomorrow, where the entire world will be a potentially huge RPG. This trip is a bit about technology, but a lot more about psychology, sociology, economics and business, so I think it’s a must-see for everyone. Enjoy!

PS3 GamesE3 2010Guitar Hero 5

Bodyfat percentage with pictures

I think this is a great little article to help one understand what bodyfat percentages actually mean or “look like”. It also implicitly shows how low BF confers the muscular look many people are looking for. Check it out.

PS: thanks Serban for the link

The path from being able to program, to learning how to program

I found this post to be wonderfully insightful. Enjoy!

Communicating over the USB cable

For the eTegrity project I’m working on for my senior design, I needed the smartphone and the computer to communicate over a USB connection. This turned out to be an unusually difficult thing to figure out, but really simple otherwise.

Now, an important thing to note here is that it does require software to be installed on the host computer, specifically the adb tool from the Android SDK and of course the driver (this depends on your OS, see details here)

That being said, all you need to do is to activate port forwarding using adb. What this does is it maps a port on your local computer to a port on the smartphone. For example:

adb forward tcp:1234 tcp:1234

If it returns no message, it executed correctly, otherwise it could be that the port you specified cannot be binded on one of the two machines or some other issue (it will tell you). The link above is great for figuring out how to use adb, so just check it out.

Then, you can go ahead and implement regular sockets on both machines. For some reason, at least in my case the server socket had to be on the smartphone, all attempts to have it be on the computer failed. So put the server socket on the phone, client socket(s) on the computer and you’re all set.

Make sure when you implement the socket on the phone that your application specifies the “INTERNET” permission in its manifest. I know, you’re only trying to do a local network connection, but you need that to be able to open sockets.

I’ll try to post some sample code to go together with this explanation soon.

Notes:
- I am using a Windows XP SP 3 box and an HTC Hero phone (running Android 1.5)
- I believe that in Linux there is a simpler way of doing this, but I haven’t tested at all
- You do have to run the adb port forwarding command again after reboot
- Since 2.0 they introduced Bluetooth so you can just do the socket thing over Bluetooth directly without the adb stuff. Then again, not many devices out there running 2.0 right now as far as I know.

“This is our last dance. This is ourselves. Under pressure.”