diff --git a/docs/badge/programming.rst b/docs/badge/programming.rst
index 9dc85ab6fe3d9897e644d348c08563bf982506d7..65dcd1e14aebfcf82925721ae8c462a629c38c17 100644
--- a/docs/badge/programming.rst
+++ b/docs/badge/programming.rst
@@ -577,7 +577,7 @@ Here is our previous code changed to use `Application` for the base of its main
 
     if __name__ == '__main__':
         # Continue to make runnable via mpremote run.
-        st3m.run.run_view(MyDemo(ApplicationContext()))
+        st3m.run.run_app(MyDemo)
 
 Using `Application` also gives you access to the `ApplicationContext`, which for example
 gives you a way to find out the base path of your app, in `app_ctx.bundle_path` or its
diff --git a/python_payload/apps/audio_passthrough/__init__.py b/python_payload/apps/audio_passthrough/__init__.py
index 3fc06c72c4cc9aa03a70e27c35f9d95e56faccac..9614e0be48f00f127b69ed7fb7733e76418dab1a 100644
--- a/python_payload/apps/audio_passthrough/__init__.py
+++ b/python_payload/apps/audio_passthrough/__init__.py
@@ -142,4 +142,4 @@ class AudioPassthrough(Application):
 if __name__ == "__main__":
     import st3m.run
 
-    st3m.run.run_view(AudioPassthrough(ApplicationContext()))
+    st3m.run.run_app(AudioPassthrough)
diff --git a/python_payload/apps/demo_cap_touch/main.py b/python_payload/apps/demo_cap_touch/main.py
index a801d829cf9c5d164cc4ce665a0140c8bfcbf143..d39fb9ed33935ae3a0aee0d2f9800adb0853a6d3 100644
--- a/python_payload/apps/demo_cap_touch/main.py
+++ b/python_payload/apps/demo_cap_touch/main.py
@@ -86,4 +86,4 @@ class CapTouchDemo(Application):
 if __name__ == "__main__":
     import st3m.run
 
-    st3m.run.run_view(CapTouchDemo(ApplicationContext()))
+    st3m.run.run_app(CapTouchDemo)
diff --git a/python_payload/apps/demo_imu/__init__.py b/python_payload/apps/demo_imu/__init__.py
index b20b8d7cb4cc2a51e4fa29eb05db05fabe2bc139..268706cdff8f066d8656280c4b5e5e3375f92be9 100644
--- a/python_payload/apps/demo_imu/__init__.py
+++ b/python_payload/apps/demo_imu/__init__.py
@@ -43,4 +43,4 @@ class IMUDemo(Application):
 if __name__ == "__main__":
     import st3m.run
 
-    st3m.run.run_view(IMUDemo(ApplicationContext()))
+    st3m.run.run_app(IMUDemo)
diff --git a/python_payload/apps/demo_melodic/__init__.py b/python_payload/apps/demo_melodic/__init__.py
index c6adf847d7af6a9db483f2265ac5b2d29c904083..b926ae2fcaa76aed093d2e86421d18e895be662c 100644
--- a/python_payload/apps/demo_melodic/__init__.py
+++ b/python_payload/apps/demo_melodic/__init__.py
@@ -230,4 +230,4 @@ class MelodicApp(Application):
 if __name__ == "__main__":
     import st3m.run
 
-    st3m.run.run_view(MelodicApp(ApplicationContext()))
+    st3m.run.run_app(MelodicApp)
diff --git a/python_payload/apps/demo_scroll/__init__.py b/python_payload/apps/demo_scroll/__init__.py
index b4eebad1881209d0d81fab8d526891c42de3397d..c6efb3abc75fa7391c6e397bc632d48e063c4f21 100644
--- a/python_payload/apps/demo_scroll/__init__.py
+++ b/python_payload/apps/demo_scroll/__init__.py
@@ -76,4 +76,4 @@ class ScrollDemo(Application):
 if __name__ == "__main__":
     import st3m.run
 
-    st3m.run.run_view(ScrollDemo(ApplicationContext()))
+    st3m.run.run_app(ScrollDemo)
diff --git a/python_payload/apps/demo_worms/__init__.py b/python_payload/apps/demo_worms/__init__.py
index e380ce746a3a625413c3ffab1b542eb06e0caa75..d256ff708cb1ab18a5f1d200b4c57b8758dba53a 100644
--- a/python_payload/apps/demo_worms/__init__.py
+++ b/python_payload/apps/demo_worms/__init__.py
@@ -134,4 +134,4 @@ class Worm:
 if __name__ == "__main__":
     import st3m.run
 
-    st3m.run.run_view(AppWorms(ApplicationContext()))
+    st3m.run.run_app(AppWorms)
diff --git a/python_payload/apps/led_painter/__init__.py b/python_payload/apps/led_painter/__init__.py
index 700880f655694419a9c865764baba7aaf7045873..035949ef5c42bc210a790cff5d09cfee80a64253 100644
--- a/python_payload/apps/led_painter/__init__.py
+++ b/python_payload/apps/led_painter/__init__.py
@@ -284,4 +284,4 @@ class LEDPainter(Application):
 if __name__ == "__main__":
     import st3m.run
 
-    st3m.run.run_view(LEDPainter(ApplicationContext()))
+    st3m.run.run_app(LEDPainter)
diff --git a/python_payload/apps/nick/__init__.py b/python_payload/apps/nick/__init__.py
index 0f7bb0535133bc257035f3fe5c75d581fd06aede..210c8649d0341ba66a8e3a2a337670db0178c6ed 100644
--- a/python_payload/apps/nick/__init__.py
+++ b/python_payload/apps/nick/__init__.py
@@ -188,4 +188,4 @@ class NickApp(Application):
 if __name__ == "__main__":
     import st3m.run
 
-    st3m.run.run_view(NickApp(ApplicationContext()))
+    st3m.run.run_app(NickApp)
diff --git a/python_payload/apps/otamatone/__init__.py b/python_payload/apps/otamatone/__init__.py
index 6b483010b7f6af68905a62c55727b976a2748219..f4c46484e4615970ef8df1b7103094c9c78359e7 100644
--- a/python_payload/apps/otamatone/__init__.py
+++ b/python_payload/apps/otamatone/__init__.py
@@ -204,6 +204,6 @@ class Otamatone(Application):
 
 
 if __name__ == "__main__":
-    from st3m.run import run_view
+    from st3m.run import run_app
 
-    run_view(Otamatone(ApplicationContext()))
+    run_app(Otamatone)
diff --git a/python_payload/apps/tiny_sampler/__init__.py b/python_payload/apps/tiny_sampler/__init__.py
index 3b50316bdf76da7f0b2487cf9922f880066cf27a..eac6d1bcdaac7ebc3c959145323c283088484b5c 100644
--- a/python_payload/apps/tiny_sampler/__init__.py
+++ b/python_payload/apps/tiny_sampler/__init__.py
@@ -290,4 +290,4 @@ class TinySampler(Application):
 if __name__ == "__main__":
     import st3m.run
 
-    st3m.run.run_view(TinySampler(ApplicationContext()))
+    st3m.run.run_app(TinySampler)
diff --git a/python_payload/st3m/run.py b/python_payload/st3m/run.py
index b7e278fdacfaaeb21147a2cbb12c975e1e48c722..83c5ea6dbaddf322d637c4c930bedfda810868d0 100644
--- a/python_payload/st3m/run.py
+++ b/python_payload/st3m/run.py
@@ -243,4 +243,5 @@ __all__ = [
     "run_responder",
     "run_view",
     "run_main",
+    "run_app",
 ]