Mocco

  • Home
  • Journal
  • Contact
  • The Tape Measure

    20

    21—

    Half a century ago, mom was in a traffic accident. She was hospitalized for more than a year, she was seventeen, and you can imagine she had plans other than being hospitalized.

    At one particular low-point during her stay she had prompted the doctor for an answer: how long will I have to be here? The doctor had unfurled a roll of measuring tape, and pointed to two centimeters. “Look”, he had said, “You’re going to live for many years. See how little it matters in context. Cut it off, it will not matter in the long view.”

    I’ve thought about this story many times, especially in the past few years. Some days feel like they deserve to be torn out of the calendar and forgotten about. Days can become weeks or months. And when the world burns and no one seems to care, it’s easy to feel like nothing matters. If you stare into the abyss long enough, it will stare back.

    But I’ve always understood the doctor and his comments as a reminder to focus on the future. The past is a prologue, and with every day a chance to start anew, it means a good future can be written. No matter how little is left when you cut the tape measure.

    The Tape Measure

    October 3, 2021
    diary

  • Vaccines

    Photo of a sign saying "Vaccinecenter" placed on a green field.
    “Vaccinecenter”

    Every week, I run by this sign, waiting for it to be my turn to get a shot. It eventually will be, and when the day comes I’ll be grateful to receive what I consider a miracle of science, a fluid which when injected causes an immune reaction, training me for the real thing, and then dissipating.

    More than anything, however, I look forward to when we can put this sign back into long term storage.

    Vaccines

    May 16, 2021
    diary

  • Apps Are Dead

    “There’s an app for that” was a popular phrase thrown around a few years ago. The phrase optimistically noted that in this technological era, whatever task was at hand, you could probably find an app on your pocket-carried supercomputer that would help you right out.

    What the phrase did not include was the notion that in order to get said app, you had to open the app store, search, pick the right one, possibly pay 99¢, type in your app store password, wait for it to download, open the app, grant permissions to contacts, location or whatever else the app might want until finally you could use the app. Unless you had to register and/or sign in to use it, possibly add a credit card.

    Apps were revolutionary for their time, no doubt. But in a world where cars drive themselves and pizzas are best ordered from your watch, some of the qualities of apps as we know them are starting to seem a bit menial. The numbers seem to suggest this as well, as apparently half of U.S. smartphone users download zero apps per month.

    At its most atomic scale, an “app” is a little window on your phone that does things your operating system might not do on its own. When the iPhone was first introduced, the phone dialer was presented as “just another app”. It was no different, it was suggested, than any other apps you’d install, and every app added new features to your phone.

    But what about replacing features? What about augmenting features? Sure, WhatsApp can create a dialer app that lets you call using their service instead of the cell network. But they’ll lose out on all kinds of systems integration into the OS: what if someone calls you, can you answer with WhatsApp?

    It varies from platform to platform the amount of integration apps are allowed to do. While iOS is mostly closed down, you can still replace the keyboard. Android allows you to replace many aspects such as the browser, and yes, the dialer as well. But even then Android is still very much Google’s platform, and there are key aspects of the operating system that are still off-limits.

    Apps of today are also very much hardware specific. Android apps look and behave a specific way and iOS apps look and behave a specific way. Some apps are cross-platform, available on both. This has worked fine for a world where people carry a smartphone in their pockets, but what happens when we stop doing that?

    In order to speculate what the app of the future might look like, let’s summarize some of the challenges posed by the current interface:

    1. Finding and installing apps is cumbersome
    2. Having to manage your identity and sign into every app is a pain
    3. Having to remember or save passwords for every service is dangerous
    4. Trusting an app with your credit card information is both cumbersome and risky
    5. Generally, closed platforms are advantageous mostly for the platform vendors
    6. Future hardware categories are likely to demand drastically different or adaptive apps

    If you’re Apple or Google, it might sounds like #5 — being the platform vendor — is a good place to be, and so it might dampen any initiatives to make new touch points that’ll fully open the home turf to competing apps. But there’s an argument to be made that they will have to, or be left behind.

    Metaplatform

    Enter Facebook. Most of the world is on it. They have your name, address, credit card, contacts, and probably photos. Facebook is you; it’s your identity, and you can use it to sign in, pay and communicate. Facebook is a metaplatform. So is Amazon, and so is Microsoft. Neither of these three have a mobile hardware play to speak of, but they have services and ecosystems you wouldn’t want to be without. To a certain extent, so do Google and Apple, but it’s a competitive space and Facebook arguably has the upper hand on the identity aspect, while Amazon has for the payment aspect. And so in five years maybe it doesn’t matter how good Apple Pay is if you can’t get your “Prime discount” when using it, and it doesn’t matter how good Google Duo is if none of your friends are using it.

    People use Facebook. People use Amazon. People use them even if they have to use a browser to do so, and their webpages run well. More so, the secret sauce that makes them run well — React, AWS etc. — is available to anyone. To an extent it doesn’t matter which platform these run on — all they need is a browser. In five years time, will you care whether that browser runs on Android or iOS?

    Apple and Google obviously care, and the thing they need to do in order for their platforms to be relevant in the metaplatform future, is open up. The platform that opens up the most integration touch points in their operating system will be able to provide the better user experience for your metaplatform of choice. People might choose Android simply because Facebook runs better on it.

    In a future where apps run anywhere, the underlying platform becomes a checkbox. We’re already seeing the baby steps towards this with React Native, and progressive web apps.

    Future Apps

    So what might the app of the future look like? Perhaps a better question to ask is: how would the app of the future work? 

    A few problems need to be solved. Instead of installing a separate app for every airline you fly with, and only when you fly, then perhaps the website should be allowed to perform as well as were it actually native. If you fly that airline a lot — pin it — it’s now “installed”. Unpinning it uninstalls it. Identity wise, you are signed into your operating system with whatever cloud account you prefer. This cloud maintains your passwords and your credit cards. Through biometric authentication, apps can tap into this information when you allow it. No signups, no cumbersome passwords to remember.

    Increasingly, apps won’t install themselves as icons in a grid, but instead hook into touch points in the operating system and become actions for intents provided. It’s long been the case that the best apps are the ones that focus exclusively on solving very specific problems and tackling specific use cases. The ultimate refinement of this is the complete reduction into taking action based on a user intent.

    In comparison, the apps of today are very linear in their flow. You pick an app, pick an intent, complete your task:

    When the intent of an app becomes available before the app itself is even launched, suddenly the flow to completing tasks can be highly streamlined:

    Instead of hunting for icons, perhaps your homescreen will simply list intents contextual to location, time of day, and habits.

    Intents also enable interoperability between apps. Some intents are present already today — on Android, the “share” intent lets you transport content from one place to another. Imagine every app as an intent-based action — the plug-in platform, where apps add, replace or augment any intent you might have. Call someone, text someone, take a note are all existing intents that apps can handle the actions for on Android. But who’s your digital assistant, and can it place a WhatsApp call when you ask it to?

    The process will be gradual, but it’s likely to kill off most apps that aren’t able to transition to being simply actions. There’s going to be room for the occasional “pinned app” for use cases to which there aren’t universal handlers, or for apps that create new intents (“I want to tweet”), but those are likely to be exceptions.

    When metaplatforms provide all the infrastructure and apps merely tap into them, will this make for a more closed web? That remains to be seen — could be that it becomes more open, as web-apps increase in what they can do and where they run. But one thing’s for sure — you’ll spend spend less time hunting and pecking between icons in a grid, as menial tasks are being handled by intents and actions. In fact we might finally be able to go to a dinner with friends without everyone putting their smartphones next to their plates. In this golden future, maybe that Swarm check-in is handled by your digital assistant.

    The best user interface is invisible, and in the plug-in future there might not be a lot to look at. Apps are dead. Soon enough, there will be an action for that.

    Apps Are Dead

    November 25, 2016
    UI-Fabrics

  • Cardboard Coffee

    One thing that’s always boggled me is the increasing fascination with drinking coffee out of cardboard cups. Part of my fascination stems from the fact that it seems like a huge waste of resources — you could be making virtual reality goggles from that cardboard! But most of my curiosity has to do with the indisputable fact that coffee tastes worse out of cardboard.

    I consider that truth to be self-evident. The delicious nectar that is coffee deserves better than to be carried in laminated paper and guzzled through a tiny hole in a plastic lid.

    I get it, I get it, you can take a cardboard mug with you on your commute, or as you’re walking down the street, or as you’re waiting in line, and coffee through a plastic lid is better than no coffee at all.

    It’s true.

    But I’ve seen things you people wouldn’t believe. I’ve seen people in non-commute non-transit situations pick cardboard over glorious porcelain — intentionally and of their own volition and not while under duress (I checked to make sure).

    Usually I can even all I need to. But when it comes to coffee, and porcelain is an option, and you still choose cardboard… I’m all out of evens. At that point, I can’t even.

    One time I stopped a good friend as he was doing it, and like a concerned parent I asked him why he would pick the cardboard over the porcelain when both options were right there in front of him, in plain sight, literally on the table. He answered:

    I like the idea that if I need to go somewhere, I can take the coffee with me.

    Okay, that’s actually a fair point.

    I mean, I’d just gulp down the coffee from the porcelain and then go ahead and grab another one in cardboard to bring along, but sure, the above is a cogent argument.

    Still, I can’t help but feel like cardboard coffee is becoming a status symbol outside of just mobility: “Look at me, I’m on the move!” And that makes me sad. It makes me even sadder than it does when people add sugar to their coffee.

    What is wrong with you people‽

    Cardboard Coffee

    April 4, 2016
    diary

  • Things I Learned About My Little Pony, By Watching My Daughter Watch My Little Pony

    It happened. My 4 year old has found a franchise to latch on to. It’s not ideal: the one thing I’m the most allergic to in the world is horses. But if she’s into ponies she’s into ponies and there’s nothing I can do about that except embrace it. She’s got the toys, she’s got the bed-blanket, she’s got the t-shirt, and her favorite pony is Rainbow Dash. It’s a thing.

    As an overprotective curling-dad, I consider it my solemn duty to learn about this thing that’s absorbing her attention. So I have been watching the show with her, trying to soak up the pony lore, learn of the details that make out this equestine construct.

    The show follows Twilight Sparkle, a purple unicorn, as she visits “Ponyville” — the shining gem of the land of Equestria. You know… from equo in latin? Horse-land? Get it?

    Moving on.

    Twilight makes friends in Ponyville. Several of them. And she’s taught that though they are all different in appearance, interests, personality and even race, their friendship is the most important thing there is. When they’re all together, their friendship is literally magic. It’s in the tagline.

    Sounds good right? It’s perfectly fine that my daughter watches such a diverse, female-positive and all-embracing show, right?

    One of my favorite episodes of Lost — bear with me — is the one where wheelchair-bound John Locke cries “Don’t tell me what I can’t do!” and then goes on a walkabout. This is at the core of the values I want my daughter to learn: if she can dream it, she can do it. For that reason I already know the answer to questions she might one day pose to me: “Can I be an astronaut, dad?” YES. “Can I be at the Olympics, dad?” YES. She’ll learn eventually that it might not be a walk in the park, but there’s no reason she should have some sort of arbitrary mental block put in place by me, preventing her from even trying.

    Which brings me to Equestria. In Ponyville, there are three races of ponies. The ponies you know, unicorns who have magical powers, and pegasi who can fly and make it rain. They all live and work together seemingly in perfect glittering harmony.

    How does this even work? How aren’t the only-ponies perpetually jealous of the other two races?

    Ponies are literally born with predisposed skills. Unicorns have magic powers, one of them being that they can write. Pegasi can fly. Sorry Applejack, I suppose you have to manually pluck those apples for selling on the market to make ends meet. If only you were a unicorn you could just use magic, but hey, life’s tough right? Applejack is basically caste-blocked from ever advancing beyond her racially defined place in society.

    The fact that only unicorns can write has its own problems. History is written by those who can, well, write… right? I hope everyone trusts the unicorns to be truthful. Better not upset them.

    Ever noticed how My Little Ponies have back-tattoos? Applejack has apples, Pinkie Pie has balloons. Those are literal coming-of-age tattoos. Puberty isn’t mentioned, but it’s implied that once a pony reaches that age, whatever “talent” they have is stamped on their back. Forever. A visual indicator of what you are.

    The stamps are called cutiemarks.

    Back-tattoos aside (some of those are really lovely, I’m sure) I don’t know that I appreciate the idea that you even can have a talent as such—how about those 10,000 hours? What about multiple “talents”: which one gets stamped on you? And why does your one talent need to be permanently advertised to the world? What if your talent is not showering? If you’ll indulge me as I recall a history lesson about mechanical vs. organic societies, this “know your place” undercurrent that permeates Ponyville is a trait I do not find attractive. Also, if I am to ever get a back-tattoo I want it to be something I choose to get. Probably a japanese glyph I think means “fire” but in fact means “toast”. Something I can laugh at years down the line, not something that forever defines my place in the world.

    Another observation was that every single pony in Ponyville is either beautifully styled and coiffed at all times. Or an unsightly donkey dragging a cart with a grumpy look on their face. In fact I don’t think I’ve seen a single handsome donkey on the show. They’re like morlocks.

    One of the dude-ponies was called “Shining Armor”. A bit on the nose, eh, Lauren Faust? Also, why weren’t there any any girl knights? My daughter happens to love playing knights and princesses. She’s the knight, I’m the princess.

    I don’t know what the lesson is. I think I wanted to vet the show, but having now watched one too many episodes with my daughter on the couch, I’m not sure there’s really a lesson to learn here.

    Selma likes ponies, she likes watching them on the television with me. Perhaps she doesn’t have to learn about societal norms and expectations and caste systems and harmful stereotypes through a kids show about magical ponies, at age 4. She likes Rainbow Dash, and I think it’ll start and end with that.

    As you were.

    Things I Learned About My Little Pony, By Watching My Daughter Watch My Little Pony

    January 13, 2016
    diary

  • “Because You’re Worth It”

    A popular brand uses this as their tagline, and it’s always annoyed me terribly.

    I was brought up to know that as a human I have inherent value. I try to raise my daughter the same way, so I keep reminding her how much she means to me, bolster her heart to protect her against inevitable douchebags. In that vein, everyone is worth it.

    Is worth what, exactly?

    This brand sells … perfume? Face cream? I can’t even recall, and I don’t even care. The point is, their tagline is pointing out that you deserve to spend your money on their product. Well what if I can’t afford the product? Does that mean I’m not worth it?

    We’ve been over this. The human condition is tough. Things don’t always go as planned. Some people get a particularly short end of the stick of life. There’s no justice to it, just wanton cosmic random chance. Whether you end up able to afford the face cream you’re worth is entirely up to a unique combination of the absence of bad luck, decades of hard work, and growing up in a place where such hard work pays off as it should.

    I don’t usually watch TV, so I’m mostly spared zapping by beautiful models parrotting off the tagline in a bubbly tenor. Thankfully, because I think I’d go insane. In a world with people who would take medicine, antibiotics or clean water over a goddamn face cream, the phrase cuts me like a knife on a blackboard.

    Everyone is worth it. I believe it’s in a charter somewhere.

    All human beings are born free and equal in dignity and rights. They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood.

    How’s that for a face cream tagline?

    “Because You’re Worth It”

    December 9, 2015
    diary

  • Penicillin

    My baby has an inner ear infection. Often times these ailments disappear on their own. Other times they get real bad. Thankfully we have Penicillin, which fixes it right up.

    For now.

    One day in 1928 — it was a Friday — the scotsman Alexander Fleming went about his daily business at St. Mary’s Hospital in London. He was working in his laboratory when he discovered he’d forgotten to close up a petri dish of bacteria from the night before. What he noticed would change the world: a mould had grown in that petridish, and in a halo around that mould the bacteria had stopped growing. What Alexander Fleming had discovered would save tens of millions of lives in the century to come: this natural mould exuded a substance that had antibiotic properties. Not a decade later we had Penicillin, and on this Friday in 2014, Penicillin is helping cure my baby girl. Thank you, Alexander Fleming.

    There’s a problem, though. Penicillin is a wonderful drug, but bacteria evolve. Put a drop of Penicillin in a petridish of bacteria and the bacteria will die. Probably. There’s a tiny chance some of those bacteria will survive due to a random Penicillin-resistant mutation. Those lucky few survivers might reproduce and migrate. Repeat this process for a century and you’re bound to have a couple of strains of bacteria to which even the strongest of Penicillins are useless.

    We knew this would happen. Yet still to this day, Penicillin is used on a grand scale in meat-production of all things. When cattle have particularly bad living conditions, when too many cows are huddled up in too little space, they’ll inflict little scratches on each other, wounds that might heal naturally on a green field of grass. But if your living quarters are also where you go to the toilet, no such luck. Hey, thought the meat industry, we can just pump the cattle full of Penicillin and no bacteria will grow in those wounds!

    The way we treat our cattle is troublesome enough, but the inevitable consequences should be alarming. Those dirty farms and cattle transports are evolutionary crucibles for resistant bacteria. The strong bacteria will survive and require stronger Penicillins. It’s an evolutionary arms race and we’re losing. We always knew bacteria would evolve to be Penicillin-resistant eventually, but if we’d been smart about our Penicillin usage, we might’ve had enough time to research functional alternatives. As it stands, I’m worried about a future dad and his daughter battling an infection maybe just ten years from now. I hope she’ll be alright, man.

    So I guess here’s another reason you should eat organic meat. Or no meat, that works too.

    Penicillin

    January 10, 2014
    diary

  • Good Decisions, Else Options

    There's a mantra in the WordPress development community: decisions, not options. It's meant to be a standard to which you hold any interface design decision: if you make a decision for users it'll ultimately be better than forcing them to make decisions themselves. It's a decent mantra — if you're not mindful you'll end up with feature creep and UI complexity, and it's orders of magnitude more difficult to remove an old option than it is to add one in the first place. Adding an option instead of making a decision for the user is almost always bad UI design.

    Except when it's not.

    The problem with a mantra like this is that it quickly gets elevated to almost biblical status. When used by a disgruntled developer it can be used to shoot down just about any initiative. Like Godwins law for WordPress: once you drop the "decisions not options" bomb, rational discussion comes to a halt.

    The thing about open source development is that it's much like natural evolution: it evolves and adapts to changes in the environment. Unfortunately that also means features once useful can become vestigial once the problem they used to solve becomes obsolete. Baggage like this can pile up over years, and maintaining backwards compatibility means it can be very difficult to rid of. Sure, "decisions not options" can help cauterize some future baggage from happening, but it's also not the blanket solution to it.

    The problem is: sometimes the right decision is unfeasible, therefore beckoning an option in its absence. WordPress is many things to many people. Some people use it for blogging, others use it for restaurants, portfolios, photo galleries, intranets, you name it. Every use case has its own sets of needs and workflows and it's virtually impossible to make a stock experience that's optimal for everyone. Most bloggers would arguably have a better experience with a slew of WordPress features hidden or removed whereas site owners might depend on those very same features for dear life. By catering to many use-cases at once, user experiences across the board are bound to be unfocused in some way or other.

    The "Screen Options" tab is an example of a feature that would probably not exist were "decisions not options" taken at face value. Screen Options exists on the idea that not everyone needs to see the "Custom Fields" panel on their Add New Post page, yet acknowledges that some users will find that feature invaluable. It is an option added in absence of a strong decision, for example, to limit WordPress to be a blogging-only tool. I consider it an example of an exception to the mantra for the good of the user. Sure, the UI could use some improvement, let's work on that, but I really appreciate the ability to hide the "Send Trackbacks" panel.

    I'm a fan of WordPress. I'm a fan of good decisions, and I'm a fan of good UI design. I believe that if we relieve ourselves of arbitrary straitjackets and approach each design objective with a sense of good taste and balance, we can make excellent open source software. Cauterizing entire avenues of UI simply because it adds options, however, negates the fact that sometimes those options exist in absence of a higher-up decision that just can't be made for whatever reason.

    Good Decisions, Else Options

    October 9, 2013
    interface-design, webdesign, WordPress

  • Next on Saturday Night Live

    selma_snl

    Your host: Selma Asmussen!

    Musical guest: Atomic Swing!

    Next on Saturday Night Live

    February 23, 2013
    posters, tv

  • Make Your SSH Keys Work in Coda 2

    This post is authored for Google, to help out others searching for solutions to Coda 2’s SSH woes.

    Since Coda 2 was released, 2.0.1 and 2.0.2 have made strides to improve things, so upgrading is your first step. If you’re still experiencing trouble with Coda accepting your SSH keys, and/or get error messages such as “unable to extract public key from private key file”, try this:

    1. Set up your site as usual — enter username, servername and so on
    2. Click the key icon next to the password box to manually point to the id_rsa key-file (which I’d assume you’ve stored in ~/.ssh)
    3. Check the box “Ask each time”
    4. Save site, connect;  when asked, input SSH key password in the prompt
    5. Behold how it connects
    6. Disconnect, edit site, uncheck “Prompt everytime”

    Let me know if the above works for you, it worked for me.

    Make Your SSH Keys Work in Coda 2

    August 22, 2012

Next Page