Tag Archives: Facebook

Google+_logo

Thoughts on Google+

A couple of days ago, one of my developers got me on Google+ (or do you write it Google Plus?) Anyways, it is pretty cool. New social network, yay. Kind of like Facebook, but not. More granularity on sharing to “groups” or circles out of the gate. Integrates nicely with some Google offerings.

Do I see it taking off? Well, if history repeats itself, I could say .. it depends.

First off, Google has bombed on social in recent years. Buzz? Wave? yeah, not too good. But they are adding all the pieces that other social networks have and now trying to integrate them (location, micro blogging, sharing, photos, etc, etc).

Second, Myspace is dead. Friendster is long gone. No one though Myspace would topple, but Facebook dethroned them. Can Google do the same thing to Facebook?

Hard to say, but at the current moment they have the best chance.



Windows Phone – Samsung Focus

Picked up a Samsung Focus yesterday, device only, no contract. Testing it out. Going to do some development and what not. More to come on this front, but after using it for the first few hours..

1. Can’t connect to hidden wifi networks.

If you have your wireless network hidden, you are out of luck, you need to have the SSID broadcast

2. Facebook Sync doesn’t work (or work well) when you have Facebook account settings set to HTTPS

I can see this happening right now as Facebook just turned that on recently and the phone doesn’t know how to handle, but it should.

3. It’s light.

Can hardly feel it in my pocket

4. I like the UI but seems very “jumpy”

seems like you bounce around a lot.

Other than that, still getting to know it. I haven’t moved my SIM card over yet (btw, the iPhone 4 is a mini SIM, so you need an adapter), but I might, we will see.




The New Hipster: Going Appless

Love the iPhone, really do. But I am pretty hardcode when it comes to apps and loading things and making it “work” hard. Every once in a while some rogue app goes off the wall and starts draining battery like crazy. Usually the only thing to do is restore phone. I have had to do this, and a few other people I know have see it as well. I don’t blame the iPhone, I blame the apps. Just like windows mobile, the apps were the problem :)

Anyways, this time, instead of restoring my phone from backup, I just let it stay “clean”. I decided to not install any apps for as long as I can. It has been 24 hours, so that says something :)

But what I am doing is going back to the iPhone roots, back to 2007. Web apps. Steve Jobs himself says it is their “other”, open, unrestricted platform they support, so let’s see what it can offer.

Facebook? touch.facebook.com
Twitter? m.twitter.com
Flickr? m.flickr.com
YouTube (the HTML5 version is better than the native app!) m.youtube.com
FourSquare/Gowalla? check.in
Reeder/Google Reader? google’s mobile formatted reader site works.
Other apps? openappmkt.com
IM? meebo has a pretty good web app.

Just like regular hipsters, that drink PBR, and lose the flavor and other added benefits of drinking a less “hip” beer, you have to give some things up.. such as..

Push Notifications – not sure yet if this is a good or bad thing to give up. The current implementation just seems to annoy anyways

Background/Streaming music (Pandora/Last.fm, etc) – I did find dance.fm has a HTML5 version or something that streams directly from a web page, so I could almost say others might follow suit. I also have iPod on the device so not to worried, I don’t listen to a helluva lot of music anyways.

What else? Not sure yet, we will see how long I last. One thing I can say, there are some games that are web apps that are pretty cool, but don’t come close to the native games … yet.

Of course I will probably start installing some apps eventually, and after a while I will be back to my old app going ways :)



Facebook Graph API – Getting Friends and Gender in C#

I recently blogged about the Facebook Graph API and if you have the Facebook C# SDK you can start making applications.

After I had my Facebook app set up, I started making a C# Console application to just get my friends and see what I could do. Here is a snippet to get my friends and their gender.

       string token = <YOUR TOKEN HERE>;
 
            Facebook.FacebookAPI api = new Facebook.FacebookAPI(token);
 
            JSONObject f = api.Get("/me/friends");
 
            KeyValuePair<String, JSONObject> friends = f.Dictionary.ElementAt(0);
 
 
            for (int i = 0; i < friends.Value.Array.Count(); i++)
            {
 
                Console.WriteLine("Friend #" + i.ToString());
 
                JSONObject friend = api.Get("/" + friends.Value.Array[i].Dictionary["id"].String);
 
                Console.WriteLine(friend.Dictionary["name"].String);
 
                try
                {
                    Console.WriteLine(friend.Dictionary["gender"].String);
                }
                catch(System.Collections.Generic.KeyNotFoundException knfe)
                {
                    Console.WriteLine("No Gender Specified");
                }
 
                Console.WriteLine();
            }
 
 
            Console.ReadLine();

There is a probably a better way to do this, but getting the JSONObject back and then getting the values you get back from that, I just kind of brute forced it. Also, handling friends that don’t have information set, the quick and dirty way was to just catch the exception. I know there has to be a better way but for now it works.



Fun with the Facebook Graph API

Lazy Sunday afternoon, so I decided to dig a bit into the Facebook Graph API. What is the FB Graph API? Well it allows you to create an application and use OAuth to connect and then get information about yourself and your friends and do things in Facebook using JSON objects and requests. Easy way to read/write from Facebook.

But, the kicker seems to be getting things started. To start, Facebook has documentation and links and wikis all over the place, so it is hard to get a handle on what you want or need to do.

First you need to create an application. Once you do that you need to set up some things so you can actually use Facebook data.

Once you have that done, you can see your apps here

You will want to take note of a few things and change some settings..First might be to put your app in “sandbox” mode:

Also, under “Authentication” you might want to change Authentication Callback URLs.. and then under “Connect” change your “Connect URL”, and you want it in form http://blah.com/

So to test your app and see what you can do, you need to know your

ApplicationId
API Key
Secret

now, you can make unauthenticated calls to the Graph API, try it..

https://graph.facebook.com/56011561

That’s me. You should be able to see public info on me (don’t try it in IE, it pukes.. Chrome it was working. You might need to be logged into FB)

Anyways, if you want your app to be able to get more than the “public” unauthorized view, you need to make some calls and get some access tokens..

First you need to get an “access code”

https://graph.facebook.com/oauth/authorize?client_id=<YOUR APP ID>&redirect_uri=<YOUR REDIRECT URL>&scope=user_photos,email,user_birthday,user_online_presence,offline_access,friends_birthday,friends_education_history,friends_hometown,friends_location,friends_relationships,friends_religion_politics,friends_likes,friends_interests,friends_groups

You can see in that URL, you have to supply your app id, and your redirect url. Keep it simple, your redirect url should be something like http://blah.com/ .. don’t have querystring params..

If you have things set up, facebook should authenticate you, and ask you to allow your app to have permissions to pretty much “EVERYTHING” on your profile and friends info. To see what “extended permissions” you can use, see here: http://developers.facebook.com/docs/authentication/permissions

You *should* get redirect to your redirect_url with a param in the url called code=

Grab that code, you will need it.

Now to get the access_token

https://graph.facebook.com/oauth/access_token?client_id=<YOUR APP ID>&redirect_uri=<YOUR REDIRECT URL>&client_secret=<YOUR API SECRET>&code=<CODE FROM STEP 1>

once you hit the above URL, with the code from step one you will get an access token

take that token, and then try

https://graph.facebook.com/me?access_token=<ACCESS_TOKEN>

you can also get your friends ids

https://graph.facebook.com/me/friends?access_token=<ACCESS_TOKEN>

Once you get your friends list, you can use their id’s and get info back from the graph.

If you get errors or did something wrong, you might have screwed up your first requests. There are sites and forums saying to add type=client_cred – don’t do that, it doesn’t work. It will give you a shorter access token, which doesn’t work.

Once you have all that working *MANUALLY*, then check out Facebook’s officall C# sdk for the graph – http://github.com/facebook/csharp-sdk

Basically then you can replace the access token there with your token and test things.

Then just tie it all together in an app so you can do it programatically, but that is for another blog post :)



Foursquare in Your Business

I don’t own a business. So let’s just get that out of the way. But as a Foursquare user, and someone who frequents many businesses.. how could you use Foursquare as a business owner?

First, above all, you can know what the heck foursquare is… check it out.. http://www.foursquare.com .. ok, did you find your business on there?

Anyways, some places give discounts for mayors.. awesome. 15% at the local coffee shop for me, yet an employee is the mayor. Against the rules for places that give deals.

What else can you do? Well, you can know who is coming to your place. You can say “shout blahhhhhh” for a cool new badge

You can do other cool deals, like, the 100th checkin gets this, or the 10th checkin today gets this. Sky is the limit.

Foursquare, Gowalla, Yelp, etc. If you own your local business, you should be on there and know WTF is going on. Facebook – you should already be there. If not, for shame. It is 2010.

Engage your customers. Give them something, even if it is recognition, if they are utilizing these location based social apps with your business.

Your patrons will thank you and spread the word for you. Through twitter/facebook, or just word of mouth, for you.




Bookmark Bar – Uber Micro Sharing

I use pretty much every browser. I switch between them depending on mood, system I am on, phase of the moon, etc. But there are some essential “bookmarklets” that I always want to use/set up.


There are a few things I wish I could tweak though. Like with Yammer, the ability to choose a group before it hits the page. Also with the Yammer bookmarklet there is about a 50/50 chance the URL/title wont come through so you have to do it manually.

With the Gmail This one, on Safari, it opens in a tab instead of a popup, and loading Gmail is kind of slow (IMHO) when you want to just write a mail from out of no where.

What bookmarklets do you use? Are you a share-a-holic?




Social Experiment: Purging Facebook “Friends”

So last night I decided it was time. Time to put and end to the madness, the quizzes, the nonsense, the “friends on my list that aren’t really my friends” game. What I decided to do was just… delete them all. Everyone. Then see how my “friend” list grows from there.

image

I think one thing as well, when I started Facebook, they didn’t have many of the features they do now. Friend lists were nonexistent, but they did have these “how do I know this person” feature, which now is subtly hidden or not even there at all.  What ensued was close to 500 people with no way to manage them. What if I want a picture album that only XYZ people can see? I need to create a list, but creating a list when you have no one in lists is a pain. Now I can create lists and when I add new friends I can add them to the lists then.

Also, the news feed. Filled with junk, or updates from people I don’t care about. Was getting sick of hiding people or updates, or quizzes, or whatever. I got to thinking, why do I have all these people on my friend list if I don’t care what they are updating? So I started to pair it down, remove people I don’t know, then people I haven’t talked to in real life, then people I haven’t talked to in years and when they got on FB they added me and I haven’t said anything to, then I said, well I will remove people I wouldn’t go have a beer with, then it just became a mess and I said whatever, I will remove everyone and start this experiment. Remove myself from all Groups and stop being a Fan of Sunshine, Campfires, and Not Having Swine Flu. 

After removing a few people I wrote on my wall that I was removing everyone, and before I was even done getting through the purge process (you have to delete one by one by the way. Facebook makes it easy to add friends, pain to remove more than one at a time) someone had added me back. Cool. Then I twittered it, and a couple of friends added me back. Nice. So that’s where I am at, and if I stay there, then cool, if I add friend back, well then at least I will have them categorized as I go.

It’s funny now with few friends, how bad Facebook is at telling me who I should be friends with. It wants me to be friends with everyone from SCSU because I graduated there in 2002. Not good. Wondering though if it doesn’t recommend people I have removed? Hard to say.

Sometimes spring cleaning is fun, starting at zero, new.



Twitter or Yammer?

Recently I have been using Yammer more often than Twitter, but they both have their place. You probably know what Twitter is as it has been going mainstream like crazy the last month or two. Yammer on the other hand is less known. Yammer is sort of like Twitter, but just for your organization.

What Yammer brings, besides being just internal to your place of work, are other enhancements. Groups, for one, is huge. I can create a group say for “Microsoft SQL Server”, and anyone on Yammer in my place of work can join that group and share, discuss, and consume anything from that group. Instead of me sending out emails from articles and tips, people can just subscribe to them.

Also, departments can create groups , private groups, to have discussions just within their dept.

Yammer also has an iPhone app, and a Adobe Air Desktop App (I think I heard TweetDeck integration soon if not already), and it uses SMS message as well if you want, and also you can get daily digest emails from your groups and people you follow.

I would suggest groups of employees that are on Twitter going back and forth, take a look at Yammer for internal needs. What I try to do is save anything for Twitter that is more applicable to everyone, and Yammer for things I just want to share with people I work with.

On that note as well, I separated out my Twitter and Facebook feeds, and am going to try to use Facebook for more non-technical status updates.

So,

Yammer = company/corporate/internal groups

Twitter = colleagues outside of the company, and people I find interesting in my same line of work, etc

Facebook = family, friends, etc



Blogging in 2009

I have been looking through some of my Google Analytics logs, and I really find it funny. The top 3 posts on my blog really don’t have anything to do with stuff I am really into, but they are more things that I did in my spare time and blogged about.

1) Linux on my Ps3
2) iSight Camera Drivers on Macbook/Parallels
3) Ruby on Rails and MySQL on Vista

So yeah, I don’t really do any of that stuff “full time”. Even looking back over my blog posts, and seeing how things have changed since 2004. Talking about ASP development, SQL 2000, ASP.NET, C#/VB.NET, C++, BI, Other tech stuff. Fun stuff.

Now that I am doing Business Intelligence full time, but in more of a manager role than a “doing” role, I usually don’t fall into crazy development debacles or solutions that require a “blog” to explain, or a “blog” to save the next sorry sucker who comes across the setup or crazy steps I had to take to get something to work.

That, coupled with Twitter, and Facebook, and Yammer, and whatever else, blogging takes a back seat. But I still think there is a good time and place for blogging. You make it what you make it. You can use it as log to look back on (I do, I search on stuff I blogged all the time, instead of having to remember it), or just a good way to keep people up on what you are doing, in more than 140 characters.

Where do things go from here? I am sure there tons of things coming down the pipeline that I will be blogging about. SQL 2008, Sharepoint, Excel Services, More BI stuff (SSIS, SSRS, SSAS), Cloud Computing, iPhone, Mobile, Gaming, just good old plain geekery. And don’t forget lil Ella, and music and much more.

I have mentioned before that my blogging has also changed dramatically since I started using Mac’s full time at home. It makes it tough to get a “full solution” into a blog post. I have tried with VM’s but I just get too distracted :)

I have found that I get more though, out of reading and just consuming as much info as I can. Books, eBooks, Blogs through Google Reader, Twitter, etc. Still subscribing to 250-300 blogs, the cream of the crop, and I add more every day, mostly BI blogs these days. Unsub’d from most of the .NET Dev blogs since I Just am not into that as much any more. Things like that. I’d rather learn more than just regurgitate or create some kind of “echo chamber” here.

Blogging in 2009 is much different than 2008, or 2004, or whenever, and I am sure it will evolve. It should be fun! and I hope to embrace the changes that will come in the upcoming years.