File size: 32,413 Bytes
074a08c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
<html>
    <head>
        <meta charset="utf-8">
        
            <script src="lib/bindings/utils.js"></script>
            <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/vis-network/9.1.2/dist/dist/vis-network.min.css" integrity="sha512-WgxfT5LWjfszlPHXRmBWHkV2eceiWTOBvrKCNbdgDYTHrT2AeLCGbF4sZlZw3UMN3WtL0tGUoIAKsu8mllg/XA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
            <script src="https://cdnjs.cloudflare.com/ajax/libs/vis-network/9.1.2/dist/vis-network.min.js" integrity="sha512-LnvoEWDFrqGHlHmDD2101OrLcbsfkrzoSpvtSQtxK3RMnRV0eOkhhBN2dXHKRrUU8p2DGRTk35n4O8nWSVe1mQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
            
        
<center>
<h1></h1>
</center>

<!-- <link rel="stylesheet" href="../node_modules/vis/dist/vis.min.css" type="text/css" />
<script type="text/javascript" src="../node_modules/vis/dist/vis.js"> </script>-->
        <link
          href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css"
          rel="stylesheet"
          integrity="sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6"
          crossorigin="anonymous"
        />
        <script
          src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/js/bootstrap.bundle.min.js"
          integrity="sha384-JEW9xMcG8R+pH31jmWH6WWP0WintQrMb4s7ZOdauHnUtxwoG2vI5DkLtS3qm9Ekf"
          crossorigin="anonymous"
        ></script>


        <center>
          <h1></h1>
        </center>
        <style type="text/css">

             #mynetwork {
                 width: 100%;
                 height: 600px;
                 background-color: #ffffff;
                 border: 1px solid lightgray;
                 position: relative;
                 float: left;
             }

             
             #loadingBar {
                 position:absolute;
                 top:0px;
                 left:0px;
                 width: 100%;
                 height: 600px;
                 background-color:rgba(200,200,200,0.8);
                 -webkit-transition: all 0.5s ease;
                 -moz-transition: all 0.5s ease;
                 -ms-transition: all 0.5s ease;
                 -o-transition: all 0.5s ease;
                 transition: all 0.5s ease;
                 opacity:1;
             }

             #bar {
                 position:absolute;
                 top:0px;
                 left:0px;
                 width:20px;
                 height:20px;
                 margin:auto auto auto auto;
                 border-radius:11px;
                 border:2px solid rgba(30,30,30,0.05);
                 background: rgb(0, 173, 246); /* Old browsers */
                 box-shadow: 2px 0px 4px rgba(0,0,0,0.4);
             }

             #border {
                 position:absolute;
                 top:10px;
                 left:10px;
                 width:500px;
                 height:23px;
                 margin:auto auto auto auto;
                 box-shadow: 0px 0px 4px rgba(0,0,0,0.2);
                 border-radius:10px;
             }

             #text {
                 position:absolute;
                 top:8px;
                 left:530px;
                 width:30px;
                 height:50px;
                 margin:auto auto auto auto;
                 font-size:22px;
                 color: #000000;
             }

             div.outerBorder {
                 position:relative;
                 top:400px;
                 width:600px;
                 height:44px;
                 margin:auto auto auto auto;
                 border:8px solid rgba(0,0,0,0.1);
                 background: rgb(252,252,252); /* Old browsers */
                 background: -moz-linear-gradient(top,  rgba(252,252,252,1) 0%, rgba(237,237,237,1) 100%); /* FF3.6+ */
                 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(252,252,252,1)), color-stop(100%,rgba(237,237,237,1))); /* Chrome,Safari4+ */
                 background: -webkit-linear-gradient(top,  rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* Chrome10+,Safari5.1+ */
                 background: -o-linear-gradient(top,  rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* Opera 11.10+ */
                 background: -ms-linear-gradient(top,  rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* IE10+ */
                 background: linear-gradient(to bottom,  rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* W3C */
                 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfcfc', endColorstr='#ededed',GradientType=0 ); /* IE6-9 */
                 border-radius:72px;
                 box-shadow: 0px 0px 10px rgba(0,0,0,0.2);
             }
             

             

             
        </style>
    </head>


    <body>
        <div class="card" style="width: 100%">
            
            
            <div id="mynetwork" class="card-body"></div>
        </div>

        
            <div id="loadingBar">
              <div class="outerBorder">
                <div id="text">0%</div>
                <div id="border">
                  <div id="bar"></div>
                </div>
              </div>
            </div>
        
        

        <script type="text/javascript">

              // initialize global variables.
              var edges;
              var nodes;
              var allNodes;
              var allEdges;
              var nodeColors;
              var originalNodes;
              var network;
              var container;
              var options, data;
              var filter = {
                  item : '',
                  property : '',
                  value : []
              };

              

              

              // This method is responsible for drawing the graph, returns the drawn network
              function drawGraph() {
                  var container = document.getElementById('mynetwork');

                  

                  // parsing and collecting nodes and edges from the python
                  nodes = new vis.DataSet([{"color": "#97c2fc", "id": "Ios", "label": "Ios", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Android", "label": "Android", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Operating system", "label": "Operating system", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "User-friendly", "label": "User-friendly", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Only used on apple devices", "label": "Only used on apple devices", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Buying apps again in apple app store", "label": "Buying apps again in apple app store", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Current rating of 3.92/5", "label": "Current rating of 3.92/5", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Latest stable release of ios 15.3.1", "label": "Latest stable release of ios 15.3.1", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Latest stable release of ipados 15.3.1", "label": "Latest stable release of ipados 15.3.1", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Closed source model", "label": "Closed source model", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "More difficult file transfer than android", "label": "More difficult file transfer than android", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Dock", "label": "Dock", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Features", "label": "Features", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Tablet versions", "label": "Tablet versions", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Native way", "label": "Native way", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Facetime", "label": "Facetime", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Siri", "label": "Siri", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Safari", "label": "Safari", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Facebook", "label": "Facebook", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Deeper integration", "label": "Deeper integration", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Passbook", "label": "Passbook", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Fragmented nature", "label": "Fragmented nature", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Protecting users\u0027 private information", "label": "Protecting users\u0027 private information", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Better privacy controls", "label": "Better privacy controls", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "App ecosystem", "label": "App ecosystem", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Htc one phone", "label": "Htc one phone", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Instagram", "label": "Instagram", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Linux-based", "label": "Linux-based", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Open source", "label": "Open source", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "More pc-like than ios", "label": "More pc-like than ios", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Customizable", "label": "Customizable", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Most commonly used smartphone platform", "label": "Most commonly used smartphone platform", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Used by many different phone manufacturers", "label": "Used by many different phone manufacturers", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Buying apps again in google play", "label": "Buying apps again in google play", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Current rating of 4.12/5", "label": "Current rating of 4.12/5", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Latest stable release of android 12", "label": "Latest stable release of android 12", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Open source source model", "label": "Open source source model", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Easier file transfer than ios", "label": "Easier file transfer than ios", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Google play store", "label": "Google play store", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Touch interfaces", "label": "Touch interfaces", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Use of widgets", "label": "Use of widgets", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Auto-updating information", "label": "Auto-updating information", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Information", "label": "Information", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Number of newly received emails", "label": "Number of newly received emails", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Flexibility", "label": "Flexibility", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Widgets", "label": "Widgets", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Google hangouts", "label": "Google hangouts", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Google now", "label": "Google now", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Google chrome", "label": "Google chrome", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Google wallet", "label": "Google wallet", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Nfc chip", "label": "Nfc chip", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "System\u0027s resources", "label": "System\u0027s resources", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Evidenced by bounty program", "label": "Evidenced by bounty program", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "2015", "label": "2015", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Applications", "label": "Applications", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Each other", "label": "Each other", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Android devices", "label": "Android devices", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "User experience", "label": "User experience", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Google", "label": "Google", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Android os", "label": "Android os", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Latest stable release and updates", "label": "Latest stable release and updates", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Android 12", "label": "Android 12", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Philz", "label": "Philz", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Berkeley", "label": "Berkeley", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "1982", "label": "1982", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Android phone manufacturers", "label": "Android phone manufacturers", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Large batteries", "label": "Large batteries", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Software upgrades", "label": "Software upgrades", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Apple", "label": "Apple", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Decent battery life", "label": "Decent battery life", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Setup easy", "label": "Setup easy", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "A-series chips", "label": "A-series chips", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Excellent device", "label": "Excellent device", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Various price points", "label": "Various price points", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Varying hardware capabilities", "label": "Varying hardware capabilities", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Screen sizes", "label": "Screen sizes", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Android 11", "label": "Android 11", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Priority conversations", "label": "Priority conversations", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Ios 14", "label": "Ios 14", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Custom widget stacks", "label": "Custom widget stacks", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Google play", "label": "Google play", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Fewer restrictions", "label": "Fewer restrictions", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Kinds of apps in play store", "label": "Kinds of apps in play store", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Apps", "label": "Apps", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Over 1 million apps", "label": "Over 1 million apps", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Apple app store", "label": "Apple app store", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Developers", "label": "Developers", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Platform", "label": "Platform", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Apple pay", "label": "Apple pay", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Tap-to-pay features", "label": "Tap-to-pay features", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Malware", "label": "Malware", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Premium rate numbers", "label": "Premium rate numbers", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "You", "label": "You", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Android apps", "label": "Android apps", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Java", "label": "Java", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Ios-only apps", "label": "Ios-only apps", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Limited android phones", "label": "Limited android phones", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Swiftkey", "label": "Swiftkey", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Android smartphone\u2019s keyboard", "label": "Android smartphone\u2019s keyboard", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Prominent people", "label": "Prominent people", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Iphone to android", "label": "Iphone to android", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Android\u0027s connection", "label": "Android\u0027s connection", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Google ecosystem", "label": "Google ecosystem", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Apple\u0027s cloud services suite", "label": "Apple\u0027s cloud services suite", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Nick jasuja", "label": "Nick jasuja", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Technology industry experience", "label": "Technology industry experience", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Building websites", "label": "Building websites", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "15 years of technology industry experience", "label": "15 years of technology industry experience", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "3g", "label": "3g", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "4g", "label": "4g", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Gsm", "label": "Gsm", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Cdma", "label": "Cdma", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Mac", "label": "Mac", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Pc", "label": "Pc", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Iphone se", "label": "Iphone se", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Iphone 6s", "label": "Iphone 6s", "shape": "dot", "size": 10}]);
                  edges = new vis.DataSet([{"arrows": "to", "from": "Ios", "label": "Is more user friendly than", "title": "Is more user friendly than", "to": "Android", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Is", "title": "Is", "to": "Operating system", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Is", "title": "Is", "to": "User-friendly", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Is", "title": "Is", "to": "Only used on apple devices", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Requires", "title": "Requires", "to": "Buying apps again in apple app store", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Has", "title": "Has", "to": "Current rating of 3.92/5", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Has", "title": "Has", "to": "Latest stable release of ios 15.3.1", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Has", "title": "Has", "to": "Latest stable release of ipados 15.3.1", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Has", "title": "Has", "to": "Closed source model", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Has", "title": "Has", "to": "More difficult file transfer than android", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Features", "title": "Features", "to": "Dock", "width": 1}, {"arrows": "to", "from": "Ios", "label": "User interface", "title": "User interface", "to": "Features", "width": 1}, {"arrows": "to", "from": "Ios", "label": "More stable than", "title": "More stable than", "to": "Tablet versions", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Does not offer", "title": "Does not offer", "to": "Native way", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Uses", "title": "Uses", "to": "Facetime", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Uses", "title": "Uses", "to": "Siri", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Uses", "title": "Uses", "to": "Safari", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Integrated with", "title": "Integrated with", "to": "Facebook", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Offers", "title": "Offers", "to": "Deeper integration", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Offers", "title": "Offers", "to": "Passbook", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Shines because of", "title": "Shines because of", "to": "Fragmented nature", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Wins", "title": "Wins", "to": "Protecting users\u0027 private information", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Offers", "title": "Offers", "to": "Better privacy controls", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Has", "title": "Has", "to": "App ecosystem", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Is greatly preferable to", "title": "Is greatly preferable to", "to": "Htc one phone", "width": 1}, {"arrows": "to", "from": "Ios", "label": "Started with", "title": "Started with", "to": "Instagram", "width": 1}, {"arrows": "to", "from": "Android", "label": "Is", "title": "Is", "to": "Operating system", "width": 1}, {"arrows": "to", "from": "Android", "label": "Is", "title": "Is", "to": "Linux-based", "width": 1}, {"arrows": "to", "from": "Android", "label": "Is", "title": "Is", "to": "Open source", "width": 1}, {"arrows": "to", "from": "Android", "label": "Is", "title": "Is", "to": "More pc-like than ios", "width": 1}, {"arrows": "to", "from": "Android", "label": "Is", "title": "Is", "to": "Customizable", "width": 1}, {"arrows": "to", "from": "Android", "label": "Is", "title": "Is", "to": "Most commonly used smartphone platform", "width": 1}, {"arrows": "to", "from": "Android", "label": "Is", "title": "Is", "to": "Used by many different phone manufacturers", "width": 1}, {"arrows": "to", "from": "Android", "label": "Requires", "title": "Requires", "to": "Buying apps again in google play", "width": 1}, {"arrows": "to", "from": "Android", "label": "Has", "title": "Has", "to": "Current rating of 4.12/5", "width": 1}, {"arrows": "to", "from": "Android", "label": "Has", "title": "Has", "to": "Latest stable release of android 12", "width": 1}, {"arrows": "to", "from": "Android", "label": "Has", "title": "Has", "to": "Open source source model", "width": 1}, {"arrows": "to", "from": "Android", "label": "Has", "title": "Has", "to": "Easier file transfer than ios", "width": 1}, {"arrows": "to", "from": "Android", "label": "Has", "title": "Has", "to": "Google play store", "width": 1}, {"arrows": "to", "from": "Android", "label": "Use", "title": "Use", "to": "Touch interfaces", "width": 1}, {"arrows": "to", "from": "Android", "label": "Allows", "title": "Allows", "to": "Use of widgets", "width": 1}, {"arrows": "to", "from": "Android", "label": "Display", "title": "Display", "to": "Auto-updating information", "width": 1}, {"arrows": "to", "from": "Android", "label": "Offers", "title": "Offers", "to": "Information", "width": 1}, {"arrows": "to", "from": "Android", "label": "Shows", "title": "Shows", "to": "Number of newly received emails", "width": 1}, {"arrows": "to", "from": "Android", "label": "Offers", "title": "Offers", "to": "Flexibility", "width": 1}, {"arrows": "to", "from": "Android", "label": "Supports", "title": "Supports", "to": "Widgets", "width": 1}, {"arrows": "to", "from": "Android", "label": "More stable than", "title": "More stable than", "to": "Tablet versions", "width": 1}, {"arrows": "to", "from": "Android", "label": "Uses", "title": "Uses", "to": "Google hangouts", "width": 1}, {"arrows": "to", "from": "Android", "label": "Offers", "title": "Offers", "to": "Google now", "width": 1}, {"arrows": "to", "from": "Android", "label": "Uses", "title": "Uses", "to": "Google chrome", "width": 1}, {"arrows": "to", "from": "Android", "label": "Uses", "title": "Uses", "to": "Google wallet", "width": 1}, {"arrows": "to", "from": "Android", "label": "Equipped with", "title": "Equipped with", "to": "Nfc chip", "width": 1}, {"arrows": "to", "from": "Android", "label": "Isolated from", "title": "Isolated from", "to": "System\u0027s resources", "width": 1}, {"arrows": "to", "from": "Android", "label": "Less secure", "title": "Less secure", "to": "Evidenced by bounty program", "width": 1}, {"arrows": "to", "from": "Android", "label": "Released in", "title": "Released in", "to": "2015", "width": 1}, {"arrows": "to", "from": "Android", "label": "Allows", "title": "Allows", "to": "Applications", "width": 1}, {"arrows": "to", "from": "Android", "label": "Interoperate with", "title": "Interoperate with", "to": "Each other", "width": 1}, {"arrows": "to", "from": "Features", "label": "Have", "title": "Have", "to": "Android devices", "width": 1}, {"arrows": "to", "from": "Widgets", "label": "Can be customized with", "title": "Can be customized with", "to": "User experience", "width": 1}, {"arrows": "to", "from": "Google wallet", "label": "Uses", "title": "Uses", "to": "Google", "width": 1}, {"arrows": "to", "from": "Htc one phone", "label": "Has", "title": "Has", "to": "Android os", "width": 1}, {"arrows": "to", "from": "Latest stable release and updates", "label": "Is", "title": "Is", "to": "Android 12", "width": 1}, {"arrows": "to", "from": "Philz", "label": "Founded in", "title": "Founded in", "to": "Berkeley", "width": 1}, {"arrows": "to", "from": "Philz", "label": "Founded in", "title": "Founded in", "to": "1982", "width": 1}, {"arrows": "to", "from": "Android phone manufacturers", "label": "Equip with", "title": "Equip with", "to": "Large batteries", "width": 1}, {"arrows": "to", "from": "Software upgrades", "label": "Offered by", "title": "Offered by", "to": "Apple", "width": 1}, {"arrows": "to", "from": "Apple", "label": "Squeeze", "title": "Squeeze", "to": "Decent battery life", "width": 1}, {"arrows": "to", "from": "Apple", "label": "Makes", "title": "Makes", "to": "Setup easy", "width": 1}, {"arrows": "to", "from": "Apple", "label": "Designs", "title": "Designs", "to": "A-series chips", "width": 1}, {"arrows": "to", "from": "Apple", "label": "Is praised for", "title": "Is praised for", "to": "Excellent device", "width": 1}, {"arrows": "to", "from": "Android devices", "label": "Available at", "title": "Available at", "to": "Various price points", "width": 1}, {"arrows": "to", "from": "Android devices", "label": "Have", "title": "Have", "to": "Varying hardware capabilities", "width": 1}, {"arrows": "to", "from": "Android devices", "label": "Have", "title": "Have", "to": "Screen sizes", "width": 1}, {"arrows": "to", "from": "Android 11", "label": "Highlights", "title": "Highlights", "to": "Priority conversations", "width": 1}, {"arrows": "to", "from": "Ios 14", "label": "Highlights", "title": "Highlights", "to": "Custom widget stacks", "width": 1}, {"arrows": "to", "from": "Google", "label": "Offers", "title": "Offers", "to": "Google play", "width": 1}, {"arrows": "to", "from": "Google", "label": "Has", "title": "Has", "to": "Fewer restrictions", "width": 1}, {"arrows": "to", "from": "Google", "label": "Allows", "title": "Allows", "to": "Kinds of apps in play store", "width": 1}, {"arrows": "to", "from": "Google", "label": "Allows", "title": "Allows", "to": "Apps", "width": 1}, {"arrows": "to", "from": "Google play", "label": "Has", "title": "Has", "to": "Over 1 million apps", "width": 1}, {"arrows": "to", "from": "Apple app store", "label": "Offers", "title": "Offers", "to": "Over 1 million apps", "width": 1}, {"arrows": "to", "from": "Developers", "label": "Focus on", "title": "Focus on", "to": "Platform", "width": 1}, {"arrows": "to", "from": "Apple pay", "label": "Launched after", "title": "Launched after", "to": "Tap-to-pay features", "width": 1}, {"arrows": "to", "from": "Malware", "label": "Sent to", "title": "Sent to", "to": "Premium rate numbers", "width": 1}, {"arrows": "to", "from": "You", "label": "Can choose to install", "title": "Can choose to install", "to": "Android apps", "width": 1}, {"arrows": "to", "from": "Android apps", "label": "Programmed using", "title": "Programmed using", "to": "Java", "width": 1}, {"arrows": "to", "from": "Ios-only apps", "label": "Available on", "title": "Available on", "to": "Limited android phones", "width": 1}, {"arrows": "to", "from": "Swiftkey", "label": "Modifies", "title": "Modifies", "to": "Android smartphone\u2019s keyboard", "width": 1}, {"arrows": "to", "from": "Prominent people", "label": "Have shifted from", "title": "Have shifted from", "to": "Iphone to android", "width": 1}, {"arrows": "to", "from": "Android\u0027s connection", "label": "Is strong to", "title": "Is strong to", "to": "Google ecosystem", "width": 1}, {"arrows": "to", "from": "Google ecosystem", "label": "Is more useful compared with", "title": "Is more useful compared with", "to": "Apple\u0027s cloud services suite", "width": 1}, {"arrows": "to", "from": "Nick jasuja", "label": "Has", "title": "Has", "to": "Technology industry experience", "width": 1}, {"arrows": "to", "from": "Nick jasuja", "label": "Expert at", "title": "Expert at", "to": "Building websites", "width": 1}, {"arrows": "to", "from": "Nick jasuja", "label": "Has", "title": "Has", "to": "15 years of technology industry experience", "width": 1}, {"arrows": "to", "from": "3g", "label": "Vs", "title": "Vs", "to": "4g", "width": 1}, {"arrows": "to", "from": "Gsm", "label": "Vs", "title": "Vs", "to": "Cdma", "width": 1}, {"arrows": "to", "from": "Mac", "label": "Vs", "title": "Vs", "to": "Pc", "width": 1}, {"arrows": "to", "from": "Iphone se", "label": "Vs", "title": "Vs", "to": "Iphone 6s", "width": 1}]);

                  nodeColors = {};
                  allNodes = nodes.get({ returnType: "Object" });
                  for (nodeId in allNodes) {
                    nodeColors[nodeId] = allNodes[nodeId].color;
                  }
                  allEdges = edges.get({ returnType: "Object" });
                  // adding nodes and edges to the graph
                  data = {nodes: nodes, edges: edges};

                  var options = {
    "configure": {
        "enabled": false
    },
    "edges": {
        "color": {
            "inherit": true
        },
        "smooth": {
            "enabled": true,
            "type": "dynamic"
        }
    },
    "interaction": {
        "dragNodes": true,
        "hideEdgesOnDrag": false,
        "hideNodesOnDrag": false
    },
    "physics": {
        "enabled": true,
        "stabilization": {
            "enabled": true,
            "fit": true,
            "iterations": 1000,
            "onlyDynamicEdges": false,
            "updateInterval": 50
        }
    }
};

                  


                  

                  network = new vis.Network(container, data, options);

                  

                  

                  


                  
                      network.on("stabilizationProgress", function(params) {
                          document.getElementById('loadingBar').removeAttribute("style");
                          var maxWidth = 496;
                          var minWidth = 20;
                          var widthFactor = params.iterations/params.total;
                          var width = Math.max(minWidth,maxWidth * widthFactor);
                          document.getElementById('bar').style.width = width + 'px';
                          document.getElementById('text').innerHTML = Math.round(widthFactor*100) + '%';
                      });
                      network.once("stabilizationIterationsDone", function() {
                          document.getElementById('text').innerHTML = '100%';
                          document.getElementById('bar').style.width = '496px';
                          document.getElementById('loadingBar').style.opacity = 0;
                          // really clean the dom element
                          setTimeout(function () {document.getElementById('loadingBar').style.display = 'none';}, 500);
                      });
                  

                  return network;

              }
              drawGraph();
        </script>
    </body>
</html>