twitter has been trying to introduce tweet rollups to users for a while now, much to everyone's dismay. they used to give you the option of leaving feedback about it, but no longer. hey, yknow that whole "chronological updates from my friends' lives that i can scroll through" thing? yknow, the one feature everyone likes about twitter? yeah. let's just do away with that.
twitter is adopting the facebook model of hiding user content while inundating us with ads. hey geniuses, offer up paid accounts. let me turn off rollups. whatever you gotta do. if you don't you're gonna die, just like facebook is dying.
facebook apparently has twitter fooled into thinking that treating your users like cattle is a viable model. facebook only survives the ocean of hatred it drifts upon because of a rapidly disintegrating raft made of gullible investor hype. once that hype is gone, investors are gonna start thinking about interconnected micronetworks. no longer will there be "one social network to rule them all", but instead hundreds or thousands of interconnected networks speaking the same protocol. a "social protocol". perhaps a peer-to-peer one like torrents. that is if phone companies would ever let up about inbound TCP/IP connections. this is the recursive nature of the internet that wants to be free. "what's the next small thing?"
the very nature and structure of the internet abhors centralization. in order to survive, a service needs to do one thing and do it well, and it needs to be easy to embed or integrate with other things. organisms/organizations that can't cross-pollinate and adapt and instead reinvent everything in-house will suffer feature creep until they mutate into tumored monolothic monstrosities. and then they will die, suffocated by their own weight. remember youtube before google plus? remember facebook before it did its own videos? of course you do. because that was great. whispers on the wind say that google knows this hard truth and they're going to untangle google+ from youtube. i can hardly wait.
it's "graphics interchange format". not "jraphics interchange format".
— facebook is stupid
facebook started ok. we have all noticed it slowly turning to crap, though. i remember having to get an invite and waiting for my college email address to be accepted as part of the "in-crowd". what a simpler time. the mass exodus from myspace was a no-brainer. since then i've lost about 10 years of content and had to remake my account twice due to overnight policy change bullshit locking me out. here are some more reasons facebook sucks now.
it is slow. this is due to the amount of code used to run facebook being several orders of magnitude larger than it needs to be, because, yknow, security through obscurity totally works and doesn't place unnecessary burden on the end-user's machine at all. and "features", aka keylogging and mouse tracking. facebook is one big data collection engine. it's an advertising site disguised as a social network.
posts are no longer in chronological order. this is to "enhance" the user experience. hey, facebook-- show me more ads, i don't care, just keep posts chronological! the "feed" wraps, by the way. if you scroll forever, you won't see older content. you'll see the same content over and over.
real name policy: facebook doesn't let you use your everyday name. you must use the name stamped on your birth certificate, and provide ten thousand types of id in triplicate. they are paying a lot of lip service to fixing this, but have not.
is your legal name charles but everyone including your parents call you chuck? are you an abuse or stalking victim trying to protect yourself? are you uninterested in having your content visible to overbearing employers, family members, or simply the public at large? too bad! off to obscurity with you, troll. enjoy your alienation. that's what you get for trying to pollute our gigantic surveillance database.
fisherprice interface: facebook used to be streamlined. now you're inundated with tooltips and garbage features.
album management is awful
general navigation is awful. do i go to account settings or my about section to change something? options are spread out in so many different places
the mobile site version is better than the app. and even then it doesn't work all the time.
they implemented gifs (welcome to the 90's), but even so, many times they don't embed and only show up as static image previews
they place handicaps on post reach unless you cough up the golds
freebooting is rampant. download a video from youtube and upload it as your own and face no consequences.
your friends' content is hidden from you if you haven't interacted with them recently.
the news feed updates too quickly. if i click a link, and then go back so i can share it, it's already vanished. i then have to go hunt it down.
facebook has become a chore.
i have been talking about peer-to-peer social networking replacing facebook for years (social network data distributed via something like torrents or another decentralized file sharing protocol). there have been efforts in academia to build such a thing, but nothing viable has emerged yet. i think this is currently due to the waystation problem-- where instead of DHT you have to join a network, and those networks are not networked (whereas something like IRC would be). ello is currently the only viable not-for-profit social network. there has already been an exodus from facebook to ello, and i would like to see it continue.
— an interface problem
an interface is a fingerprint for a set of function names, their parameters, and return types.
many languages enforce interfaces on a literal-interface-name basis and not on the basis of matching function names and signatures, which is the main purpose of interfaces in the first place.
languages must accept any argument that is compatible with expected interfaces. this includes accounting for type coercion.
interfaces are a way to mitigate cross-cutting concerns. strict enforcement of literal-interface-names unnecessarily constrains this freedom, and leads to the creation of single-use adapter layers for glue.
compiled languages should perform this check during compile-time. many scripted languages perform type checks anyway and can do this at compile-time (or even run-time) with relatively no impact on performance.