Category: Social Applications

Ask the readers: How do you keep DRY when exposing your Rails apps to iGoogle?

My most recent Pathfinder project calls for a pretty typical Ruby on Rails web application with two interesting additional components: a Facebook application and an iGoogle gadget. Though a Rails Facebook plugin was easy to find, Rails development tools for iGoogle weren't as thick on the ground.

First, a bit of background: iGoogle, Google's personalized-homepage service, offers developers two methods of application development:

  • build a native gadget by wrapping custom HTML, CSS and JavaScript in an XML wrapper.
  • build a sandboxed gadget by wrapping an externally hosted web application in an iframe.

Because of cross-domain security issues, gadgets that require authentication must be built using the iframe sandbox method. As it turns out, this method's a lot easier. Instead of building a whole new interface, you can just tart up your existing app with an iGoogle-optimized user interface. Why replicate your existing view logic with a bunch of iGoogle-specific JavaScript when you can just reskin and call it a day?

As it turns out, though, reskinning a Rails app for iGoogle isn't as simple as it might seem at first glance. I can think of three options. All have drawbacks:

Continue reading »

Web Video Players – The Good the Bad and the Ugly

As I'm sure most of you do, I am spending more and more time online watching video.  So I thought I would take some time and rate the various video players I use on a frequent basis.
I'm using a 10 point scale, and I'm rating based on a both functionality and visual look and feel.

ESPN.com 7 out of 10
Fairly simple, two color, semi transparent control bar, appears only when moused over--a design pattern I'm seeing more and more lately.  It's there when you need it, it shows you what you want and it gets out of the way quickly.  It's got a single play/pause button, a timer, a playback countdown, a volume control which displays only on mouseover, reducing clutter, and a menu which when clicked brings up some additional options for embedding sharing and the like.  A nice touch: Mouse over any point on the timer and you get a little tooltip that displays the time at that point.  Another nice touch: the small (no morethan 10 pixels vertical) bar at the bottom which displays how much has already played as a portion of the total.

Youtube 7 out of 10
Gets the job done.  Period.  Simple consistent interface.  Youtube also allows publishers to add annotations and captions to their videos, and naturally allows viewers to turn either on or off, with a simple hover menu at the very right side of the control bar.  Youtube is actually doing some really cool stuff to allow publishers to make their videos more interactive, including adding hyperlinks within a movie.  The evolution of online video will be interesting to watch (and maybe take part in) but that discussion is beyond the scope of this post.

NYtimes.com 6 out of 10
Elegant interface, but could be better.  The control bar stays present throughout the video playback, and occupies a significant portion of the total video player.  However its muted style--3 shades of grey--makes it easily ignored when not needed.  The playback control is done superbly.  When moused over, a small draggable button smoothly and elegantly appears, it's affordance as a scroll mechanism to move to any point in the video is crystal clear.  The volume control is nice and large, with the same measure of affordance, however it looks like it was designed separately, as it doesn't conform to the rest
of the control bar's aesthetic.  Also, I may be nit-picky, and I'm sure this won't bother 99% of nytimes.com viewers, but there's a large empty space in between the play button on the left, and the full screen button
on the right, creating an odd asymmetry which, the more I look at it, the more it bothers me.

MTV.com 6 out of 10
Nice minimalist design.  Allows you to change the video quality during playback.  Also nice, allows you to choose from 3 sizes; standard, large and full screen.

Viddler.com 6 out of 10
Lets the video publisher skin the player interface.  This great tools allows users to comment on and tag the video in the timeline.  The interface is ugly, though, and some of the buttons aren't self explanatory, nor do any of the buttons have tooltips.  At the end of the current video it automatically plays the next video, whereas most other players present a menu of videos to choose from.

MSNBC.com 5 out of 10
Slick looking.  I like the fact that the playback bar is given the entire width of the video, allowing the viewer to be more precise in navigating to a specific point in the video.  The other controls are slightly confusing.  It looks like the interface was over designed.

Virb.com 5 out of 10

Beautifully minimalist design.  No full screen mode, but it does have a cool feature that "turns off the lights" on the rest of the page.
Facebook 5 out of 10
Fairly simple interface.  Standard controls, done adequately.  Its got none of the useful social media features of Youtube. No ability to tag or comment in the timeline.  Pretty basic for such an important part of such an important website.

Metacafe 3 out of 10
Poorly designed.  It's distracting when trying to watch video, and ugly to look at when interacting with.  The big blue shiny play and stop buttons look unprofessional, and why is there even a stop button.  The draggable playback scroll mechanism moves from left to right as the video plays, but it could have been made much more subtle.   There's no need to see it unless you want to move navigate the video.  And why does the entire playback bar glow when I mouse over it?  Also not cool is the visually loud menu underneath the control bar.

As with any list, much o this is subjective.  I'm looking forward to hearing your opinions.  Also, there are so many web video players out there, this is just the tip of the iceberg.  Let me know which ones you find especially appealing, or truly horrible.

Topics:

Category and UI changes on Pathfinder blogs

If you read one or more of the Pathfinder blogs in our web interface, you may have noticed some tweaks to our navigation and top-level categories. Our goal in making these changes was to help different audiences drill down to the specific content that interests them. Instead of just a few top-level categories, we now boast around 20, though many posts appear in multiple categories. To subscribe via RSS to any specific category - or to our entire feed - just visit our Feeds page.

Topics:

GWT, Gadgets and OpenSocial, Part 2

Note: It is assumed that you know your way around GWT and Eclipse for purposes of this tutorial.

While developing OpenSocial applications can be a bit tricky, getting set up to develop can be a real pain in the neck. For this installment of OpenSocial and GWT, I'm going to go through the basics of setting up a simple Hello World gadget with iGoogle. We'll get into the details of signing up for other OpenSocial containers, testing, and so on, later. Right now we're just going to do the basics.

So, what do you need to build a Google Gadget with GWT for iGoogle? You need the following:

  1. The Google Web Toolkit
  2. The GWT Google Gadget API
  3. An account on iGoogle
  4. Access to the iGoogle sandbox
  5. Some public server space so you can serve up your gadget to iGoogle

Continue reading »

GWT, Gadgets and OpenSocial

I've been developing with GWT, OpenSocial and Orkut, using the gwt-google-apis project on Google Code (specifically the gadgets subproject). It's a nice enough api that makes it relatively painless to build gadgets in GWT.

This is a bit different from Didier's gOpenSocial library, which was an early success at building OpenSocial gadgets with GWT. But the google gadget library isn't really quite ready for OpenSocial. I've skinned my knee here and there, so I thought I'd give others the benefit of my experience.

So, first thing, how the heck do I get GWT to generate the

line into my manifest?

Continue reading »

Getting things done with Flock and Meebo

Screenshot of Flock and Meebo

During a recent GTD weekly review, I suddenly realized how many distractions had worked their way into my daily office routine: personal email, personal instant messaging, entertainment feeds, Facebook. I suspect such time-wasters pose a bigger danger to web developers than to other professionals, if only because the programs they run in are so central to our work. I run Firefox for web development, Adium for instant messaging, and NetNewsWire for industry news all day out of necessity. If I allow my personal distractions to jump out at me from those programs, my productivity plummets.

This weekend, I worked hard to de-tangle my professional and personal lives. My tools? Flock, the Mozilla-based "social browser," and Meebo, the browser-based IM aggregation service. My goal was to separate all personal bookmarks and RSS feeds from NetNewsWire and Firefox into Flock, then move all my personal IM accounts from Adium to Meebo. The end result was a self-imposed firewall between productive time and fun time. (Thanks to many a Lifehacker article for the basic idea, if not the implementation.)

Continue reading »

Big Changes Underway at LinkedIn for Groups

LinkedIn has made several significant changes along the way. The changes that are underway now are in regard to Groups. In the past, members have been able to join as many groups as they want. I’ve found it’s a great way to reach out to people and explore areas of common interest, since the group logos generally appear on your profile. If you are logged in, when you view someone else’s profile it shows you the groups you have in common with that person.

The changes underway with groups have some positive and negative attributes. First, as a negative, LinkedIn is imposing a cap of 50 groups that any member can belong to. Changes have already started but effective 9/12/2008 if you haven’t already reduced the number of groups down to 50 LinkedIn will do it for you based on the sequence of when you originally joined various groups. While 50 may sound like a lot to some people, I was in 1,351 groups and deciding which groups to keep has been difficult, especially since I initiated and sponsored over 10 groups myself.

On the positive side groups will now have the ability within LinkedIn to support discussion groups, blogs. That means for a lot of groups you won’t need a Yahoo Group or something akin to that as a base and although the feature set may be more limited you’ll have tighter integration. Another negative is that LinkedIn could ultimately control your group since they control membership in LinkedIn. Stay tuned for updates as to how this is progressing.

If you haven't experienced what's available in terms of groups from LinkedIn, here's a way to check it out. Groups are free to join and when you perform a LinkedIn search, you can specifically search within specific groups. Support Chicago’s 2016 Olympic bid by clicking the link below and Joining the Chicago 2016 LinkedIn Supporters Group:
http://www.linkedin.com/e/gis/54811

Getting Started with Facebooker

Developing for the Facebook platform can be a big headache, and on Rails your headaches are unfortunately compounded from the get-go. While the otherwise-inferior PHP users get an API library from the Facebook development team (I'm kidding, I love you PHP guys), on Rails we have to deal with gems that aren't even at version 1.0 yet. While Facebooker is quite good at this point, its documentation covers a rather sparse selection of its impressive feature set, and RFacebook, which is better documented, hasn't been updated in aeons and is way more difficult to use besides. And unfortunately the standard Facebooker tutorial doesn't include the newest features from the recent Facebook profile overhaul or even all the necessary steps to get a new Rails application running on Facebook. So, enter Josh.

In this blog post I'll tell you the best way to integrate Facebooker into a new Rails project so you can start developing social networking applications quickly and easily, and how to hook them in to Facebook's new profile plan. The goal is that by the end of this post you'll have a totally working Facebooker Rails application and you'll understand how to develop in it at least a little bit.

Continue reading »

Google Health and the Changing Landscape of Healthcare Analytics

Google is at it again. Entire industries have sprung up around their search engine, adwords/adsense universe, and now they are set to do the same thing with healthcare data.

One of the major barriers to entry for companies offering services around processing healthcare data has been access to data. Who has the data? Typically the insurance companies. At least they have it in the kind of quantities that makes doing serious data analysis worthwhile. Managed care organizations are in second place, but from there you get to piddling amounts quickly. As you move from the heavily consolidated payer end of the industry to the heavily fragmented provider end, the comprehensive data view of the patient is balkanized to the point of uselessness.

This data problem even effects the valuation of companies. I've seen healthcare analytics companies that provide services to hospitals and clinics valued at less than $10 million, while another company that provides the exact same services to insurance firms is valued at ten times that price. Here, as in all things, follow the money.
Continue reading »

Chicago Front-End Web Developers group forms on LinkedIn

LinkedIn logo

LinkedIn's Groups feature hasn't quite reached maturity yet, but my friend and occasional colleague Zack Frazier hasn't let that get in his way. Zack recently launched the Chicago Front-End Web Developers group as a way to help UI specialists network and connect.

According to their site, the LinkedIn folks are apparently hard at work making Groups more useful:

The groups directory is not currently open. We are working on creating a searchable directory for all groups. If there are groups you wish to join, you may click on the group logo from the profile of a group member and request to join.

LinkedIn groups

In the meantime, you can join Chicago Front-End Web Developers using this direct link. Joining allows you to put your loyalties on display to prospective contacts (see screenshot).

UI folks, stand and be counted!

Facebook apps: Not too late to compete on the user experience front

Despite the hype, Facebook's a frontier rather than an established metropolis. There's still room to ride into town on a white horse and save the day, earning yourself a healthy reward in the process. Exhibit A? The so-so user interface standards of the social network's most popular applications.

Scrabulous

I recently, belatedly started playing Scrabulous with various friends and I'm shocked at the just-okayness of its UI. The lack of an on-screen legend for the mechanics of the variously shaded bonus squares? Puzzling. The drag-and-drop interface for shuffling tiles around in your tray? Maddeningly persnickety. The mismatch between the word lookup feature, which uses thefreedictionary.com, and the application's own, internal whitelist of valid words? A real bummer.

Scrabulous provides an adequate ripoff of a venerable and justly loved board game. But the rough edges of its user experience suggest that Facebook still has plenty of room for folks who know how to polish a UI till it gleams. Sure, first-to-market advantage gets magnified on social networks. But as these new application platforms mature, I'm convinced user experience design can provide a compelling means of product differentiation.

Topics: , ,

Web 2.0 Expo keynotes

The Future of the Internet and How to Stop It I spent a lot of time at Web 2.0 Expo session-hopping - and a lot more time hanging in the speaker's lounge fine-tuning my own talk. That's the curse of going on the last day. You can't fully enjoy the rest of the conference. That said, I had pretty strong reactions to some of the keynotes. The big platform announcements from Microsoft (Live Mesh) and Yahoo (SearchMonkey plus), were OK, but I was most struck by author Jonathan Zittrain and Mozilla exec Mitchell Baker.

Continue reading »

Topics:

“Crowds can be wise, but they can also be destructive” – Annalee Newitz on social media censorship at Web 2.0 Expo

Given my previously professed obsession with sci-fi blog io9, I had to check out the Web 2.0 Expo session hosted by its editrix, Annalee Newitz. User Generated Censorship tackled the ways in which community policing and content flagging can damage the value of social networks.

Using case studies from Blogger, Flickr, YouTube, Digg and Wikipedia, Newitz explored the various ways in which user-generated content can be flagged by community members and summarily banished to the void. She harshed on services - Blogger, Flickr, Digg - with poor transparency into their processes and insufficient recourse for those flagged. She also showed the love to services - Wikipedia, YouTube - with more complex, detailed and "byzantine" rules for flagging content.

Her logic? Such complex rules force would-be community censors to get specific about why they're flagging particular items. Wikipedia, for instance, offers seven different directives for its content. To flag content for removal, users must cite the specific directives that have been violated. Lots of discussion ensues.

Annalee_newitz_2

Continue reading »

Facebook Application Logistics for Team Development

facehome.jpg

Facebook is a unique platform for application development -- Facebook applications have a powerful API, a large user base, and low barrier to entry. With the Rails Facebooker plugin, a Rails programmer can treat the Facebook user data as an extension of existing Rails session features. It's all very nice, and I'm not going to talk about any of that this time around.

I'm going to talk about the logistics of doing Facebook apps. When a user sends a request to a Facebook app, Facebook intercepts it and forwards the request to the third-party app server, along with some specific Facebook data, like the ID of the user making the request. Applications have to be registered with Facebook, and have a unique URL prefix at apps.facebook.com. You also provide the URL for your third-party server.

This sets up some challenges for a development team. First off, your application probably relies on Facebook services, meaning it can only be fully tested from within Facebook. This implies that the external Facebook server needs to be connected to your development server. Since many Rails developers run off their own development machine behind a firewall, this is potentially awkward. Similarly, the fact that the Facebook application has a single URL mapping makes it difficult for multiple developers to work on the same application without tripping over each others' work.

How can a development team make this work?

Continue reading »

Songbird 0.5 gets its first release candidate

Songbird 0.5

The first release candidate for Songbird 0.5 is now available for download. Songbird, as you may remember is the open-source, Mozilla-based media player/web browser we've been enthused about for the past several months. There are lots of bug-fixes and API changes this time around, but the big news from a UI standpoint is the debut of "Media Pages," which are extensions that rewire the main music-browsing interface using HTML or XUL.

As the Songbird website puts it:

As of this writing, Songbird ships with two default views: a simple traditional playlist view, and a second playlist view incorporating three filter panes across the top for choosing a subset of your music.  Views can be extended via extensions that implement Media Pages.  Developers can easily create new views as HTML pages or XUL pages which provide custom visual interfaces to Songbird libraries, and playlists.

Developers looking to play with Songbird 0.5rc1 will find the following resources useful:

The Songbird team is targeting a final release of 0.5 later this month.

Topics: , ,

Launch: Pathfinder Newsletter

    Get a monthly update on best practices for delivering successful software.

    Subscribe via email


    Subscribe via RSS      RSS icon

Topics

Search

WordPress

Comments about this site: info@pathf.com