Pix2code: Generating Code from a GUI Screenshot
github.com
github.com
This is a very interesting start, but it's a long long way from being able to even represent in a simple layout what I am asked to do on a regular basis as an iOS dev.
Maybe combine this with a PaintCode back-end and add markup for layout behaviors?
I am thankful that these days I get to work with talented designers who know what a UITableView is and understand the limitations of the medium.
Maybe the pervasiveness of computing has increased to where there now would be a market for such things... it has been 15 years since I failed to find an audience after all. And I wouldn't hold back on developing the technology, but I'd put a decent amount of effort into a product fit before getting too excited.
>What would happen if I put something other than a clear mockup as input? Replications?
>What happens if you try to scan console output [1] or this mess [2]?
You might say, well working code is working code, and sure I've cited software in the past, and having an article to go with it is even better, but it's getting to the point that people are using arxiv not as a preprint service but as a publishing platform. I find this frustrating for two reasons: 1) like I said, it skips peer review and even allows people to cite rejected papers (for better or for worse), and 2) it makes the race to publish that much more severe -- now if I wait until a conference or journal publishes my work, I'm 6 months behind the guy who just uploads it to arxiv and is already getting dozens of citations in current work.
So, perhaps this is not the place for this debate, but putting aside the fact that preprint does seem like a useful way to "pre-publish", do you think it's appropriate to cite preprint papers and work? What are the implications for computer science as a research field down the road, since "free for all" seems to be taking over as a publication medium?
I know this will come off as being old fashioned, but I'm really worried about where research publication is going in this field. It feels like a knee-jerk reaction to first-to-publish pressure, rather than something that is a well thought-out solution.
That's not exactly my intention, and your statement goes in line with what I said..
> sure I've cited software in the past, and having an article to go with it is even better
where "software" could also include blog posts. It's just that, yeah, when it comes to it if I have to choose between citing something some guy wrote on a blog or citing Arxiv, I'll choose the latter every time.
But my question was not about whether arxiv is an appropriate medium for publishing ideas, I'm certainly not arguing that it should go away, but rather whether it's an appropriate thing to be citing in a scientific context. i.e. in derived work.. should it be "okay" for people to publish to arxiv and just.. leave it there and not put it in a conference or journal? Should such work be validated by citation?
It's a legitimate question that I don't know the answer to. If you get an idea from there, you can't just.. not cite it.. and yet, I feel like arxiv should be used only as long as the work will eventually get a proper publication. Which more and more it seems is not a given.
I'm really just responding to the statement on the posted link, which is just a header, "Citation", and an Arxiv-bibtex entry. No "submitted to X..", "in press", etc., or anything.
Again, it's not that I'm totally against the idea, but I think there must be some happy medium between "peer reviewed work" and "well-written but unreviewed article". Typically this used to be conferences, but conferences are expensive, and with people uploading their pre-conference unaccepted publications and those getting citations, I mean.. where will this end?
I was a bit shocked recently while writing an ML article to find that the "official" original reference, that you see cited everywhere, for the whole concept of "style transfer" appears to be an arxiv paper [1]. My reservation doesn't so much come from the fact that the authors put their work there, but more that this is what people are actively choosing to cite over their peer-reviewed conference publication [2]. When does "pre-print" become just "print"?
(Currently Google Scholar reports 216 citations for the former and 74 citations for the latter. Of course they were published a few months apart so it's not a great comparison but still, just an example..)
[1]: https://arxiv.org/abs/1508.06576 [2]: http://www.cv-foundation.org/openaccess/content_cvpr_2016/ht...
And people outside of academia often don't have access to journal publications. Who wants to spend $30 per paper? That's just obscene. The arxiv link is accessible everywhere, will never go away (probably), and can be updated as the authors revise the paper. Why not cite it?
Conferences and journals are merely marketing venues, and there is no reason to slow down the field by clinging on to flawed review process. If you adopt this attitude you will only find co-authors and students abandon you for fear of getting scooped.
In the case of building web apps and such, sure, why not put it out there ASAP?
I understand that you can't control what tools designers use (whether sketch or photoshop or MS paint), but it seems like building a tool they don't hate using that builds UIs is the way simpler solution? There are already mockup apps that include even basic functionality that designers use...
I've taken an attempt at simplifying the task of building responsive and adaptive React Native apps with the following little library.
edit: I didn't ask if this was for web or app, it looked like it was for applications... wouldn't know how to do layout on that but can do it with HTML/CSS, maybe with Electron you could do that for Desktop apps, not sure about Android/iOS though.
I suppose once you know how layout works with XML (Android) it wouldn't be hard to translate... assuming you've got the layout down... interesting to see their decisions whether to decide if thing are grouped together or work separately/positioned independently like a menu icon. Unless it's absolutely positioned and not responsive/dynamic.
At any case thanks
Impressive work, yet misguided in many ways in my opinion.
Translating picture designs into html files is not really that much fun.
Now the next step (probably more difficult) is you need a way to let the programmers "hook" into the generated output in order to further tweak it or customize it, but _without_ having to modify the generated files.
_That_ would make this technology really viable.
SmartGUI I think.
https://arxiv.org/pdf/1609.04938.pdf
The above paper shows nice result that turns image to latex expression, and image to html.
It might drive down the wages of _some_ programmers but it will at the same time free us to work on more interesting problems.
You can't be free if you don't produce. You will be a slave to people who do produce.
You cannot imagine your way out of human nature.
You'd need at minimum the entire population to be of sufficiently high IQ and high agreeableness (and low aggressiveness). This kind of population does not exist, and probably will not exist in the foreseeable future. If it did exist, it will probably be run over by another population of high aggressiveness. So unless the population of the entire planet is as such, this will continue to be mere imagination.
My home made spumante takes time that I have to take from other tasks, such as laying at the beach
My craft beers won't make themselves
I have tomatoes, potatoes, beans and fruit to grow
And of course programming as an hobby
I would have so much to do, if I didn't have to work…
Laying at the beach will get boring after two weeks probably.
That's even better!
I love watching the others doing things
> Laying at the beach will get boring after two weeks probably.
You really lack imagination then…
Maybe your internal robot is still too strong
Yu will get it, eventually
Learn to surf and change your mind.
It shouldn't be that difficult to generate back-end code for say a Bootstrap template. It should even be possible to generate both a Bootstrap template and the corresponding back-end code from something like a Balsamiq mockup.
The problem with generated code though used to be that it tended to both break quickly when confronted with non-default requirements and to make customisation by (human) developers much more difficult and cumbersome.
So, perhaps the route to having largely automatically generated CRUD apps isn't so much paved by the code generation process - involving AI or not - itself but by how easily the generated code can be extended afterwards. I'm envisioning to never have to touch the actual CRUD code. I'd rather like that CRUD code to provide extension points for additional services or functions to tack on to.
`To foster future research, our datasets consisting of both GUI screenshots and associated source code for three different platforms (ios, android, web-based) will be made freely available on this repository later this year. Stay tuned!`