Home | Random | Downloads | About | Hikes | WebCam | Search | Sitemap | Email | Feed

I didn't think I'd ever fall for fake news of Facebook

I seriously considered giving up Facebook as a New Year's resolution when it became clear that fake news was one of the many things that cost Hillary the election.

Not because of what other people might believe. The problem is me. I get my news primarily from the BBC and NPR. I cruise through RSS feeds and podcasts. I'm a savvy media consumer with a well honed bullshit filter. And then I fell for this:

I didn't think I'd ever fall for fake news of Facebook

It just continued to show up in my Facebook feed reposted from various friends and it wormed its way in as something totally Trumpian and plausible and, well, truthy. Which it isn't. I felt like I'd got as far as filling in the wire transfer form before stopping to think that the Nigerian Prince probably didn't need my personal help with expatriating his fortune. I didn't share it or quote it thankfully but it's like that study where everyone thinks they are a better than average driver. I'm vulnerable to this shit.

I keep reading articles about being a better Facebook user and always checking that the site hosting a story is reputable and written by people who have a footprint outside the site and reverse-searching any images to see if they've been used out of context etc etc etc. Which is implausible if you have more than one friend and comes across as victim blaming.

The horrible danger is that if you don't fact check every stupid quote on image meme the power of repetition lodges them somewhere in your subconscious where they become that thing that you read somewhere. Which is OK if you only read quality news but deadly if you want to catch up on old friends quickly.

What I really want is the friend part without the democracy ending bullshit part.

I tried Diaspora and App.net but they make Google Plus look lively. Facebook, I would pay you for an ad-free, brand-free experience. Also a ban on text on images.

I've been trying to block all the fake news sites that show up in my feed but for some reason that option isn't always available. Also that's probably an impossible task unless Facebook decides to offer shared block lists. Which is probably against their best interest.

I wrote this post to talk myself out of not using Facebook but I don't think I've managed to convince myself yet...

(Meme image grabbed from CNN).

(*on*)

Share:

Got It

Got It irritating me on Facebook

When I run an app or launch a website it's generally because I've got some task to complete and a few free minutes to try and complete it.

Let's take Facebook for example. I want to quickly scan through to see which of my friends are sharing anodyne inspirational quotes superimposed over stock photography and silently judge them.

Facebook picks this moment to let me know about a new feature that will display previously unshared photos and videos to try and get me to share them. I'm instantly pissed off because of the unwelcome cognitive load and then I realize that the whole app has frozen. In fact every time I load Facebook at the moment it just hangs until I give up and do something else.

This is probably because one of my daughters has the endearing habit of shooting hour long 4K videos of the floor. The poor app is probably innocently trying to grab a couple of thumbnails and instead getting an object lesson in the halting problem. I'm sure this will eventually get fixed and it's not even the root cause of my current fury.

Got It irritating me on the Londonist

Got It

My only option is to click Got It. This chirpy little phrase is slowly infesting every corner of interaction design. It seems relatively innocuous at first but let's unpick it a little.

Generally Got It signals that something has been added to an app or site that the designer feels is important enough that they need to let me know about it.

This is almost always going to be bad news. Probably the way I complete my task has changed and I'm going to have to learn the new way. Maybe there has been a complete redesign and the use I had for the app was considered an edge case and has been removed. It could be that for legal reasons I need to be told that some new previously unpillaged corner of my privacy needs to be violated.

I'm immediately in a bad frame of mind when I see Got It.

Also there is rarely a Don't Got It or  Don't Want It link. Got It is a sign that something is being forced on you and the happy language is an implicit forced value judgement that you've both fully comprehended the change and that you wholeheartedly agree with it.

It probably feels cute to designers that come up with this. After all, a whole team has probably toiled for weeks if not months to come up with a new way to cause my phone to hang. They really want me to use it. But you're not putting yourself in my shoes. I rarely care and usually you're making my day fractionally less enjoyable and the design should be about me and not you.

Got It irritating me on YouTube

I miss OK. It's less loaded. I'm OK with dealing with whatever you're inflicting on me. It's not as good as OK / Cancel but sometimes OK is about the best you can expect.

I just don't Got It.

(Previously)

Share:

Commentary

I started with Blogger many years ago. It worked well for a while and then it didn't. I forget why but I wrote a tool to migrate from Blogger to BlogEngine.net.

BlogEngine.net was good for a while, but I never loved the commenting system. I switched to Disqus and I wrote a tool for that as well.

Then Disqus decided to monetize more aggressively than I liked, and I moved on to Facebook comments. Having used these for a while I have come to the conclusion that most people just hate Facebook comments. They're convenient but not many people use them. Also, pages just load much faster without all the Facebook JavaScript. So today I'm switching to home grown manually moderated comments. Just about every comment ever left on this blog has made it from Blogger to BlogEngine.net to Disqus and finally the new system, even the nasty ones. I'll moderate to cut out spam but never dissent. Enjoy!

Share:

How to get SEO credit for Facebook Comments (the missing manual)

How to get SEO credit for Facebook Comments (the missing manual)

I've been using the Facebook Comments Box on this blog since I parted ways with Disqus. One issue with the Facebook system is that you won't get SEO credit for comments displayed in an iframe. They have an API to retrieve comments but the documentation is pretty light and so here are three critical tips to get it working.

The first thing to know is that comments can be nested. Once you've got a list of comments to enumerate through you need to check each comment to see if it has it's own list of comments and so on. This is pretty easy to handle.

The second thing is that the first page of JSON returned from the API is totally different from the other pages. This is crazy and can bite you if you don't test it thoroughly. For https://developers.facebook.com/docs/reference/plugins/comments/ the first page is https://graph.facebook.com/comments/?ids=https://developers.facebook.com/docs/reference/plugins/comments/. The second page is embedded at the bottom of the first page and is currently https://graph.facebook.com/10150360250580608/comments?limit=25&offset=25&__after_id=10150360250580608_28167854 (if that link is broken check the first page for a new one). The path to the comment list is "https://developers.facebook.com/docs/reference/plugins/comments/" -> "comments" -> "data" on the first page and just "data" on the second. So you need to handle both formats as well as the URL being included as the root object on the first page. Don't know why this would be the case, just need to handle it.

Last but not least you want to include the comments in a way that can be indexed by search engines but not visible to regular site visitors. I've found that including the SEO list in the tag does the trick, i.e.

<fb:comments href="..." width="630" num_posts="10">*Include SEO comment list here*</fb:comments>

I've included the source code for an ASP.NET user control below - this is the code I'm using on the blog. You can see an example of the output on any page with Facebook comments. The code uses Json.net.

FacebookComments.ascx:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="FacebookComments.ascx.cs" 
  Inherits="LocalControls_FacebookComments" %>

FacebookComments.ascx.cs

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Net;
using System.Text;
using System.Web;
using System.Web.Caching;
using Newtonsoft.Json.Linq;

// ReSharper disable CheckNamespace
public partial class LocalControls_FacebookComments : System.Web.UI.UserControl
// ReSharper restore CheckNamespace
{
    private const string CommentApiTemplate = "https://graph.facebook.com/comments/?ids={0}";
    private const string CacheTemplate = "localfacebookcomments_{0}";
    private const int CacheHours = 3;

    public string PostUrl { get; set; }

    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (!string.IsNullOrWhiteSpace(PostUrl))
            {
                string cacheKey = string.Format(CultureInfo.InvariantCulture, 
                    CacheTemplate, PostUrl);

                if (HttpRuntime.Cache[cacheKey] == null)
                {
                    StringBuilder commentBuilder = new StringBuilder();

                    string url = string.Format(CultureInfo.InvariantCulture,
                                               CommentApiTemplate,
                                               PostUrl);

                    while (!string.IsNullOrWhiteSpace(url))
                    {
                        string json;
                        using (WebClient webClient = new WebClient())
                        {
                            json = webClient.DownloadString(url);
                        }

                        // parse comments
                        JObject o = JObject.Parse(json);
                        if ((o[PostUrl] != null) &&
                            (o[PostUrl]["comments"] != null) &&
                            (o[PostUrl]["comments"]["data"] != null))
                        {
                            // first page
                            AppendComments(o[PostUrl]["comments"]["data"], commentBuilder);
                        }
                        else if (o["data"] != null)
                        {
                            // other pages
                            AppendComments(o["data"], commentBuilder);
                        }
                        else
                        {
                            break;
                        }

                        // next page URL
                        if ((o[PostUrl] != null) &&
                            (o[PostUrl]["comments"] != null) &&
                            (o[PostUrl]["comments"]["paging"] != null) &&
                            (o[PostUrl]["comments"]["paging"]["next"] != null))
                        {
                            // on first page
                            url = (string) o[PostUrl]["comments"]["paging"]["next"];
                        }
                        else if ((o["paging"] != null) &&
                                 (o["paging"]["next"] != null))
                        {
                            // on subsequent pages
                            url = (string) o["paging"]["next"];
                        }
                        else
                        {
                            url = null;
                        }
                    }

                    string comments = commentBuilder.ToString();

                    HttpRuntime.Cache.Insert(cacheKey,
                        comments,
                        null,
                        DateTime.UtcNow.AddHours(CacheHours),
                        Cache.NoSlidingExpiration);

                    LiteralFacebookComments.Text = comments;
                }
                else
                {
                    LiteralFacebookComments.Text = (string)HttpRuntime.Cache[cacheKey];
                }
            }
        }
        catch (Exception)
        {
            LiteralFacebookComments.Text = string.Empty;
        }
    }

    private static void AppendComments(IEnumerable comments, 
        StringBuilder commentBuilder)
    {
        foreach (JObject comment in comments)
        {
            // write comment
            commentBuilder.AppendFormat(CultureInfo.InvariantCulture,
                                        "
{0} ({1})

\r\n"
,
                                        comment["message"],
                                        comment["from"]["name"]);

            // also write any nested comments
            if ((comment["comments"] != null) && (comment["comments"]["data"] != null))
            {
                AppendComments(comment["comments"]["data"], commentBuilder);
            }
        }
    }
}
Share:

Comments Restored

I've restored all the comments that vanished after I removed Disqus last weekend. This is after a considerable effort to get everything out of BlogML and into WXR a couple of years ago. At some point I'll just have to give up and decide it's faster to write my own blogging and commenting system but for now Facebook Comments are enabled for all posts.

Share:

Disqust

Disqust

I just discovered that Disqus started running adverts on my blog without permission. It's probably been going on for a little while and I should have paid more attention, sorry.

By 'without permission' I mean that I'm sure I clicked though and didn't read a terms of service document that said they could do what the fuck they like to my site. And reading other accounts of this issue I'm sure I filed without reading the email they sent out that mentioned this new 'feature' in passing. So in a legal sense they probably had all the permission they needed. In a moral sense they're switch-and-bait scum of the highest order. 

They should have made this feature opt-in and then sent out an email explaining it in detail. Some sites don't want to run ads. You could have non-commercial Creative Commons content on a site that is suddenly a commercial concern. 

It's a free service and at some point they need to make money, fine. If this had been presented as an option I might have considered it. If they wanted to charge for the service I'd probably have paid for it.

Instead I've disabled Disqus and hastily hacked in Facebook Comments which should be coming online as I write this post. 

A side effect of this is that all the existing comments are currently unavailable. I have an archive and will try to get them resurrected soon.

Share:

I can't post a single photo

I can't post a single photo

You'd think Facebook or Twitter could scrape together a semi-functional Android client but apparently not.

Twitter has some size limit for photo uploads. In a sane world the client would resize a photo that was too large and just get on with it. Table stakes would be an error message. But no, it pretends everything is just peachy and then fails to upload. To post a photo to Twitter I have to remember to go into the camera settings and ratchet down the megapixels which I remember to do about never. 

Facebook used to work occasionally but now just dumps an ugly immobile progress bar that won't go away until I reboot the phone. 

Google+ probably works fine technically but if a photo is uploaded to a forest and there is nobody there to see it is that still in any sense counted as success?

Share:

Fight Facebook with Email

I was a little saddened to read today that Diaspora is transitioning over to some form of community manged slow death. I joined a pod a while back and was pretty impressed with the design. It was very similar to Google+: clean, nice features, nobody home. 

I've also joined app.net. The concept here is a social network that you pay for, so the owners are aligned with the interests of the users and developers rather than advertisers and lame brands. I wish app.net well, but it's not the future. Best case (and it's not a bad one) it could be the new WELL - a community that people care enough about to pay for (I was on the WELL in the early 90's, splitting the tab with a friend so our handle was abft, account built for two). If that is the direction it goes in then simply having a slightly longer post limit than Twitter isn't really going to cut it. And cool as it might be most people aren't going to pay for a social network. 

Any attempt to displace Facebook has to solve the problem that anyone interested in sharing anything with anyone else is already using Facebook. The only platform that is in any sense comparable is email. So someone needs to make email into a social network.

This could be an interesting startup. Create some account - [email protected] - anything you send directly to that address is a post. Anyone you copy is a mention. Reply to a thread with this email address included and you're replying on the social network as well. Anyone copied on such an email gets invited to the network if they're not already.

You've got a killer viral component and an instant social network that is supported on every platform with no investment needed. Everyone has email, and everyone is a member as soon as they claim their email address or get included in a post. 

Maybe someone has tried this already and I just haven't seen it. I'm half tempted to have a crack at it myself. 

What would be more interesting would be layering a social protocol over email, and implementing that protocol by proxy on top of email providers that don't or won't support it. This creates a core social service practically out of thin air. Facebook and Twitter are the new AOL and CompuServe. There has to be a way to leverage email into a free and open alternative.

Share:

Share a picture in MonoDroid

Here’s how to share a picture to Facebook, Twitter and so forth from MonoDroid:

Java.IO.File cache = ExternalCacheDir;
if ((cache == null) || (!cache.CanWrite()))
{
    // no external cache
    cache = CacheDir;
}

Java.IO.File tempFile = new Java.IO.File(cache, "temp.jpg");
using (FileStream fileStream = File.OpenWrite(tempFile.AbsolutePath))
{
    _currentBitmap.Compress(Bitmap.CompressFormat.Jpeg, 85, fileStream);
}

Intent shareIntent = new Intent(Intent.ActionSend);
shareIntent.PutExtra(Intent.ExtraStream, Android.Net.Uri.FromFile(tempFile));
shareIntent.PutExtra(Intent.ExtraText, "Some text - appears in tweets, not on facebook"));
shareIntent.SetType("image/jpeg");

StartActivity(Intent.CreateChooser(shareIntent, "Share Image");

A fun mix of Java and C#. The directory got me to start with so check to see if the ExternalCacheDir is available and if not fall back to the internal CacheDir. Frustratingly Facebook doesn’t pick up on the text associated with an image regardless of the intent ExtraWhatever specified.

Share:

Reviews and Links for June 2012

The Marriage Plot by Jeffrey Eugenides

The Marriage Plot by Jeffrey Eugenides

3/5

A love triangle set in the turmoil of post-graduation. Well written but left me a little cold, I just didn't care for the characters or the sudden resolution.

 

Links

An important update from the International Earth Rotation Service http://t.co/n5VcLNH3 <- warning, subculture

Seeing Beyond the Human Eye: Video of beautiful scientific and artistic photography http://t.co/aZsFEfh1

ITHCWY: Mission:Explore Food - Get It Now: I posted a few months ago about my brother's crowd funded book, Mission… http://t.co/1A2FEkHN

Kate's #MEF151 looks hard! http://t.co/Qo4N4weY #fb

Pyura Chilensis, the living rock http://t.co/54moGgML

Ghosts With Shit Jobs: http://t.co/CjDH5mz6 #fb

Google's Nexus 7 tablet image leaks onto the Web http://t.co/nuLji4zz via @CNET - holy crap that's a big bezel #io12

Robot Hand beats you at Rock-Paper-Scissors every time. http://t.co/W4K1zAeq (Robot hand crushes rock, robot hand crushes scissors...)

Moon Landing http://t.co/oHFSCowO

Patent 'trolls cost $29bn a year' http://t.co/VQRiKFtb

Facebook Just Changed Your Email Without Asking http://t.co/z9QRi3qP

#Bernal now has a Solar Pump http://t.co/e40lcNLY

House of Lords reform: Nick Clegg's crazy plan is a pay day for has-beens and never-wozzers via @Telegraph http://t.co/kDjbqTFh

Future of ATA = more dishes. Not that expensive. What about it @NancyPelosi ? #SETIcon http://t.co/uobbZ065

Meeting moons at #SETIcon http://t.co/MXykt1QK

RT @erinbiba: http://t.co/Ahh0IhXq - a directory of ways for YOU to participate in space exploration. (Build a rover, get your name on a ...

Is Jupiter helpful to life on Earth? In some ways yes, in some ways no. #SETIcon http://t.co/pG1U3mf3

http://t.co/mZWx5FIr Turing Suicide in doubt?

Gaia corollary: http://t.co/9lPllPbT #SETIcon (re global organism)

Intelligent life: it's all about the unknown unknowns #SETIcon http://t.co/Goo7ngUq

Gorgeous start to the second full day of #SETIcon 2. http://t.co/f0bbwW4V

Was God required for the Big Bang panel rather unfairly stacked 100% against God #SETIcon http://t.co/Keg164Vo

How to find aliens: advice from NASA, SETI and the EMH. #SETIcon http://t.co/HAHZrbv6

ITHCWY: SETIcon 2: I'm at SETIcon 2 this weekend. It's a mix of science, sci-fi, religion and general speculation… http://t.co/jifR8Ang

http://t.co/FZo6GzxJ #todo #SETIcon @myEN Kepler archives opening in October

Success of Kepler Mission is staggering. Discovering water worlds, planets everywhere. #SETIcon http://t.co/4EytfDks

On the cusp of routine spaceflight - at #SETIcon http://t.co/iUU6GgEz

I'm reading Mission:Explore Food on @graphicly! http://t.co/z0iqfQKJ

Far-Fetched Scams Separate the Gullible from Everyone Else http://t.co/M8SyoAvH

Scout: get notified every time Congress proposes legislation with keywords you care about http://t.co/OlU04P45

Exoplanets http://t.co/CAu4C9v9 #fb

Falsehoods programmers believe about time - riff on the malleability of computer time http://t.co/sznLoFlH

JustAnswer Becomes http://t.co/U0xZtr5Z, Raises $25 Million Series A http://t.co/r5IQzmFZ via @techcrunch #PearldotcomLaunch

VatorNews - JustAnswer rebrands as Pearl, raises $25M http://t.co/MTveL1qB via @po_st #PearldotcomLaunch

http://t.co/U0xZtr5Z Has Professional Advice, for a Price http://t.co/RnyqID2G via @mashable #PearldotcomLaunch

Andy Kurtzig Raises $25M To Take Expert Services Online With http://t.co/U0xZtr5Z - http://t.co/PPFhu3q8 #PearldotcomLaunch

JustAnswer Becomes Pearl, Comes Out From Under the Radar http://t.co/5l3UTZ1M #PearldotcomLaunch

A Pearl (.com) Comes Out of http://t.co/LZa65dD3 http://t.co/tUhBuEhe via @HuffPostTech #PearldotcomLaunch

Customer Story - Dr. David Helps Nick Recover from Brain Hemorrhage: http://t.co/HK59IUw2 via @pearl.com #PearldotcomLaunch

RT @Pearldotcom: http://t.co/x1sGSaBc is now in beta, come check us out at http://t.co/ePbqZPiU! #PearldotcomLaunch

RT @MissionExplore: Mission:Explore Food – Video yourself doing one of the missions from the book and get a free copy http://t.co/TpkoBOaY

ITHCWY: Near-plurality of idiocy: "In the 30 years since Gallup started asking people whether they believe humans… http://t.co/9f5FoX9Z

BBC News - Alan Turing: why the tech world's hero should be a household name http://t.co/5eqmNyXY

ITHCWY: Petrol & Marks & Spencer: I recently got back from a trip back to the UK. Every time I go back these days… http://t.co/cV0N8tY7

+1 Error Code 451: an HTTP error for censorship http://t.co/OoA942o8

#todo @myEN Mobile-Friendly Pet Locator PetHub Closes $1.3 Million Seed Round http://t.co/DtkMMSoj

Bridge birthday thing... http://t.co/bBEc7TiC

Brrrr-earnal http://t.co/dD4FiXrv

Defensive Patent License: judo for patent-trolls http://t.co/h6Eq82kr

3 of 5 stars to The Marriage Plot by Jeffrey Eugenides http://t.co/aJwE7cIz

Check out this presentation : How to stop sucking and be awesome instead http://t.co/fqW1ZTG5 via @slideshare

Transit of Venus AND Sutro Tower Serendipitously Photographed from Bernal Hill http://t.co/bZAogCf8

Office has laid on EURO 2012 coverage. http://t.co/8dDStstW

Ridiculously nice walk with Rudy. http://t.co/u6E9H1Gg

ITHCWY: Playmobil http://t.co/bIuMirqh

Share:

Android: Insane Contacts Storage

Oh no:

Low on space (Android)

My phone keeps running out of space. A little sleuthing under Manage Applications shows that Contacts Storage is using over 32MB. Can’t move it to the SD Card – I guess this makes sense, although it would be nice to cache some of the non-essential data there. I’ve no idea if this is a HTC problem or an Android problem (I have a HTC Aria), but some Googling would seem to indicate that it’s not uncommon.

In the People app choosing View from the menu allows you to pick which sources to use to display contacts. I had 5,854 contacts from Twitter, despite having configured the Twitter app to only sync with existing contacts. I also had a bunch of Facebook contacts, with the same configuration (existing contacts).

I tried deleting Twitter from Accounts & Sync. This warned that it would remove contacts (great!) but after blowing it away Contacts Storage had more than doubled to over 70MB.

Time to go nuclear. I backed up existing contacts and then deleted all data from Contacts Storage. My phone is happy again.

Contacts and sync in general is the worst part of the Android experience. HTC Sync is a contact-duplicating, pop-up-and-wave-my-arms-in-the-air-every-time-I-do-anything piece of Adobe Air uselessness. Google really needs a better answer for people who live in Outlook on the desktop. Or maybe they’ll eventually grind me down into GMail…

Share:

Circles

 A Circle

I just got on Google+, and the Circles concept definitely moves the ball forward, but my heart sinks a little at having yet another disconnected social identity. It’s been said before, but it’s worth saying again – social networking needs to be an open, core internet standard like email. You can live on Facebook, Google, Twitter, wherever but your social graph should be independent of any specific service.

I don’t mean this in any (well, OK, a little) granola crunching open source way. Companies should compete to the death on their social graph implementation and added value. But the actual data on who your friends are should belong to you and should be both portable and interoperable. I should be able to friend someone on Google from within Facebook and share core items in both directions. If I get fed up of Facebook I should be able to move my graph and central identity elsewhere.

We’ve got OpenSocial, strangely not mentioned in the same breath as Google+, and Open Graph which is open for things but not people. Also FOAF, XUP, and other possible foundational standards. Of course the barriers here aren’t technical.

Altly wants to be Pepsi to Facebook’s Coke. I’m waiting to see what it tastes like, but it doesn’t sound like they’re itching to change the game.

Diaspora is an interesting project, but running instances (pods) of a social network is the wrong level of abstraction.

Of course ‘owning’ the graph is tremendously valuable and it’s hard to see Facebook giving this up anytime soon. If Google really don’t want to be evil they should use Google+ to liberate us from the tyranny of walled social gardens. Unless it turns out to be another Buzz or Wave in which case it’s down to us.

Share:

Apparently you can’t build an alternative to Facebook without Facebook integration…

Altly - We are working on an Alternative to Facebook

Share:

Reviews and links for March 2011

The Idle Parent: Why Laid-Back Parents Raise Happier and Healthier Kids by Tom Hodgkinson

The Idle Parent: Why Laid-Back Parents Raise Happier and Healthier Kids by Tom Hodgkinson

3/5

It could have been a great one page idle book - leave the kids alone more. But I guess that wouldn't fly with the publisher so it's more of a manifesto for a more traditional childhood - four hour school day, build things from wood, raise and eat your own pigs. Possibly idyllic but far from idle. Also, Hodgkinson denounces computers yet the book wants you to visit its blog. Entertaining and occasionally inspirational nonetheless.

 

The Very Quiet Cricket by Eric Carle

The Very Quiet Cricket by Eric Carle

2/5

Derivative, and requires batteries which is the last thing you need with a book. I think Carle phoned this one in. Actually, it's like when thriller writers get too famous and farm the hard work out. It reads like an "Eric Carle's" or "Eric Carle with Grant Blackwood" kind of book. Introduces a small range of insects but manages to use "whirred" twice. Has Mosquitoes out at night rather than being a dawn/dusk phenomenon. The only saving grace is the unexpected twist with the Luna Moth.

 

The Brief Wondrous Life of Oscar Wao by Junot Díaz

The Brief Wondrous Life of Oscar Wao by Junot Díaz

4/5

It's a geeky, Hispanic coming of age / family history epic. To read it you need some Spanish, some knowledge of the Dominican Republic (rather distractingly sketched in via footnotes - I wish Díaz had included an appendix instead) and to have read a lot of SciFi.

 

Links

- EU envoy defends Bahrain police from BBC News - Home (How do we fire Robert Cooper? Seriously, how is a sniper and 'accident'?).

- Obama's war tent from BBC News - Home (Surely he's just doing that to screw with Gaddafi?).

- Radiation Chart from xkcd (Radiation perspective...).

- Are cloth seats a public health hazard? Possibly. from Boing Boing (Of course. And which Muppet decided to carpet BART?).

- Chrysler Tells It How It Is from Failblog After Dark (It looks real - someone got fired for tweeting this).

- VIDEO: Murakami's book on silver screen from BBC News - Home (I hope they didn't screw it up...).

- Facebook adds suicide help system from BBC News - Home (Also needed, a 'net' underneath the wall.).

- What should you do if a cash machine overpays? from BBC News - Home (Really BBC, you needed to crowd source this one?).

- Herpetology from xkcd.com ('herpetology is a silly field').

- Dear Oprah: Some thoughts on your credibility. from Boing Boing (In her defense, she has a lot more hours to fill these days...).

Share:

Zombie Robs

I use Facebook for people I know well, LinkedIn for weaker ties and Twitter mostly for people I don’t know at all.

Over time though I’ve created identities on pretty much every network. With the increased interconnectedness of such sites when I stop using them I don’t stop posting…

I just discovered (in a spam filter) that someone was having a one sided conversation with me on Plaxo Pulse. I’m also actively posting (but not paying attention) on Buzz and goodness know how many other networks. I’m sure this inflates their active user count admirably but I’m now worried that undead me is being rude.

The social graph needs to work better in the other direction. Everything I post and comment on syndicates out like crazy but keeping track of responses just isn’t working.

Share:

Top 5 reasons to hate the Facebook like button

5. Validation

The metadata required to use the like button looks like this:

[code:html]





[/code]

But the property attribute isn't valid html or xhtml. The “Open” Graph Protocol says that it's inspired by Dublin Core. DC manages to get by using the name attribute like any other meta tag - why can't Open Graph? It's not the worst problem but it just seems needlessly irksome. Facebook has published a presentation describing their design decisions. This would be great, but it's in that Lessig one word per slide style and so it's attractive but completely useless without the presenter.

4. Fragility

Facebook's documentation is frustratingly sparse. For example you need to specify the owner of the page using a Facebook ID, and once you've chosen a name for your profile this is hard to find. The information vacuum has been filled with many erroneous blog posts saying to use the name, or some number from a shared photo (the best source is http://graph.facebook.com/robert.ellison, substituting your own username). Once you've got the admin ID wrong, you can't correct it - the first admin specified is fixed forever. What happens if a site is hacked and a bad actor sets themselves up as the admin? Surely something like the Google Webmaster Tools authentication scheme could have been used instead?

3. Pages with more than one object

Describing the object being liked in the head element limits you to one object per page. For some sites this is perfect, but what about a blog where you have many posts on the home page? It would be useful to have a like button per post, pointing at the permalink for the post in question. I've worked around this by having a like button for the blog on the home page, and a like button for each post on the post pages. Not ideal. I'm using the iframe version of the gadget, possibly there's some more flexibility with the XBML variant.

2. Duplicating existing pages

Let's say you've spent the past couple of years building up a Facebook page for your site/band/blog/movie and have thousands of fans. When you click your new like button for the first time you create a whole new page. There's no way to tell the like button about the existing page or the existing page about the like button. You now have at least two pages to worry about managing and potentially many, many more. You're also starting from scratch on the ‘like’ count, so even if your brand is already popular on Facebook it's back to Billy no-mates for you.

I can't believe this won't be fixed at some point. As with admin authentication above there must be a better way to establish ownership of various objects in the social graph.

1. Vocabulary

Doctors defend genital nick for girls

For better or worse Facebook has the inexorable pull to start making the semantic web a reality. Given this, and that there are something like twenty-four thousand verbs in the English language it's time for more expressiveness than ‘like’. You also can't comment on the ‘liked’ item in your stream (yet) so no clarification or discussion is possible.

--

Having said all that, if you enjoyed this post please click the ‘like’ button above ;)

Share:

I Thought He Came With You

Robert Ellison's Blog

7,250,102,861 people still need to read this blog.

Commute failing to suck this morning...

Commute failing to suck this morning...