3 votes

Musings on "Developer Mode"

Peruse this relevant meme. It depicts the magical transformation that occurs at the moment one taps the Android build number for the seventh and final time, as the arcane ritual transforms one from a chill dude in a business suit into that powerful, shadowy figure known only as "a developer".

It's a joke, obviously, but only half a joke. The "You are now a developer!" message that the developers at Google programmed your phone to display, when it grants you this set of powers that Google permitted them to program it to grant you, is doing something in the model of the world that its authors live in.

"Developer mode" isn't just for Android. The browser you are reading this in has a little panel you can open to inspect or adjust the content of the page. It's useful for things like composing humorous screenshots, deleting annoying ads, and downloading images and videos, but it's called the "Developer Tools", a set of tools defined not by what they do but by who they are intended or imagined to be doing it for. Discord has not only a "developer mode" that lets you get the permanent identifiers for messages, but also additional developer-exclusive functions that are activated by enabling the Electron developer tools and injecting code to set the isDeveloper flag. Windows has a Developer Mode. ChatGPT got one for some reason. This notion that a special class of people called "developers" exist, and that they must or should be afforded extra power in our society's digital spaces, is woven into the structure of the digital environment.

Why is it like this? Big Tech doesn't give any power for free. Is it something their labor force of developers demands to be able to grant to their counterparts outside the company? Is it a Ballmer-Doctorow gambit of courting programmers as potential business customers by temporarily empowering them, before they start putting up the prices on the code signing certificates? Is it to distract and mollify hackers, to keep them from seizing similar powers in a more destabilizing way?

Is there any truth to the notion that "developers", independent of whether or not they are currently testing or programming something, are a class with different needs and rights from normal humans?

7 comments

  1. [2]
    post_below
    Link
    I think I can clear it up pretty simply: Developers actually need and use a lot of tools you'll find in developer modes. There's no scam. It also makes non developer but tech inclined people feel...

    I think I can clear it up pretty simply: Developers actually need and use a lot of tools you'll find in developer modes. There's no scam.

    It also makes non developer but tech inclined people feel cool, and what's wrong with that? And it hides actions that most people don't want or need behind an extra step.

    In short, it makes sense. The alternative, a separate version of applications with developer features, is clunky and inefficient. But I suppose you could suggest the same interpretations about classes and power there too. Personally I don't see it in either case.

    Finally, in a tech world where giving users less choice and granular control is the norm, I think we should celebrate choice and control under any name.

    17 votes
    1. Greg
      Link Parent
      Just to underline this even further: the major examples in the OP are operating systems and browsers (or electron apps, which are browsers with a false moustache and a name tag), which means they...

      Developers actually need and use a lot of tools you'll find in developer modes.

      Just to underline this even further: the major examples in the OP are operating systems and browsers (or electron apps, which are browsers with a false moustache and a name tag), which means they are places specifically designed to run other people’s code.

      Devtools exist in Android and Chrome because I need to write code for Android and Chrome - and if they were harder to get at, fewer of us would target those platforms, they’d have fewer (or less polished) applications available, and they wouldn’t be as desirable to users.

      I’d love to have a developer mode that let me go in and sort out some of the larger annoyances in other software I use, but they don’t exist because that software isn’t intended as an environment for other code to run in, and that means the companies making it have no incentive to open things up.

      6 votes
  2. stu2b50
    Link
    I think you're overthinking it. A lot of those dev tools are just apps that use electron, and therefore have the chromium dev tools, because it's electron. Browsers and OSes have developer modes...

    I think you're overthinking it. A lot of those dev tools are just apps that use electron, and therefore have the chromium dev tools, because it's electron.

    Browsers and OSes have developer modes because developer build applications against them. It's bad UI to expose it to "normal" users. No more, no less.

    5 votes
  3. slade
    Link
    Echoing others, it's about usability. A major aspect of usable interfaces is not being exposed to things (information or interactions) you're never going to care about. The things I use in...

    Echoing others, it's about usability. A major aspect of usable interfaces is not being exposed to things (information or interactions) you're never going to care about. The things I use in developer mode aren't useful to most people, unless they're developers or idly curious.

    Maybe "power user" mode is better. I don't think it's gate keeping (since anyone can access these modes, developer or not). I think it's just sparing people confusing user experiences with tools that often aren't polished, assume certain knowledge, can get you into trouble easily.

    5 votes
  4. Prodiggles
    Link
    Sounds a lot cooler than "safe mode" when trying to diagnose a Windows problem, although use cases are different, for these hidden super secret modes. I feel it conveys everything I need to know...

    Sounds a lot cooler than "safe mode" when trying to diagnose a Windows problem, although use cases are different, for these hidden super secret modes.

    I feel it conveys everything I need to know when I need to figure out where the advanced features are, I think maybe "power user mode" could have been an alternate name. It sounds as cool, but may not turn on all of the features you'd expect in other OSs.

    3 votes
  5. balooga
    Link
    Respectfully, I think your unfamiliarity with the tools is leading you to some myopic conclusions about their usefulness. The purpose of browser dev tools is decidedly not for "composing humorous...

    Respectfully, I think your unfamiliarity with the tools is leading you to some myopic conclusions about their usefulness.

    The purpose of browser dev tools is decidedly not for "composing humorous screenshots, deleting annoying ads, and downloading images and videos." Those abilities are side effects that emerge from what they're actually designed to do, which is provide insight into the internal state of the browser engine. If they didn't exist, the people who build your favorites sites would be unable to fix many bugs in them. It's not a cool hacker trick, it's a necessary tool for web development. I say that as someone who spends most of my workday using these tools, without them I would be significantly limited in my ability to troubleshoot or create new features.

    Electron apps have the same dev tools as Chrome because Electron is just a Chromium wrapper. I work with Electron and those dev tools are equally necessary in that context. I'm not an Android dev but I assume its tooling is also critical for those who are.

    Funnily enough, the ChatGPT "dev mode" you mentioned is not actually that. It's just a prompt injection trick that makes the LLM pretend it's in some kind of dev mode. It's not really connected to anything, it's just an illusion.

    3 votes
  6. fxgn
    Link
    By the way, ChatGPT does not have a "developer mode". What that article describes is just a regular old jailbreak prompt that tried to trick the model into breaking the guidelines.

    By the way, ChatGPT does not have a "developer mode". What that article describes is just a regular old jailbreak prompt that tried to trick the model into breaking the guidelines.

    1 vote