The Dominey Effect: For the Love of the Web, Learn Swift

I don’t remember the exact moment I fell in love with the web, but I distinctly remember the website that had a lot to do with it: whatdoiknow.org. It was the personal website of Todd Dominey, a web designer from Georgia (I wrote that from memory without the help of Google).

Article Continues Below

By most colloquial measures, whatdoiknow.org wasn’t anything spectacular. But to me, it felt perfect: fixed two-column layout, black text, white background, great typography, lovely little details, and good writing. And, it had this background tile—check it out here, compliments of Wayback Machine (“Give it a second!” to load)—that tapped into some primordial part of the brain that erupts in a dopamine fireworks show at the sight of such things. I’m sure Π is somehow involved.

It was 2001 (maybe 2002?), I was in college, and I was considering transferring out of computer science into interactive media when I found Dominey’s site. I immediately knew I wanted to make sites like that (even if I wasn’t sure why), so I submitted my CODO documentation, and walked across campus to the Computer Graphics department.

The universe pushed back, of course.

“Inadvisable,” advised my academic advisor at the time, because “how can you make money designing things?” It was a different time: B.S.—Before Steve. User experience was in its third trimester, and we’d just started feeling its first kicks. The argument against transferring was effectively the same one faced by liberal arts majors when they tell their parents they are going to major in English and minor in Sociology. The data suggested that I would be far less attractive to employers. But I was drawn in.

I had no choice but to succumb to the first, but certainly not the last, Dominey moment of my professional life.

And thus I was introduced to HTML and CSS. It was love at first sight. But unlike a lot of kids who found their home with standards-based front end web design, I’d just walked into a hyperlinked world of Dominey moments. And over the years, I clicked—maybe “tapped” is the more appropriate word for our generation—and followed many of them.

HTML & CSS naturally led me to the world of graphic design. Photoshop and Illustrator entered my life and elated me. Then I wanted a blog. Moveable Type. This in turn led to CGI scripting, i.e. ASP and PHP. JavaScript entered the party as DHTML. And eventually, Flash—which renewed my interest in programming and mathematics, so that I went back to my old CS department and convinced them to let me finish the degree I’d abandoned while I finished up the other one.

One by one, the domineys were falling.

What’s fascinating about these moments, in hindsight, is they were inextricably linked. And much like the web, even when the links disappeared into the horizon as I moved to the next, they affected my career trajectory for the better. It feels magical that my ability to produce letterpress business cards (a Dominey moment) could have any bearing on my public relations skills for convincing the web community that Internet Explorer had had a heart transplant (a part of one of my past jobs). But there’s nothing really magical about that, is there?

After all, feeling excitement for something new, learning it, getting somewhat good at it, and broadening your horizons can positively affect your career, no matter what you do (h/t to every post written about the benefits of side projects).

Signal vs. signal#section1

All that said, the highs from experiencing these moments were inevitably followed by their characteristic comedowns: a mixture of fear, challenge, prejudice, and even dogma. Take my foray into Flash, for instance.

For a standards-based web guy like me, embracing Flash felt like an either-or proposition as I looked around for mentorship. This phenomenon was a byproduct of the Flash vs. Web debate. You just didn’t come across web standardistas who were equally and openly into Flash—Shaun Inman and Dominey (who created SlideShowPro, a ubiquitous Flash-based slideshow app for a time) were prominent exceptions. Unsurprisingly, what Gruber writes about Apps vs. Web applies almost word for word to Flash vs. Web: “If you expand your view of ‘the web’ from merely that which renders inside the confines of a web browser to instead encompass all network traffic sent over HTTP/S, the explosive growth of native mobile apps is just another stage in the growth of the web. Far from killing it, native apps have made the open web even stronger.”

When you take these sort of necessary but paralyzing debates and couple them with the insecurity you feel in answering the tap of a Dominey moment, it doesn’t take much to talk yourself out of it. And that problem never really goes away.

Even today, having quit my job to go out on my own, the pushback is strong. What has changed though, thanks to a healthy amount of experience, reading, thinking, and counsel, is my ability to negotiate the arguments from others and myself as I embrace my next moment, inspired by the ongoing app revolution and the pleasure I derive from developing in Apple’s new language: Swift.

My ability to steer around the doldrums of doubt wasn’t always there, though. Long ago, and often along the way as well, I needed a little nudge from a friend or mentor to get me going.

So finally, on the topic of apps and Swift: let me give you a quick nudge.

A Swift nudge#section2

If you’re a web programmer (or a budding programmer of any kind, or just someone who wants to get into programming), and looking at an app on your device (Instagram, Pinterest, Paper, and iMovie come to mind for me) made you think, “I want to build something like that,” I have this to say to you: learn Swift today.

Don’t think twice about it.

This must seem like a bizarre recommendation to make to a group of “people who make websites.” But I’ve never quite taken that tagline literally, and I know far too many of you feel the same (whether you’ll admit it in public or not). We are people who make the web, and as luck would have it we are people who particularly understand designing for mobile.

After immersing myself in it for a year, I find Swift to be deeply web in its soul. From its expressive, functional syntax and its interpretive playgrounds to its runtime performance and recent foray into open source, Swift is the web developer’s compiled language (with the mature and convenient safeguards characteristic of the compiled environment).

Everything you need to get you started is here. It’s free. And the community is amazing.

As you may expect, the universe will push back on you embracing this moment. It will manifest in myriad ways—from the age old question of web vs. native to debates about Swift performance, syntax, and Apple’s intentions.

Ignore that pushback. (Or don’t: do your due diligence, and form your own opinion.)

But whatever you do, if you’ve got that thumping feeling, don’t ignore it. And try to not forget that you’re here because long ago you too embraced a Dominey moment.

As far as I can tell, it’s worked out pretty well for all of us.

12 Reader Comments

  1. I dunno Nishant. The great thing about the web is its universality. It’s cross-platform. The other Dominey Moments you mention have all been part of that universality. The trouble with Swift (not that there’s anything wrong with it as a language, as such) is that it’s an Apple-only thing. The web industry, or at least a large and vocal part of it, is already dangerously accepting of Apple products as the default and only choice these days (which is not surprising seeing as they make fine kit), despite the fact that a large proportion of real people use other platforms. It seems such a shame to ignore these other platforms and potential users and customers. We want to encourage diversity, right? We don’t want a return of the myopic 90s, where Microsoft ruled everything.

    So instead of Swift, what about considering something like C# (I know, a Microsoft product – ironic, right?), which has recently gone open source, is mature, has MS officially supporting it cross-platform, has an amazing community (who are on fire since it went open source), has an amazing cross-platform mobile-development toolkit and is very similar to Swift. Certainly worth a thought if you’re one of the many, many developers not on Apple, and worth considering if you are, too.

  2. @Charles By all means, go C# and the Microsoft open source way if that’s what suits your sensibilities and values. I’m perfectly fine with you encouraging folks to go that route. It doesn’t make sense for me personally, but I’ll spare you and others the details. That’s the point of this piece: the details, even when colored by ideology, are personal (and by personal, I’m also acknowledging things like, “I couldn’t build a great experience for my app using Xamarin”), and it’s OK for them to be.

    That said, I did get a tickle from having someone evangelize the Microsoft vision to me. I worked in ScottGu’s DevDiv for five years as an open web relations guy among other things before I quit to do my own thing three years ago. Thanks for fighting the good fight. 😉

  3. I know you worked at MS Nishant (been a reader of your blog for a long time) and thought it might raise a smile someone suggesting Microsoft tools to you. 😉

    My broader point was not necessarily to suggest C#, but to be mindful of choosing something that doesn’t box you in to any one platform, whether that be Apple, Microsoft, Android or whatever. Maybe Swift will go more x-plat now that it’s open source (it’s inevitable I reckon), but for now I am troubled by vendor-specific avenues. Microsoft once dominated IT to the detriment of all, but we fought back and won. Apple now commands 92% of the profits in the smartphone market, and it doesn’t seem to be slowing – can others remain sustainable in the face of such dominance? At conferences, I see fewer and fewer non-Apple laptops. The writing is on the wall and I think it’s so important to at least try and encourage diversity where we can.

    So my message really is this: for the love of the web, be vendor neutral.

    I suggested C# specifically because I’ve used open source non-MS technology for most of my web-career. In my latest role, I am learning C# and .NET for the first time (I probably wouldn’t have accepted the role had it not been for the new, more open, Microsoft) and I am amazed and surprised to find I really love it. Who knew?And it’s a lot like Swift. Apparently. It’s my own Dominey Moment, if you like. 🙂

  4. I am a Webdesigner a well, and I love the web like you do, but I do not own an Apple product, but I design websites to be experienced on Apple products, too. This works thanks to a set of web standards pretty well. To be honest, I never heard of Swift before I read your article (for me Swift was a (very good) Flash-3D modelling Engine back in 2002). My question is simple: how is Swift relevant in my frontend ecosystem if I and the majority of all users are not part of the Apple ecosystem?

  5. When reading the headline I was surprised and the article never has explained it either, at least not for me. What has Swift in common with “the web” at all?

    Swift is an Apple only programming language (may change but no one knows yet) which at least currently makes Apple only apps.

    “The web” works on ANY device, ANY OS, you only need a browser. It is build on a variety of techs, both client (HTML, CSS, JS) and server side (basically whatever including JS, PHP, Java, C#, Python, etc etc).

    As a web developer but even as an App developer why would I use Swift? >80% of mobile, > 90% of desktop targets are *not* on Apple but close to 100% are on the web.
    Swift feels a bit like Flash which already was very limited in “support” of platforms (e.g. mobile) and Swift is even much more limited.

    Guess if the article headline was something like “For the Love of the Apple, Learn Swift” (because Objective-C sucks, sorry, could not resist) it would be a much more logical article. Swift is not about web programming at all, it is (at least currently) a language to build apps for a single mobile OS only which is not even the biggest one. And even if it were it would still be a mistake as history has shown (as Charles explained).

    And BTW, BS does not mean “before Steve” but BullShit 😉

    TBH, I feel a bit violated by comparing something as universal as “the web” to something as limited as Swift.

    Sorry, but to me this article should not be on “a list apart.

    Sorry for being so harsh, guess the author intended better but at least how I read it, it feels very wrong.

  6. @Charles Roper

    “The writing is on the wall and I think it’s so important to at least try and encourage diversity where we can.”
    Absolutely. I encourage you to write a piece about that. I’d be happy to share it.

    “So my message really is this: for the love of the web, be vendor neutral.”
    I think that’s a great sentiment even if maybe too forgiving to the realities of the “vendor neutral” world. Nonetheless, I do like romantic sentiments, and I would happily share a piece on that, too, so long as it at least attempts to keep one foot on the ground.

    That said, I think there’s also a great opinion to be written about the interplay between vendor-specific and vendor-neutral over time. Kathryn Schulz wrote a moving piece in The New Yorker recently about an earthquake that will devastate the Pacific Northwest (I live in Seattle, so obviously I have a vested interest in this piece). While it seems tangential, the part of her piece that casts a light on how humans experience time seems quite relevant to the discussion in this comment thread. She wrote, “The earth is 4.5 billion years old, but we are a young species, relatively speaking, with an average individual allotment of three score years and ten. The brevity of our lives breeds a kind of temporal parochialism—an ignorance of or an indifference to those planetary gears which turn more slowly than our own.” I think it hits the nail on the head with regards to some of these visceral reactions we have that lead us to reject closed systems (or even dub them “closed”). When you zoom out on the time axis, the picture isn’t as clear.

    Indeed, I wrote some C# back in the Silverlight days — ironically, I joined Microsoft because I felt like Silverlight 1.0 fixed the biggest issue I had with Flash: Flash objects weren’t accessible easily through the surrounding DOM and thus Flash and the open Web remained at odds for a decade — and I agree: it’s a fantastic language.

  7. @Bernhard Sturm 1

    “To be honest, I never heard of Swift before I read your article (for me Swift was a (very good) Flash-3D modelling Engine back in 2002).”
    If I recall correctly, you’re referring to Swift3D. I remember when it first came out. It felt ridiculously ahead of its time.

    “My question is simple: how is Swift relevant in my frontend ecosystem if I and the majority of all users are not part of the Apple ecosystem?”
    It’s a great question, and my answer is: I don’t know (yet; maybe it will be five years down the line once Swift’s open source goals have come to fruition). If I had to guess, I’d say it’s totally irrelevant to you as a front end web developer if your priority is to serve majority of users. A browser-based solution is absolutely still your best and most logical bet in that case.

  8. @Christof

    I’ve read your comment a few times now, and it certainly feels like you missed the main message of my piece: love often drives our professional choices, and that’s OK! What I did read loud and clear is that you really disliked the title of the piece. I’d apologize, but I really like it. 🙂

    Onto some specifics:

    “What has Swift in common with “the web” at all?”
    It feels a lot like writing JavaScript. It doesn’t feel like I’m writing in a big, bad, only for “real” programmers language. Additionally, if you haven’t already, you should check out the Wired piece I linked to. It provides additional context from Lattner (or just look up interviews with Lattner as they are always very enlightening). Or you should just download XCode, and play around in XCode playgrounds. Real-time compilation and rendering as you type Swift. What’s not deeply web about that?

    “As a web developer but even as an App developer why would I use Swift?”
    Refer to my response to Bernhard.

    “Swift feels a bit like Flash which already was very limited in “support” of platforms (e.g. mobile) and Swift is even much more limited.”
    That’s an incorrect comparison (Swift:ActionScript::iOS::Flash), but I’m assuming you simply wanted to stress that Swift-based apps are not as ubiquitous as web-based apps. Sure. It’s not something I argued at all, so I’m not entirely sure what point you’re making.

    “Guess if the article headline was something like “For the Love of the Apple, Learn Swift” (because Objective-C sucks, sorry, could not resist) it would be a much more logical article. Swift is not about web programming at all, it is (at least currently) a language to build apps for a single mobile OS only which is not even the biggest one.”
    This is, again, where I feel that you missed the forest for the trees regarding my main point. To reiterate: I am uninterested in the size of the Swift-based app market. I don’t care if it’s not “the biggest one”. What I care about is that it inspires me, it’s approachable, it’s relevant, and it brings me flow to write Swift. It reminds me of my early days with HTML. With CSS. With JavaScript. With PHP. With Silverlight. Photoshop. C. ActionScript. So many others. It’s wonderful to be in love again! And, in my experience, love wins.

    “And BTW, BS does not mean “before Steve” but BullShit ;)”
    Exactly. It was bullshit that we used to think that designing things well didn’t matter. I thought it was a clever turn of the acronym, no?

    “TBH, I feel a bit violated by comparing something as universal as “the web” to something as limited as Swift.”
    As you should. Because I didn’t. You did. Honestly. Read the piece again. I didn’t.

    “Sorry, but to me this article should not be on “a list apart.”
    Obviously, I strongly disagree here because, well, I wrote it (and it passed editorial review). But, I will respond to your assertion by quoting something I wrote in my article back to you: “This must seem like a bizarre recommendation to make to a group of “people who make websites.” But I’ve never quite taken that tagline literally, and I know far too many of you feel the same (whether you’ll admit it in public or not). We are people who make the web, and as luck would have it we are people who particularly understand designing for mobile.”

    “Sorry for being so harsh, guess the author intended better but at least how I read it, it feels very wrong.”
    No offense taken. I did and do mean well, and a lot of people did and do get it.

  9. I couldn’t agree more regarding this learning domino effect. I’ve learned HTML and a bit of CSS in the past couple of years, and I love it. I still feel early on in the game, but once I have a better handle on both I’ll likely continue to program, learn more languages, and hopefully open more doors for myself professionally.

Got something to say?

We have turned off comments, but you can see what folks had to say before we did so.

More from ALA