<blockquote>
<p>I don't know whether there's a direction of travel or not, and I don't have a strong opinion on that. But in my investigations so far it appears that buildling small html pages client-side has moderately large downsides. Again it might not be so noticeable on fast connections in Europe, but when a simple browse page takes multiple EU <-> HK roundtrips it becomes noticeable to me - even on a high bandwidth connection. I expect it will be much worse on low-bandwidth, high-latency connections elsewhere.</p>
</blockquote>
<p>Well surely the point is that we're not really building them client side - we are fetching them from the server and then augmenting. If they were truly built on the client (as horrible as that is to write) then there wouldn't be multiple round trips.</p>
<blockquote>
<p>I don't think putting together the browse or query pages server-side will actually be that expensive, but that's definitely a risk. From what I've seen so far, making one request and getting the compact html in response is going to be much better than multiple xhr back-and-forwards and large json payload responses.</p>
</blockquote>
<p>My concern is not CPU or anything but rather tying up a rails server for N seconds while it waits for an API response. Obviously one solution is to spin up more rails server, subject to memory constraints.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/issues/1949#issuecomment-413527669">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABWnLZzgP9CRDhCUbq14UuXKac-h2dl9ks5uRWSFgaJpZM4V_j_f">mute the thread</a>.<img src="https://github.com/notifications/beacon/ABWnLeSnVPodXI2fspIhQcm1QBlZdxgoks5uRWSFgaJpZM4V_j_f.gif" height="1" width="1" alt="" /></p>
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/openstreetmap/openstreetmap-website","title":"openstreetmap/openstreetmap-website","subtitle":"GitHub repository","main_image_url":"https://assets-cdn.github.com/images/email/message_cards/header.png","avatar_image_url":"https://assets-cdn.github.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/openstreetmap/openstreetmap-website"}},"updates":{"snippets":[{"icon":"PERSON","message":"@tomhughes in #1949: \u003e I don't know whether there's a direction of travel or not, and I don't have a strong opinion on that. But in my investigations so far it appears that buildling small html pages client-side has moderately large downsides. Again it might not be so noticeable on fast connections in Europe, but when a simple browse page takes multiple EU \u003c-\u003e HK roundtrips it becomes noticeable to me - even on a high bandwidth connection. I expect it will be much worse on low-bandwidth, high-latency connections elsewhere.\r\n\r\nWell surely the point is that we're not really building them client side - we are fetching them from the server and then augmenting. If they were truly built on the client (as horrible as that is to write) then there wouldn't be multiple round trips.\r\n\r\n\u003e I don't think putting together the browse or query pages server-side will actually be that expensive, but that's definitely a risk. From what I've seen so far, making one request and getting the compact html in response is going to be much better than multiple xhr back-and-forwards and large json payload responses.\r\n\r\nMy concern is not CPU or anything but rather tying up a rails server for N seconds while it waits for an API response. Obviously one solution is to spin up more rails server, subject to memory constraints."}],"action":{"name":"View Issue","url":"https://github.com/openstreetmap/openstreetmap-website/issues/1949#issuecomment-413527669"}}}</script>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/openstreetmap/openstreetmap-website/issues/1949#issuecomment-413527669",
"url": "https://github.com/openstreetmap/openstreetmap-website/issues/1949#issuecomment-413527669",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
},
{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"hideOriginalBody": "false",
"originator": "AF6C5A86-E920-430C-9C59-A73278B5EFEB",
"title": "Re: [openstreetmap/openstreetmap-website] Reduce size of application.js by removing translations? (#1949)",
"sections": [
{
"text": "",
"activityTitle": "**Tom Hughes**",
"activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png",
"activitySubtitle": "@tomhughes",
"facts": [

]
}
],
"potentialAction": [
{
"name": "Add a comment",
"@type": "ActionCard",
"inputs": [
{
"isMultiLine": true,
"@type": "TextInput",
"id": "IssueComment",
"isRequired": false
}
],
"actions": [
{
"name": "Comment",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueComment\",\n\"repositoryFullName\": \"openstreetmap/openstreetmap-website\",\n\"issueId\": 1949,\n\"IssueComment\": \"{{IssueComment.value}}\"\n}"
}
]
},
{
"name": "Close issue",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueClose\",\n\"repositoryFullName\": \"openstreetmap/openstreetmap-website\",\n\"issueId\": 1949\n}"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/openstreetmap/openstreetmap-website/issues/1949#issuecomment-413527669"
}
],
"@type": "OpenUri",
"name": "View on GitHub"
},
{
"name": "Unsubscribe",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 368984031\n}"
}
],
"themeColor": "26292E"
}
]</script>