So what is the idea with the button? It's just to let the bootloader do the hold button and plug in to program thing, or is it supposed to actually reset the device?
I'm just imagining maybe when the user presses the reset button, the pinchange interrupt fires and the bootloader checks if the button is pressed and if it is, it turns on the watchdog timer to 1ms or so. Then it jumps to the interrupt vector in the user program. If the user program isn't using the pinchange vector I think it defaults to jump to reset, which jumps back in to the bootloader and does that thing. If the user program does define an interrupt handler for that pinchange port, they can optionally turn the watchdog off at the start of their interrupt handler, allowing them to use the button for stuff. It'd add slightly more pinchange latency though and make the bootloader a tiny bit bigger.
A simpler version of this would be to just leave the pinchange interrupt enabled on that pin on startup, but not do the watchdog thing, so programs which don't use pinchange would automatically reset when the button is pressed, and programs which do use the pinchange interrupt would not have that functionality, but may choose to implement button reset in userspace. Users who wanted to use the button for GPIO could just turn the pinchange interrupt off for that pin or define an interrupt handler which does nothing.
When the device does restart it could check for the button being held as the micronucleus jumper version does now, and decide if it bootloads on that basis.
Is that roughly where people are wanting this feature to go?
I remain unsure of the utility of the button, but if it takes up no extra space I suppose it's kinda cute, and could be neat to ship the default program on the uberspark as a virtual keyboard which types something in when you press the button. Perhaps it opens a web browser and enters the url to a welcome page! Also it should blink (obviously!)
If you can, put the indicator LED beside the button, so it can be used to tempt the user to press the button. The page it opens could include instructions on how to setup the digispark software and stuff.