Ugh. Ok, so I tried giving this topic a few weeks to sink and see if I could calm down about it but, no, I'm still not happy. Usually I'm all about new technology, online services, gizmos, gadgets and digital products that make my already considerably cushy life just that much cushier. Particularly, little things like Amazon remembering who I am everytime I come back, recommending books and holding all my credit cards on file, or Google's slightly big-brothery-I-know-exactly-where-you-are-and-no-don't-bother-clearing-your-cache-'cause-we've got-your-click-pathing-profiled-already tweaks to Google Maps, search ads and every other product they've built. Seriously, who doesn't want their map to zoom to your current location on load? Maybe I've just become used to that level of creepiness.
But Facebook, man. Holy crap. I mean, don't get me wrong, I love technology. I loves me some technology, but this is getting a bit much. I seriously, absolutely, positively do not want to show up on some site for the first time and see my entire friends list laid out in front of me with message and product suggestions tailored specifically to my own unique brand of stupid Facebook comments. There's stuff all over my profile that I wouldn't want showing up when visiting another site in any circumstance - voluntary or not.
Now some people might say I'm splitting hairs. Amazon, among others, tailors their product offering directly to you based on your usage patterns - searches, favorites, purchases, etc - but that's a sort of walled garden of hyper-specific marketing. I have to sign in to access this data, at least once when setting up my account and possibly every time I return, to get all these targetted offerings. Facebook, on the other hand, is proposing to just sign you up. Seriously. You've never been there but you're signed up the second you land on the page.
“…we’ve also explained the possibility of working with some partner websites that we pre-approve to offer a more personalized experience at the moment you visit the site.”
Is this the end of the world? Well, no. But it certainly feels like an invasion of privacy and a betrayal of trust. [More on trust in a minute.] I'll give you an example that I don't find to be far-fetched at all. Let's say I go to Sports Illustrated for the first time because I've just got to get a Swimsuit Calendar for my wall. Why? Maybe I'm lonely. Maybe it's none of your business. Oh, snap. That's just it! It is none of your business. But my good buddy decides to go to Sports Illustrated too. Maybe he's there for the same calendar or maybe he's there to read an “article”. Haha. Anyway, he might see a great, big picture of my face saying, 'Hey Buddy, your friend Ryan just bought a steamy Swimsuit Calendar.' Probably because he's lonely… That sucks. You see where I'm going with it though.
Is Facebook going to protect users from situations like that? Will they stop it at merely signing you in to a site you've never been before and restricting the “general information” from spreading out in concentric circles of shame and irritation? I doubt it. Facebook has betrayed our trust before. Beacon anyone? New opt-in-only privacy settings? Facebook will of course give users the usual convoluted privacy settings but make no mistake, you'll be opted in until you find the stupid setting to turn it off. I hope…
I realize the web - and mobile for that matter - are travelling in this direction at break-neck speed but I feel like the old man in the corner going, “Back in my day, the web was anonymous! You could go anywhere and do anything without fear of persecution - or at least embarrassment. It was private dammit!” I'm just tired of having my personal information sold and traded about without my permission. And, NO, telling me you're going to opt me in ahead of time doesn't count. Couldn't Facebook start us opted-out and convince (read: bribe) us to turn it on?
Last week, I went to Seattle to see our client Lovin' Scoopful (get the ice cream – it’s amazing!) I travel with some frequency, but I’m all over the place on choosing my hotels. I tend to randomly choose the hotel that seems decent. No more of that.
I had a superb experience staying at Hotel 1000 in downtown Seattle. Everything was perfect. From the time I walked in to the time I left, I felt that these people, this Hotel, and this Brand really got everything right. It was a new feeling as I’ve grown accustomed to varying degrees of quality at hotels all over the US.
It was all details. From the friendly service and the champagne when I checked in to the quality of the room and finishes in the bath room. Nothing was left to chance. Every detail was worked out. You could just feel the passion that went into the Brand.
I’ve told four people about this hotel in less than one week. I’ll put a review on Yelp and I’ll book it again next time I’m in town. How much did I pay? Not enough.
This is what a brand is all about. The passion. The detail. The love. You know it when you experience it. What is your brand about?
We're a big fan of using the latest APIs and pushing browser-based technologies to their limits. A recent project required complex Google Maps implementation, so the new version 3 API was the obvious choice. It's many times faster than the previous version, has location services, and works well on mobile devices (like the iPhone). The project's mapping functionality proved to be a success; however, it wasn't without a few technical challenges along the way.
One of the problems with adopting new API's is that the eco-system of code that interacts and extends it is often very immature as well. Code examples can also be a little sparse, though fortunately Google's documentation was excellent in this regard. The difficulty is when you need something that's not included in the box. Our map has markers, a lot of markers, thousands of them in fact, and to stop the browser impaling itself on a spike we needed marker clustering.
Clustering is where you replace several individual markers with a single marker group icon that indicates to the user that there is X number of markers in this location. The more you zoom out, the greater the number of markers grouped into each cluster. The clustering solutions for Google Maps version 2 were numerous, but for version 3 there was just a handful. The most suitable library was barely 3 weeks old, certainly immature, but as a port of a stable release of the same library for the v2 API it was a viable option.
This is where the having a strong knowledge of the language and the browsers you are working with is really helpful. The library definitely had a few bugs, but having come from a time before JavaScript libraries it was easy to write override methods to patch these until library author corrected them. In between the initial implementation and project release the library authors did in fact patch those issues, so we were able to drop in the latest code and dispense with these patches.
Another problem we faced was that the styling provided by the library was limited. It expected the marker to be centered on the location, rather than above the location as the design needed. Method overrides and a good understanding of cross-browser rendering bugs allowed us to extend the library to meet our – and our client's – needs.
I still wonder if too many new programmers now rely too heavily on JavaScript libraries, without understanding how things work behind the scenes. Every browser will always have its quirks and a professional front end developer should know how to deal with these. I'm not advocating against using JavaScript libraries, as they definitely get projects out faster and reduce costs. But if things don't work correctly, or if they require slightly different functionality, I wonder whether many programmers would cope without their jQuery fix.
Ah yes, the timed honored tradition of training rats to press a button a get some cheese. Er… wrong metaphor. Ah… the time honored tradition of tying a carrot to a stick and making that dead horse walk an extra click to get some meaningless play gold that has no utility in real life other than to provide bored office workers with something to do other than actual work…
I might have messed up that analogy too. Whatevs.
Social game applications - Facebook gaming apps and mobile gaming apps in particular - use this tactic to such an extreme degree I'm not sure the game concepts come first or the actual clicky button-y thingies.
We want them to click a button that gives them shiny coins!
Yes, but what kind of button?
A red button.
Awesome. But… why are they clicking the button?
Oh. Well, shit. Um, because they're at an airport. And, and… they run the airport! They decide what airlines are coming and what chains to have in the food court and how to run security.
OMFG! That's genius! We'll make them click a red button so they can get coins and upgrade their airport. But not enough coins to get the really good stuff. They need to buy special Frequent Flyer Coins to get the good stuff.
Yeah. It'll be sweet.
So, sarcasm aside, it obviously works. Farmville has 89 million users on Facebook and Foursquare is rounding the corner on a million smart phone users. What would be interesting is to see the real drop off points. How many of those users installed the apps and never came back but never uninstalled? How many played obsessively for a week or two or even a month and suddenly dropped it altogether? There's something missing in the formula. How do you engage a user - obsessively - for extended periods of time past even one or two months?
Games like World of Warcraft or Call of Duty have a bigger platform to play with. Desktop applications and gaming platforms like Xbox 360 and the Wii create more immersive experiences that suck in users. But social network and mobile applications have limited screenspace, restrictive technology and sometimes crippling terms of use.
Because these apps are “free” and easy to obtain the user investment in the beginning is low. You need to hook them fast and the most readily available form or digital crack is fast levelling, easy badges and lots and lots of coins. You'll eventually loose your users but maybe you've made enough to build the next game. And the next and the next. It's a slash and burn strategy that is quite frankly as boring as it is addictive. Which is kind of like watching paint dry - eventually you get so bored you hit this zen like place in your head you don't even know where you are anymore. Experience The Nothingness of Click.
Funny enough, the ads for most of these games say things like 'Hey our game is different. We've got a real story. It's not just click farming!' They lie. Straight up. There's just not enough content in these games to keep your interested. There's just not enough variety in the button clicks to keep you going forever.
What's the solution? Well, I don't really know. Sorry for the anti-climax. But I think it's in the social part of the equation. Monopoly had an awesome Google Maps integrated game last year that was very popular. If they had better anticipated that popularity we might still be playing it right now. The idea of augmented reality and geo-location apps is still pretty exciting. Social play that ties in real life experience with game-like elements isn't a new concept but it's one still begging to be perfected.
Written by Ryan Nash
When we wake up every morning, we drink coffee… and then we get on with it. We develop products - web products mostly. We love this! In fact, we've found this type of work so challenging and rewarding that we created a Product Development Group within Fabric Interactive. Next to our Social Media Marketing Group, it is our main focus area at Fabric.
For the past two years, entrepreneurs, media, agencies, and brands have come to us with napkin ideas, business plans, or complete Product Development Plans for various consumer products or applications. In some cases, we've found that the expectations for what is possible and realistic outpace the budget and experience of the team we're working with. This means that our first job is to close this gap, provide leadership, and to focus the product development process.
I know many of you are thinking about developing your own web product or already have plans for launching a new business or product line based off an application or website. To help you, I want share our experiences with you. From our experience shelf, here are some of the challenges you're likely to encounter as you blaze down the path of product development:
Initial Product (Version 1.0) does not meet audience needs
Relax. It is highly unlikely that your product will connect with your audience right out of the gate. In fact, it may take 12-months to get the traction needed to meet user acquisition requirements needed for your next investor round. The cost of Product Development over 12 months may be significant and most certainly will match your initial investment.
Product does not deliver clear differential value for core audience
Right. Most web products – advertising or subscriber supported – are unable to fix this problem. In our experience, this comes down to a lack of focus. To win today, you need to focus on one specific audience and one particular unmet need. If you try to do too much for too many audiences, you will likely fail. This is universally true for ventures with limited funding. Again and again, we see small fish trying to compete with big well-funded players without laser focus on brand or audience. You must narrow focus. Then, you can execute brilliantly.
Attracting users to a new brand/product
Starting from zero can be very hard and quite costly. For instance, organic growth (from Google natural search index) will be very slow for 12 months for a new domain in a competitive area. Many co-marketing or traffic partners won’t partner until you have traffic and a tested product – so it can be a chicken and egg problem. For many, the only way to gain traction is to buy traffic in the beginning.
For some new ventures, it may be worth acquiring a blog or two (many are for sale) and grow your product from the established acquired audience. Part of your traffic – and product strategy – may be to build a network of sites all with a slightly different value proposition for your audience(s).
Getting people to use your product
Beyond getting users to your site, the main challenge is to get them to use it. For example, acquiring your first 5,000 users can be a major challenge. For instance, gaining momentum is a major issue for most social networking sites and absolutely critical to all reputation based products. There are no short-cuts really. It’s just hard work.
Unknown Brand and User Generated Content model
It can be difficult and costly to build a new brand where User Generated Content (UGC) is part of the model. Beyond the importance of appearance (design) the main challenge is in the actual UGC itself. It is hard to get people to do stuff. Also, from a management standpoint, even with the best of systems, there is cost in maintaining UGC quality and relevancy. The cost of scaling is – naturally – variable in that you’ll need additional human resources in managing increasing user numbers.
Underestimating Competitors Strengths
Competition is usually much stronger than it may seem. The attention of your audience (what did you say?) is limited and you will have to fight hard to win their trust. For instance, there are many well funded competitors targeting the “new parent” market and acquiring new users from this audience may be difficult for a start-up.
Underestimating the in-house resources required to build and grow a web product
Building and growing a web product is a 120% full-time job. We have seen many start-ups trying to do this on 50% of the founder’s time and they have all failed. The truth is that if you launch a venture part-time, you will likely lack the pace and commitment needed to win. “Oh, once I get this going, I will quit my day job.” To which we say, no you won't, because if you were committed you wouldn't be in your day job. To succeed, it is likely that you’ll need several people full-time for 12+ months. Anything less than that makes for a half-effort and will likely lead to frustration and failure. (Most start-ups take 3 years to build and does not make much money for founders until year 2+. Can you handle that?)
Those are some big challenges, right? Well, it doesn't matter to you, because you're going to do it anyway are you not? You are going all the way. You'll make it happen. Yes, you will. If you just focus and put your mind to it. Let's go!
Search is one of those things that seems simple but is difficult to do well. The most common problem users tend to face when searching is that either no results are returned, or there are too many irrelevant results.
On a recent project we had the case of a simple keyword search bar that not only had to return relevant results but aggregate data returned from several sources. The user expects to type a search and get nicely-formatted results that match their query. Our problem was that the results came in multiple formats from multiple servers with quite variable response times.
The project in question was a Google Maps API and Google Local Search API powered Facebook Application. A search query could match one of several things: an address (Google Maps API Geocoder), a business or landmark name (Google Local Search API with the current view port of the map), a user’s name or personal details (either from the local database or via the Facebook API), or a game location (from the local database). The Google-related searches are done in JavaScript and the Facebook/local database ones were SQL queries in PHP.
Our initial implementation was to have tabs. The Addresses search was run, results were shown, and the other inactive tabs when clicked would carry out their respective searches. The problem was that there was no guarantee the first search type (addresses in this case) would return any results, and if the businesses search had returned results it would have been much better to display that first. The tabbed interface was also very disjointed, as swapping tabs had to perform the search (causing a delay), and users expect switching tabs to be instant. Also, the usability suffered, because if the search resulted in a few matches of each type, you couldn’t see them all on one screen.
The final implementation was in two parts. Firstly, all the searches were executed in parallel via Ajax, displaying and updating a progress bar as each was completed. This visual feedback helped offset the now-longer delay before any results were displayed. Then the data returned from each API was normalized so it could be fed to a single HTML render, facilitating output into the same screen. This allows the results to be displayed in a single list, grouped by type. Types with no results (or ones that timed out) are omitted from the output, pushing the relevant results to the top.
You are currently browsing the Fabric Interactive blog archives for April, 2010.