• Is Modern Web Development Too Complex?

    As someone who has been in the industry for nearly as long as the industry has existed, the trajectory of modern web development is concerning. Oftentimes the “modern” tools seem overly abstract, interdependent and complex. The “modern tools” I’m referring are a range of technologies designed to improve development processes: dependency management (NPM, composer, etc), frameworks (react, laravel, etc) and “DevOps” in general (docker, AWS soup, etc). Slot in any trendy solution of the day.

    Or to put it another way…

    It’s not that there’s necessarily anything wrong with any of these tools. It’s more that I’m concerned that they are hurting our approach problem solving.


    Early this week a Hacker Noon article — Understanding Kafka with Factorio — from a few months ago made it’s way into my work slack.

    This post is a prime example of the way of thinking that concerns me the most. For starters, comparing a web development problem+solutions to Factorio — one of the most complex and difficult RTS’ to date — is very telling in and of itself.

    The author starts by setting up problem that should be familiar to many developers.

    Let’s say we have three microservices. One for mining iron ore, one for smelting iron ore into iron plates, and one for producing iron gear wheels from these plates. We can chain these services with synchronous HTTP calls. Whenever our mining drill has new iron ore, it does a POST call on the smelting furnace, which in turn POSTs to the factory.

    So, we have 3 services that depend on each other in a linear fashion. If any one of them fails, the entire system breaks. There appears to be zero fault tolerance and that could be bad.

    Enter Kafka…

    With Kafka, you can store streams of records in a fault-tolerant and durable way. In Kafka terminology, these streams are called topics.

    With asynchronous topics between services, messages, or records, are buffered during peak loads, and when there is an outage.

    Neat.

    But hang on. Now we have four points of failure instead of three! In fact, we’ve now introduced one single point of failure. If the Kafka layer fails the entire system fails.

    Why should we trust Kafka more than we trust the 3 microservices, we built? Are there ways to make the individual microservices more fault tolerant?

    Why not both? The author of this post seems like a solid developer who knows what he’s doing. Perhaps the underlying assumption is that our microservices are already as fault tolerate as they could possibly be and we should add Kafka as an additional layer of fault tolerance.

    We’ve introduce a fourth complex and specialized technology into the stack. Now we need a Kafka specialist on our team…


    This post is not meant to be an analysis or critique of Apache Kafka.

    It’s meant to provide an example of the way modern web developers tend to solve problems. We tend to build or implement complicated systems that provide an abstraction layer above problems, without adequately addressing the root problem.

    I’m quite concerned that we’re fostering a generation of web developers who are building houses of cards on top of houses of cards, to solve problems that don’t fully understand, without properly addressing those problems.


  • What I Learned About The State of Online Creation While Building a Web Comics Feed Aggregator

    What I Learned About The State of Online Creation While Building a Web Comics Feed Aggregator

    Web comics were a big part of what I used to like about the old – pre-social-media – Internet. Diesel Sweeties, Penny Arcade, PVP, My Extralife, Nothing Nice to Say, Orneryboy, etc. I’m not sure exactly how it happened, but I just sort of forgot that web comics existed for a good decade plus. Sure some of these classics quit publishing and I think my sense of humour shifted away from others. Whatever the case, it really seems like web comics are back. Or at the very least my interest has been reignited.

    Recently in the past month or so, a few really great comics (strange planet, poorly drawn lines to name a couple) have popped on to my radar and I’m all in. Hard.

    Now that I’m back in I am bumping into an old problem. There’s not a great centralized location to read everything. In the past I’ve read web comics inside an RSS reader. But RSS readers never felt like the right context, their UI is too ridged, too geared towards written content or something.

    Do a search for “web comics reader” and you’re get various websites. Outdated websites from the early days of web comics. You’ll also find webtoons.com, a site that’s taking a good stab at solving this problem. I just don’t like it, it doesn’t feel right for me.


    Enter webfunnies.online. The beauty of an open internet is the ability for anyone with some development skills to build their own solution to a problem, just the way they like it.

    In the process of looking through dozens of web comics, I discovered some troubling things about the state of online creation.

    RSS

    RSS still exists as a solid machine-readable way to syndicate arbitrary content.

    However creators seem to have forgotten it exists. Less than 50% of the web comics sites I visited advertised and RSS link, even though every one of those made an RSS feed available and published it in the HTML source.

    Perhaps this is a moot point since feed readers are good at automatically discovering the

    Content Ownership

    A large contingent of content owners are publishing original content exclusively to platform like reddit, instagram and patreon. Platforms they don’t own or control. By “exclusively” I don’t mean that they are getting paid to post on those platforms (though in the case of Patreon may be). I just mean that they are posting original artwork directly to those platforms. They simply using those platforms as quick and dirty hosting.

    To put in another way, they are giving their intellectual property for free, to for-profit corporations who are using it to sell advertisements.

    This does not sit right with me. And I’m not even an artist.


  • The case for Facebook… or something like it

    The case for Facebook… or something like it

    I am about to write something that is extremely unpopular amongst my peers in 2019: I like Facebook and I think can can be part of a healthy and productive online diet.

    Facebook has been getting high profile negative press almost daily, for what seem like a solid year. A lot of it is well warranted — Mark Zuckerberg seems to have a problematic view of privacy — and a lot of it may be FUD.

    This post is not a defense of Facebook.

    If you want to read a defense of Facebook, take a look at my post on Cambridge Analytica last year.

    A year or two after its public launch Facebook was an objectively good product that added value to the world. It presented a set of online tools in a way that was easy to use by completely average internet users. The features everybody flocked to are still in existence in the Facebook of today, they’re just largely buried under piles of garbage.

    Allow me to explain.

    Connecting with long lost friends and distant relatives.

    When I first joined Facebook it was a lot fun to connect with the kids I used to eat lunch with in the cafeteria every day in high school or that one guy you shared homeroom with in grade 7. At the time it was a novel way to connect with people, it felt groundbreaking and overwhelmingly, it felt good.

    Over the years the novelty has worn off obviously. And Facebook’s emphasis on “News Feeds”, combined with people’s penchant for posting contentious content (or the algorithm’s encouragement of this content) has make these distant connections more tenuous. From what I’ve seen around me, I think Facebook can seem like a stereo-typically bad, never-ending, year round Thanksgiving Dinner. It can can feel bad.

    But I really do think at it’s core, the ability to connect with your wife’s Grandma who lives in Edmonton could and should have a positive impact on the world.

    Photo Sharing

    Facebook was the first place that made it easy for me to share photos with a group of people. My extended family started to join Facebook right around when my kids were born, so I ended up using this feature quite a bit at the time.

    Unfortunately, photo sharing has really fallen by the wayside. I don’t use this feature any more and have even gone so far as to migrate photos from Facebook to Google Photos.

    Even so, I know my mom and others would still prefer the simplicity of sharing photos inside Facebook, rather than installing yet another app.

    Messenger

    Facebook Messenger is a decent, cross-platform instant messaging client. It’s almost my defacto Messaging app (especially now that I switched to Android). However, I do think there are some legitimate privacy concerns, so I actually don’t like using this one.

    Facebook Connect

    When it launched, Facebook Connect was groundbreaking. The ability to enable account signup/creation on other sites/apps without needing to enter a password or any other account information was amazing. It was a real move forward for online security.

    It still performs that function well, I’m just a little wary of how Facebook is using these connections.

    Groups

    I don’t use groups much personally. But they actually seem like a decent way to keep up to speed on a given niche or a local community. My wife always seems to know what’s happening at our school and in our neighbourhood, immediately. This feels good. This feels like the thing the internet was built for.

    Sure groups contain a fair bit of random gossip, the occasional spammer, asshole and that sort of thing. But I think that fact that groups are self-moderated goes a long way into keeping these communities sane.

    Groups feels like something Facebook should be focusing on more.

    So What?

    The media has been proclaiming Facebook’s death since the day after it launched. I first commented on people quitting Facebook 9 years ago. Maybe it’s more real this time, it’s hard to say. If I was more conspiracy minded, I might suggest that some nefarious puppet-master is leading a concerted effort to bring down Facebook. Or maybe just push down the stock price for a big short.

    As it stands, I feel trapped. There are absolutely no alternative to the type of “friends and family” community Facebook enables. There aren’t even any up-and-coming social networks in development that I’m aware of.

    At the same time, continuing to use Facebook seems like a mistake. If the dubious advertising and privacy practices aren’t enough to keep me away. Most of the posts that find there way to the top of my page are upsetting and I find myself hitting “mute” a lot.

    IMHO Facebook could do well to focus on those core features that brought people to the platform in the first place.

    So what now? Thoughts?



    BTW I’ve written a lot about Facebook in the past. I’ve linked some of my favourite posts above. But I think the full 12 year archive is pretty interesting. Check it out.