{"action":"created","issue":{"url":"https://api.github.com/repos/jupyter-incubator/dashboards/issues/105","labels_url":"https://api.github.com/repos/jupyter-incubator/dashboards/issues/105/labels{/name}","comments_url":"https://api.github.com/repos/jupyter-incubator/dashboards/issues/105/comments","events_url":"https://api.github.com/repos/jupyter-incubator/dashboards/issues/105/events","html_url":"https://github.com/jupyter-incubator/dashboards/issues/105","id":115092417,"number":105,"title":"Replace thebe with jupyter-js-services, jupyter-output-area","user":{"login":"parente","id":153745,"avatar_url":"https://avatars.githubusercontent.com/u/153745?v=3","gravatar_id":"","url":"https://api.github.com/users/parente","html_url":"https://github.com/parente","followers_url":"https://api.github.com/users/parente/followers","following_url":"https://api.github.com/users/parente/following{/other_user}","gists_url":"https://api.github.com/users/parente/gists{/gist_id}","starred_url":"https://api.github.com/users/parente/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/parente/subscriptions","organizations_url":"https://api.github.com/users/parente/orgs","repos_url":"https://api.github.com/users/parente/repos","events_url":"https://api.github.com/users/parente/events{/privacy}","received_events_url":"https://api.github.com/users/parente/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/jupyter-incubator/dashboards/labels/jhpedemonte/dalogsdon","name":"jhpedemonte/dalogsdon","color":"f7c6c7"},{"url":"https://api.github.com/repos/jupyter-incubator/dashboards/labels/maturation","name":"maturation","color":"d4c5f9"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":24,"created_at":"2015-11-04T16:30:18Z","updated_at":"2015-11-12T22:44:54Z","closed_at":null,"body":"Thebe has served us really well in getting dashboards going. But it's actually built for a different use case from our own that includes showing code to users, letting users modify it, having run buttons for users to click, having open access to samples, etc. Fundamentally, we're using thebe to:\r\n\r\n1. request a kernel\r\n2. send code to that kernel\r\n3. show output from that kernel (widgets, plots, text, etc.)\r\n4. send widget comm messages to the kernel\r\n\r\nAs the work to refactor the Jupyter notebook frontend into a set of libraries proceeds, we should be able to build a smaller client suited specifically to the dashboard use case via the `jupyter-js-services` and `jupyter-js-output-area` packages. Some benefits of doing this:\r\n\r\n* No extraneous deps for dashboards (e.g., CodeMirror)\r\n* Better control over API and kernel interactions (e.g., to later add auth, code trust, etc. for jupyter-incubator/dashboards#13)\r\n* Future-proof interaction with kernels by using the official client libs\r\n\r\nAt the moment, we don't know how mature these libs are yet, so initially, we'll just investigate to see how far we can get with what exists. Maybe @blink1073 can comment.\r\n\r\nOver time, we'll want to stay in touch with @odewahn and @zischwartz because we might find that we're actually reinventing a lot of the thebe controller logic but with the input areas turned off. In that case, it might be better to work together on a single client."},"comment":{"url":"https://api.github.com/repos/jupyter-incubator/dashboards/issues/comments/156260982","html_url":"https://github.com/jupyter-incubator/dashboards/issues/105#issuecomment-156260982","issue_url":"https://api.github.com/repos/jupyter-incubator/dashboards/issues/105","id":156260982,"user":{"login":"karissa","id":633012,"avatar_url":"https://avatars.githubusercontent.com/u/633012?v=3","gravatar_id":"","url":"https://api.github.com/users/karissa","html_url":"https://github.com/karissa","followers_url":"https://api.github.com/users/karissa/followers","following_url":"https://api.github.com/users/karissa/following{/other_user}","gists_url":"https://api.github.com/users/karissa/gists{/gist_id}","starred_url":"https://api.github.com/users/karissa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/karissa/subscriptions","organizations_url":"https://api.github.com/users/karissa/orgs","repos_url":"https://api.github.com/users/karissa/repos","events_url":"https://api.github.com/users/karissa/events{/privacy}","received_events_url":"https://api.github.com/users/karissa/received_events","type":"User","site_admin":false},"created_at":"2015-11-12T22:44:54Z","updated_at":"2015-11-12T22:44:54Z","body":"Thanks gent, @jhpedemonte!"}}