Pages

Thursday, January 5, 2012

Facebook C# development: then and now

I have overseen my fair share of web applications over the years. And I have increasingly dealt with API's and SDK's. Two years ago, when a project required Facebook integration, I lept at the idea. It was a fairly new platform at the time, and the thought of integrating the social element into traditional web development was irresistible. One month development time and three SDK's later, the site was up and running. Having figured out all the kinks and details and gotten a working example running, you become an expert at on the subject. My thread on Github was gaining popularity as I was easily identifying where others were getting stuck. Fast forward to end of 2011 and I found myself at another Facebook web application implementation. I dreaded revisiting the old code. Combining three SDK's for one application is far from elegant. As luck would have it, much progress has been made on a comprehensive Facebook C# SDK that did the job successfully on its own. The new application is much more stable and faster, and if I ever revisit it, I don't think I'll need much to understand it. Looking at the two instances, I can't help but wonder why Facebook still chooses to operate as a startup in such instances as their SDK's? Facebook has evolved to the point of transcending being a website, it has become a platform. I think or is about time it acted as such with all the responsibilities that come with it. I understand that one of the pillars of Facebook is crowd-sourcing, but I think the connecting avenues need more centralization and cohesiveness. I wonder in another two years would we still be talking about "integrating Facebook...", or will it be pre-baked into development platforms, or will we seize to require integration altogether?

Monday, August 1, 2011

If you build it they will come, and if they come they will build it



Smartphone apps can have interesting and practical features. Some find things for you, some look up things for you, some show you best... or worst.... and some harness the collective input of its users, aka cloud-sourcing. This weekend I got to see cloud-sourcing at its best and got to see the actual difference it makes when the data is there and it isn't. I'm talking about one app in particular, Waze.
I had used Waze before on my phone, but only around my home-base, Fresno California. This weekend I went to Orange County, where there is probably higher percentage of the population using smartphone, and obviously, Waze. The app comes alive, you see the advertised features actually in play instantly:
  • Estimated travel times on roads around you, automatically calculated from anyone running the app. And when there's enough people using it, such as in OC, you get instant and real-time useful traffic flow info.
  • Instant accident reporting, quicker than the local police or transit authorities which have to wait until someone reports the event, till they go out to inspect, and then report. People using the app at the scene report it instantly with a few clicks.
It was refreshing to see technical brainstorming and hypothetical features come to life in actual practical day-to-day use. The app gave the users the framework, and in return the crowd provides the data and consequently, the actual intended result from the app for the users, thus completing the circle.

Thursday, May 26, 2011

Analytics + QR Code = print traffic analysis

Synergy is often an accidental result. I had three conversations with different clients today. At the end of the day as I'm reviewing what was said, my mind connected the dots, and the result, synergy of technologies:

QR Codes.
By now everyone is familiar with QR codes, or 2D-barcodes (example on the right). They are the squared group of dots that you scan with your smartphone to open a link or download an app. Nowadays we see them more utilized in ads, flyers, even billboards;  to the point that the subject matter no longer has to be hi-tech. They are a useful tool in your "call to arms" to get your audience to go-to or download or buy

Web Analytics.
Websites rely on networks and data-flow between them. If configured correctly, your website traffic can be quantified and analyzed. We can produce insightful reports that tell us who visited our site, where did they come from, what's the popular geographic region... and other parameters.
Google Analytics URL Builder is a useful tool that helps us build on the analysis tools. It allows us to identify a particular click. We're able to label that click and consequently, measure it. I call it a "labeled link".

Marriage of Technologies
So if we have a flyer with a QR Code with a goal to introduce an idea and point the user to a website for more information or to take action. What if that QR Code's link was a "labeled link" that we can quantify? now we have a printed material that is physically in our users hands that we can accurately measure its response as if it is digital media. Synergy of technologies.

Thursday, May 5, 2011

Geotagging Photos

“Geo-tagging is the process of adding geographical identification metadata to various media such as photographs…” (source: wikipedia)
The problem:
you go on a hike or somewhere out in nature and take pictures with a camera instead of your cell phone because you want decent photos. However, you would like to geo-tag these photos so you would remember where they were taken.
I tried apps that let you mark a lat/long, but that just adds an extra thing to do every time I want to take a picture, who has time to do that when you’re on the go?
The solution:
Android phone + camera + few desktop apps = eureka!
and here’s how I did it:
  1. Sync the time on your smartphone and your camera before you start (I will explain later), doesn’t have to be to the second, but at least to the minute.
  2. Track your locations. I like to use Google’s My Tracks app. I’ve found it best to keep the default settings, trust Google. There are alternatives for iPhone, like EveryTrail
  3. When I’m back at my PC I export my track as a GPX file (which is really an XML file with lat, long, and time coordinates) and save it to my PC
  4. Download the pictures from your camera to your PC
  5. Matching the pictures to locations:
    I use a program called Grazer where I load the GPX file and select the folder with my pics and it matches the times stamp on the picture to the time stamp in the GPX file.
End result: geo-tagged photos taken by a real camera, not the inferior cameras on cell phones. That’s all it takes. I like to post my hikes online to EveryTrail’s website where it creates a map with my path and pictures I geotagged.

Friday, April 15, 2011

Taptu App Review

There seems to be more and more news aggregating apps out there. This is good news for an RSS fan such as myself. I came across an article comparing the various options out there. One of there top recommendations was Taptu. I tried the app and I'm uninstalling it as I write this. I configured all my feeds as is customary with sub apps. I expected the result to be a filtered combination of all my sources (ala my6sense), instead it was just rows of my feeds. No added value here, looks like I'm sticking with my6sense for now.

Friday, April 8, 2011

Install Joomla 1.5 on GoDaddy host

Since the release of Joomla 1.6 Godaddy has dropped the 1.5 install from its list of available applications for auto-install. Very unfortunate as Joomla 1.6 still has ways to go for all the extensions to catch-up.

However, GoDaddy redeemed themselves by offering a very detailed and easy to follow guide to manually installing Joomla 1.5 on their servers.

GoDaddy instructions: http://community.godaddy.com/help/article/6591

Tip: create a database and an FTP user for Joomla to use before, since GoDaddy sometimes takes a while to complete setup.

Thursday, April 7, 2011

Hotmail on iPhone, Android, iPad

If like me, you have used the automatic configuration of Hotmail on your Android/iPhone, and have come to hate Hotmail for it, then there is (finally) a proper solution for your Hotmail woes.
When I setup my email accounts on my Android, I followed the “add account” steps, which seemed to pickup the settings for Hotmail automatically. But what you get, is a sucky integration that doesn’t sync changes or read emails.
The breakthrough comes from configuring Hotmail with ActiveSync, as an Exchange account instead. When you do this, you get beautiful email integration and problem free.
Question is, in all the (almost) weekly updates from Hotmail and Microsoft’s Live team, how come they never mentioned it? why did I have to stumble across it while reading an article about iPads?
As usual, Microsoft doesn’t even mention that it works on Android, but I tried it and it does. Note to Microsoft:
Just cause a user has a phone from a competing platform, doesn’t mean they don’t use Microsoft services