Half-Elf on Tech

Thoughts From a Professional Lesbian

Tag: bandwidth

  • The Need for Mobile Speed

    The Need for Mobile Speed

    I took the train from NYC to Montreal, which I will never do again. It was too long, too uncomfortable, and customs actually made the TSA preferable. But while you ponder that in your back brain, I want you to consider this as well. The internet on the train sucks.

    For the first time in years I was back on pre-smartphone speeds. And the problem with that is I was in a world that expected 3G or faster speeds. Here’s what would not load:

    • Twitter
    • Facebook
    • Tumblr
    • Most news webpages
    • Anything with video

    Here’s what I could do:

    • Text

    That was a pretty shitty smartphone experience. As I sat on the train, I wondered why it was so shitty. Didn’t we build everything to be mobile first? Wasn’t the point of the responsive systems to make it faster? Turns out we didn’t.

    One of the things we do well in the modern web is device detection. If I’m on a mobile device, everything’s cool and perfect and my sites will load for that device. There are PHP libraries like Mobile Detect and Detect Mobile Browsers], but what they’re really doing is device checks, not mobile. Knowing what kind of device someone’s on lets us customize a web experience to that device, and that’s all we tend to do. We put in the hours to check “Is this a mobile device?” but not where we should be.

    Of course, that’s really hard to do. Apps like SpeedTest and TestMy.net work alright, but when you’re traveling by rail, your speed is incredibly variable and confusing. One minute I’d have 4 bars, the next 1, and then I’d drop from LTE to 3G and worse. Oh, and don’t bother asking about the WiFi. It was a joke.

    Somewhat related, I travel a lot for work. I recently did a 12 day run to NYC and then Montreal, where I was in hotels most of the time. Hotel Wifi is a spotty thing. Either they charge you up to $40 a day for the privilege of their shiternet, or they give you free wifi that loads everything but images. Trying to work from hotels is a hit and miss proposition as well. I can connect, but as soon as I hop onto my VPN, everything drags.

    Then we have conferences. I’ve yet to go to a tech conf where we didn’t kill the Wifi, or nearly so. While that’s kind of our faults for leaving on our various automated updaters and DropBoxes and the like, there isn’t a ‘Conference Wifi’ mode on laptops to say “Hey, I’m on a bandwidth so don’t do the automated background things please and thank you.” This is, by the way, why my presentations are always on my local box as well as online. I assume the wifi will die.

    In all cases, as soon as the internet quality drops to slow, our experience online crumbles. We simply haven’t built most tools to work in a one-bar world. And much of this isn’t a solution we can easily grasp. Even the big guys, who have servers built for stress and speed, are slow in these situations. Because we assume too much. We assume minimum connectivity.

    The race for faster wireless service is on, but we should step back and look at the simplification of our sites. If we can make a low-speed version that is as fully featured, we should.

  • Share My Content (But Leave My Style Alone)

    Share My Content (But Leave My Style Alone)

    Four and Twenty 3.14159 in a PieThis came up at WordCamp Chicago. We were in the unConference, talking about BuddyPress, when John James Jacoby asked how many of us use Blackberry Pie. This is a WordPress plugin that lets you include Tweets into the content of your post, bringing the style (avatar, CSS etc) from Twitter. Then he asked if that would be cool to see in WordPress, where we could bring any other WP content to our sites.

    A lot of people liked that idea. I visibly cringed. Sam “Otto” Woods made a joke about how that would bring splogs to a new level. But I was stuck on thinking about copyright and bandwidth.

    The basic idea is sound and, I agree, really cool. If I can link to my site on Google+ or Facebook, and it pulls in a picture, couldn’t it pull in my formatting too? That would mean when you quote from my site, it looks like my site! The problem I see, is that the reason Facebook and Google can get away with embedding the picture is that they are copying your picture to their server and displaying it from their sites.

    Yep, these are servers.How do I know that? Because I have hotlink protection and I know it works. So the only way for these sites to cache my images is to come and scrape what they see IN the post. (I’m pretty sure this is why the ‘featured image’ in WordPress doesn’t always show up on a Facebook link. If you have the image inside the post, it always shows up. If you don’t, it doesn’t. Simplest answer: they’re content scraping.) It’s nice to see that technology being used for good. Of course, if you extend the thought, you’ll realize how many servers these sites must allocate just to storing snippets of other people’s data.

    If your server cannot do that, then you should not be trying to emulate them.

    People forget just how much work went into making Google and Facebook able to do that! They aren’t aware of how many servers, and how many people maintaining the servers, it takes to support that level of infrastructural deployment.(Mind you, WordPress has about 4 or 5 people to Facebook’s couple hundred, so it’s not about the amount, but the people.) This makes the problem two-fold. Either you must have your server set up to handle the caching, or you steal the CSS (and thus bandwidth) from someone else.

    Okay, okay, so CSS bandwidth is a drop in the bucket compared to images, I know. And maybe I’m making a mountain out of a molehill, but we already know exactly how dangerous it is to have your site heavily linked. I’ve suffered the Digg/Slashdot/ma.tt effect before, and been nailed with 300% traffic. Thankfully I built this server with that end-goal in mind, and the last time it happened, no one noticed. Which is as it should be. But if I was still on my old shared host, I’d probably have died.

    This cuts back to why certain things are made plugins/add-ons and others are default a part of a product. When you support ‘all’ things, you have to limit your product to what actually is supportable. Microsoft Office works on most systems, but it doesn’t work on all, and it has known conflicts. Because of those conflicts, there are features Microsoft knowingly left out! They would rather support as much as they can for as many people as they can. If your product is a niche product, you can get away with only supporting certain things, but a web app (Drupal, WordPress, etc) cannot. (And this is why you won’t see caching built into WordPress. Too many different server setups!)

    I just really like this mountainIn the end, I think that embedding contextual content in a site is a nice idea, but unfeasible. You’ll never be able to support all possibilities, and you’ll never be able to do it in a way that ensures you stay on the right side of the law. If you want to link to someone, make a quote, link back, and use it as a part of your site, branded your way. If the look and feel of the post is important (like Twitter or YouTube), then hope they’ve come up with a way where they want you to be able to embed the content in your site.

    Until then, share my content, but leave my style alone on my site, where it belongs.