Monday, March 31, 2008

Post VII…using ‘mash ups’ to save time & money

Recently, we launched a Google Maps ‘mashup’. It displays the classmates of the logged in user on a map with a photo and link to their NetCommunity profile. Steve MacLaughlin covered it in his blog so I’ll spare you the details, he’s better at talking about what we do than I am anyway.

This brings up a good topic for my blog though, the power of mashups. So what is a mashup? Usually people think of some custom map when they think of a mashup but basically a mashup is the integration of one or more ‘services’ from various vendor’s via some type of API to deliver a creative and unique product to your end user.

To put it simply, why would you try to create a photo gallery application when you can consume Flickr and Picasa’s API? Those guys are in the business of photo galleries and it would be stupid re-create the wheel they have perfected. Just use the API to integrate their functionality inside NetCommunity.


Google, Microsoft and Yahoo know their maps and they have built some very serious APIs and developer resources around their products. If that wasn’t reason enough it’s important to note that many of these companies have a very non-profit friendly pricing model, usually free, that makes the decision easy.


In the case of our mashup that Steve covered we actually used Google Maps, Microsoft MapPoint & the NetCommunity API to geoCode, build and populate a map of the classmates of the logged in user. This hybrid solution enabled us to deliver a very unique service to our alumni using data that only we have. We used APIs from 3 services and integrated them to promote our mission and we did it for next to no money and less than 20 hours worth of manpower.


Social networking services are another area where mashups are growing. It’s still early but in the future I see a situation where NetCommunity/Facebook/MySpace and other OpenSocial apps will be tightly integrated with each other creating a mega-social network where people can connect via their social networking medium of choice


So before you embark on a project check to see what’s out there. It’s very possible that there is some mashup solution that’ll help.


That’s it for this post…let me know if you have a topic you’d like me to discuss.

7 comments:

yellowlabrat said...

Hey Garrett,

The Google Maps mashup is a great idea and one I've been wanting to look into for a while. I had a few question for you about your app:

1) Did you limit the map(s) to only show alumni the other alumni in their specific class year, or open it up to show all alumni at the same time?

2) Are you only pulling back information that the user has flagged as "non-private" in BBNC?

3) You mentioned using MapPoint. How did you use that in creating the app?

4) Did you pinpoint alumni on the map based on an address that you feed into Google Maps, or is there a more accurate way to pinpoint location?

Thanks, and keep up the great work, as always!

- George

Garrett said...

1) We limit the map in contexts where it makes sense. If it's a map of classmates then it'll only show other classmates in that class year. We'll probably expand on that as we develop more uses for maps.

2) We exclude any constit that has their address marked private in BBNC

3) We're using the MapPoint to geocode all our constit records

4) Map locations are pinpointed by the lat/long (geocode) that comes from mappoint when we feed in their address.

yellowlabrat said...

Hi Garrett,

Another question for you:
How did you pull just the user's profile image into your map? I see a table in the BBNC database (ClientUserImages) that contains all images uploaded by the users, but I don't see a column in there that specifies whether this is his/her profile image.

Thanks,
George

Garrett said...

we use this URL
http://www.domain.com/NetCommunity/view.image?userid=""&catId=388&tsize=150 align="left"

and get userID from ClientUserImages

ClientUserID is their BBNC ID not their RE ID.

hope that helps :D

yellowlabrat said...

I see now. I guess I could've found that by going over to a profile page and seeing what the url was to that image. :O)

So, something that appears to be giving me trouble is that when I try to view a url like the one you are showing in IE, it works fine, but in Firefox, it just displays "Photo unavailable". I think this is the generic image for BBNC when it "doesn't work". Have you all noticed the same thing, or do you just standardize for IE?

Thanks,
George

Garrett said...

I don't have that problem in FireFox or IE at all. Both load up fine for me in either.
That Photo not available image only appears when that ID doesn't have a photo in the database.
I'd check the IDs to make sure they match in FireFox and IE.

yellowlabrat said...

I figured it out.
The problem was that I had to be logged into NetCommunity in that browser before being able to see the picture. At least we know the security is working! :O)