Francisco Tolmasky Profile picture
Founder @runkitdev and TC-39 Delegate. Previously: Original iPhone team on MobileSafari, Creator of Objective-J and Cappuccino.
Sep 13, 2022 4 tweets 1 min read
OK, I think the best solution to Notification Spam in iOS is to add a “Allow For 24 Hours After Using App,” which approximates the intent of Location’s “Allow While Using App”. This should theoretically handle delivery apps fine, while preventing them from sending you “deals”. The 24 hour window would automatically reset every time you explicitly open the app, that way you don’t have to keep allowing it if you use it a lot. But if you rarely use it ,you also don’t have to remember to disable them to prevent it from abusing notifications later.
Sep 12, 2022 5 tweets 2 min read
It’s really nuts how little “opportunity cost” plays in our discourse. Everything is judged in a vacuum, with almost zero imaginative input of “what if they had instead…” So as long as it’s kind of OK, it gets a pass, without seeing the cost it has on everything it’s preventing. We of course see this with things like the @AppStore, where people really strain to understand the ramifications of rules since they by definition don’t see all the stuff the rules prevented! This tweet was so successful precisely because you didn’t have to imagine something new.
Sep 12, 2022 7 tweets 2 min read
The notch (& island) has never made sense. It’s always been a stubborn over-engineered solution. Just make the iPhone a tiny bit taller & put the camera above the screen. No more obstruction & more room for battery. That’s obviously better than all this nonse for the last 5 years And you can use that “bonus space” above the screen for my security UI idea which I think would have been way better. The point is, the actual content should have never had to compete with the cameras.
Sep 12, 2022 8 tweets 2 min read
If true, then the iPhone may be developing the same problem the iPad has: products reverse-engineered from PRICE instead of USE. The iPhone mini made sense to be “worse," so it didn’t *feel* cheap. The iPhone 14 however just feels like “the cheap one.”

macrumors.com/2022/09/12/kuo… Below I showed an iPad lineup where the differentiation (and marketing!) was based on USE CASE and not price, so no one feels like they’re “settling.” For example, the “low end” iPad Go is positioned as “rugged,” what you take on a hike or give your kid.

Aug 17, 2021 16 tweets 4 min read
I think the history of tabs serves as a fascinating case study of how Apple's neglect for its own UI frameworks assisted the rise and acceptance of cross-platform frameworks like @electronjs and the corresponding decline in the importance of "nativeness" and "the HIG". 1/🧵 Tabs made their first appearance in NetCaptor in 1998, and by 2003 were considered such a killer feature that they made their way into the beta of Safari, to much fanfare. Today, tabs are of course considered a critical feature in every browser. 2/🧵 Image
Aug 7, 2021 11 tweets 3 min read
We’re past the point where giving Apple the benefit of the doubt can be interpreted as anything other than willful ignorance from a place of Western privilege. These aren’t hypotheticals, we already have examples of Apple's policies failing people in other countries. 1/🧵 Case in point, while we argue whether sideloading would ruin our "experience" on the iPhone, the bottleneck of the @AppStore was already wielded against Hong Kong protestors when China forced Apple to remove HKmap.live, an app they used to avoid police violence. 2/🧵
Aug 5, 2021 5 tweets 2 min read
This is in part because people have no framework for dealing with non-binary risk. People don’t understand “30% risk.” They just round up to 100% or down to 0. Everyday low stakes decisions reinforce this, like if there’s 30% chance of rain assuming 0% and leaving your umbrella. But there’s no real logic there, you actually just don’t care either way. Worst case scenario, you get wet. That’s why we have this “what’s the point of living if we have to wear masks” logic: it comes from the same place as “you can’t spend your life worrying about umbrellas.”
Aug 5, 2021 4 tweets 2 min read
This is a worrying pattern: eliminating web features in an attempt to play whack-a-mole with bad websites. We’ve seen this with breaking cross-site caching, font detection, and now prompt(). Perhaps we should be rethinking something more fundamental about browser UI instead. Here is an example of a more generic solution for establishing trust with the user through a tamper-proof “Secure UI” area of the screen (in this case using the iPhone’s screen surrounding the notch):
Jul 9, 2021 4 tweets 1 min read
A sad aspect of subscription software is how you’re almost necessarily making things that can’t last. Software has always struggled with ephemerality, but subscriptions are condemned to die with their owner (person or co.). I want to make things that have a shot of outliving me. Forget even outliving you though, 5 years from now, don’t you want to be able to show people this thing you worked really hard on and were so proud of? Like, actually let them touch it, not dig up some video walkthrough on YouTube or something.
Jul 7, 2021 14 tweets 3 min read
I think the @AppStore may represent a “Closing of the Frontier” moment (in the American history “Frontier Thesis" sense) that may in part explain the dramatic slowdown in UI and UX innovation in iOS (and even more so in iPadOS) following the iPhone’s initial dramatic launch. 1/🧵 It's no secret that macOS has… borrowed many of its now familiar workflows from 3rd party devs. Spotlight (Watson and QuickSilver), Widgets (Konfabulator), and iCloud Drive (Dropbox) to name just a few. And to be clear, this a good thing and has generally been wll received. 2/🧵
Jun 9, 2021 20 tweets 5 min read
Thought experiment: if Apple said fuck it and just gave the new M1 MacBooks touchscreens and bare bones touch APIs, but no further direction or “UX investment,” then 5 years later which do you think would be home to more exciting touch apps and UX developments: macOS or iPadOS? I say the Mac: if for no other reason that a tinkering community could actually exist. It wouldn’t be about wondering if *this is the year* Apple really decides to take the iPad seriously. Some passionate college kid could come up with a cool idea and ship it — for the whole OS!
Jun 7, 2021 5 tweets 2 min read
This really goes to show how disconnected Apple employees and execs have become from the everyday experiences of users. When I first joined the iPhone team, I wasn’t allowed to do anything until I first went through a grueling hour-long user test of the then unannounced iPhone. At the time, QA was desperate for new hires on the team to test with because, well, they couldn’t test it with anyone else! It was fascinating the care they went through for everything to “just make sense” with zero instruction & left a really positive initial impression with me.
Jan 2, 2021 6 tweets 2 min read
As I hit "Buy Movie" in the Prime Video app (which only Amazon is allowed to do), it saddens me that the entire AppStore infrastructure is wielded as a comically complicated bargaining chip just so that Apple and Amazon can bully each other into... not charging each other fees. Years of poor customer experience, putting themselves in danger of anti-trust actions, all of it just for the supremely unambitious goal of being able to hold something over Amazon when they do their boring Apple TV+ on Fire TV negotiations.
Nov 7, 2020 9 tweets 2 min read
Don’t be fooled by this drawn out counting process, this *is* what a repudiation of the last 4 years look like. Biden and Harris have done something incredible here, and they absolutely have a mandate. Let me tell you how big of a deal this is. (1/x) Despite the feeling from polls going into this, this was not our election to win. DJT is only the 4th President in the last *87* years to lose re-election, and only the *11th* ever. And his approval rating was much higher than many of those (44.7% vs. 32.6% Bush and 37.9% Carter)
Sep 11, 2020 4 tweets 1 min read
Forget what developers think of Sign In with Apple, as a *customer*, I’m never going to use it again. I was already skeptical of routing all my email communications through Apple, but the fact that Apple can drop it arguably affects me more than the developer. In the best case scenario, it's a hassle for me to have to transfer my account in an event like the Epic situation. In the worst case, it seems like I could potentially lose my account? Maybe that doesn't matter for a game, but I certainly won't trust it for stuff that matters.
Aug 23, 2020 7 tweets 2 min read
Isn’t it funny how “if you don’t like it, why don’t you leave?!” seems to be most employed when it’s hardest to leave? I feel that if there were a ton of phone options, criticism would probably be reasonably considered, not treated as a sign of disloyalty meriting banishment. The same is of course true of countries. The most low effort response to any criticism of a country is to suggest you go fuck off to another country if you hate it so much. What? In what universe is “I want to invest *my* time to explain how this could be better” a bad thing?
Jun 23, 2020 8 tweets 2 min read
In *2018* I tweeted about my exhaustion with the “forever transition”: this perpetual state of “bare with us”. We have to use these inbetween states for years, they’re not free. At some point we started treating entire product cycles as betas. (Thread)

And for what — I’m not seeing the unification that matters to me, a unification of UX, a vision of how we should *use* our computers, all I see a unification of component pipelines or perhaps arbitrary refactoring of internal shared components of academic interest.
May 1, 2020 11 tweets 3 min read
So the reason I linked the keyboard & software complaints together (aside from the practical reality that the new keyboard got me thinking about this again), is that I think their problems are related: advances in both areas feel slick, refined, and... broken (follow up thread) The new windowing UI on the iPad is clearly way “cooler” than windows on macOS. They demo great. It *looks* well thought out. But beyond not actually being easy to use, it’s made my existing iPad experience worse since I constantly accidentally initiate some strange window mode.
Apr 30, 2020 11 tweets 3 min read
The frustrating thing about the iPad is that I constantly feel that I need to be buying into a philosophy. There’s rarely a good *reason* for why I can’t do something other than me “not getting what the iPad is about”. This never happens with the Mac or the *iPhone*. The limitations of the iPhone feel earned due to the nature of the device. You can get away with a lot because it feels amazing that I can get this much done in this form factor to begin with. But the iPad form factor is basically the same as a laptop, so it deserves no slack.
Oct 30, 2019 12 tweets 2 min read
An unfortunate UX trend I’ve seen is “fake focus” (or phocus, haha!) — patterns that ostensibly increase our focus but IMO actually make us more distracted. One example is the move to fullscreen apps, originally necessitated by mobile but increasingly adopted by desktop. (Thread) Think about everything you pay attention to while driving. Your main task is keeping your eyes on the road, but they also quickly jump to rear-view & side-view mirrors periodically, and to your dashboard to see your speed & fuel level. It’s actually quite amazing and subconscious
Feb 3, 2019 7 tweets 2 min read
Tree-shaking could be an anti-optimization. The ideal is for your libraries, which change less often than your app code, to be codesplit separately & be barely tree-shaken if at all, so that updates to your app result in unchanged library “chunks” and minimal cache busting (1/x) What you’d really want is key libraries cached *across* different sites. React, Vue, Lodash, should exist *once* on the user’s computer (*/- versioning). Instead, we micro-optimize locally for our sites, each shipping different subsets as part of larger globs. (2/x)