{"action":"created","issue":{"url":"https://api.github.com/repos/webgme/webgme/issues/278","labels_url":"https://api.github.com/repos/webgme/webgme/issues/278/labels{/name}","comments_url":"https://api.github.com/repos/webgme/webgme/issues/278/comments","events_url":"https://api.github.com/repos/webgme/webgme/issues/278/events","html_url":"https://github.com/webgme/webgme/issues/278","id":65254503,"number":278,"title":"Extend project protocol to load objects smarter","user":{"login":"ksmyth","id":1047813,"avatar_url":"https://avatars.githubusercontent.com/u/1047813?v=3","gravatar_id":"","url":"https://api.github.com/users/ksmyth","html_url":"https://github.com/ksmyth","followers_url":"https://api.github.com/users/ksmyth/followers","following_url":"https://api.github.com/users/ksmyth/following{/other_user}","gists_url":"https://api.github.com/users/ksmyth/gists{/gist_id}","starred_url":"https://api.github.com/users/ksmyth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ksmyth/subscriptions","organizations_url":"https://api.github.com/users/ksmyth/orgs","repos_url":"https://api.github.com/users/ksmyth/repos","events_url":"https://api.github.com/users/ksmyth/events{/privacy}","received_events_url":"https://api.github.com/users/ksmyth/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/webgme/webgme/labels/Backlog","name":"Backlog","color":"bfdadc"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-03-30T16:56:11Z","updated_at":"2015-09-11T19:41:32Z","closed_at":null,"body":"When someone else changes a project, the webgme client takes lots of round trips to load the new objects. This is slow when communication to the server is over the Internet.\r\n\r\n![webgme delay](https://cloud.githubusercontent.com/assets/1047813/6901461/e553a62c-d6d2-11e4-922b-7498a76022f7.png)\r\n\r\nThis image is a capture of communication from Nashville to a webgme server to GCE's US central 1 (theorized to be Oklahoma). It shows the getBranchHash reply and 6 loadObject request/reply pairs. It takes over 1 second to load this commit.\r\n\r\nThese loadObjects should be optimized. For instance, we know that the very first the client will do after receiving a getBranchHash reply is to load the commit object. Why doesn't the server send it with the getBranchHash reply?\r\n\r\nOptimizing the loadObjects for the graph nodes is harder, since the server must know which objects are loaded in the client. But I think it should be done, as it would be a big win for performance."},"comment":{"url":"https://api.github.com/repos/webgme/webgme/issues/comments/139644619","html_url":"https://github.com/webgme/webgme/issues/278#issuecomment-139644619","issue_url":"https://api.github.com/repos/webgme/webgme/issues/278","id":139644619,"user":{"login":"pmeijer","id":6518904,"avatar_url":"https://avatars.githubusercontent.com/u/6518904?v=3","gravatar_id":"","url":"https://api.github.com/users/pmeijer","html_url":"https://github.com/pmeijer","followers_url":"https://api.github.com/users/pmeijer/followers","following_url":"https://api.github.com/users/pmeijer/following{/other_user}","gists_url":"https://api.github.com/users/pmeijer/gists{/gist_id}","starred_url":"https://api.github.com/users/pmeijer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pmeijer/subscriptions","organizations_url":"https://api.github.com/users/pmeijer/orgs","repos_url":"https://api.github.com/users/pmeijer/repos","events_url":"https://api.github.com/users/pmeijer/events{/privacy}","received_events_url":"https://api.github.com/users/pmeijer/received_events","type":"User","site_admin":false},"created_at":"2015-09-11T19:41:32Z","updated_at":"2015-09-11T19:41:32Z","body":"See #474 too."}}