Category: techblog

How do you manage your social media accounts?

(Cross posted from the W&M Creative Services Blog)

So there are a lot of products out there that claim to “help” you manage all of your social media accounts as well as any corporate/business accounts you may need to monitor and update for work. I primarily use TweetDeck for this purpose (TweetDeck handles Twitter, Facebook, Foursquare and LinkedIn). I really like TweetDeck since it combines all accounts into one place for writing and publishing updates. In addition, you can also view all of the status updates from Facebook, Twitter (either as a full stream or via Twitter lists), LinkedIn, and Foursquare, plus you can create custom columns for a particular Twitter search term(s). HootSuite does all of the above as well but TweetDeck has a desktop app in addition to their smartphone and web-based apps which I prefer to use as you can clear the status updates that you’ve already seen.

TweetDeck Screenshot

My desktop version of TweetDeck, with columns set up to monitor other folks in higher ed (via a personal Twitter list), W&M "official-ish" and "unofficial" Twitter lists, and a Twitter search for variations on "William & Mary"

The main thing to watch out for with any of these multi-account managing services is sending updates out from the right account. There has been more than one occasion where a wrong tweet has been sent from a brand/corporate account (see examples from Chrysler and the Red Cross). HootSuite has built in a bit of protection for this, pretty much asking “are you sure?” for each post.

TweekDeck has scheduling capabilities but in general I try to avoid scheduling too many tweets, I will only do it when I know I have a handful of things I want to mention that day and rather than have them all posted in a bunch I space them out to every few hours. Too many scheduled tweets, and not reacting to the conversations going on in real-time, makes your account seem less “human.”

So if you’re looking to go a bit farther than just checking your updates via the Twitter and Facebook websites every so often, TweetDeck would be my recommendation for both general management and for scheduling, and HootSuite is a close second for many of the same reasons (multi-account management, multi-column view, straightforward scheduling).

What’s your preferred way to monitor and update your social media channels?

-Tiffany Broadbent (@tb623)

More

Eight Foursquare resources for colleges and universities

Selected bits of this post are also cross-posted on the W&M Creative Services Blog

FoursquareWhile working with William & Mary’s Foursquare presence and from my personal use of Foursquare over the past year or so, I’ve collected a few links I’ve found particularly useful, ranging from explaining what Foursquare is to those unfamiliar with the site, to resources for folks in higher ed in particular:

  1. Foursquare 101 offers an excellent introduction of what Foursquare is and how it works courtesy of the About Foursquare blog (this blog also offers a lot of great info and tips, as well as the latest Foursquare news)
  2. The Foursquare Support site is a good starting point for more specific questions, from how to use Foursquare to etiquette to software issues, all this is info straight from the source.
  3. Official Foursquare for Universities page is the place to start to see how other schools are using Foursquare, benefits to using Foursquare on your campus, and to apply to have your school get a branded page.
  4. Getting started with Foursquare for colleges and universities is a great overview from About Foursquare for what to do to start up your campus’ Foursquare presence.
  5. Here’s why Dave Olsen from WVU thinks Foursquare can help your school
  6. Badges are quite popular on Foursquare and they’ve made a set just for colleges and universities (just make sure that the primary category for each venue is “College/University – <type of venue>,” otherwise checkins at these venues won’t go towards unlocking the college-themed badges).
  7. If you’re looking to flesh out some of your school’s venues with some photos (and you don’t want them to be ones just from your mobile phone), About Foursquare describes a nice way to upload photos from your desktop (a little programming knowledge is required).
  8. Working with all of William & Mary‘s venues I’ve spent a lot of time using a site called tidysquare. It will display, on a map, all the Foursquare venues for a given location, show you possible duplicates, as well as find venues with incomplete information. It’s a great place to start if you’re working to clean up your campus’ venues or just looking for a way to gauge how much of a Foursquare presence has been established in your area.
Super what?

So one of the things I think is really cool (and smart) about Foursquare is that they crowdsource the maintenance of their venues. Folks known as “superusers” are given permission to update and add information to the various venues in an effort to keep the data as accurate as possible. There are three levels of superusers, ranging from 1 (the lowest) to 3 (the highest), and Foursquare just opened things up yesterday so that anyone can apply to become a superuser (as long as you promise to use your powers for good). I had been a “Level 1 Superuser” courtesy of all the work I’ve done with William & Mary’s Foursquare presence but, being the geek I am, I applied to be upgraded yesterday to a Level 2 Superuser. The whole thing really appeals to my super-organized side so I’m excited to appease that and help out the larger Foursquare community at the same time 🙂

So after all that I encourage you to create a Foursquare profile for your school or organization if you don’t have one already, claim venues around your campus, add new venues, offer tips to share some insider knowledge about your area, and find out all the new places this location-based stuff can take you.

More

Full-screen video playback for Android

AndroidSo you want to have video playback in your Android app? This is pretty straightforward to do once you know what you’re looking for and, aside from a few (rather tedious to figure out) small snags which I’ll go into later, can be completed relatively quickly.

What we wanted to do for W&M’s Dress the Griffin app was, when a button was pressed, open a video fullscreen, automatically play it, and when the video completes, return to the previous screen. It took me a while to find the correct Android widget to use, but once I did, things were pretty straightforward (I went off-track for a bit trying to get a MediaPlayer to work, but it turns out there’s a VideoView explicitly for doing what I was looking to accomplish).

The two main files you’ll need for a full-screen video player are a new Activity class that will create a VideoView and set it as the main content view until the video playback has completed:

package yourpkg;

import android.app.Activity;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.net.Uri;
import android.os.Bundle;
import android.widget.VideoView;

public class VideoPlayer extends Activity
   implements OnCompletionListener {

	private VideoView mVideoView;

	@Override
	public void onCreate(Bundle b) {
		super.onCreate(b);
		// Bring the video player to the front
		setContentView(R.layout.videoplayer);
		// Get a handle on the VideoView
		mVideoView =
			(VideoView)findViewById(R.id.surfacevideoview);
		// Load in the video file
		mVideoView.setVideoURI(
			Uri.parse("android.resource://yourpkg/raw/videoname"));
		// Handle when the video finishes playing
		mVideoView.setOnCompletionListener(this);
		// Start playing the video
		mVideoView.start();
	}

	@Override
	public void onCompletion(MediaPlayer mp) {
		// The video has finished, return from this activity
		finish();
	}
}

And a layout XML file to show your video fullscreen:

<?xml version="1.0" encoding="utf-8"?>
<!-- Create a full-screen layout
	The video I'm playing back is portrait/vertical so
	set the orientation accordingly.
-->
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

<!-- Create a full-screen VideoView -->
    <VideoView
        android:id="@+id/surfacevideoview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
    />

</LinearLayout>

Once these are set up you are pretty much ready to go, all you’ll need to do is start the video playback activity, spurred by a button press or something similar:

Intent videoPlaybackActivity =
	new Intent(v.getContext(), VideoPlayer.class);
startActivity(videoPlaybackActivity);

and you’re off.

The three main things you have to be aware of are file size, aspect ratio, and video encoding.

File Size: Try and make your video the smallest file size and lowest resolution that you can tolerate, since this will be played back on a myriad of devices with a wide range of memory limitations.

Aspect Ratio: Keep in mind your video will be letterboxed to fit the screen dimensions of each device, so make sure you can handle the smallest size and screen density that you can (depending on what devices you plan on supporting). For more about supporting multiple screen sizes the Android documentation offers a pretty nice overview.

Video Encoding: This caused me more problems than anything else. I was presented with a lot of “Sorry this video cannot be played” messages, blank screens that would immediately kick back to the main screen, or blank screens that would only play the audio and not the video on my way to finding the correct video encoding (and all of those symptoms are frequently, if not exclusively, caused by incorrect video encoding).

The Android documentation’s list of supported media formats was a good start, but even when I thought I had the correct encoding I was still having major issues with playback. Luckily a great open-source multi-platform video transcoder app called Handbrake came to the rescue. After tweaking seemingly every possible combination of controls in Handbrake I ended up back on what was essentially the “iPhone and iPod Touch” preset. So here are the video export settings for Handbrake that worked for me for video playback for Android:

  • MP4 format (so end up with a .m4v file)
  • MPEG-4 video codec (with “constant quality” setting QP 14)
  • AAC audio codec, 128 kbps

The only change from the “iPhone and iPod Touch” preset is that the video codec is changed from H.264 to MPEG-4. This tweak wasn’t really intuitive from the documentation (which made it seem like either H.264 or MPEG-4 should’ve been fine) but this is what ultimately worked for me.

Happy full-screen video playing!

More

Image placeholders for your website mockups

This is a nice way to ease into the week (courtesy of an afternoon article in NetTuts+). Rather than using boring solid-color boxes as placeholders in your website mockups here are two (cute!) alternatives: placekitten (my personal preference) and PlaceDog. For either one you just put your image dimensions (width & height in pixels) after their URL and you’ll get a placeholder image (so something like: http://placekitten.com/200/160)

PlaceKitten Sample

PlaceKitten Sample (200x160)

PlaceDog Sample

PlaceDog Sample (200x160)

Or for a slightly more serious version, you can pull themed images (based on tags) from Flickr with flickholdr.com
FlickHoldr Sample

FlickHoldr Sample (200x160, ocean)

More

An introduction to blogs, Twitter, and Facebook

Below is a post I wrote for Bethel United Methodist Church’s blog. I grew up going to Bethel and now I maintain their website and Google Apps account. Many of the “new technologies” the past few years have become commonplace with some members of the church, but other folks aren’t familiar with all the different social media outlets, or how they can be used, so this is my overview of a few of these (blogs, Facebook and Twitter).


What is all this “social media” stuff anyway?

Bethel Church has been “online” for over 10 years with our website. We’ve recently begun to venture into the technology front even further with email mailing lists and having the second service every Sunday available to watch live online. All of these services are great, and will continue to be used here at the church, however a new type of communication has also begun to emerge that can supplement our current communications.

Over the past few years, we have been presented with a lot of new information courtesy of what is known as “social media”, which includes things like blogs, Facebook, and Twitter (for detailed descriptions of each, please see the appropriate section below). At their core, all of these things are websites that provide people and businesses with a place to share their thoughts and interests online. These websites disseminate information, whether it be a personal account of someone’s latest vacation, or the promotion of an upcoming event at a restaurant and they each foster communities of their own, spurring discussions and comments on what people have shared.

So why am I blogging about this? At my job in Creative Services at the College of William & Mary I work daily with the technologies I mentioned above, we use these social media outlets to share the mission of the College with our community and the general public. Additionally, I have been using these social media sites personally for quite a while. Since I am in Williamsburg, but still want to help out my home church, I volunteer to run and update our website and now I’m starting to explore our church’s presence on social media and determine how we can utilize it to the best of its capabilities.

How can we use it?

The church has had a website for many years, way before any of these social media sites were around, and Facebook, blogs and Twitter are the next step in our “online presence.” The content shared via social media should supplement, not replace, what is currently offered on our main website.

Since not everyone who is interested in coming to church is able to attend in person, offering a virtual community where folks can learn about our church is a great outreach tool. Through our interactions with each other on these sites we offer a glimpse of the welcoming and loving atmosphere that we strive to offer.

Venturing into these new forms of communication also helps us to keep the church community vibrant with new members, as this is another avenue to explain and explore what we do. With over 500 million users on Facebook, 190 million on Twitter, and an unlimited audience for the blog, this is a huge community of people with whom we can communicate. When you share something on Facebook about the church, it goes to all of your friends (by appearing on their Facebook wall). If your friends find it interesting they will share it with their friends and so on; with just one post we have been able to reach hundreds, even thousands, of people.

Facebook and Twitter are also a great way to provide quick updates within our community. If it’s decided the church is closing due to inclement weather, or we want to remind everyone about the UMW breakfast coming up, you will find out that information as soon as it is released, since you can receive updates from Twitter and Facebook on your mobile phones as well as on your computer.

What are they?

Blogs

In the case of blogs, like this one, the author writes an entry, known as a “post,” explaining their thoughts on a topic (the term “blog” came from combining the word “web log”). The readers of the post can then share their thoughts by leaving comments, which can spark further discussion and ideas.

There are blogs and blogging communities for just about every topic and interest, and the way that you can keep up with the latest posts on a blog is using what is called “RSS” (which stands for Real Simple Syndication). What RSS allows you to do is to be automatically notified when a new post is made available on a blog, you find out about these new posts by “subscribing” to that blog’s RSS feed.

There are many different ways to receive the notifications of the new posts, most popular is what’s called an “RSS reader”, that acts as your own personal customized newspaper and pulls together all the RSS feeds from all the blogs that you have subscribed to and presents them to you in one place. Popular RSS Readers include Google Reader, iGoogle, FeedDemon, and Bloglines.

Facebook

Facebook is the most popular and wide-spread of the social media “platforms”. With Facebook, a person creates an online profile and can indicate other profiles on Facebook that belong to their friends and connect with that person by “friending” them. Facebook users can share photos, videos, website links, and more on their profile and that activity will show up on their friends “Facebook Wall” amongst activity from all the other person’s friends.

Businesses, community organizations and non-profits may also create online profiles, but since they are not tied with a particular person they are known as “fan pages” and other users of Facebook can indicate that they support that organization by “liking” the page. Organizations with a fan page communicate with their fans by posting status updates, photos, videos, etc. just like a personal profile, and these updates will show up on the “Wall” of anyone who likes the page. Fan pages can serve as a community-based supplement to an organization’s website. We just started a fan page for the church this weekend.

Facebook also offers what are known as “Facebook Groups”, which are like “clubs” in the real world, they require you to “join” and then members of that group can interact directly with each other. Any activity on the group’s “wall” comes from individual members, and communications within the group are done with Facebook messages. Groups are best for small-scale, personal interactions. Our church Facebook group has been around for over two years.

Twitter

Twitter is similar to blogging, however each of the posts from a person is limited to 140 characters and these posts are automatically shared with other Twitter users who “follow” them. When people post on their Twitter account it is known as “tweeting,” these little posts (called “tweets”) can range in topic from what the person had for breakfast, to their opinion on the latest news story, or, if the account is a company, advertising a last-minute sale. Twitter has become the fastest way for news to travel, as “tweeting” can easily be done using a mobile phone. We’ve just started a church Twitter account as well.

More

Programmatically taking a screenshot of your app in iOS

Dress the Griffin on the iPadFor William & Mary’s Dress the Griffin app we offer the option to save the Griffin’s current outfit as an image to the iOS device’s photo album (which can then be shared via email or various social media outlets). I had a hard time finding a place that outlined these steps clearly, so here is the rundown of what needs to be done to programmatically save a full screen screenshot of your iOS app to the user’s photo album.

/* Action taken when the "Save" button (saveAsImageButton) is pressed in the app */
- (IBAction)saveScreenshot {

   // Define the dimensions of the screenshot you want to take (the entire screen in this case)
   CGSize size =  [[UIScreen mainScreen] bounds].size;

   // Create the screenshot
   UIGraphicsBeginImageContext(size);
   // Put everything in the current view into the screenshot
   [[self.view layer] renderInContext:UIGraphicsGetCurrentContext()];
   // Save the current image context info into a UIImage
   UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
   UIGraphicsEndImageContext();

   // Save the screenshot to the device's photo album
   UIImageWriteToSavedPhotosAlbum(newImage, self,
      @selector(image:didFinishSavingWithError:contextInfo:), nil);
}

// callback for UIImageWriteToSavedPhotosAlbum
- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo {

   if (error) {
       // Handle if the image could not be saved to the photo album
   }
   else {
      // The save was successful and all is well
   }
}

Note: The bulk of these functions are out of Apple’s UIKit framework so check out their documentation for even more information.

More

Hello world!

Hello World Toast by oskay on Flickr

hello, world by oskay on Flickr

Yes, it’s the quintessential and probably overused “first test post”, but appropriate for a technically inclined blog, don’t you think? 😉

I already have a personal blog where I post stuff (albeit, sporadically) on my travels, photography, and food, but I wanted a central place to write down all the random tidbits I’ve found useful in my work as a Web Programmer at the College of William & Mary, as well as a place to share articles from around the web that I think are useful in some way or another related to web development, social media, higher ed, and mobile apps.

If there’s something you’d like to see here or find out more info on, please let me know!

Here we go…

 

More