Historically, the PalmPilot of the mid-1990s was one of the first mainstream devices that could have software applications loaded on the device that were created by independent developers with a minimal amount of judgement by the hardware manufacturer. While the PalmPilot allowed third-party (aka independent) software, the immersion capabilities of the device were limited. The total screen space of the original PalmPilots was 25,600 pixels (a resolution of 160 pixels width and tall.) By comparison, today's low-resolution smartphones provide 153,600 pixels (a resolution of 320 pixels wide by 480 pixels tall.)
These low-resolution smartphones mirror the pixel specification of Apple's original iPhone. From an audio standpoint, the original PalmPilots could beep, but not provide any significantly immersive audio experience. Comparatively, this is worse than having a tiny television on a large wall (meaning a tiny device held in your hand in a larger surrounding of what is around you.) This is like having a tiny television on a large wall that cannot provide you with spoken words or any significant musical soundtrack or audio effects.
In the 1990s, about twenty years ago at the time of writing, it simply was not possible to have the kind of immersive experience discussed here if the applications were to be developed by independent parties. There were devices available by console developers (Nintendo's Game Boy comes to mind) but they required expensive licensing fees (potentially millions of dollars) and the app could be rejected by the hardware manufacturer at their discretion.
On contemporary devices, such as Apple's iPhone and handhelds based on Google's Android operating system, there are official stores that can have a final say on whether an app will be allowed to be used on the device or not. It is unlikely to believe, on current specifications, that Apple would allow any application that could potentially harm someone's physical body into their AppStore. Google's Play Store is less restrictive overall, but the approval of an app that could potentially harm someone is still questionable.
There are, however, two methods for developing for these devices. The first method is called "native" development. In native development, you develop specifically for a device. Apple has its own native development, and Android has its own native development.
The second method is standards-compliant development, using HTML5. In this scenario, an application icon could be loaded onto the screen of the handheld device, but it would be using the completely free technologies of HTML5, CSS, and JavaScript. This would allow developers to work on a significantly smaller budget, as you could theoretically develop applications on computers as inexpensive as the USD$35 Raspberry Pi.