Initial commit: there's still tons of base Phoenix boilerplate to remove, but the...
[tech-radar-editor.git] / web / templates / layout / radar.html.eex~
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="utf-8">
5 <title>Thoughtworks Radar 2014</title>
6 <link href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,700italic,400,300,700' rel='stylesheet' type='text/css'>
7 <script src="chance.js"></script>
8 <script src="d3.min.js"></script>
9 <script src="tech-radar.min.js"></script>
10 <link href="base.css" rel="stylesheet" type="text/css" />
11 </head>
12 <body>
13 <div id="radar">
14 </div>
15 <div id="ref-table"></div>
16 </body>
17 <script>
18 var adopt = new tr.models.Cycle('Adopt', 0);
19 var trial = new tr.models.Cycle('Trial', 1);
20 var assess = new tr.models.Cycle('Assess', 2);
21 var hold = new tr.models.Cycle('Hold', 3);
22
23 var radar = new tr.models.Radar();
24 var toolsQuadrant = new tr.models.Quadrant('Tools');
25 var techniquesQuadrant = new tr.models.Quadrant('Techniques');
26 var platformsQuadrant = new tr.models.Quadrant('Platforms');
27 var languageFramework = new tr.models.Quadrant('Languages & Frameworks');
28
29 toolsQuadrant.add([
30 new tr.models.Blip('D3', adopt),
31 new tr.models.Blip('Dependency Management for JavaScript', adopt, true),
32 new tr.models.Blip('Ansible', trial, true),
33 new tr.models.Blip('Calabash', trial, true),
34 new tr.models.Blip('Chaos Monkey', trial, true),
35 new tr.models.Blip('Gatling', trial),
36 new tr.models.Blip('Grunt.js', trial, true),
37 new tr.models.Blip('Hystrix', trial),
38 new tr.models.Blip('Icon fonts', trial),
39 new tr.models.Blip('Librarian-puppet and Librarian-Chef', trial),
40 new tr.models.Blip('Logstash & Graylog2', trial),
41 new tr.models.Blip('Moco', trial, true),
42 new tr.models.Blip('PhantomJS', trial),
43 new tr.models.Blip('Prototype On Paper', trial, true),
44 new tr.models.Blip('SnapCI', trial, true),
45 new tr.models.Blip('Snowplow Analytics & Piwik', trial),
46 new tr.models.Blip('Cloud-init', assess, true),
47 new tr.models.Blip('Docker', assess, true),
48 new tr.models.Blip('Octopus', assess),
49 new tr.models.Blip('Sensu', assess, true),
50 new tr.models.Blip('Travis for OSX/iOS', assess, true),
51 new tr.models.Blip('Visual regression testing tools', assess, true),
52 new tr.models.Blip('Xamarin', assess, true),
53 new tr.models.Blip('Ant', hold, true),
54 new tr.models.Blip('Heavyweight test tools', hold),
55 new tr.models.Blip('TFS', hold)
56 ]);
57 techniquesQuadrant.add([
58 new tr.models.Blip('Capturing client-side JavaScript errors', adopt),
59 new tr.models.Blip('Continuous delivery for mobile devices', adopt),
60 new tr.models.Blip('Mobile testing on mobile networks', adopt),
61 new tr.models.Blip('Segregated DOM plus node for JS Testing', adopt, true),
62 new tr.models.Blip('Windows infrastructure automation', adopt),
63 new tr.models.Blip('Capture domain events explicitily', trial, true),
64 new tr.models.Blip('Client and server rendering with same code', trial, true),
65 new tr.models.Blip('HTML5 storage instead of cookies', trial),
66 new tr.models.Blip('Instrument all the things', trial, true),
67 new tr.models.Blip('Masterless Chef/Puppet', trial, true),
68 new tr.models.Blip('Micro-services', trial),
69 new tr.models.Blip('Perimeterless enterprise', trial),
70 new tr.models.Blip('Provisioning testing', trial, true),
71 new tr.models.Blip('Structured logging', trial, true),
72 new tr.models.Blip('Bridging physical and digital worlds with simple hardware', assess, true),
73 new tr.models.Blip('Collaborative analytics and data science', assess),
74 new tr.models.Blip('Datensparsamkeit', assess, true),
75 new tr.models.Blip('Development environments in the cloud', assess),
76 new tr.models.Blip('Focus on mean time to recovery', assess),
77 new tr.models.Blip('Machine image as a build artifact', assess),
78 new tr.models.Blip('Tangible interaction', assess, true),
79 new tr.models.Blip('Cloud lift and shift', hold, true),
80 new tr.models.Blip('Ignoring OWASP Top 10', hold, true),
81 new tr.models.Blip('Siloed metrics', hold, true),
82 new tr.models.Blip('Velocity as productivity', hold, true)
83 ]);
84 platformsQuadrant.add([
85 new tr.models.Blip('Elastic Search', adopt),
86 new tr.models.Blip('MongoDB', adopt),
87 new tr.models.Blip('Neo4J', adopt),
88 new tr.models.Blip('Node.js', adopt),
89 new tr.models.Blip('Redis', adopt),
90 new tr.models.Blip('SMS and USSD as UI', adopt),
91 new tr.models.Blip('Hadoop 2.0', trial),
92 new tr.models.Blip('Hadoop as a service', trial, true),
93 new tr.models.Blip('Open Stack', trial),
94 new tr.models.Blip('PostgreSQL for NoSql', trial),
95 new tr.models.Blip('Vumi', trial),
96 new tr.models.Blip('Akka', assess, true),
97 new tr.models.Blip('Backend as a service', assess, true),
98 new tr.models.Blip('Low-cost robotics', assess, true),
99 new tr.models.Blip('PhoneGap/Apache Cordova', assess),
100 new tr.models.Blip('Private Clouds', assess),
101 new tr.models.Blip('SPDY', assess, true),
102 new tr.models.Blip('Storm', assess, true),
103 new tr.models.Blip('Web Components standard', assess, true),
104 new tr.models.Blip('Big enterprise solutions', hold),
105 new tr.models.Blip('CMS as a platform', hold, true),
106 new tr.models.Blip('Enterprise Data Warehouse', hold, true)
107 ]);
108 languageFramework.add([
109 new tr.models.Blip('Clojure', adopt, true),
110 new tr.models.Blip('Dropwizard', adopt),
111 new tr.models.Blip('Scala, the good parts', adopt),
112 new tr.models.Blip('Sinatra', adopt),
113 new tr.models.Blip('CoffeeScript', trial),
114 new tr.models.Blip('Go language', trial, true),
115 new tr.models.Blip('Hive', trial, true),
116 new tr.models.Blip('Play Framework 2', trial),
117 new tr.models.Blip('Reactive Extensions across languages', trial, true),
118 new tr.models.Blip('Web API', trial, true),
119 new tr.models.Blip('Elixir', assess, true),
120 new tr.models.Blip('Julia', assess, true),
121 new tr.models.Blip('Nancy', assess),
122 new tr.models.Blip('OWIN', assess),
123 new tr.models.Blip('Pester', assess, true),
124 new tr.models.Blip('Pointer Events', assess, true),
125 new tr.models.Blip('Python 3', assess, true),
126 new tr.models.Blip('TypeScript', assess, true),
127 new tr.models.Blip('Yeoman', assess, true),
128 new tr.models.Blip('Handwritten CSS', hold),
129 new tr.models.Blip('JSF', hold, true)
130 ]);
131
132 radar.setFirstQuadrant(toolsQuadrant);
133 radar.setSecondQuadrant(techniquesQuadrant);
134 radar.setThirdQuadrant(platformsQuadrant);
135 radar.setFourthQuadrant(languageFramework);
136
137 var radarGraph = new tr.graphing.Radar(1080, radar);
138 radarGraph.init('#radar').plot();
139 var refTable = new tr.graphing.RefTable(radar);
140 refTable.init('#ref-table').render();
141 </script>
142 </html>