diff --git a/web/app/controllers/ping_controller.rb b/web/app/controllers/ping_controller.rb
new file mode 100644
index 000000000..883617d5f
--- /dev/null
+++ b/web/app/controllers/ping_controller.rb
@@ -0,0 +1,29 @@
+class PingController < ApplicationController
+
+ layout false
+
+ def index
+ render 'ping'
+ end
+
+ def at
+ render 'pingat.jnlp'
+ end
+
+ def cc
+ render 'pingcc.jnlp'
+ end
+
+ def no
+ render 'pingno.jnlp'
+ end
+
+ def tw
+ render 'pingtw.jnlp'
+ end
+
+ def vz
+ render 'pingvz.jnlp'
+ end
+
+end
diff --git a/web/app/views/ping/ping.html.erb b/web/app/views/ping/ping.html.erb
new file mode 100644
index 000000000..d2794d2d3
--- /dev/null
+++ b/web/app/views/ping/ping.html.erb
@@ -0,0 +1,25 @@
+
+
+ Test Internet Latency
+
+
+Test Internet Latency
+Select the link corresponding to your internet service provider.
+ This will launch an applet to test the performance of your connection.
+
+My ISP is AT&T
+Click <%= link_to 'here', '/ping/at.jnlp' %>.
+
+My ISP is Comcast
+Click <%= link_to 'here', '/ping/cc.jnlp' %>.
+
+My ISP is Time Warner
+Click <%= link_to 'here', '/ping/tw.jnlp' %>.
+
+My ISP is Verizon
+Click <%= link_to 'here', '/ping/vz.jnlp' %>.
+
+My ISP is none of the above.
+Click <%= link_to 'here', '/ping/no.jnlp' %>.
+
+
\ No newline at end of file
diff --git a/web/app/views/ping/pingat.jnlp.erb b/web/app/views/ping/pingat.jnlp.erb
new file mode 100755
index 000000000..763594182
--- /dev/null
+++ b/web/app/views/ping/pingat.jnlp.erb
@@ -0,0 +1,20 @@
+
+
+
+ Ping
+ JamKazam
+
+
+
+
+
+
+
+
+ da1-cc=50.242.148.38:4442
+ -uhttp://www.jamkazam.com/api/users/isp_scoring
+ -iat
+ -a
+
+
+
\ No newline at end of file
diff --git a/web/app/views/ping/pingcc.jnlp.erb b/web/app/views/ping/pingcc.jnlp.erb
new file mode 100755
index 000000000..18a482738
--- /dev/null
+++ b/web/app/views/ping/pingcc.jnlp.erb
@@ -0,0 +1,20 @@
+
+
+
+ Ping
+ JamKazam
+
+
+
+
+
+
+
+
+ da1-cc=50.242.148.38:4442
+ -uhttp://www.jamkazam.com/api/users/isp_scoring
+ -icc
+ -a
+
+
+
\ No newline at end of file
diff --git a/web/app/views/ping/pingno.jnlp.erb b/web/app/views/ping/pingno.jnlp.erb
new file mode 100755
index 000000000..fe53b1a1e
--- /dev/null
+++ b/web/app/views/ping/pingno.jnlp.erb
@@ -0,0 +1,20 @@
+
+
+
+ Ping
+ JamKazam
+
+
+
+
+
+
+
+
+ da1-cc=50.242.148.38:4442
+ -uhttp://www.jamkazam.com/api/users/isp_scoring
+ -ino
+ -a
+
+
+
\ No newline at end of file
diff --git a/web/app/views/ping/pingtw.jnlp.erb b/web/app/views/ping/pingtw.jnlp.erb
new file mode 100755
index 000000000..17b49331a
--- /dev/null
+++ b/web/app/views/ping/pingtw.jnlp.erb
@@ -0,0 +1,20 @@
+
+
+
+ Ping
+ JamKazam
+
+
+
+
+
+
+
+
+ da1-cc=50.242.148.38:4442
+ -uhttp://www.jamkazam.com/api/users/isp_scoring
+ -itw
+ -a
+
+
+
diff --git a/web/app/views/ping/pingvz.jnlp.erb b/web/app/views/ping/pingvz.jnlp.erb
new file mode 100755
index 000000000..7f47cc92e
--- /dev/null
+++ b/web/app/views/ping/pingvz.jnlp.erb
@@ -0,0 +1,20 @@
+
+
+
+ Ping
+ JamKazam
+
+
+
+
+
+
+
+
+ da1-cc=50.242.148.38:4442
+ -uhttp://www.jamkazam.com/api/users/isp_scoring
+ -ivz
+ -a
+
+
+
\ No newline at end of file
diff --git a/web/config/routes.rb b/web/config/routes.rb
index b5f085794..2c61b2e68 100644
--- a/web/config/routes.rb
+++ b/web/config/routes.rb
@@ -44,6 +44,14 @@ SampleApp::Application.routes.draw do
match '/test_connection', to: 'sessions#connection_state', :as => :connection_state
+ # ping test
+ match '/ping', to: 'ping#index'
+ match '/ping/at.jnlp', to: 'ping#at'
+ match '/ping/cc.jnlp', to: 'ping#cc'
+ match '/ping/no.jnlp', to: 'ping#no'
+ match '/ping/tw.jnlp', to: 'ping#tw'
+ match '/ping/vz.jnlp', to: 'ping#vz'
+
# spikes
match '/facebook_invite', to: 'spikes#facebook_invite'
match '/gmail_contacts', to: 'spikes#gmail_contacts'