{"action":"created","issue":{"url":"https://api.github.com/repos/MarkOates/allegro_flare/issues/62","repository_url":"https://api.github.com/repos/MarkOates/allegro_flare","labels_url":"https://api.github.com/repos/MarkOates/allegro_flare/issues/62/labels{/name}","comments_url":"https://api.github.com/repos/MarkOates/allegro_flare/issues/62/comments","events_url":"https://api.github.com/repos/MarkOates/allegro_flare/issues/62/events","html_url":"https://github.com/MarkOates/allegro_flare/issues/62","id":157415809,"number":62,"title":"Import UI layouts created with external tools","user":{"login":"MarkOates","id":772949,"avatar_url":"https://avatars.githubusercontent.com/u/772949?v=3","gravatar_id":"","url":"https://api.github.com/users/MarkOates","html_url":"https://github.com/MarkOates","followers_url":"https://api.github.com/users/MarkOates/followers","following_url":"https://api.github.com/users/MarkOates/following{/other_user}","gists_url":"https://api.github.com/users/MarkOates/gists{/gist_id}","starred_url":"https://api.github.com/users/MarkOates/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MarkOates/subscriptions","organizations_url":"https://api.github.com/users/MarkOates/orgs","repos_url":"https://api.github.com/users/MarkOates/repos","events_url":"https://api.github.com/users/MarkOates/events{/privacy}","received_events_url":"https://api.github.com/users/MarkOates/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/MarkOates/allegro_flare/labels/0.8.8","name":"0.8.8","color":"c2e0c6"},{"url":"https://api.github.com/repos/MarkOates/allegro_flare/labels/feature","name":"feature","color":"006b75"},{"url":"https://api.github.com/repos/MarkOates/allegro_flare/labels/high%20priority","name":"high priority","color":"DF3DDF"},{"url":"https://api.github.com/repos/MarkOates/allegro_flare/labels/needs%20decision","name":"needs decision","color":"d4c5f9"},{"url":"https://api.github.com/repos/MarkOates/allegro_flare/labels/UI","name":"UI","color":"006b75"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2016-05-30T01:07:18Z","updated_at":"2016-08-10T03:23:34Z","closed_at":null,"body":"Right now, creating a GUI layout involves writing C++ code and compiling.  Obviously, that's not real life.\r\n\r\nHaving the ability to export/import layouts from an external wireframe tool would be a great benefit for app design.  It would remove a lot of clutter in the source, would eliminate the need to recompile any time people wanted to make a change to a layout, and would result in much faster iteration times.\r\n\r\nThe format(s) that would be used would depend on what tools would be supported.  It would be a good idea to narrow the scope of the tools to a single format in the beginning.\r\n\r\nSome options include:\r\n- a home-brew wireframe tool, that can export/import into a native layout format (probably an XML).  This would be a fun project to work on.\r\n- [Balsamiq](https://balsamiq.com/) - $89 - exports to JSON\r\n- [Sketch](https://www.sketchapp.com/) - $99 - exports to SVG - Mac only\r\n- Illustrator - $49/mo - exports to SVG\r\n\r\nIn concept, layouts would be made in an editor, then behavior would be written in C++.  Styling would depend on options in the `UIWidget`s and in the wireframe tool."},"comment":{"url":"https://api.github.com/repos/MarkOates/allegro_flare/issues/comments/238755961","html_url":"https://github.com/MarkOates/allegro_flare/issues/62#issuecomment-238755961","issue_url":"https://api.github.com/repos/MarkOates/allegro_flare/issues/62","id":238755961,"user":{"login":"MarkOates","id":772949,"avatar_url":"https://avatars.githubusercontent.com/u/772949?v=3","gravatar_id":"","url":"https://api.github.com/users/MarkOates","html_url":"https://github.com/MarkOates","followers_url":"https://api.github.com/users/MarkOates/followers","following_url":"https://api.github.com/users/MarkOates/following{/other_user}","gists_url":"https://api.github.com/users/MarkOates/gists{/gist_id}","starred_url":"https://api.github.com/users/MarkOates/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MarkOates/subscriptions","organizations_url":"https://api.github.com/users/MarkOates/orgs","repos_url":"https://api.github.com/users/MarkOates/repos","events_url":"https://api.github.com/users/MarkOates/events{/privacy}","received_events_url":"https://api.github.com/users/MarkOates/received_events","type":"User","site_admin":false},"created_at":"2016-08-10T03:23:34Z","updated_at":"2016-08-10T03:23:34Z","body":"A layout loader was added for Balsamiq's JSON, and then later removed `balsamiq_layout_loader` completely in https://github.com/MarkOates/allegro_flare/commit/19fcc240d5f0f07bead67a7eee523b456f003524 due to the reasons discussed in the previous comment."}}
{"actor":{"display_login":"MarkOates"}}