https://tensafefrogs.github.io/2048/
]]>
Every day I see Twitter users lamenting or belittling the followers that left them because of too many political tweets. Or bickering among old friends on Facebook over a blog post about gun control. The problem is that our social tools are fundamentally broken, and itâ€s shaping the way we represent ourselves online.
Many of the social tools we use today are designed as binary waterfalls: Either youâ€re in or youâ€re out. If I want your tweets about web development, I also get your tweets about politics. If I want your status updates from our hometown about our high school friends, Iâ€m also opting in to your opinions about the latest episode of Real Housewives of Wherever. The problem with our social tools is that if you want to share something publicly, you must share with everyone.
Google attempted to solve the binary waterfall problem with the Google Plus “Circles†feature, but they ended up with a targeted sharing platform instead of a great social publishing platform (and maybe thatâ€s what they wanted, as limited as that may be). On Facebook, they make the flood of information more palatable with a system called EdgeRank, which tries to guess which content youâ€ll “like†more. Twitter doesnâ€t try to filter anything. Instead, they leave it up to you to curate your feed by following or un-following.
Social tools also fail to recognize that individuals change. Our interests change over time, but our tools donâ€t automatically adjust without manual input from us (This was recently highlighted by Matt Haughey). The people you friended on Facebook 5 years ago are still there in your timeline, even if you rarely talk to them. This issue is possibly one of the reasons why social networks can be so volatile: You add the people you are friends with at the time, but after a few months, the people around you have changed enough that visiting the site is no longer interesting to you. Twitter leaves it up to you to curate your stream by making it easy to follow people who are interesting right now or un-follow people who tweet too much about things you donâ€t care about. As mentioned earlier, Facebook is trying to solve this problem with their EdgeRank algorithm. Rather than have you un-friend people, they try to show you things they think are relevant to you right now based on various signals like what youâ€ve recently “liked.â€
The last problem Iâ€d like to highlight is more related to social sharing sites like Reddit or Hacker News or the original version of Digg. These are sites where submissions fight for space among the homepage by gaining votes from the siteâ€s visitors. In theory, itâ€s a fun idea: Social filtering brings most popular content for that day to the top of a list. Unfortunately, as these kinds of sites grow in popularity, you end up with two problems. First, the content on the homepage grows increasingly more homogenous in order to appeal to the broadest possible number of users. In order for a post to reach the homepage, it has to get more votes than all the other content, so niche subjects start to disappear from the top of the list. Second, these sites often have commenting systems where everyone can comment in the same space. With a small audience this is fine. You might recognize some of the names of the users leaving comments and even establish a rapport with them, but as the number of users grows, your monkey brain canâ€t keep up with the thousands of users. At that point, the users might as well be anonymous and some interesting group dynamics start to kick in (Clay Shirky wrote a fantastic article on the subject). This behavior can be partially summarized as: Normal Person + Anonymity + An audience = Total Fuckwad.
So how do we fix these issues?
First, our social tools need to recognize that people are complicated. We have many friends of varying closeness and many interests of varying intensity, and trying to communicate all of that through a single output isnâ€t natural. Paul Adams has compiled a bunch of fantastic research on how people interact with groups and has even written a book about it. Google Plus interpreted this research and came up with the idea of “Cirlces,†a tool that lets you categorize all your friends into groups in order to share things with them. Circles turned out to be an interesting way to share things with people you already know, but it takes a lot of work to maintain, and it doesn’t easily let you share with strangers whose interests are similar to yours.
What Google should have realized is that the important part about sharing content online is not who you share it with, but who you share it as. We all have various personalities. Mine might be my work personality, my photographer personality, my hometown-highschool personality, my video gamer personality. These interests are bigger than my small group of friends who also share these interests, but itâ€s really, really hard to express my various interests online without managing a bunch of distinct social networks. Our social tools need to allow us to share whatever we want, whenever we want, and not worry about pissing off our friends and followers.
Second, social feeds need to be more dynamic. The people I interact with are changing all the time, so why should my social networks be comprised of a rigid list of people? Alexis Madrigal recently said “These tools are only as good as the network you create on them,†but requiring me to constantly curate the people in my networks doesnâ€t seem like a fun way to spend my free time. Our social tools should be smart enough to know who and what we like and be able to adapt automatically over time. Facebook is making great progress in this area, and Iâ€m really excited about what Google will do when they start to integrate Google Now-like features with Google Plus.
Last, we need to stop building tools that lump everyone together in one big group. Sites like Reddit and Hacker News and the original version of Digg are guilty of this design flaw. The result is that the Reddit homepage ends up being full of meme images and other one-off joke content or other widely accessible things. Of course you can customize the page by choosing categories, but that requires work—Reddit already knows what I like, why not make it automatic? Redditâ€s attempt to solve this problem are Sub-Reddits, which are just sub-categories, and categories fail to address the root of the cause and instead treats the symptom. As a Sub-Reddit grows, the same large-group dynamic occurs and the content again shifts towards the more homogenous submissions. Thereâ€s a recurring discussion on Hacker News about how to “fix†the perceived lack of quality and politeness in the ensuing discussions, but Iâ€m convinced that the answer isnâ€t buried in some fancy algorithm. I think the solution we need is more fundamental than that. We need to design our social tools with human behavior in mind.
Itâ€s just not natural for humans to interact in huge groups. Our brains have evolved to handle only a few hundred social connections, so when we are thrown into an environment where we are interacting with hundreds or even thousands, we might as well be hanging out with a giant anonymous mob. That makes us not care about the people we interact with, and we might even change our behavior without realizing it.
The good news is, not all the social tools are broken. Two sites stand out among the crowd to me at the moment are Pinterest and Medium. Pinterest solves the “binary waterfall†problem described above: If someone is sharing pins that I donâ€t find interesting, I can easily un-follow the board they are posting to without un-following them entirely. Pinterest has succeeded where other social sites have failed because they let us share all of our interests, not just what our followers might like. The result is that we share more content.
Medium is another site that is doing interesting things with content categorization. When you post content, you are forced to post it to a “collection†(the same way that Pinterest forces you to pin to a “boardâ€). This results in loosely structured categories that contain ranked lists of content. I think itâ€s too early to tell if this model will be successful, I think it has a lot of promise and Iâ€ll be watching the product closely as it evolves.
Both of these sites have made fundamental product decisions that allow them to scale their user numbers very effectively. Rather than scaling vertically, like Reddit or Hacker News, Pinterest scales horizontally like Twitter does. The total user base can grow and grow while your own network of friends and followers can exist on their own without much adverse effects (the exception is their global categories, but those arenâ€t the main focus of the site).
All of this thinking about social sharing led me to try and build a tool that puts some of these ideas into practice. Iâ€ve teamed up with a friend and ex-coworker from my YouTube days to build a new sharing site that weâ€re calling Personafy. Personafy lets you create a set of personas and share links “as†that persona. You can then build a distinct audience for each of your personas. When sharing on Personafy, you no longer have to worry about whether or not your social network would enjoy a link you want to share—if it doesnâ€t fit in to any of your existing audiences, you can easily create a new persona and share it, and perhaps find some other users with similar interests in the process.
]]>I’ll be posting a longer description about the site soon, but for now here’s a quick summary:
Whenever you find something interesting, you can post the link to your Personafy account, and you’ll also be able to choose a “persona” to share the link as. Each of your personas will be able to build up distinct audiences, so if you feel like posting LOL cats as one persona, and politics as another, you won’t have to worry about people unfollowing you or getting pissed off about the “off-topic” content.
Edit: Personafy is no more. It was a fun experiement, but I didn’t have the resources to keep it running for more than a few months. If you are interested in the topic of social sharing via personas, I wrote some thoughts on it here.
]]>I’ll start with a classic, and one that I first posted here on my blog years ago after tracing the card from a still from the Simpsons. The post still gets tons of traffic each year as Valentine’s day rolls around:
Next up, what nerd doesn’t appreciate science? A fantastic set cards for those types from Ironic Sans:
Economists are huge nerds, too. They can share their feelings through charts!
[Side note: Did you know that Florence Nightingale was a pioneer in the use of data visualization? Amazing!]
If cards aren’t your thing, there’s this great t-shirt:
And of course, what nerd Valentine’s day would be complete without acknowledging the fact that many nerds are forever single. For that, we have Forever Alone Guy. Head over to Canv.as to see what he’s up to this year.
Enjoy!
UPDATE: A late entry, but maybe you can find them next year! These Game of Thrones valentine cards from Chris Bishop are fantastic.
]]>Practices like this hurt our technology companies. Consider a company like Foursquare, that could be extremely useful for restaurant and entertainment recommendations when you visit foreign cities. Their service is rendered useless without mobile data due to these high roaming fees. On a recent trip to India I tried out the Lonely Planet iPhone apps on my service-less iPhone. It worked well enough for the big tourist spots or the few restaurants that the guide book had reviewed, but this practice doesn’t scale well, and the information they contain is quickly outdated. We could have much better recommendations while on the go if we had access to the same data as we do at home.
So I have a question for discussion, and a challenge. If companies like Boost mobile can re-sell domestic calling and data plans for so cheap, what’s keeping companies from coming in and offering competitive international roaming? Why does AT&T charge completely ridiculous rates for international roaming? And finally, what can we do as entrepreneurs to disrupt this market and provide travelers with a useful service?
]]>Soon after I bought my first computer I started building simple websites. I had all of the best animated gifs you could find, along with those awesome water ripple java applets and whatever other bells and whistles I could find. It was awesome. I wanted to push the boundaries of this new thing. To make something unique that nobody had seen before. This led me to Macromedia Flash 4. My new hobby slowly taught me how to program, and over time I got pretty good at it. Eventually I landed in New York City and found a job at a tiny little web design shop, building websites for big corporations and loving every minute of it.
During this time the internet was recovering from the big crash at the end of the 90’s and as browsers slowly evolved, so were the websites we were building. But browsers were slow to update back then, so Flash filled a need to move faster and give us more options to explore and new technology to use (and abuse!). Around this time I wrote a little javascript utility to detect the presence of the Flash plugin and conditionally inject Flash into a website or not, and I watched as it grew over the years and became one of the most used utilities on the internet.
Flash was huge. Everyone wanted a flashy website and the only way to get one that any meaningful number of people could see was to use Flash. As browsers struggled to keep up, Flash charged ahead allowing us to build some truly amazing websites. Admittedly, there was some abuse of this technology, but we still charged ahead, trying to discover and build the next generation of user interfaces. Most older companies still thought of the internet as just another medium to advertise on. They wanted a flashy website to show off to their investors and clients and cared less about building something useful. The ubiquity of the Flash plugin made it an easy choice to build these new kinds of websites. We weren’t held back by the limitations of HTML any more, and that let us all explore wild ideas and try things that wouldn’t be possible with HTML or Javascript for years to come.
But now, years later, the browsers are catching up. Mobile devices are becoming more important than desktop computers (a trend I expect to continue for years to come). As more people use the internet in their day to day lives, businesses have realized that having a useful website is more powerful than just a flashy animated advertisement.
A few months ago I noticed that SWFObject usage on the top 10,000 websites was declining for the first time ever (I believe usage peaked in the summer of 2010). Last week, Adobe announced that they would halt development of Flash player for mobile devices, and refocus their efforts on HTML. Since this news was announced, I’ve seen many sad and nostalgic tweets from friends and colleagues. Some seem to be taking the news better than others, and it’s understandable that some people are sad to see Flash go. But it’s important to remember that no single technology is responsible for this awesome thing we call the internet.
This brings us back to my younger self sitting at home in Arizona playing with Flash and Photoshop, building new things. I’ve always loved making things, and I suspect many web developers feel the same. The pleasure of making something great is what drives us, not a specific technology. So don’t be too sad about Flash evolving, or even dying. Just keep making awesome things with whatever tools you have at your disposal.
Discuss this post here:Â http://news.ycombinator.com/item?id=3227994
]]>Tickets are on sale now to this awesome small-ish Flash and design conference. This will be the third year in a row I’ve given a talk here, and it’s easily the best conference in North America.
My talk will be about building and maintaining the YouTube video players, and some lessons and tricks we’ve learned along the way, so if you are interested in very high usage/high performance Flash apps, this should be a good talk for you.
]]>If you are still looking for a Flash/Design conference to attend this summer, I highly recommend Flashbelt.
The best European Flash conference is heading to the states this spring. Flash on the Beach has been happening in Brighton, UK for the last few years and is such a good time, I think everyone should go.
I’ll be heading down to Miami this year to talk about YouTube type things, so if you are curious about using YouTube for a project, or just interested in hearing some stories about a very high performance Flash application, you should come to my session :).
In case you are interested, there’s tons of pictures and writing about past FotB events all over the place. So check it out, and hopefully I’ll see you there.
]]>What does this mean to you, the average user of SWFObject? It means you no longer need to place a copy of the SWFObject script on your own web server, and can instead link to the copy hosted on Google’s servers.
If you are unfamiliar with the AJAX Library API, you can find more information on the Google code site, or continue reading below for some simple examples to get you up and running quickly. SWFObject may not be in the docs on the AJAX Libraries API site yet because it was just added recently, but the team is working on the updated docs now, so check back later if you don’t see the SWFObject specific information.
Now for the business: I imagine that most SWFObject users most likely only use SWFObject and none of the other libraries hosted on the AJAX Libraries site. So here’s a direct link to SWFObject v2.1 that you can simply place on your site, and that’s it:
http://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject.js
Yep, that’s it. Just replace the path to your local copy of swfobject.js with this one and you are done.
Another option is to use the google.load call which is documented here.
]]>The <head> Conference takes place online (via Acrobat Connect) or in a few local hubs around the world. Its going on all weekend, and there’s a ton of interesting talks, so you should check it out.
I’ll be giving a talk at the San Francisco (actually closer to San Jose) hub all about the YouTube video players on Friday at 11am.
]]>It’s taking place at the San Bruno YouTube office this Thursday, July 10th from 10:30am to 5:30pm.
Here’s the blurb about it:
Powered By YouTube is a developer gathering focused on bringing together developers to learn more about the YouTube APIs and Tools. Spend the day at YouTube’s headquarters and learn how to bring YouTube to your website, share best practices, and get hands-on with the APIs. Meet fellow YouTube API developers across a wide range of companies, YouTube engineers and product managers, and leave inspired to enhance your user experience with the YouTube APIs.
Also: It’s free, and you get a free lunch.
]]>If you visit this page in Firefox and click the “push me” button, you will see simply “Ref is:” but no other text. If you visit in with any other browser, you’ll see:
“Ref is: [http://dev.deconcept.com/referer_tester/]”.
The problem is that Firefox doesn’t properly append the referer header to requests made from swfs embedded on the page. Every other browser I’ve tested sends a referer.
How you can help:
Visit the bug page for this issue and “vote” for the bug. DO NOT ADD A COMMENT SAYING SOMETHING LIKE “Yes please fix this bug!”. This will only annoy the developers. Simply “voting” for the bug is enough. You vote for the bug by clicking the “vote” link on the top right side of the page, and putting a check in the box next to the bug and clicking the “Change my votes” on the subsequent page.
]]>Flash on the Beach is a fantastic conference in Brighton at the end of September, and it’s one of the best Flash and design conferences to check out.
Registration is now open, so if you’re looking for an excuse to head to the UK, this is it.
Also, next week is Google I/O (Flight of the Conchords are playing a show there!), which I believe still has a few tickets available, and just next month I’ll be heading off to Flashbelt in Minneapolis, so come say ‘Hi’ if you see me wandering around either of these events.
]]>It uses the YouTube player Javascript API to synchronize a Google Maps widget with the video (based on the current time of the video). It was pretty easy to throw together, it took maybe 4 hours from start to finish, and I’ve never used the Google Maps Javascript API before.
]]>Yes? Then head over to this signup page and let us know you’re coming. The event is on March 27th, 2008 and will be held at the Google Mountain View campus.
p.s. free punch and pie
]]>The project has moved over to the code.google.com website instead of my blog, so go over there and check out the docs and consider upgrading, as the new version is a lot more flexible than v1.5.
I’d like to give a huge thank you to all of the people who contributed and helped us test out the new release, those no longer with us, and of course to Bobby who is easily the biggest contributor to this new version (and has a new design up on his blog!) and has kept the project pushing forward at a good pace.
Moving foward, we’ll be continuing to work with Adobe to get the word out about SWFObject 2.
]]>I think that’s about it for now. I’m interested in talking about the YouTube API stuff at more conferences. So if you are running a conference and would be interested in having me speak, please let me know.
]]>