.go.ahead.and.search.
.i'm.social.

Entries in developer (2)

Wednesday
Jul212010

Want to customize Google Apps a bit more? Add links!

When we started looking at Google Apps for our domain there was one thing that stood out that always irked me.  There was very little space for domain wide customization.  Sure, Google is working on making it easier with a new user management tool, widgets, etc but something as simple as quick links to our other services were no where to be found.  After searching high and low, I came up with this solution and I hope it can help you out too.

The very first link we wanted in Google Apps was one to Postini, one of Google's own services for anti-spam.  It's no where to be found in the web interface and yet people need access to it every day.  This is where a bit of hacking came into play.  I popped over to the Apps Marketplace (Google's new playground for third party developers).  I paid the $100 to publish an app and began working on my non-app-app -- I'll explain that in a bit.

Go ahead and login to the marketplace and get over to your Vendor Profile so you can "Create a new listing".  Make sure "My product may be directly installed into Google Apps domain" is checked off.

Choose a category (it doesn't matter which one), fill in a name, a summary and a full overview (again, these don't matter either) and put something into the "Pricing Summary" box.  I typed, "It's free because it's mine" but you can enter anything you want.

Next it where the real process happens.  Copy the code below into the "Manifest" box:

 <?xml version="1.0" encoding="UTF-8" ?>
<ApplicationManifest xmlns="http://schemas.google.com/ApplicationManifest/2009">

  <!-- Support info to show in the marketplace & control panel -->
  <Support>
    <!-- URL for application configuration, accessed from the app settings page in the control panel -->
    <Link rel="manage" href="http://www.example.com/google/admin.php?domain=${DOMAIN_NAME}" />
    <!-- URL explaining how customers get support. -->
    <Link rel="support" href="http://www.example.com/google/support.php" />
    <!-- URL that is displayed to admins during the deletion process, to specify policies such as data retention, how to claim accounts, etc. -->
    <Link rel="deletion-policy" href="http://www.example.com/google/deletion-policy.php" /> 
  </Support>
  <!-- Name and description pulled from message bundles -->
  <Name>Links - LiveMeeting</Name>
  <Description>A simple application for testing the marketplace</Description>
  <!-- Show this link in Google's universal navigation for all users -->
  <Extension id="navLink" type="link">
    <Name> ✮ Some Cool App Here</Name>
    <Url>https://www.somerandomapp.com/someotherdir/</Url>
  </Extension>
  <!-- Declare our OpenID realm so our app is white listed -->
  <Extension id="realm" type="openIdRealm">
    <Url>http://www.example.com</Url>
  </Extension>
</ApplicationManifest>
There are only two areas you need to be concerned about for our purposes.  The first <Name> to </Name> section is what shows up in the Google Apps admin panel.  I recommend calling it something that you'll remember later.
The second area, <Extension id=navLink" type="link"> is where you fill out what you'd like to show up to your users in the Global Navigation bar in Google Apps.  Just fill in the values you want.
Finally, hit "Save and Preview".  You should be taken to the "Review your listing" page.  There's no need to publish it (The big GOOG will reject it anyway) but instead click on "Add it now" on the right hand side of the page and enter your Google Apps domain.
Follow the steps to add it to your domain, click through any approvals and make sure you you click to activate any licenses (sometimes it pops up with an error, just try again) until you see three green check marks in your admin panel.
And then you're all set.  It takes about 15 minutes for them to show up for your users but you should see links (as you see in the screen shot at the top of this post) that your users can now click.  You can add as many as you'd like (at least I haven't hit a limit) and they always show up in alphabetical order.
Let me know if this helps you out with your Google Apps roll outs and if you have any other cool tips or tricks to share, leave them here in the comments for others to try out.

 

Wednesday
Jun162010

A real win for FourSquare (and other location based services)

As I was browsing the web, FourSquare, Twitter, Facebook, my email, my feedreader and countless other online repositories of information that interest me it struck me that many of these services are so far from being useful it's crazy.

The web (in other words, Google) knows what I like to browse in my free time.  They already show me ads that pertain to my searches but they should be offering me actual information around my history and even my future search requests.  Twitter and Facebook know who my friends are and what they're doing so I should get prompted to go to every tech and/or foodie event.  But what about services like FourSquare or Gowalla?  What can they offer that no one else does?

Sure, the obvious thing is connecting me to what's happening now.  Knowing that I'm visiting a certain area of a city means that I may want to check out the hippest networking event.  But using FourSquare to route (or terminate) my calls is pretty darn cool.  With the launch of OpenVBX from Twilio this is now possible and Andrew Watson has already made a plugin that does just that.

If you haven't heard of OpenVBX yet it's "a web-based open source phone system for business".  While I agree that it can be used by businesses to do some awesome things, the FourSquare plugin just makes so much sense for personal use.  I can now tell my phone number where I'm at, automagically, whenever I check in on FourSquare.  I can let it know that when I'm at the office I want my calls at my desk, when I check in at lunch I want my calls sent straight to voicemail and when I get home at night I'd like them to hit my house phone (if I owned one).

I guess that people will take this one step further by automatically adding their business partner's number to their call list when they are in close proximity to each other just in case their battery dies. Or send a text back to the caller if they're at a club letting the person at the other end know that they clearly can't hear them but a text would work.

While location based services are a great, fun tool to use to track your friends, earn badges and get free drinks (thanks PYT), it's these types of innovative ideas that will let them cross from the 1.5 million user mark to the 1.5 billion user mark (and the corporate world).  And that would be a real win for FourSquare or any other location service.