Tag: Design

  • Week 11.26

    Week 11.26

    If you thought I was going to stop after last week’s two apps, I wouldn’t blame you. I’ve been having poor luck staying focused on new hobbies and pursuits over the past year; they all just seem like too much work for too little payoff and I drift off. Vibe coding seems different so far because it lets me start making weird things that I want to see, without being dependent on anyone else’s time or generosity.

    If you think in terms of music albums/careers, then Collagen was the mixtape that I put together to see if I could be a real musician. Urban Jungles was a big leap forward, the debut album, if you will. It had way more polish and was usable by almost anyone (whereas Collagen had what you might call a niche audience).

    Which brings us to the sophomore curse or slump. The second album tends to be over-ambitious, myopically conceived, and underwhelms audiences looking for more of what made the debut good. There are exceptions to this mythical rule, like Radiohead’s The Bends, Lorde’s Melodrama, and D’Angelo’s Voodoo. By this logic, my next app was statistically going to “fail” by being a harder one to get into.

    I ended up making two apps again this week: SkySpotter and Library Supercollider. Each one has a separate page on this site that shows and explains what they are, so you should stop here and go read them before coming back.

    Like a sophomore album, SkySpotter probably reached a little too far. It took the real-time weather data angle from Urban Jungles, added the more complex dimension of real-time air traffic data, and then threw in rendering a first-person 3D world as a bonus challenge. I started refining the concept and prototyping it on Sunday afternoon, and then worked on it for two full days on Monday and Tuesday. I literally forgot to eat lunch, and was still messing with it at 11pm both nights. It was like a job.

    Gemini 3 struggled. The Canvas chat became so long and convoluted that it won’t even load now in the iOS apps — I have to use the web interface. It hallucinated making changes, and introduced new bugs each time I made an improvement. It built planes with reversed wings and nose cones pointing backwards. Working with bugs in a 3D app was so blood-boilingly frustrating that I wanted to give up.

    I actually did give up… on implementing a VR mode for Apple Vision Pro. We got it to half work but the skybox sphere was too far away and would keep turning black. Rather than risk corrupting the working regular version any further, I decided to cut it.

    I’m proud of SkySpotter because it’s pretty damned cool to lie in the virtual grass and watch real planes go by. Even as someone who doesn’t care about planes more than the average person! But it was a technical challenge first and a passion project second. So if that was my over-produced sophomore studio album the label breathed down my neck for, then the next release would be its opposite: a scrappy, self-funded back-to-roots project recorded directly to tape in a Nashville studio over an inspired couple of days.

    Library Supercollider was an idea that came to me all of a sudden after I’d finished SkySpotter. I’d been interested in the concept of cut-up poetry since I was in university (popularized by Brion Gysin and William Burroughs around the 1960s), and I believe it occurred to me back then that someone could make a computer program to cut up and mash two classic texts. I just didn’t know it would be me, twenty years later.

    I expected it would take me the next couple of days to get working, being that it requires the somewhat complex-sounding downloading and processing of entire ebooks in the background of a web app. I didn’t know if it could even be done. So imagine my surprise when I had a working prototype by lunchtime on Wednesday. But between polishing the experience and overcoming download limits with Project Gutenberg servers, I wouldn’t be done until Saturday morning, making it a longer project with different challenges — comparatively less frustrating, more educational.

    I understand that it’s not an app for everyone — you might read a page and conclude that it’s worthless gibberish. Maybe it takes the sort of person who likes abstract art and free jazz. But personally I’m so pleased with this project that I’ve bought two domain names to go with it: librarysupercollider.com and the superior smashmybooksup.com, which I’ll retain for a year as a ‘marketing URL’.

    In all seriousness, I think this is the finest work of my two-week career as a builder of software! The user experience for remixing and reading the resulting texts is brilliant, if I do say so myself. The steampunk UI and animations are completely unnecessary but bring me joy (notice the moving gears in desktop view). I had to come up with caching and proxy solutions to make the app more reliable under load. I even got a little into the weeds: installing node.js and Vite on my Mac, running scripts in the terminal, trying to compile a macOS port to get around problems (eventually unnecessary).

    Even if I were a skilled and experienced developer, I can’t see how I would have made these apps in two weeks; from writing to designing and coding them up, plus preparing documentation and website copy (plus one very dubious video ad). Deploying Library Supercollider to its own domain made the reality click for me, a feeling kinda like publishing your first thing on the App Store. It says: this thing is now real and can be used by real people.

    Then I came across this article in the NYT Magazine, entitled “Coding After Coders: The End of Computer Programming As we Know It”. It notes an interesting inversion of what we’re seeing in other fields — AI is taking away the drudgery of programming and leaving the human, soulful (and fun) parts.

    “The work of a developer is now more judging than creating.”

    In that way, I may not have magically joined the ranks of coders overnight, but I could probably say I’m developing. At my job, I used to direct the form of apps in a way so removed that I could only claim the role of design, but not the larger making. Part of the handwringing in design circles today is precisely about how designing and developing are merging, and soon only making will remain.

    Not everyone will bother to turn their ideas into reality, and fewer still have the experience and vocabulary to prompt polished apps distinct from the models’ averaged-out defaults, but those who persevere will be bringing tools and toys into existence the likes of which you may have been waiting decades to see.

    What’s next? Well, I might have a couple of ideas…

    One thing all this app-making has done is bring me back to my Mac. I usually spend most of my computing time on my iPhone and iPad, but there’s no substitute for a Mac when it comes to managing local files, running scripts and compiling code. I’ve had coders like Michael make this point to me before, but I never got it because I never needed to sync a local repo with GitHub or anything before.

    So a side effect of spending long stretches of time on my five-year-old and long-neglected M1 MacBook Air is that I’m wondering “Why did I ever stop? This thing is great!”

    It’s worth noting that this week Apple’s newly released MacBook Neo has been getting a ton of praise on my social feeds for being an affordable and all-round capable machine at an unbelievable $599 price point. I got a tear in my eye as I read this essay by Sam Henri Gold: “This Is Not The Computer For You” — it perfectly encapsulates what it was like to grow up on computers and teach yourself things, even on PCs.

    Too much screen time is awfully bad for you, so on the weekend I touched some metaphorical grass by taking our niece out to Disney on Ice at the Singapore Indoor Stadium. It’s extremely well-timed, with the world still coming down from Alysia Liu’s gold medal, and Singapore being in the midst of a Disney craze — a Disney Cruise offering has launched after delays and is now at the local docks, with fireworks and drone shows along the bay at night.

    These were Live Photos of some stunts

    I have no deep affection for Disney IPs but appreciate the amount of effort and coordination that goes into making magic, and it clearly works with so many adults into this stuff. What’s interesting is that while ice-skating can get pretty boring after awhile — it’s all the same moves over and over, around a static rink — adding a layer of characters and storytelling works to keep it fresh over an hour and a half.

    Oh, and our niece is 9, and by way of introducing her to the MacBook Neo, I asked her what computer she uses. I swear, her response was not far off the punchline in that Apple ad that everyone but me seems to hate, in which a girl who’s been using her iPad all day for creative things is asked what she’s doing on her computer, and she responds “What’s a computer?” Will iPads become open enough to support kids learning to (vibe) code? Or will nature heal in a post-post-PC revival led by the MacBook Neo? In any case, that ad was prescient.

    Bonus: Steve asks the same question in a different context (around 1:30). You must watch this video, it’s breathtaking. He’s 28 at this point. In addition to confidently describing things like Street View, mobile wireless computing, LLM chatbots, and the App Store, there’s a part near the end where he says “What we need to do is get away from programming. People don’t want to learn programming, they want to use computers.” He was talking about providing more finished software products to customers, because writing custom software was the norm then, but it’s an eerily relevant quote!

  • Week 10.26

    Week 10.26

    Last week I got started vibe coding with Gemini 3 Pro and was happy enough with the collage-making app I made that I deployed it to Netlify and posted a separate writeup for it here on this site. I also decided to rename it to Collagen, as in Collage-Generator, thanks to a suggestion from Michael.

    For my second project, I wanted to go much further and test the LLM’s ability to code up something more complex, with real-time 3D modeling and rendering. But what to make? One shower later* and I had a concept I was excited to try out: An app called Urban Jungle that would be a weather visualizer, depicting a world where humans have disappeared and our cities have been reclaimed by nature.

    I could see it clearly in my head, and had the idea (in retrospect, a brilliant one that you should absolutely steal) that vibe coding projects should start just like real ones — with concept art. Taking the time to visualize what you want is the first test of whether it deserves to be built. It aligns the team behind a single vision, with fewer chances for miscommunication and wasted time.

    I prompted Nano Banana 2 to generate a screenshot of Urban Jungle as if it were a finished product, describing it exactly how I wanted. The result was astoundingly close to what I’d imagined. With this visual in hand, I was able to brief the coding AI that much faster. Sure enough, the first prototype it spat out nailed the isometric view angle, UI, and core functionality.

    That it could achieve a pseudo-3D effect with CSS and standard web technologies, writing the whole thing in a minute, was already blowing my mind. But like any difficult client, I thought “why not ask for more and see how far I can push my luck?”

    The next version (v1.0) was a total rewrite of the graphics engine, now in full 3D using three.js. Each city is procedurally generated to be unique, with different forest/jungle topographies depending on the region. The increased detail meant I could add decaying buildings, pylons, and roads. When you tap on the trees, flocks of birds scatter. When it gets cold, the vegetation dies, and below 0ºC the ground becomes covered in ice and the birds disappear. I thought… ‘this is great! I think we’re done!’

    But I should have known projects like this are never done. Next came v2.0 which rewrote the architecture to allow it to act like a proper weather app. You can now simulate the weather for any city over the next 24 hours, scrubbing through time with a slider. As you do, the lighting and climate effects change dynamically. It generates live sound effects for wind, rain, birds, and thunder. You can pan and zoom around the model with your fingers. There are now drifting clouds and proper lightning that strikes the earth during storms.

    Comparing the concept art with the ‘finished’ product, and I’d say I got as close as one could hope with a web app contained in a single HTML file. Here’s a standalone post about the app, which brings me to another advantage of vibe coding with an LLM: these things write their own “App Store”-like product copy!

    Try Urban Jungles at urbanjungles.netlify.app

    Edit: I couldn’t leave it alone and after writing the above, made so many changes I had to implement a version history link on the front page. Now in v3.1, there’s an animated starfield in the night sky, and a freakin’ VR mode for Apple Vision Pro! It uses WebXR to place you inside a 3D environment with the city model floating in front of you. And after a couple of people suggested I add iconic landmarks like the Eiffel Tower, I decided that we could have a few as Easter eggs in major cities. Customizing every city to get full landmarks coverage of the world would be too much, even for me. But err check back next week, you never know.

    It strikes me that generative AI vibe coding is modern day Lego. It lets kids and adults alike build silly (or serious) things straight from their imaginations. It’s extremely fun and educational to express yourself in this way, if you just look at it as an advanced toy. The difference is that no one is using Lego to build a working car, or furniture, or anything that can be exchanged for money. But LLMs are already used in the building of most commercial software, and the proportion of their contributions is only going to grow.

    But as a hobbyist with little coding experience, I’m afraid about how desensitizing this new ability can be, and how it will dull our ability to wait for good things. It will heighten our time preference, in other words. While it was downright exhilarating to see my idea come to life in minutes instead of weeks, or never, I know it has already rewired my brain. I expect this now. The next app I make will be judged more harshly — they all will, now that I know how “easy” this is. Patience is going to be impossible, and that’s bad for everyone.

    *But what was that asterisk up there with the shower thought? It occurred to me later that maybe I came up with Urban Jungle because of The Wall which I read last week. To reiterate, it’s a survival story that takes place after an Event seemingly decimates all of humanity save for our female protagonist. She lives in a lodge in the Austrian Alps, getting by on limited matches, ammo, and medications. She’s constantly battered by storms and weather conditions, fighting a slow, losing battle against nature. That imagery must have stuck in my head.


    After that recent aggressive reading spell, I slowed down and decided to chill with one of those cozy Japanese books that are still so popular — you know the ones, set in convenience stores, or bookstores, or cafes, or the backseats of taxis, where absolutely nothing important happens apart from a mild mental breakdown brought on by social anxiety and ennui, aka living in Japanese society. I’ve semi-enjoyed a few of these before, most notably Michiko Aoyama’s What You Are Looking for Is in the Library.

    But even those lowered expectations could not have prepared me for the absolute waste of paper/pixels that is Atsuhiro Yoshida’s Goodnight, Tokyo (translated by Haydn Trowell and published by Europa Editions). I mention all involved parties because the blame for this should be shared. Multiple people started work on this, knew what they had, and decided to keep going. I can only guess the motivating factor was profit and cashing in on this cozy Japanese book trend. I hope it was worth it.

    I am now reading Olga Tokarczuk’s Drive Your Plow Over the Bones of the Dead (translated by Antonia Lloyd-Jones), and it is soooo much more deserving of your time. Then again, she’s a Nobel laureate — perhaps not a fair fight. But that’s the thing about books versus things like Michelin restaurants: the good ones cost about the same.

    I’ll leave you with some non-AI photos I took on a walk yesterday as a palate cleanser.

  • Collagen

    Collagen

    Use Collagen at collagen.sangsara.net


    A simple tool for making collages, specifically with album cover art.

    Most collage tools are either bloated with unnecessary social features or too restrictive to be useful. Collagen is a single-purpose utility designed to solve a specific friction: the tedious process of manually sourcing high-resolution album art, aligning it in a grid, and then realizing you want to swap the top-left for the bottom-right. It turns a multi-step design chore into a fluid, drag-and-drop experiment.

    v2.0 screenshot
    Crop to fit a range of new aspect ratios

    Features

    • Integrated Sourcing: Queries the iTunes database for official, high-resolution artwork (600×600) so you don’t have to hunt for covers or deal with low-res thumbnails.
    • Tactile Reordering: Drag and drop tiles to swap positions instantly. The layout logic handles the movement so you can focus on the visual flow.
    • Flexible Dimensions: Define your grid up to 10×10. The preview and export scale dynamically to match your rows and columns.
    • Hybrid Content:
      • Search: Instant API pulls for mainstream releases.
      • Upload: Support for local files (obscure imports, demos, or personal photos).
      • Text Tiles: Add context or labels with custom text tiles. Features automatic contrast (white/black) and a choice between a clean sans-serif or a classic serif typeface.
    • Borders: Toggle between borderless, white, or black frames. The logic includes outer edge padding for a symmetrical, finished look.
    • PWA Architecture: Built to be “Added to Home Screen.” It caches assets locally on your iPhone for faster subsequent loads and works as a standalone app.
    • Export: One-click generation of a high-resolution stitched PNG. It uses a dedicated image-proxy pipeline to ensure every tile renders correctly without the “blank square” errors common in browser-based canvas exports.

    Change log:

    – 14/04/26: Version 2.0

    – 14/05/26: Increased export resolution, non-destructive cropping.


    Disclaimer: I made Collagen with the help of Google’s Gemini 3/3.1 Pro LLM and take no responsibility whatsoever for any damage you do with it.

    Related blog post: Week 9.26

  • Week 9.26

    Week 9.26

    • The featured image above is the result of having Geese’s Au Pays du Cocaine in my head all day. The line about a sailor in a big green boat and a big green coat made me think of Puffer Jacket Snoopy, and of course I had to realize the joke.
    • We got the sad news that Deliveroo is shutting down operations in Singapore. This comes on the back of an acquisition by DoorDash who must have run the numbers and decided that a 7% share of the local food delivery market after a decade wasn’t worth investing further in. We use it all the time and prefer it over Grab and Foodpanda — it is by far the better app and their subscription service is better value for money, but we’ve seen this movie before. It’s like how Uber lost out to Grab; the market doesn’t always choose efficiently.
    • I will probably switch to Foodpanda because Grab as a brand has the same icky halo as, say, Facebook or Spotify.
    • Google released Nano Banana 2, the new version of their hit image generation model. This one is cheaper to run and kind of almost as good as Nano Banana Pro, so they’re making it the default for everyone. Paid users can still access the Pro model, but it’s hidden behind some menus. It’s a regression in quality, a slight improvement in speed, and most importantly, a boost to Google’s bottom line. Since I only do silly things with these tools, it doesn’t bother me tremendously, but imagine the same happening at an enterprise level for more important work.
    Screen recording of an AI panorama
    • One of the new things Nano Banana 2 can do is generate very wide panoramic images, so I asked it to render some “panoramas taken with an iPhone” in various locations. I then upscaled those and opened them in my Apple Vision Pro. They don’t have the photorealistic quality of images from Nano Banana Pro, and the resolution leaves a lot to be desired, but they’re still immersive and impressive when viewed in this way. You can see where this might go.
    • There’s been a lot of talk lately about how AI vibe coding could upend the SaaS market, if not replacing dependable enterprise tools with individually created ones, then at least giving IT departments a billion more unapproved apps to worry about. A viral essay from last week posited that AI coding could kill DoorDash, though I’d say they did a good job of that themselves out here. The other oft-discussed idea is that AI could replace the App Store, and everyone will just make their own apps instead of buying them from developers. Michael has been blogging about vibe-coding his own to-do list app based on Clear. I’ve been wanting to try this myself, making more little tools of my own to solve niche problems, but the opportunities have been slow to materialize.
    • This week the right idea presented itself and I made a web app using Gemini: an album cover collage maker that searches for the artwork or lets you upload your own. I’ve looked online for something like this before but only found a few that were quite lacking. Making one to my own specifications took maybe five minutes of prompting and testing. Then I thought it would be nice if you could drag the images to different locations. Gemini added that feature like it was nothing. I’m pretty hyped that even someone like me with zero current coding knowledge could will this into existence. If you’d like to try it, I’ve deployed it at collagen.sangsara.net.
    • Otherwise it was a sort of decompression week where I just read a lot, listened to the records I bought/ordered last week, and was regrettably glued to my phone watching day trading losses (Chekhov’s gun has fired!) and social media feeds.
    • It took a couple weeks of dawdling but I finished John Le Carré’s Call for the Dead, his first novel featuring the spy George Smiley. I may continue reading the series, seeing as his son Nick Harkaway (whose work I really enjoy) has decided to continue his father’s legacy and written one more already: Karla’s Choice. This one was a little dated and not particularly thrilling, but a fine introduction and scene setter.
    • It was immediately followed by Adrian Tchaikovsky’s The Expert System’s Champion, sequel to The Expert System’s Brother which I read at the end of last year. I recommend both as examples of sci-fi stories set so far in the future that humanity has looped back around to the beginning. It reminds me of the “middle chapter” in Cloud Atlas, if you remember that.
    • Then I read Hu Anyan’s I Deliver Parcels in Beijing, a modern memoir that reportedly did well in China when it came out in 2022. It details the author’s dual career as a writer and on-and-off gig economy worker, which is made more interesting by also being a portrait of what it’s like to live in the lower brackets of Chinese society today.
    • I also had time to tackle Rob’s recommendation of Marlen Haushofer’s The Wall, which was written in the 1960s but doesn’t feel that way, unlike Le Carré’s spy novels. He called it the best book he read last year, so I could hardly say no. It starts off like an intriguing sci-fi novel: a woman visiting friends in the Austrian alps wakes up one morning in the log cabin to discover she’s alone, and there’s an invisible wall separating her from the outside world. Things then focus on survival and what it means to live and be human in solitude, and in nature. Which, given that I’ll be home alone next week while Kim is away again for work, means I’m already in the appropriate headspace.
    Some of the better books I’ve read this year
  • Week 52.25

    Week 52.25

    Merry Christmas! For my main gift, I received a turntable, something that I’ve been very conflicted about wanting for awhile. Apart from the fatal hipster embarrassment, I know that the urge to repurchase all my favorite albums on vinyl is a road to financial ruin.

    Back in February, I was on the lookout for a CD player to bring home from Tokyo, but decided against it because digital streaming is identical, if not superior in the case of lossless and Spatial Audio, and I couldn’t see many instances where I would bother to get up and pop a CD on instead of just call out a request to my HomePod. And HomePods don’t accept Bluetooth or line-in audio, so I’d have to use my Sony soundbar or buy a third speaker for the living room. Too much hassle!

    But vinyl, goddamnit, just barely dodges the killing blow of that logical argument by having a different value proposition. One, the physical LPs are more collectible, more beautiful, more mentally stimulating in a world that wants to turn itself into ephemeral bits. People say that intentionally putting on a record for close listening deepens your connection with the music over just tapping a link. Two, the audio characteristics of an all-analog reproduction chain are surely different from digital. So if you can, why not have both options for home enjoyment? Three, it’s just kinda cool?

    So I asked Santa for an Audio-Technica LP70X, which has the option of Bluetooth output. I briefly considered buying one of those Marshall speakers to pair it with, but the idea was so cringe I couldn’t face it. Besides, that would nullify point No. 2 — why bother if you’re going to digitize it? So I hooked it up to an unused B&O Beolit 12 speaker (which has unceremoniously served as a stand for our bedroom HomePod mini for years) via RCA cable instead. Voila, money saved that can be used for buying records!

    But first, guardrails were needed. I decided that I would only buy absolute masterpiece, timeless, desert island discs. No new pop/rock stuff that wouldn’t benefit much from the analog format. And that my collection would 95% focus on jazz. The exceptions are things like LUX and J Dilla’s Donuts, maybe.

    After some laborious rewiring, we got it set up on Saturday and played some records that Kim bought as souvenirs many years ago. Radiohead’s OK Computer was one of them, and while I suspect much of it is down to the different speakers’ sound profiles, the analog version is bassier and warmer. When the HomePod plays a lossless digital version of the same song, it has an incredible immersive quality, so clear and bright that the band could be in the same room. A film camera versus iPhone’s computational photography. Room for both.

    Anyhow, it’s been wayyyy too addictive browsing records on Amazon — and the ones that ship from Japan are usually much cheaper than the US versions. Here’s what’s on the way but please recommend me your faves!

    1. Miles Davis – Kind of Blue
    2. Vince Guaraldi Trio – A Charlie Brown Christmas
    3. John Coltrane – A Love Supreme: The Complete Masters
    4. John Coltrane – Blue Train
    5. Chet Baker – Chet Baker Sings
    6. Ornette Coleman – The Shape of Jazz to Come
    7. Bill Evans Trio – Sunday at the Village Vanguard
    8. Bill Evans Trio – Waltz for Debby
    9. Sonny Rollins – Saxophone Colossus

    ===

    While we’re out here talking about physical artifacts and meaningful rituals, I want to point out that this final post of the year is also the 287th weekly update on this blog. About five and a half years of regular writing — all because I started one week with no idea how long I would keep going, just the hope that it would help me to write more often than a couple of times a year. Today, this weekly blogging of things that captured my attention has become my most meaningful routine, and produces a living artifact that I find quite valuable.

    Writing is thinking, and so putting time aside to articulate your feelings and actions, and reflect on the patterns within them, might be the best way to understand and recalibrate your own life. You don’t have to blog in public; journaling works too. Several times a year, I find myself reading an old post that I’d completely forgotten about, and recognize that something happening with me in the present began with something further back.

    Mark Curtis, one of the co-founders of Fjord where I once worked, has just started a Substack called Full Moon with a partner, and in their latest post suggest that everyone should start a habit of “externalizing their thinking”, because a personal archive of written thoughts and ideas has new applications with today’s LLMs. Having such a corpus can be an asset, and not just for training a soulless version of yourself who goes to work for the corpos while you stay home and watch vids. One thing generative AIs do well is find patterns across large amounts of data, and so with journal entries they provide a means of browsing your own brain over time.

    No stranger to this idea, I assigned Claude to read all 51 posts of the year so far, looking out for trends and threads that I might not have seen while posting in real time. What came back had a hint of that AI voice, but contained a helpful synthesis of several threads. Let me explain in my own words rather than simply paste the results.

    There were several recurring themes and obsessions, for instance deaths and funerals earlier on in the year, and it linked those to some musings on age and mortality when I started to feel old around my birthday, and when I recently said I should watch my purine intake for fear of developing gout.

    It suggested that I was doing something meaningful by making plans to meet up with people during this sabbatical, and that keeping in touch with ex-colleagues and helping grade college students’ presentations was part of staying connected to design culture and “keeping the ladder down”. There were also many words dedicated to creative experiments; chasing after the beauty in imperfections, from film grain to mistranslations; and of course, AI concerns.

    From that overarching theme, I ended up musing about the vulnerability of the junior designer pipeline, the commercial pressure to abandon not only proven methods but our values, and the dissonance caused by being a regular user of AI tools while knowing they come at some unknown but surely high cost.

    It also provided some insights into how I spent my time, calling it an attempt at presence over productivity. I certainly didn’t do any work I didn’t care about! I recall saying in Week 26.25, as I revisited my CliftonStrengths profile, that my natural inclination is to hate keeping busy and productive for the sake of it. I recently wrote something down in my notebook that sums up that energy: “I take tremendous joy in being able to do quite a few things extremely well and yet choosing to do none of them.” Perhaps underachieving is my passion.

    More acts of presence: I went overseas for about two months out of the year and chose a slow “daily life” approach over hitting up a flurry of tourist attractions. I deleted a bunch of games off my backlog — if it doesn’t spark joy, I decided, then I don’t have to finish it. I fell into a Japanese curry “research” rabbit hole in the first half, and now it’s sardines. I managed to make more time for reading, and am now starting on my 52nd book of the year, which is quite a nice achievement even if some entries were short stories and novellas.

    The last book I read was so good that I’m making it recommended reading for everyone who comes by here.* Make Something Wonderful: Steve Jobs in his own words is a free ebook by the Steve Jobs Archive, collecting in chronological order various speeches, emails, and interviews he gave. It’s not so much about Apple the company as it is about his views, spirit, and character that famously evolved between his ouster from that company and his triumphant return.

    I read it on the plane back from China, and maybe I was coming off an emotionally taxing time, but I had to stop reading several times because my eyes were tearing up. Don’t discount the beautifully cosmic coincidence of an adopted boy landing in the right family at just the right time in Silicon Valley. The result was that the whole world now enjoys thoughtful personal computers anyone can use. In another universe where the Mac never existed, there’d probably be no Windows either, and likely no smartphones as we know them.

    If you’ve ever heard him speak, you’ll hear his voice in all of these snippets. He had a way of keeping the forest in view, and often framed smaller moments (and even human life) against a vast span of time: what we’re doing here as a species, how it matters when we make things for each other, and thereby why we must carefully choose where we spend our time.

    *I’ll take this year-end opportunity to say thanks for reading, whether this is your first visit or you’ve been here all along. I get messages sometimes, and it’s always gratifying to hear something was a useful tip or interesting to someone else. Happy new year!

    ===

    I almost forgot. My seventh BLixTape playlist is done! Add it on Apple Music.

  • Week 48.25

    Week 48.25

    My personal MUBI Shaolin film fest went on as planned, and I managed to watch a few more before they left the service. Gordon Liu had a role in just about all of them, which shows what a popular and influential figure he was in the industry. Who even comes close in Hollywood? Pedro Pascal??

    If I had to recommend one Shaw Brothers film, it would still be Dirty Ho (1979) which I’ve mentioned here before. It’s essentially the same winning template that Jackie Chan’s career was built on — lots of brilliant, intentional fighting moves masked as accidents and incompetence.

    The most uneven one I saw was Legendary Weapons of China (1982), which has about five different plot lines running through it, all to provide flimsy justification for the spectacular finale in which 18 (!) different Chinese weapons are brandished, and as many fighting styles showcased. It’s like Don Draper pitched that idea on a whiteboard and then they had to come up with another 70 minutes. There is an extended action sequence in a straw toilet hut floating over a river, where people literally end up in the muck. This absurd scene involves both kungfu and possession with voodoo dolls.

    In another realm of absurdism lives Dogtooth (2009), the debut film of Yorgos Lanthimos which made a splash at Cannes that year. I saw it on MUBI this week because I liked Bugonia (2025) and wanted to start at the source. Jesus, this film is an exercise in creating the wrongest setup and then having its characters do things that follow on logically but are still nevertheless very wrong. You get the sense of perversity for the sake of it, or to give life to the director’s own kinks, sort of like Tarantino putting his foot fetish in everything — but still actually much worse.

    However, do something terrible with craft and conviction, and it will gain lasting historical value. That’s how this world works; I don’t make the rules! But what if you don’t actually make the thing and just have the idea. In the form of a prompt, let’s say?

    Images that never happened

    Google released their Nano Banana Pro image generation model recently, and I’m sure we’ve all seen examples online by now. Things have progressed to the point where I’m constantly questioning the veracity of things I see online, and I think at some point the mental filtering will become so tedious that we’ll simply stop wondering and accept things that are true and untrue equally. If the short-form video that ruins your brain’s ability to focus and feel joy on normal terms makes you laugh, who cares if those things really happened? And then it will extend into other parts of life, and then… who knows?

    I decided to see if Nano Banana could place me in ROSALÍA’s LUX album cover and, of course, the answer was yes. Too easily, in fact. I only supplied it with a single forward-facing photo of me at a dinner table, and it was able to extrapolate what I’d look like from a different angle. We are, ladies and gentlemen, so cooked.

    It was also Black Friday sales week, and I decided to give VSCO Pro’s annual subscription a try at 50% off (hard to justify at full price). In addition to their Pro set of filters, which are actually really good, it also comes with access to AI tools, of course. Their object removal is state-of-the-art, to the point that it can invent very believable portions of an image that you wouldn’t notice unless really scrutinizing the scene. After a few experiments, sculpting messy scenes in old photos into what I wished they actually looked like, I had to step back and ask myself what the hell I was doing. Apple’s refusal to let the iPhone create “images that never happened” is absolutely the right stance.

    What becomes of designers?

    AI’s obviously going to change the way we work, and I’ve been worrying for a while now about the future of the design profession. About the people who do this work, whether they will continue to be attracted to it, who will pay for their services, and what those services will actually look like. It’s been hard to imagine timelines that are positive by the standards I care about.

    As with many sectors that have experimented with AI tooling, I often hear that senior practitioners using generative AI models can get more done “on their own” — the highlighted phrase implying 1) without the assistance of those pesky junior people, and 2) more cheaply for the business. But just because the tasks once performed by junior people can now be done by AI doesn’t mean juniors can’t find something else to do, or don’t need to be trained anymore. Nevertheless, some business leaders are acting as if that were true.

    A friend told me how it’s now possible to run a small agency powered by seniors + AI only, without any junior hires. They were surprised that I pushed back — but the idea sounded irresponsible to me. It’s one thing if you can’t find employment and have to embrace AI to put food on the table. It’s another to be in a position of strength late in your career and choose this. If you can’t afford to leave the ladder down behind you, I said, it would be better not to do it at all.

    But because bean counters can always be counted on for short-term thinking and a reluctance to spend on design, some companies will go further and not hire AI-augmented senior people at all. They’ll either use inexperienced juniors or ask someone like a product manager to handle “design stuff” on the side using AI. Depending on how much the tools improve, the visible outcomes of this may seem acceptable for quite a while! Design won’t go away as a function, it’ll merely be handled by a different group of people.

    My main concern has been that doing a good-enough job in this way will scale so well, and become the dominant approach so quickly, that we’ll lose the diversity and depth of craft that comes from having human practitioners out in the real world, doing things like interviewing users to understand outlier behaviors, reading contextual cues and hearing what they don’t say as much as what they do. Then using these unique stories to make the larger design solution more resilient. It’s a job that humans are well equipped to do. A business that relies on AI to create an average of best practices may happily miss all of it.

    Why do I think this matters? Because while a bunch of LLMs trained on world knowledge (including artifacts from past design exercises) will generate pretty good insights and workable interfaces from a wide field of generic possibilities, it’s still a path to a monoculture of experience. And if we break the chain of passing down the skills to do the work, then some future post-AI generation will have to learn them all over again.

    I wondered if there might be a market for artisanal human-led design work. After all, centering the role of human craft has kept the luxury goods market alive in the face of mass manufacturing. But that would mean it becomes something performative, and necessarily restricted to higher paying customers. I actually believe that AI augmentation can produce better work; I just don’t trust our economic systems to nurture it over cheaper work.

    Teach an LLM to fish…

    Then this week, I saw something on TV that seemed like an apt analogy and put me into a more zen state of acceptance. It was an episode of Japanology Plus on NHK, with long-suffering host Peter Barakan forced to go out on a small fishing boat in challenging waters. I was honestly surprised the producers/insurers allowed a man of his age to do it.

    Anyhow, as they were heading back from being thrown around by the waves, he asked the captain how fishermen in the old days would have survived that ordeal without GPS, walkie-talkies, and engines. The captain’s reply was that it was more dangerous back then, and they had to use their experience and intuition, navigating by looking at the mountains and stars, reading the winds and currents. You can imagine many lives were lost on the job.

    Would any of those old fishermen trade places with their descendants today, giving up those seafaring skills for the ability to catch many times more fish and live twice as long, comfortably? Very likely! Modern fishermen are still out there on the ocean but their technology distances them from intuiting the waters in the same way. We also know now that the scale at which they fish those waters is unsustainable.

    Likewise, there will be more designers in the future, less skilled by today’s standards but able to oversee projects too complex for us to fathom. Maybe with worse overall outcomes for the world than if we’d never opened the mystery box of AI. But I realize now that this pattern of losing one thing to gain “something more, but worse” is simply an inevitable law of the universe. Two steps forward, one step back.

  • Week 41.25

    Week 41.25

    • The results from last week’s health screening came back clear of all major issues, so I’ll sleep soundly on that front for a little while at least! The only note was that I could cut back a little on the carbs and saturated fats, which makes me wonder what I’ve done differently since the last test. Could it be… that I was eating more healthily when I went to the office more often? Those downtown mall lunches were more expensive than the kopitiam/hawker fare I get more frequently now, but I didn’t expect them to be healthier. I’ll have to look into this a little more.
    • It’s no secret that one of the more reliable indicators we’re in a frothy bull market is a rising number of people mistakenly believing they can quit their jobs and live off day trading, and while that wasn’t my plan, I’ve certainly done a touch of it this year. What can I say? Gambling is fun! But then Trump declared another tariff war on China this Friday, troubling markets and triggering major liquidations on some altcoins. I know it was bad out there because my feeds were full of people urging others not to kill themselves. The coming week is probably going to be a very interesting one on Bloomberg, which I expect to have on the TV in the background all day.
    • That is, if the internet is even working. Our ISP has been struggling with at least two outages this week during waking/working hours. The connection is down right now as I write this bit on Saturday evening, which is surely an unpopular time for the net to go down. I’ll bet someone’s been called in to reboot a server rack somewhere right now. In times like these, I’m thankful for my irrationally large mobile data plan and our local NAS media server. There’s some kind of strategic error being made by governments here. Centralizing all the angry-mob-placating media on the cloud where it can go down in the middle of a crisis? The kind where you tell people to stay indoors and wait? I’ll bet DVDs actually played a role in maintaining law and order in the old days.
    • Speaking of shutting down a digital grid, I had the opportunity to see the new Tron: Ares film with Brian the night it premiered and had a great time despite Jared Leto taking the titular role. It’s not a franchise that aims to make sense, or be scrutinized for narrative integrity — it’s about the neon lights, banging electronic music, and videogame-ish eye candy, and this new one delivered on all counts. I can’t even get mad; it really is just a good time as long as the volume’s way up.
    • Quick aside: I’ve been using Claude more than ChatGPT recently to give it a fair shake, mostly spurred by curiosity after their recent marketing campaign, and honestly? The outputs seem more insightful, more strategic, and it’s a better writer. It feels more my speed, and I’m a new fan.
    • Still on the topic of digital networks, I got roped into helping start and moderate an online alumni group for the design agency I used to be part of, and we quietly launched it this week. What set this one workplace apart was the feeling of being a truly connected team where, for a brief period in time, absent any territorial agendas or business borders, people could share knowledge across (and even move freely around) the different global offices. And it’s been really nice to see many people say as they join the #introductions channel on our Slack that it remains the best job they ever had. Where does it go from here? I think that depends on how many atypically extroverted designers we can get to foster some sort of social infrastructure.
    • Coincidentally, I met one of those ex-colleagues for an overdue breakfast: our first intern and proper employee in Singapore, who’s also a regular reader of this blog. Hi Xin! I hadn’t seen her in a year, so even after 90 minutes of catching up it still felt like there was lots we didn’t get into. Anyway, you wouldn’t have known it was a random weekday morning from the line waiting to get into the suburban cafe/bakery we chose. Every table was occupied by both foreign and local-looking unemployed bums alike, all enjoying $28 breakfast plates and $18 slices of toasted sourdough topped with avocado. We’re constantly being told local restaurants are barely hanging on, but then you see the brunch scam still going strong and it’s like wha…?
    • More counterdata was encountered while celebrating a very belated birthday dinner for Kim at Cudo, a South-American-ish sort of restaurant in the Amoy Street area. It was fully packed out (albeit on a Friday night), and I highly recommend them on account of solid tropical cocktails (Bourbon! Coconut! Pineapple!), a really nice selection of starters (Romaine lettuce with blue cheese and anchovies; warm crab queso with tortilla chips; truffley torched yellowtail), and even better mains (wagyu rump; chorizo and ricotta pasta) at pretty palatable prices.
    • I can afford this baller dining-out lifestyle because I saved a ton of money on the Amazon Prime sales this week (yup it’s #girlmath). I bought replacement razor blades, a physical copy of The Legend of Zelda: Echoes of Wisdom, dental floss, a 1TB microSD Express card (finally!) for my Switch 2, protein bars, LED bulbs, LEUCHTTURM1917 notebooks, and a lifetime supply of Uni-ball Jetstream RT pens — only the best pens ever according to The Wirecutter.
    • I wasn’t planning to get any of this stuff soon — they’re all things I might have bought eventually. Like the 1TB card to replace the 256GB one in my Switch 2, for example, which I thought I’d upgrade to in maybe a year’s time. This made me realize that on top of driving impulse purchases, these sale events are actually about pulling forward purchases and recording future sales today to juice numbers (at slightly lower margins). Businesses are valued based on expected profits, individuals buy based on expected needs, and I guess I’ve been binging carbs and fat based on expected hunger!
  • Week 37.25

    Week 37.25

    Happy iPhone week aka Tech Christmas to all who celebrate! I wrote up my thoughts (below) after the event on Wednesday, and since then I’ve seen the same sentiments echoed throughout YouTube videos, podcasts, and articles, so I at least know I’m not reading these things entirely wrong. All in all, one of the best iPhone lineups ever. They went all out, with very few compromises or artificial impairments to make the expensive models more attractive — they are all seriously good value, extremely capable-sounding devices.

    On Tuesday, we went over to my parents’ place for dinner, and spurred by a question someone had last week after seeing a photo of their living room, I asked after some family history and got some new information. The accuracy and completeness of Singaporean family stories must vary widely; after all most families here only arrived in the last century. My dad only knows where his grandfather came from in China, and a suspicion of his occupation (ask me and I’ll tell you), but not why or how they made their way down to Southeast Asia. Apparently no one ever said. I’d say that was weird, but then I’ve waited this many decades to even ask.

    You know what else I’ve waited forever to do? Start The Legend of Zelda: Tears of the Kingdom. I finished Breath of the Wild in the summer of 2023 — I could have sworn it was last year, oh my — after letting it languish uncompleted for about six years. Since both games are set in the same world of Hyrule, albeit expanded in TotK, many recommend taking a break in between. Now that the Switch 2 edition is out, with modern luxuries like running at 4K 60fps, it was time. And because this is a game where skills also accrue in the player rather than purely in the character, jumping back in feels great. I’m better at combat and finding my way around than I was at the beginning of BotW, which makes sense for a sequel: Link has been here and done this before. It’s marvelous game design all around.

    Speaking of capital-D Design, Singapore Design Week is back again, but I’m less inclined to explore every venue and event after seeing that last year’s slipshod execution probably hasn’t been rectified. The website and program directory are still confusing and missing key visitor info.

    Case in point: On Sunday we went down to the Science Park district for a talk I’d signed up for, only to find that no one in the stated venue (a building lobby) knew where it was happening. It turned out to be in an open space outside instead. I’m not sure the speakers knew either, given that several used packed slides unreadable on the small screens provided. To make matters worse, some presenters’ slides weren’t even fit to the full screen size. When informed by the audience, they said “sorry, we can’t fix it. We can send you the deck!”

    Nearby, one of the robotics exhibitions had info cards printed in such tiny type you’d literally have to crouch on the floor to read them. I don’t know why we can’t get these things right for a design week.

    But there was a high point! Local graphic and art book seller Basheer had a small stand at the fair, and I found a copy of Silvio Lorusso’s What Design Can’t Do: Essays on Design and Disillusion, which Jose recommended ages ago. It was S$37 for future reference.

    If you follow me on Goodreads and were shocked at the amount of reading I suddenly got done, calm down. Those were not five separate books, but short sci-fi stories in something called The Forward Collection, published by Amazon, and curated by Blake Crouch of Dark Matter fame. For some reason, each story has its own entry on Goodreads instead of just one for the compilation. I recommend them!

    ===

    Apple Fall Event

    • The annual Apple fall event took place as it always does in early September (I love that it’s been over 15 years but some people still ask “When do the new iPhones come out?”). This year was of particular interest to me because 1) I didn’t upgrade my iPhone for once last year, mostly content with my iPhone 15 Pro Max and even wondering if I could stretch it out to three years. 2) If I can save any money somewhere in my annual budget, I’d be open to it! Alas, my Apple Watch is three years old, and my AirPods Pro 2 are the Lightning version that don’t do lossless audio with Vision Pro. So as the livestream began, I started praying that none of the announcements would make me feel like I needed to buy stuff.
    • Right out of the gate, the new AirPods Pro 3 were shown and I was like “goddamnit!” These mostly look the same, but have been subtly refined to fit better in your ears and yup, I need that as they’ve always been a little loose on one side. They supposedly sound better, thanks to a new acoustic port design. The active noise cancellation is now 2x better, and battery life has gone up about a third, to 8 hours. There’s also heart rate monitoring but I don’t give a crap about that. Nevertheless, a very hard purchase to resist.
    • Then, the Apple Watch Series 11 and Ultra 3 were shown, but thankfully I’m not sporty enough so the bulk of their workout/outdoors adventure-centric improvements bounced off my consumer armor. I mainly use my Series 8 as a timepiece, with occasional notifications and stock prices that I read when waking up in the middle of the night, and all it needs is a new battery. Lighter, smaller, more health sensors, faster charging — these are all nice to have but not when a new titanium model comes to over S$1,200 with AppleCare+. What’s that? Buy aluminum? Oh no, darling.
    • I was excited to see the iPhone 17 get a ProMotion display (variable refresh rates up to 120hz), because it suggests that the iPad Air might get one next year too. Overall, this is a truly great phone to offer as the base model. With better battery life, 256GB starting storage, and very capable cameras (including a smart new multi-aspect selfie camera), there are no compromises to be seen here and most people will be fully satisfied with one. It stands up well beside the Pro phone for everyday use in nearly all aspects.
    • When rumors of the the iPhone Air leaked, I didn’t believe a thinner phone with less battery life made any sense. And including only a single camera with no ultrawide lens? That excludes most Gen Z buyers! But I think I was wrong. The new wider front-facing camera might handle the Gen Z selfie use case. In truth, this is a phone that matches or exceeds the specs of last year’s iPhone 16, but is way more desirable. With its unique and recognizable design, glossy titanium frame, and premium semi-pro price positioning, this is the peacocking model. It’s literally the shiny new object. And that place in the lineup is made possible by a welcome pivot in the Pro line.
    • The iPhone 17 Pro and Pro Max are now freed from their jobs of pushing up iPhone ARPU by appealing to customers with a little more money to spend, and who want something better than the base model. That’s the Air now. The Pro models have now transitioned to powerful professional tools with features that most people won’t even have heard of (e.g. GenLock for video), let alone know how to use. Which means they can ditch premium/luxury materials like stainless steel and titanium, for a more pragmatic forged aluminum that’s lighter and better for thermal management. They can also withstand weirder/uglier industrial designs (emphasis on industrial) like the new camera plateau that houses bigger sensors and makes room elsewhere for massive batteries. These models can now be thicker and heavier than most consumers would like because the Air exists.
    • The Air, by the way, looks like they got halfway through the development of next year’s rumored foldable iPhone and decided to ship one half as a product. Which is probably not entirely untrue; many niche Apple products are test beds for scaling ideas that will later appear elsewhere. The Air’s remarkable miniaturization and the Pro’s new vapor chamber cooling system will probably be echoed in a future Apple Vision Pro.
    • It’s also worth noting the ever-changing definition of “Air” in Apple parlance. It usually means either cheaper or lighter, and never premium/luxury. The MacBook Air is both the cheapest and lightest laptop, at least for now. The iPad Air is a Goldilocks model, sitting between the basic iPad and the Pro (which is the thinnest and lightest). But while the iPhone Air is cheaper than the Pro, it’s the thinnest, lightest, and also nicest. It’s elegant where the Pro is beastly, and I think this is their main design direction for the future.
    • Even if it doesn’t sell well this year, I don’t see this being canceled like the Plus phones. If anything, the Pro Max might be the one to go next. Its role is now to simply be the biggest screen, which a certain folding device might take the place of. So 12 months from now, we may be talking about iPhone 18, iPhone 18 Pro, iPhone Air 2, and an iPhone DS or whatever.
    • So it’s decision time. By the time this gets posted, I would have chosen a phone, size, and color. The Air is very tempting, except I couldn’t live without macro and telephoto photos. I do think its 6.5” screen size is in the sweet spot. The Pro’s 6.3” is too small and according to myself in 2023, going back to a bigger Pro Max after three years of Pro was worth the pocket bulge and hand strain. The new Cosmic Orange is striking as hell, but will it look tired after two years? Or two weeks? Brian called it reminiscent of “80s anime” and I think he’s onto something with that bit of free association. It also reminds me of some Sony MP3 players and phones.
    • Update: Pro Max in Silver. Big, heavy, and expensive. I’ll have to tighten my belt now in more ways than one.