diff --git a/platform_tools/android/apps/androidkitdemo/src/main/java/org/skia/androidkitdemo1/MainActivity.java b/platform_tools/android/apps/androidkitdemo/src/main/java/org/skia/androidkitdemo1/MainActivity.java
index 21697e5..fedad04 100644
--- a/platform_tools/android/apps/androidkitdemo/src/main/java/org/skia/androidkitdemo1/MainActivity.java
+++ b/platform_tools/android/apps/androidkitdemo/src/main/java/org/skia/androidkitdemo1/MainActivity.java
@@ -9,16 +9,20 @@
 
 import android.app.Activity;
 import android.graphics.Bitmap;
+import android.graphics.SurfaceTexture;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.util.Log;
 import android.view.SurfaceHolder;
 import android.view.SurfaceView;
+import android.view.TextureView;
 import android.widget.ImageView;
 import org.skia.androidkit.*;
+import org.skia.androidkit.util.SurfaceRenderer;
 
-public class MainActivity extends Activity implements SurfaceHolder.Callback {
-    public Surface surfaceSurface;
+public class MainActivity extends Activity {
+    private ImageView bitmapImage;
+    private Surface threadedSurface;
 
     static {
         System.loadLibrary("androidkit");
@@ -32,7 +36,11 @@
         Paint p = new Paint();
         p.setColor(new Color(0, 1, 0, 1));
 
-        // Bitmap
+        /*
+         * Draw into a Java Bitmap through software using Skia's native API.
+         * Load the Bitmap into an ImageView.
+         * Applies Matrix transformations to canvas
+         */
         Bitmap.Config conf = Bitmap.Config.ARGB_8888;
         Bitmap bmp = Bitmap.createBitmap(400, 400, conf);
         Surface bitmapSurface = new Surface(bmp);
@@ -41,9 +49,9 @@
         canvas.drawRect(0, 0, 100, 100, p);
 
         float[] m = {1, 0, 0, 100,
-                     0, 1, 0, 100,
-                     0, 0, 1,   0,
-                     0, 0, 0,   1};
+                0, 1, 0, 100,
+                0, 0, 1, 0,
+                0, 0, 0, 1};
         p.setColor(new Color(0, 0, 1, 1));
         canvas.save();
         canvas.concat(m);
@@ -61,28 +69,76 @@
         } catch (Exception e) {
             Log.e("AndroidKit Demo", "Could not load Image resource: " + R.raw.brickwork_texture);
         }
+        bitmapImage = findViewById(R.id.bitmapImage);
+        bitmapImage.setImageBitmap(bmp);
 
-        ImageView image = findViewById(R.id.image);
-        image.setImageBitmap(bmp);
+        /*
+         * Draw into a SurfaceView's surface with GL
+         * The ThreadedSurface is handled by AndroidKit through native code
+         */
+        SurfaceView surfaceView = findViewById(R.id.threadedSurface);
+        surfaceView.getHolder().addCallback(new ThreadedSurfaceHandler());
 
-        //Surface
-        SurfaceView surfaceView = findViewById(R.id.surface);
-        surfaceView.getHolder().addCallback(this);
+        /*
+         * Draw into a SurfaceView's surface with GL
+         * The thread is handled using a util RenderThread provided by AndroidKit
+         */
+        SurfaceView runtimeEffectView = findViewById(R.id.runtimeEffect);
+        runtimeEffectView.getHolder().addCallback(new DemoRuntimeShaderRenderer());
     }
 
-    @Override
-    public void surfaceCreated(@NonNull SurfaceHolder holder) {
+    private class ThreadedSurfaceHandler implements SurfaceHolder.Callback {
+        @Override
+        public void surfaceCreated(@NonNull SurfaceHolder holder) {}
+
+        @Override
+        public void surfaceChanged(@NonNull SurfaceHolder holder, int format, int width, int height) {
+            threadedSurface = Surface.createThreadedSurface(holder.getSurface());
+            threadedSurface.getCanvas().drawColor(0xffffffe0);
+            threadedSurface.flushAndSubmit();
+        }
+
+        @Override
+        public void surfaceDestroyed(@NonNull SurfaceHolder holder) {}
     }
 
-    @Override
-    public void surfaceChanged(@NonNull SurfaceHolder holder, int format, int width, int height) {
-        surfaceSurface = Surface.createThreadedSurface(holder.getSurface());
-        surfaceSurface.getCanvas().drawColor(0xffffffe0);
-        surfaceSurface.flushAndSubmit();
-    }
+    class DemoRuntimeShaderRenderer extends SurfaceRenderer {
+        private RuntimeShaderBuilder mBuilder = new RuntimeShaderBuilder(SkSLShader);
 
-    @Override
-    public void surfaceDestroyed(@NonNull SurfaceHolder holder) {
+        private static final String SkSLShader =
+                "uniform half u_time;                                  " +
+                        "uniform half u_w;                                     " +
+                        "uniform half u_h;                                     " +
 
+                        "float f(vec3 p) {                                     " +
+                        "   p.z -= u_time * 10.;                               " +
+                        "   float a = p.z * .1;                                " +
+                        "   p.xy *= mat2(cos(a), sin(a), -sin(a), cos(a));     " +
+                        "   return .1 - length(cos(p.xy) + sin(p.yz));         " +
+                        "}                                                     " +
+
+                        "half4 main(vec2 fragcoord) {                          " +
+                        "   vec3 d = .5 - fragcoord.xy1 / u_h;                 " +
+                        "   vec3 p=vec3(0);                                    " +
+                        "   for (int i = 0; i < 32; i++) p += f(p) * d;        " +
+                        "   return ((sin(p) + vec3(2, 5, 9)) / length(p)).xyz1;" +
+                        "}";
+
+        @Override
+        protected void onSurfaceInitialized(Surface surface) {}
+
+        @Override
+        protected void onRenderFrame(Canvas canvas, long ms) {
+            final int w = canvas.getWidth();
+            final int h = canvas.getHeight();
+
+            Paint p = new Paint();
+            p.setShader(mBuilder.setUniform("u_time", ms/1000.0f)
+                    .setUniform("u_w", w)
+                    .setUniform("u_h", h)
+                    .makeShader());
+
+            canvas.drawRect(0, 0, w, h, p);
+        }
     }
 }
diff --git a/platform_tools/android/apps/androidkitdemo/src/main/res/layout/activity_main.xml b/platform_tools/android/apps/androidkitdemo/src/main/res/layout/activity_main.xml
index b42da69..5cb6e85 100644
--- a/platform_tools/android/apps/androidkitdemo/src/main/res/layout/activity_main.xml
+++ b/platform_tools/android/apps/androidkitdemo/src/main/res/layout/activity_main.xml
@@ -6,32 +6,88 @@
     android:layout_height="match_parent"
     tools:context=".MainActivity">
 
-    <TextView
-        android:id="@+id/text"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="Hello World!"
-        app:layout_constraintLeft_toLeftOf="parent"
-        app:layout_constraintRight_toRightOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-    <ImageView
-        android:id="@+id/image"
-        android:layout_width="400px"
-        android:layout_height="400px"
-        app:layout_constraintLeft_toLeftOf="parent"
-        app:layout_constraintTop_toTopOf="parent">
-    </ImageView>
-    <SurfaceView
-        android:id="@+id/surface"
-        android:layout_width="200px"
-        android:layout_height="200px"
-        app:layout_constraintLeft_toLeftOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/image">
-    </SurfaceView>
-    <org.skia.androidkitdemo1.NavigationSpinner
+    <LinearLayout
+        android:orientation="vertical"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        app:layout_constraintBottom_toBottomOf="parent">
-    </org.skia.androidkitdemo1.NavigationSpinner>
+        android:layout_height="match_parent">
+        <ScrollView
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                android:id="@+id/skottie_container">
 
+                <android.support.constraint.ConstraintLayout
+                    android:layout_marginTop="50px"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content">
+                    <ImageView
+                        android:id="@+id/bitmapImage"
+                        android:layout_width="400px"
+                        android:layout_height="400px"
+                        app:layout_constraintLeft_toLeftOf="parent"
+                        app:layout_constraintTop_toTopOf="parent">
+                    </ImageView>
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="50px"
+                        app:layout_constraintLeft_toRightOf="@+id/bitmapImage"
+                        app:layout_constraintRight_toRightOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        android:text="ImageView populated by bitmap">
+                    </TextView>
+                </android.support.constraint.ConstraintLayout>
+
+                <android.support.constraint.ConstraintLayout
+                    android:layout_marginTop="50px"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content">
+                    <SurfaceView
+                        android:id="@+id/threadedSurface"
+                        android:layout_width="400px"
+                        android:layout_height="400px"
+                        app:layout_constraintLeft_toLeftOf="parent"
+                        app:layout_constraintTop_toTopOf="parent">
+                    </SurfaceView>
+
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="50px"
+                        android:text="SurfaceView drawn on a thread managed by AndroidKit's native code"
+                        app:layout_constraintLeft_toRightOf="@+id/threadedSurface"
+                        app:layout_constraintRight_toRightOf="parent"
+                        app:layout_constraintTop_toTopOf="parent">
+                    </TextView>
+                </android.support.constraint.ConstraintLayout>
+
+
+                <android.support.constraint.ConstraintLayout
+                    android:layout_marginTop="50px"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content">
+                    <SurfaceView
+                        android:id="@+id/runtimeEffect"
+                        android:layout_width="400px"
+                        android:layout_height="400px"
+                        app:layout_constraintLeft_toLeftOf="parent"
+                        app:layout_constraintTop_toTopOf="parent">
+                    </SurfaceView>
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="50px"
+                        app:layout_constraintLeft_toRightOf="@+id/runtimeEffect"
+                        app:layout_constraintRight_toRightOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        android:text="Runtime effect drawn on a AndroidKit's\nutil thread. GL on Surface View.">
+                    </TextView>
+
+                </android.support.constraint.ConstraintLayout>
+            </LinearLayout>
+        </ScrollView>
+    </LinearLayout>
 </android.support.constraint.ConstraintLayout>
\ No newline at end of file
