Half-Elf on Tech

Thoughts From a Professional Lesbian

Tag: social media

  • It’s Not About the Money

    It’s Not About the Money

    I left Twitter last year for a very personal and specific reason. That reason? They refuse to protect anyone.

    There remains a number of humans on Twitter who delight in harassing, blasting, humiliating (trying …), and vilifying me. One of whom was actually (briefly) banned. And it was rough enough before the new regime, who has made things objectively worse. Not a little worse, a lot worse.

    I went over to Mastodon and I have no regrets. It’s much nicer, even though there are some flaws (spam at the moment, but also some gatekeeping and racism that needs to stop). For example, on Sunday recently, I posted how I don’t believe in AI. I am my father’s daughter, after all, and there is nothing intelligent about what we’ve created, save in our own. The machine does not think, it does not innovate, it keeps to what it knows.

    On Mastodon? That got a lot of nuanced conversations. On Twitter I had to be handy with the block button.

    Now no social media is “great” for the soul, but Twitter has been doing a dumb ass speed run and hurting as many people as possible.

    Dangerous Minds

    On April 8th, Twitter removed the language in its hateful conduct policy that explicitly protected transgender people from online harassment. 

    Prior to the rule change, Twitter’s Hateful Content Policy stated:

    We prohibit targeting others with repeated slurs, tropes or other content that intends to dehumanize, degrade or reinforce negative or harmful stereotypes about a protected category. This includes targeted misgendering or deadnaming of transgender individuals. In some cases, such as (but not limited to) severe, repetitive usage of slurs, or racist/sexist tropes where the context is to harass or intimidate others, we may require Tweet removal. In other cases, such as (but not limited to) moderate, isolated usage where the context is to harass or intimidate others, we may limit Tweet visibility as further described below.

    It now is:

    We prohibit targeting others with repeated slurs, tropes or other content that intends to degrade or reinforce negative or harmful stereotypes about a protected category. In some cases, such as (but not limited to) severe, repetitive usage of slurs, or racist/sexist tropes where the context is to harass or intimidate others, we may require Tweet removal. In other cases, such as (but not limited to) moderate, isolated usage where the context is to harass or intimidate others, we may limit Tweet visibility as further described below.

    They removed a key number of words.

    1. dehumanize
    2. misgendering
    3. deadnaming

    This removal of stated protections happens at the same time Florida is banning drag shows, health care for trans youths, and more.

    Be Judged By Your Actions

    This is a technical sort of blog, I know. But this overlaps into that, so hold on a second.

    People will judge you by your actions. If you treat people like dirt, you will be seen as an asshole. If you’re Jewish, you’re likely familiar with the saying similar to “If someone sits down at a table with 11 Nazis, and doesn’t leave, you now have 12 Nazis.”

    The point being, your action of giving money to someone’s company when you are aware of their transphobic, homophobic, antisemitic, hate-filled actions, we are all going to look at you like you’re an asshole too. And when you allow those people in your community, you’re saying “I’m okay with these people who dehumanize others.”

    Now, how does this relate to tech, besides Twitter being a tech company?

    Take a LONG hard look at Twitter right now. See how many people are being unmitigated assholes to the users, and see that nothing is being done to stop it. Got that image in your head?

    Awesome. Now. What are YOU doing to stop it in YOUR products?

    I talk about how tech is open to being abused so much because, thus far, we have done very little to actually protect anyone. I mean, you tell me how you can block someone who could spin up a hundred accounts in minutes, just to email you and be a jerk? There are, of course, somethings you cannot stop but think about it this way…

    If someone came to your home to harass you, there are resources (cops, for example). It someone’s harassing you on Twitter, you go to Twitter support, right? They do nothing, which means they have a product and they don’t care about you. Hell, Twitter will tell you that someone telling you to that you deserve to suffer is fine, but will ban you for telling them to jump in a volcano, because you made a death threat.

    Not a joke. Happened to a friend.

    There aren’t laws that properly cover online abuse. They’re aren’t. Don’t get me started. But that means the responsibility is on US, the creators of the tools. I’ve said it a million times, if you make a forms plugin and do not take time to figure out ways to allow people to protect themselves, you failed. Look at how much custom code I’ve had to make just to get people to leave me alone!

    If your code won’t protect me, I won’t use it because it’s not safe. And when you side with people who categorically make things unsafe, well, now I don’t trust you.

    Stand By What You Believe In

    Someone’s probably going to ask me how far I go with this. I’ll put it this way. If, tomorrow, Musk ‘bought out’ WordPress, I would quit my job and start over with anything else. And I’d have to think about what to do with my websites.

    At the same time, if you’re still using Twitter as a non-paying user? That’s your call and I won’t think ill of you for it. There absolutely are some communities that only exist on Twitter, and moving them is a pain in the ass. I feel this way about Facebook, I hate it and I hate how it treats people, but I understand it’s a necessary evil. I wish it was easier to move everyone elsewhere, but not all products are built like WordPress.

    That’s the nice thing, I think. If, tomorrow, I had to quit WP, I really do have options! I can export and migrate! Because WordPress lets you own your data. But that’s another post.

    And contrary to what some people may think, I am absolutely in support of paying for social media! I donated to my Mastodon host (I just switched so I have to set things back up again) because a couple bucks a month for enjoyment is something I can afford.

    I’m opposed to PAYING to be treated like a second or third class human, and I absolutely judge you when you do pay them.

    Listen and Protect

    Here’s my advice and it starts with a story.

    Back in 2010 or so, there was a courthouse in Franklin County Ohio that had a glass staircase.

    Why is that a problem?

    Go put on a skirt while I stand underneath and tell you what color your underpants are (if you wear them).

    That’s a damned obvious problem to anyone who regularly wears skirts and dresses. Why didn’t the courthouse think of that? Men probably designed it and didn’t ask or didn’t listen until the Judge saw it and got pissed off.

    In order to make things safe, you have to listen to people. If a skirt-wearing human comes up and says “Hey, this is bad, people can see my panties” you shouldn’t do what the Courthouse did. They had a guard there to warn women, which is not a solution, and said they’d hope people would be mature … That is not listening, and it sure isn’t protecting.

    What they could have done is change the underside of the glass to reflect, or put a film on, or cordon it off so people can’t stand underneath. But instead they went “meh.”

    If you go ‘meh’, you’re the problem folks. You didn’t listen, and when the opportunity arose, you didn’t help.

    So. Listen. Think about what it means to someone else. Have empathy. And then code with that empathy.

    And spend your bucks with that empathy too, by the way.

  • Poor Customer Service

    Poor Customer Service

    Bad News GuyI have to start this with a confession that I screwed up and lost my WePay account.

    I lost my WePay account for something that was totally my mistake. I have no complaints about that, I screwed up and missed the clause in their ToS that says you can’t use it for digital goods. This needs to be stressed: this was no one’s fault but my own. You can think it’s a stupid clause as much as you want, but it’s theirs, and I agreed to it and broke it. On accident. But ignorance of the law is no excuse. I know this, I support this. I have no quarrel with this.

    My issue is how I found out, and what WePay did about it when I had questions.

    How did I find out I was in violation? I got this email:

    It seems you’re using WePay for one or more of the activities prohibited by our Terms of Service. Unfortunately, you can’t use WePay to accept additional payments. Any pending payments will be canceled and you won’t be able to withdraw funds at this time.

    More specifically:

    We are unable to process payments for digital goods including ebooks.

    Thank you for understanding and we apologize that we couldn’t offer a better solution.

    It’s a nice email, all told, but it doesn’t explain things. Like … if pending payments are canceled, do they get refunded? What about completed payments? Do those get refunded or do I get my money? At first, I had about $70 stuck in some weird degree of transaction hell. Now it’s down to under $20 and I’m still struggling to get a good answer as to where that money goes. Will I get it back? Will my customer get it back?

    I logged into WePay and everything looked … normal. I checked my payment pages, as myself, and they were active. Logically I thought they had disabled my payment API and would be refunding money, but I could find no information on that on my pages. Then my friend Kat pinged me to tell me my Donation Page for ebooks was down. THAT is how I found out my account was actually disabled.

    I emailed them and right away and was direct that I knew, understood, and accepted, that I was at fault, but I asked if they meant by “Unfortunately, you can’t use WePay to accept additional payments.” Forever? Everything? It was over and done with? I felt that was pretty nice, all told. I understood that it was my bad, but I wasn’t clear on what they meant by the wording and asked for clarification.

    They replied with that yes, this account was good and done and gone forever more. I could no longer use it though paradoxically when I was logged in, there was no obvious mention of this. The only way, logged in, to tell I was persona non grata was to try and withdraw my money. Then it said to contact customer service. But my support guy said all was not lost, I could make a new account, and as long as that didn’t break the rules, I would be allowed to stay, “Your current account though, can not be utilized unfortunately.”

    It was a strange way to tell me “Your account has been suspended.”

    Stack of Uruguay BillsBut okay, that’s fine. I accepted this and replied asking if my customers, the couple who were in some various state of pending (I think it was a total of $19.50) would get their money back. And this is where my tale went from ‘Stupid me’ and right into ‘What the hell is wrong with WePay?’

    The initial email I got was at 4:12pm. I didn’t see it until nearly 8pm but I replied right away when I figured out what it meant. I did not know, at that time, that they only did support from 6am to 6pm Pacific, but since I got a reply within 30 minutes, I assumed, like you would, that they had 24/7 support. The second email, my question about the refunds, was sent at about 9pm, and there was no reply by 11pm. As anxious as I was, I went to bed.

    In the morning, there was still no email, so I sent another asking for an update, and repeating the question, at about 6:30am. After two more hours, I thought something was up. Normally you get a reply telling you there’s a ticket. Instead I got asked to ‘rate’ my ticket; it had been closed. Instead of replying via email, I logged into their system and marked the ticket as unsatisfactory, with a now angry rant that I was trying to get an answer. Then I forcibly reopened the ticket and put in BOTH my emails asking for the same information.

    All I wanted to know was if the people who paid me, and whose money WePay put a hold on the payments, get THEIR money back?

    I know I screwed up. But that money, if it’s not mine, is theirs and not WePays.

    It took six more hours for someone to reply to that question. I poked their Twitter account about it, and was told that my 11pm email was outside support hours. I asked (via Twitter) for someone to look at my ticket please, and got no more replies from them. At this point I put my effort into getting Stripe up and running, making my own donation page, and figuring out how PayPal handles invoices again.

    At this point in the game, I was no longer annoyed and understanding, but pissed off and vocal.

    I probably sound angry, and I am. I’m angry at myself for not reading the ToS. I’m angry that WePay actually has a ‘no digital goods’ rule for a online payment service in 2014. I’m angry that I didn’t get a warning and a chance to correct myself. I’m angry that their UI made it so I couldn’t see I was actually suspended. I’m angry that their support system which said ‘reply to this email to reopen the ticket’ decided to turf my mails instead, with no notice.

    I’d been with WePay for over four years. I really liked them because they were everything PayPal was not! You can customize a donation page with a pretty URL, or send a custom invoice that looked personable. And back four years ago, I didn’t have to fight to get answers, I got a freakin’ phone call asking me if everything was okay. Yes, I remember that call and said “Well DAMN, this is great!” That was customer service worth lauding, and why for so long I’ve told people to use WePay.

    This experience was not WePay. I told them “It’s like finding out your favorite actor is a racist.”

    Customer service will make and break you. Customer perception is a huge part of that. WePay went from a service I adored to one that I outright dislike now. And no, I’m not mad at them about shutting my account, I’m mad at them for how they handled it. How they talked to me, how they dealt with my questions, and how I waited almost 6 hours for a reply during business hours, but got them quickly outside them. The money has being refunded to my customers, and I have personally apologized to them for my mistake. I’ll miss you WePay, and I wish you could be less stupid about digital goods. I hope you change your mind one day, but even then I won’t be back. My accounts are deleted, we are no more.

    The coda to all this is that on January 16th, WePay announced they were shutting down everything except their API. No more buttons, no more donation pages, no more crowdfunding, no more store. Just an API, like Stripe, only you can’t sell electronic goods, making it officially the least useful of all the online API stores out there. Way to take a great product and kill it.

  • Presentations Are Not Transcripts

    Presentations Are Not Transcripts

    After my review of SEO Slides (they’re pie, not cake), someone remarked to me that my slide decks are useless because I don’t put all the information on the slides. They pointed out, correctly, that my slides are image heavy with, at most, a couple lines of text (with one notable exception: WordCamp Chicago 2012), except my ‘Who am I?’ slide. I told them “Yes, this is true.” and then Tweeted about it.

    SlidesMy belief (and this is shared by a lot of people) is that slides should accent and relate to my talk. If you just need to read the slides to get all the information, why am I there? Coming to a live presentation to just watch someone reading off slides seems counter intuitive to me. Heck. I could go pester my coworker and get the studies showing that when you have a slide with a lot of text, people read the text, then look at you. That means that they aren’t listening until they read, and if, when they’re done, they come to find you’re just reading what they read? They’re probably bored.

    When I give a presentation, it’s usually on a topic I’ve written about before. Actually, that’s generally how I decide what I want to talk about! I picked “Don’t use WordPress Multisite” for WordCamp SF 2013 because it is still, to this day, the most popular post on my site. And it’s my most popular presentation. Some may ask “Why would you give a presentation on something I could read?”

    BoredPeople learn in different ways. I, personally, suck at learning from videos. However I learn well from presentations in person, where someone talks to the room, pays attention to our energy, and teaches, using the slides as an emphasis. I also learn well from a written post. Finally, I learn best by doing things. So for me, if I’m blowing up a site, it means I’m learning in a speed unparalleled. There’s a converse to this, and if I hit a blocker were I can’t do something, I get really upset.

    What does this have to do with slides and why mine are mostly pretty pictures with a sentence for emphasis? I don’t write my slides to be a transcript because I’m going to write a much longer blog post on the topic, with the same pictures probably, if I haven’t already. So for the person who wants to read the content, I’ll have you covered. And for the person who wants to be inspired by looking at slides? Well I have that. Finally for the person who wants to watch a video, WordCamp does that for me, thankfully.

    This is not a perfect system, of course. Like I said, people learn in different ways, so there’s probably someone out there who loves slideshows of text on pictures who is grumpy. They probably also like infographics. Which I don’t. You see a trend here? I don’t like getting my information from pictures. Because of that I suck at writing them, so I just don’t.

  • Why I Hate Facebook

    Why I Hate Facebook

    I do, you know. I hate it for a couple reasons, but the primary one is the user interface sucks. It’s just horrible. And since I’ve apparently turned Friday into my free, shortform, random topic day, let me explain to you why.

    Ignores My Settings

    I cannot tell you how many times I’ve gone to my timeline and seen garbage from last week. “What the hell?” I would shout, and look to see that my timeline is ordered by something called “Top Stories.” Interesting, because I know for a 100% fact that I set it to “Most Recent.” But no, no, Facebook changed it. So I change it back:

    Sort Order

    And don’t ask me how many times I’ve had to turn chat OFF.

    Click Don’t Matter

    This is worse on iOS where I have to click twice on every single link, but it’s bad on the sort order, which is not a link but a drop down. Only since it’s right above the post in my timeline, I have to wiggle my mouse around until I magically click the right place for it to work. Using Facebook on my iPhone means I have to use their app, which behaves radically differently from the normal app, so thanks. Now I have to learn everything twice.

    Unfollow Does not Mean What You Think It Means

    If I comment in a thread, I follow it. Okay. I can see why you do that, and while I’d like an option to default that to off, I’m not going to argue. But when I make a comment, sometimes I click ‘Unfollow’ right away, because I just wanted to say one thing, or post “Congratulations on your baby!” and move on. That’s the end of it, right?

    Nope. Every time someone ‘likes’ my comment, I get a notification. Every. Smegging. Time. I’m witty. Lots of people like my comments, or find them helpful, or whatever. That means I get a lot of BS notifications I don’t give a horse’s patootie about.

    Wrong location For VERY important information

    Do you know how to ‘tell’ if a post can be shared? Some can, some can’t you see. Let me help. This post is public and can be shared:

    Public Share OK

    This post is friends only and cannot be shared:

    Only Friends

    Different icons, different meanings. Where are these icons? At the bottom of the post. Why is that a problem, you may ask? After all, the share button is down there too! Not everyone shares with share buttons. A lot of people will copy what someone says on FB to a blog. If they don’t happen to scroll down (which, let’s face it, a lot of us don’t), and don’t happen to know magically that a globe is public and a group of little people is a friends-only thing, they’ll copy the post content, paste it to their website, and share with the world.

    I’m not so naive to think anything I put online is ever fully ‘private.’ But I’m intelligent, experienced, and I work in IT. I understand the world around me, and how the digital world shares data. If it’s online, someone will see it, share it, and make it public. Not everyone gets that, and they get upset.

    How could Facebook fix this? Put at the top of the post “Friends Only!” or “Public Post” so it’s clear right away.

    Bad Colors

    Did you know you can embed Facebook posts in WordPress?

    https://www.facebook.com/photo.php?fbid=10151997270514795&set=a.10150154582169795.302445.251152514794&type=1

    That’s my high school celebrating soccer season. The link for embedding FB? Grey. Pale grey. In the image below, I’m hovering over it. It’s still grey. If I didn’t know better, I’d think it was plain text!

    Embed Link

    There should be a color change when you hover over a link, a noticable color change.

    But wait, there’s more!

    I’m sure there is, but at over 600 words, lets call this a day. What annoys you about Facebook’s user interface?

  • Your Photos, Your Way

    Your Photos, Your Way

    PressGramI’m funding PressGram on Kickstarter and you should too.

    I like Open Source. Surprise!

    I don’t mind paying for products (as witnessed by the fact that I have paid for this theme, and even the old DevPress and ThemeHybrid ones I don’t use anymore. I have a slew of plugins I paid for, and all in all, I think every dime was money well spent. Paying for open source makes sense.

    So there’s this guy I know from the Internet, John Saddington, who likes taking photos, and he likes social media, but he wonders, like I often do, what happens when those outlets go away? Where are all my photos if TwitPic or YFrog vanishes? Or if Facebook deletes my account?

    They’re gone.

    John loves WordPress. So do I. John loves photos. Well. I fiddle around with them, but the point is he wants to built something that is way more than ‘just’ a plugin. He wants to make a free iPhone app… look, this is what he wants:

    The premise is simple: I wanted to post filtered photos from my iPhone 5 but without worrying about any privacy or licensing issues (and we’re not interested in asking you to upload photo IDs). In other words, I wanted complete and total creative control of my images and content (as well as the pageviews).

    photo-littleAnd this will post to WordPress, which is so simple, we have a one-click installer at DreamHost for you to use to make it. Imagine that. You could have a photoblog with a couple clicks.

    When I read that John was making PressGram, I had to poke at it, even though it’s not Open Source. It’s an Apple iOS app. I’m not shocked that it’s not open source, and after consideration, I don’t mind. It doesn’t have to be. As long as the plugin is open source (and frankly, given WordPress’s API, I can easily envision how it would be without stepping on closed source apps), it’s good to go.

    John knows his shit. He shares the same concerns and doubts about social media as I do, he rails on Facebook for the same things I do. He’s a guy whose ethics I can get behind. And he’s a guy whose code I can get behind. Remember I review plugins. I’ve seen his code. It’s good.

    So yeah, I’m supporting him so you can have a free app. Go figure. And as with most of the things I kickstart, I get no swag back (I think I get a kudos and a link somewhere), because I like to give for the spirit of giving most of the time. I’ll be getting the Veronica Mars DVD, but I’d be buying that anyway.

    Give in. You know you want this. Pay $5 instead of risking your content belonging to someone else.

  • Collecting Conflicting Stats

    Collecting Conflicting Stats

    StatisticsWhile, like many people, I use Google Analytics, I don’t really trust it’s parsing. I do use mod_pagespeed which lets me auto-embed my GA code in every page without plugins or extra work on my part, which is great, but the results are questionable and often wildly disparate and conflicting.

    Let me demonstrate:

    Google AWStats Webalizer
    Page views 2,607 10,354 8,502
    Hits 49,830 59,542
    Visits 888 1,274 2,255

    First of all, I can’t find ‘hits’ anywhere on Google. Their layout is different and changes regularly. Secondly, and I’m sure this jumps out at you, according to AWStats and Webalizer, I’m getting 4 to 5 times the pageviews compared to Google. I previously configured AWStats and Webalizer to exclude wp-admin and other ‘back end’ pages by editing the configuration files. I did the same in my .htaccess for PageSpeed, so I know no one is tracking admin pages.

    I already know that AWStats errs on the site of users, so if it can’t tell something is a bot, it assumes it’s a user. I also know it tends to overcount, since it bases its counts on traffic in a way that is a little generous (a 60 minute count for a visit). Not a huge deal, but enough to say that yes, the 10k pageview is probably closer to the 9 or 8 of Webalizer. Speaking of Webalizer, it uses a 30 minute count, so there it skews higher. Fine, let’s be harsh and halve them.

    That gives me 4000-ish pageviews. Google gave it 2600-ish.

    Interestingly, Google gives a 30 minute visit count too, but it also uses cookies and javascript, which while fairly safe, doesn’t run on everyone’s browser. As an amusing side-bar, when I switched from using a plugin or manually injecting Google Analytics into my sites and started using mod_pagespeed’s insertion, my results went up. Noticeably. In part this is attributed to the fact that my site is having higher traffic than normal, but when I compared it to WordPress Stats, it was a bigger than expected jump.(I’m not using WordPress’s Stats ala Jetpack in this experiment because it only counts WordPress pages, and the site I’m using is not just WP. However on a pure WP site, WP’s stats tend to skew higher than GA.)

    Which one is right? Most people will say Google is ‘closer to the truth’ but I don’t know how much I can rely on that. Certainly it’s more true for how many actual people are visiting my site, and when I’m judging metrics for marketing, I’m a little more inclined to use Google. That said, if I’m trying to understand why my page speed is slow, or where I’m getting hammered with traffic, AWStats and Webalizer are far more accurate, since they’re counting everything.

    Data that can, and cannot, be measured
    From “Manga Guide to Statistics,” Shin Takahashi, 2008
    Right now, I’m keeping Google Analytics on my sites. I don’t really need the measurements for marketing (that would involve doing marketing), but there are better social engagement stats provided that make it helpful. Like of all the social media sites, Facebook and Twitter are tied for traffic, and Google Plus is only high scored on my tech blog. I think that if Google let us auto publish to Google+, those stats would change, but for now, it’s all manual.

    This is not to say that I think auto-posting is great for social engagement, but I find I actual pay attention more to the social aspect of the media if I don’t have to remember to post all over the place. This is a massive shift since October 2011, when I’d stopped auto-posting for SEO reasons. Why did I change my stance? Well it because easier to autopost and keep that personal touch with Jetpack’s Publicize feature. Now I can easily insert a custom message, and I know it’s going to (mostly) use my excerpt.(For some reason Tumblr is a moron about this) That saves me effort and allows me to spend more time actually interacting!

    Auto-generating my stats with little effort, and being able to easily read them without needing a degree in SEO (no they don’t exist) is also hugely important. Google Analytics is easy to read, but curiously I find it overly complicated to understand. The different pages and layouts make it surprisingly hard to find ‘What were my stats for yesterday?’ Sometimes I have a boom in traffic on one day (like the day I had a 600% increase) and I want to see what went on and why. Where was this traffic coming from? WordPress’s stats do this amazingly well, just as an example.

    No one tool provides all the data I need to measure all aspects of my site, nor does anyone one tool collect all the data. Google tells me more about browser size, screen resolution, and everything it can grab about the user, where AWStats and Webalizer give me more information about traffic by showing me everything, bots and humans. Basically server tools are great for collecting server stats, and webpage tools are great for user stats. But you need both.

    So in the end, I have at least four different statistic programs I check on, regularly, to try and understand my traffic and measure success.