Slashdot Mirror


Startup Uses AI To Create Programs From Simple Screenshots (siliconangle.com)

An anonymous reader shares an article: A new neural network being built by a Danish startup called UIzard Technologies IVS has created an application that can transform raw designs of graphical user interfaces into actual source code that can be used to build them. Company founder Tony Beltramelli has just published a research paper that reveals how it has achieved that. It uses cutting-edge machine learning technologies to create a neural network that can generate code automatically when it's fed with screenshots of a GUI. The Pix2Code model actually outperforms many human coders because it can create code for three separate platforms, including Android, iOS and "web-based technologies," whereas many programmers are only able to do so for one platform. Pix2Code can create GUIs from screenshots with an accuracy of 77 percent, but that will improve as the algorithm learns more, the founder said.

89 comments

  1. no need for AI by bugs2squash · · Score: 2

    I'm pretty sure code generators have been able to accept input from graphical layout editors for a while. Just what is this AI "inferring" ?

    --
    Nullius in verba
    1. Re:no need for AI by Anonymous Coward · · Score: 0

      well i guess in this case no more glue code, doesn't touch the actual hard coding... I guess we are "safe" just got to wait until the singularity, not that the hype queens wont lap this up.

    2. Re:no need for AI by Anonymous Coward · · Score: 0

      Because no tech story is interesting at the moment unless it has AI involved. (There is actually zero AI used in this product.)

      The term AI is getting stretched very far these days.

    3. Re:no need for AI by ColdWetDog · · Score: 1

      The term AI is getting stretched very far these days.

      Could be worse. We could go back to 'cyber'.

      --
      Faster! Faster! Faster would be better!
    4. Re:no need for AI by Anonymous Coward · · Score: 0

      "machine learning technologies to create a neural network"

      How is this not AI? Machine learning and neural networks are quintessential examples of AI.

    5. Re:no need for AI by Anonymous Coward · · Score: 0

      But that's totally appropriate. Where would the internet be without all of the cybernetically enhanced humans that run all the cabling?

    6. Re:no need for AI by ShanghaiBill · · Score: 4, Interesting

      Programs that can auto-generate glue code from a GUI input have been around for decades. You just need to fill in the stubs with the other 99% of the code. The problem with these GUI input systems is that the code they generate is fragile and even small changes are often more difficult than just starting over. I have never found them useful, but they are popular for iPhone and Android apps.

      I read TFA, and it says almost nothing, but I think the new thing about this system is that you don't need to use a GUI input, and instead you can just show it a picture or screenshot of an existing GUI (say, your competitor's product), and it will auto-generate code to create that GUI, with stubs for the actual functionality. That seems pretty slick.

    7. Re:no need for AI by hsmith · · Score: 2

      I guess one good thing is this isn't "blockchain" based - so that is one improvement.

    8. Re:no need for AI by Anonymous Coward · · Score: 0

      Let me spell it out for you. AI refers to software that learns and improves by itself over time. As opposed to algorithms that are static rules, an AI system evolves with more training.

    9. Re: no need for AI by Anonymous Coward · · Score: 0

      Because they say that but don't actually do that.

    10. Re:no need for AI by Anonymous Coward · · Score: 0

      so spamassassin has been AI this whole time ? This is why no one is impressed with your new usage of the concept.

    11. Re:no need for AI by Anonymous Coward · · Score: 0

      I've dealt with code generating gui design tools and they are indeed very fragile.
      However iOS/OS X gui design tool doesn't generate code.

      The gui design tool is based on an object database where all the widgets, windows and your own class-objects are instantiated and connected together. The main of most applications is simply instantiating all the objects in the database.

      Now if you change, say a method name in one of your objects, that would a throw a warning during compilation that the button cannot be connected to that method.

      Other very nice features are that you can select a custom subclass for widgets that are instantiated. And you can make your own widgets which get executed to draw itself inside the gui design tool.

      Anyway, I like this form of gui design a lot better, where it does not generate fragile boiler plate code, but that you are in complete control of the code you are writing.

    12. Re: no need for AI by sg_oneill · · Score: 1

      Yes. Baysian algorithms are classic examples of machine learning, in fact it's one of the first things they teach, and spam whacking was one of the first mainstream uses of it

      --
      Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
    13. Re:no need for AI by smallfries · · Score: 3, Interesting

      The output from a layout editor is a structured description of the components and their layout. This is inferring that description from a .png - the LSTM is building a description of the structural relationship between the widgets from the input image.

      It looks pretty cool, although quite simple. The intermediate token stream that it is inferring may be more interesting as a design tool than the neural network on the front-end that is building it.

      --
      Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
    14. Re:no need for AI by Anonymous Coward · · Score: 0

      That seems pretty slick.

      Yes - it does away with the most boring part of programming (GUI stuff).

    15. Re:no need for AI by Wootery · · Score: 2

      Who will save us from the cyber AI revolution?

      Idea for an Arnie flick...

    16. Re:no need for AI by Wootery · · Score: 1

      To be maximally annoying, insist on using 'blockchain' as an uncountable noun.

    17. Re:no need for AI by Anonymous Coward · · Score: 0

      Government never left Cyber.... they still think it's cool to say... especially the intel community... and the DMV.

    18. Re:no need for AI by RuffMasterD · · Score: 1

      Probably with pro-Trump Russian H1B hackers stealing webscale big data via app controlled drones.

      --
      Human Rights, Article 12: Freedom from Interference with Privacy, Family, Home and Correspondence
    19. Re:no need for AI by K.+S.+Kyosuke · · Score: 1

      Not really. A static system could demonstrate intelligence just as well, unless you're willing to call people with anterograde amnesia as "unintelligent".

      --
      Ezekiel 23:20
    20. Re:no need for AI by angel'o'sphere · · Score: 1

      In the ajava world and iOS badically every GUI code generator generates the exact same code a programmer would write.
      Last time I checked .Net though, the WinForms generator was a mess.

      The article btw. is not about ordinary GUI editing/code generation but about generating code from a scetch, aka a pocture.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  2. Another one bites the dust by Anonymous Coward · · Score: 0

    And just like that, yet another field obliterated by AI. One wonders why anyone bothers going to school these days? At this rate, we'll have AGI soon enough and all the old models go flying out the window at the speed of light.

  3. Only apps can app apps! by Anonymous Coward · · Score: 1

    This just shows how easy it is to app an app that apps other apps, unlike LUDDITE software!

    Apps!

    1. Re:Only apps can app apps! by Anonymous Coward · · Score: 0

      Please commit suicide.

  4. I RTFA by Anonymous Coward · · Score: 5, Informative

    It only generates the layout files for the different platforms.

    1. Re:I RTFA by kaizendojo · · Score: 2, Insightful

      Which frees designers to work on UI and coders to concentrate on tighter code instead of the tedium of coding UIs from sketches. Everybody wins.

    2. Re:I RTFA by HornWumpus · · Score: 4, Interesting

      Yep, everybody did win. Back in 1990, when Rapid Application Development (RAD in the hype of the day) tools did this.

      Your IDE still has this feature. Drag and drop UI drawing is better than having any UI inferred from a drawing. How do you draw a mask?

      Trying to do this well, transparently for multiple different devices plus 'browser' is challenging, to say the least. But...GOOD NEWS...each of these markets is big enough to support a UI team of it's own. Claiming to do it well, automatically from a 'napkin sketch', for all significant platforms is braggadocious to the point where adults start to whisper about where the person's keeper is, calling him 'Sheldon'.

      But we all remember being 22 and doing similar; 'that's easy, just...' The time it takes from 'that's easy' to 'uhh....shit' is what separates success from failure, long term.

      The best, this will do is produce a 'wrong' (control behavior from a drawing?) UI for a 'sketch artist' who hasn't bothered to learn to use his IDE. Somebody still has to come along, muddling through the messes (one per target), and fix it.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    3. Re:I RTFA by Anonymous Coward · · Score: 0

      Based on the demo in the article this program doesn't generate UI from sketches. It creates UIs from screenshots.

      So you need screenshots that have to be made in a program that draws UI elements. Why doesn't this program automatically generate code, like IDEs have done for decades?

      Sounds like they added 23% guesswork to a preexisting 100% solution just to throw in some buzzwords like AI and apps. Unless of course their target audience are all these app mills that just clone everything under the sun and hope for a quick buck.

    4. Re:I RTFA by MangoCats · · Score: 2

      That "tedium" of coding the ui is usually the easiest part of app development, for me at least.

      Does the neural net also recognize dynamic UIs with swipe, pinch and twirl responses?

      Neat academic project... but 77% accuracy just to do the layouts? I've got interns better than that.

    5. Re:I RTFA by Fnkmaster · · Score: 3, Interesting

      Agreed. We built a nearly identical system (with OpenCV for morphological analysis and neural networks) about a year ago, as part of a larger AI-powered mobile app development platform.

      77% accuracy is not very impressive, but unclear what the training and test sets are here.

      The biggest functional win from this is actually getting sensible layout params from a designer's UI mockup - i.e. figuring out should this be right justified/left justified, should there be margin/padding here, etc. We solved that problem pretty well.

      Other challenges involve asset up-scaling, background image color extraction, etc. If you can take rough image mockups and output well polished asset packs, with vectorized images, layout files and stub code for developers to work with, that's a pretty significant win.

      We got that far with the project, but ended up shifting direction to a somewhat different market where there was more growth potential - literally nobody wanted to invest further in mobile app tools in 2016, AI powered or not.

      So yeah, cool proof-of-concept, but as a standalone offering this doesn't create much value. As part of a larger toolchain might be valuable.

    6. Re:I RTFA by ShanghaiBill · · Score: 1

      77% accuracy just to do the layouts?

      This is version 1.0. It will rapidly improve.

      I've got interns better than that.

      Interns have to be paid. Software works for (almost) nothing.

      You remind me of this guy:
      "The Americans have need of the telephone, but we do not. We have plenty of messenger boys." -- William Henry Preece, explaining why telephones would never be used in Britain.

    7. Re:I RTFA by JaredOfEuropa · · Score: 1

      It sure sounds a lot like what we were trying to do back then. From concept to skeleton gui and code, so that the business can participate in the design and get exactly what they think they want, without having some annoying nay-saying UI/UX guy in the middle. I suppose that is how we ended up with monstrosities like SAP.

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    8. Re:I RTFA by SuperDre · · Score: 1

      Yeah, that would be great if this AI could actually create these stuff from ANY picture. BUT it can only generate stuff from pictures that have been made with predefined tools....... and that's where this is just all bullocks, as most mockup tools can already generate code for any given platform.
      This article seems more like a plug by the developers themselves as at the moment it doesn't add anything to the already existing platforms.. Also not to forget, this can only generate to frameworks it knows, so the claim it can do Android iOS and Web is just another bullocks claim, as what framework does it target on those platforms.. Currently with the latest version of visual studio 2017 you can do exactly the same (and even more platforms)..

    9. Re:I RTFA by Anonymous Coward · · Score: 0

      Absolutely agree. I used to do RAD in Visual Studio 6 well over a decade ago and I can't imagine that I could find a tool that would allow me to design/draw an interface quicker than I could do it in that. A RAD IDE is essentially (in part) a drawing program that is specifically designed to create drawings of UIs and generate the stub code for all its elements. You're not going to beat that efficiency with generic image drawing/manipulation tools or free hand drawings. After all, someone still has to create the drawing.

      I haven't done any UI development in a long time but I can't imagine the tools have gotten worse in the past 15 years.

      As for creating programs based on screenshots from competitor products as someone else mentioned, I'd imagine that's a lawsuit waiting to happen. I don't think "the AI did it" is going to be a good defense in court.

  5. Programs?? by Anonymous Coward · · Score: 0

    Since when is html/css a program??

    1. Re: Programs?? by Anonymous Coward · · Score: 0

      Wait this is only css?

    2. Re:Programs?? by __aaclcg7560 · · Score: 1

      When the program that creates the html/css makes a mess out of it and a human has to clean it up. I've did that a lot when the graphic designers complain about Dreamweaver refusing to align a table element properly.

    3. Re:Programs?? by Enter+the+Shoggoth · · Score: 1

      Since HTML5+CSS3 was shown to be turing complete.

      More here.

      --
      Andy Warhol got it right / Everybody gets the limelight
      Andy Warhol got it wrong / Fifteen minutes is too long.
    4. Re:Programs?? by Anonymous Coward · · Score: 0

      nice! but rule 110 is also turing complete and no one uses regularly for coding!

    5. Re:Programs?? by K.+S.+Kyosuke · · Score: 1

      What about rule 34? It would be lovely if it were Turing complete.

      --
      Ezekiel 23:20
    6. Re:Programs?? by angel'o'sphere · · Score: 1

      The first link looks like a mistake, it has nothing to do with HTML/CSS.

      Then again the question: why do you post nonsense like this?

      What real life problem would you implement on top of a (simulated) turing machine?

      Can YOU (not one, *you*) implement the Leipnitz Formula to calculate PI with the Turing machine simulator of your first link?

      Throwing around 'turing complete' on /. is completely meaningless.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    7. Re:Programs?? by Enter+the+Shoggoth · · Score: 1

      The first link looks like a mistake, it has nothing to do with HTML/CSS.

      Then again the question: why do you post nonsense like this?

      What real life problem would you implement on top of a (simulated) turing machine?

      Can YOU (not one, *you*) implement the Leipnitz Formula to calculate PI with the Turing machine simulator of your first link?

      Throwing around 'turing complete' on /. is completely meaningless.

      The first post is definately not a mistake. It's the repo of code by the guy who figured out that it is turing complete.
      In terms of what real life problems... well given that it is turing complete it could potentially be leveraged as a malware vector. That said, please refrain from putting words in my mouth: I was not making any claim as to usefulness, I was just responding to someone trying to be a smart arse.
      Also, since when has throwing around _anything_ on slashdot not been completely meaningless?

      --
      Andy Warhol got it right / Everybody gets the limelight
      Andy Warhol got it wrong / Fifteen minutes is too long.
    8. Re:Programs?? by angel'o'sphere · · Score: 1

      I was just responding to someone trying to be a smart arse.
      Then accept my apologizes!

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    9. Re:Programs?? by Enter+the+Shoggoth · · Score: 1

      I was just responding to someone trying to be a smart arse.
      Then accept my apologizes!

      Accepted!

      --
      Andy Warhol got it right / Everybody gets the limelight
      Andy Warhol got it wrong / Fifteen minutes is too long.
  6. Not good by phantomfive · · Score: 1

    77% is not good. I would not say it's outperforming any coders.

    --
    "First they came for the slanderers and i said nothing."
    1. Re:Not good by exomondo · · Score: 1

      Also bearing in mind the thing you are generating is a layout and it's being generated from a screenshot of that exact thing.

      What might have a bit of value is generating real layouts from UI mockups.

    2. Re:Not good by Anonymous Coward · · Score: 0

      77% accuracy blows away India's programmers.

    3. Re: Not good by Anonymous Coward · · Score: 1

      When our firm hired Indian coders, the flowerbeds in front of tree building suddenly became much more lush.

    4. Re:Not good by Namarrgon · · Score: 1

      How many programmers have you met that could be given a UI screenshot, say "rightio" and go off & implement it on three platforms - without asking a single question?

      Maybe when the algorithm is also as experienced as a programmer that could do that, we can expect better.

      --
      Why would anyone engrave "Elbereth"?
    5. Re:Not good by HornWumpus · · Score: 2

      The ones that could were/are _terrible_coders_. UI configuration is more complicated than a screenshot can capture. If they complete it from a screenshot without asking questions, fire their incompetent asses. They missed a lot, guaranteed, assumed even more...

      UI Mockup is a small part of systems analysis. Comes relatively late in the process. Mostly the UI 'falls out' of the data structure or data/business layers, depending on how you 'squint' at the process.

      But that's all old stuff, doesn't involve AI...doesn't reflect 'UI designers' ability to fuck the whole process up while applying a glorified skin to the app. Now get off my lawn...

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    6. Re:Not good by BarbaraHudson · · Score: 1
      So you've got to

      1. Create the layout
      2. create a screanshot of it
      3. have the program generate the layout.

      Seems to me that steps 2 and 3 are redundant except for photoshop farts who think that a .psd file is all you need to "define your requirements".

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    7. Re:Not good by BarbaraHudson · · Score: 1

      But it's not implementing the application on ANY platform. Not even the UI behaviour. Just the bare layout. As others have pointed out, we've had tools to do this since the '80s - and the generated code for default behaviours. And the ability to select custom behaviours rather than have to write the code. Even dBASEIV was far more capable than this overhyped "AI".

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    8. Re:Not good by exomondo · · Score: 1

      Yes, pretty much. If you've created an image of the layout to the point that machine learning can interpret it then you might as well have just created the layout in the first place.

    9. Re:Not good by phantomfive · · Score: 1

      Xamarin is better

      --
      "First they came for the slanderers and i said nothing."
    10. Re:Not good by angel'o'sphere · · Score: 1

      Basically every programmer I have ever met.
      Why would I have a question if I have a drawn mock up of a screen I should program?
      And why would there be questions because I do it once for iOS and then for Android?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  7. RAD Redux by Tablizer · · Score: 4, Interesting

    We've had RAD systems for decades. They make the first 80% easy, but not the last 20%. One is always dealing with things like legacy databases with goofy schemas and domain-specific intricacies.

    Tools that may take longer to lay down the basics but can be tuned easier for specifies still seem the best bet.

    Plus you have issues of mobile devices such that UI's need to be "responsive" to different screen sizes. These can take a lot of experimentation to get right because context is involved. They are solving 1990's problems.

  8. Oblig. XKCD by Anonymous Coward · · Score: 0
  9. It just accepts an image instead of a drawing? by dpbsmith · · Score: 3, Interesting

    Was the first version of ResEdit released in 1984 or 1985? In any case, for more than thirty years, there have been developer tools that allowed you to draw a UI screen, while simultaneously creating a WYSIWYG screen image, an object-oriented description of the elements in the image (e.g. "a checkbox at 50,100"), and code to generate the image.

    As nearly as I can tell, the only novelty here is the ability to work off a static image file, rather than being able to work off the time-sequence of the series of drawing manipulations used to draw the file. This wouldn't be a big deal even if it worked, since it doesn't take very long for a human to look at a UI screen and draw a duplicate layout using a UI layout tool.

    As for "77% accuracy," I have no idea what that means or how you calculate the percentage, but sounds like "it doesn't work," because the amount of work needed to correct something that is only 77% accurate is probably about the same--quite possibly more--than the amount of work needed to create it from scratch with a good layout tool.

    Furthermore, it is very common for a UI layout to contain elements that are only conditionally visible. An obvious one would be a tabbed panel. A screenshot can show you the control that are in the frontmost tab page, but has no information at all that would allow pix2code to even begin to guess at the controls and other elements that are present in the other tab fields. Therefore, to get even a complete visual record of the interface, it is necessary to have some kind of procedure or script that results in every UI element being systematically revealed. That's not trivial. (Imagine some of the currently fashionable designs that save screen real estate by putting larger parts of the UI on invisible trays that only slide into view when needed).

    1. Re:It just accepts an image instead of a drawing? by Anonymous Coward · · Score: 0

      CoolGen
      SAS (Mainframe screens)
      SAP
      MVS - Many
      MS InfoPath (abandoned and obsolete)

      Been there done that. But I to know why edit checks on the input data is not done (or worse it decides to url the input string) or pressing PF1 does not bring up a help screen .

      A picture will not know corporate data standards or how long a name or address is supposed to be.

      So I love to abandon faulty forms built by Indians complete with spelling errors.

      So far only Google, Aliexpress and Amazon and Facebook know what is right and what is not. Strange that the best in the business DO NOT use Microsoft.

  10. C grade by pubwvj · · Score: 1

    An accuracy of 77% is consider a passing C grade (unfortunately) in school and is completely unacceptable in the real world business environment. It needs to be getting an A+ to be acceptable in the real world. Fire the sucker.

  11. Should I even bother? by Anonymous Coward · · Score: 1

    Sigh. Here we go: that isn't 'AI'. Can we please start calling it something more accurate and honest? Can millennials please step outside of their teenaged fantasies and join the rest of us here in reality? It would be so much easier. Double sigh.

    1. Re:Should I even bother? by Anonymous Coward · · Score: 0

      What "millennials" are you talking about? The author of the paper doesn't call this "AI", it seems you're so angry at millennials that you're reading things that aren't even there.

    2. Re: Should I even bother? by Anonymous Coward · · Score: 0

      Agree. Millenials are the worst.

    3. Re:Should I even bother? by FilmedInNoir · · Score: 1

      https://about.me/mike_wheatley .. Not a millennial, he's a professional niche writer hyper-social-blogger media specialist.... you know, he bullshits.

      --
      Sig. Sig. Sputnik
  12. Demonstrates flaw of alphabet based languages by gurps_npc · · Score: 1

    Computer languages are almost all variations of English,(While, If, then, else, go, return, are all english words).

    But human derived language, particularly alphabet based ones, s are not appropriate for coding.

    Alphabet based languages are designed to represent an infinite set of words. Computer languages use a small set - often less than 100.

    --
    excitingthingstodo.blogspot.com
    1. Re: Demonstrates flaw of alphabet based languages by Anonymous Coward · · Score: 0

      Right... except your carefully crafted argument falls apart when you realize that we program with only two characters (one and zero). Looks like your Nobel Prize in Computer will have to wait for another day. But I'm sure you'll enjoy an exciting career in retail good service industry moron.

  13. haha by Anonymous Coward · · Score: 0

    coders! welcome to the chopping block lol...

  14. Re:Demonstrates flaw of alphabet based languages by dskoll · · Score: 1

    Um. Say what?

    Any set of symbols is an "alphabet" in computer science parlance. Furthermore, although computer languages have a limited number of keywords, they also have variable names, etc.

    Meh. I think parent is satire. Too subtle a WTF to be real.

  15. Re:Demonstrates flaw of alphabet based languages by Anonymous Coward · · Score: 0

    Alphabet based languages are "Dart" and "Go" right?

  16. Re:Demonstrates flaw of alphabet based languages by 0100010001010011 · · Score: 1

    Welcome to Simulink. We've been using it for a while to solve quite a few complex tasks.

  17. Galaxy Quest by dcsmith · · Score: 1

    You are familiar with the Historical Documents, are you not? https://youtu.be/5wXDnJt3cUI?t...

    --
    This has been a test. If this had been an actual Sig, you would have been amused.
  18. Re:Demonstrates flaw of alphabet based languages by BarbaraHudson · · Score: 1

    I don't know what languages you're using, but every one I use allows you to define additional words to do other things. They're called functions, procedures, subroutines macros, whatever. I don't know any computer language that uses a small set of words. Even assembler allows you to use macros that you can call all sorts of names. And then there's labels for jumps in both low and high-level languages.

    Since you used english as an example, there are far more valid words in programming languages than in the english language. $WHAT_THE_FCUK, _this_is_not_a_valid_english_word_, gfx10(), none of these are english words. Even assembler instructions aren't english. JMP, LEA, SHR, XOR, etc.

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  19. But why don't they eat their own ...food by Sla$hPot · · Score: 0

    The web page is based on old school HTML Java Script + some JQuery.
    Judging by the video, it looks like they have created a machine learning tool that can recognize text and buttons.
    And from that recreate the exact same, in this case bootstrap UI.
    So you can create a mockup in lets say Axure or Indigo, then save it as a PNG file in order to interpret and recreate it.
    Doesn't seem any special by todays technologies.
    This is a UI generator that might get handy when it understands photos taken from a white board full of crazy doodles
    But to create a program you also need to care about the business logic.
    Try to dig out all kinds of domain specific junk from someones passive aggressive head just by looking at a picture.
    That can be difficult.
    Such details will be out of reach from most AI in the near future (+10 to 20 years).

    The devil is in the details as they say.
    So are we all going to end up as small back end devils then? when the all mighty AI have taken over the UI

  20. Really old news and bad job by LostMyBeaver · · Score: 1

    I wrote OCR software years ago just for fun. Writing algorithms that could identify boundaries each typeset character from a scanned magazine page as well as images was pretty hard to do... but I did it... with 98% accuracy... and no real AI... just algorithms like SPF.

    What this guy did barely counts. It just identifies rectangles (poorly) and guesses what kind of rectangle (poorly) and spits out code.

    It's a cute project for a high school kid.

  21. Here's a program I'd like to see by Dr.+Spork · · Score: 1

    I'll give thing a screenshot of my program: a big button that says "Fix my problem," or maybe "Enhance". With that I guess I did the hard part, so now I'll just kick back and wait for the magic AI to generate the code to make it work..

  22. Show the program interface to itself by Anonymous Coward · · Score: 0

    What happens if you take the screenshot of the neural network program and feed it to itself, will it show its source code in the output ?

  23. Ghost of HyperCard by swell · · Score: 2

    A reminder of the day when you didn't need a crack team of engineers to produce a simple educational program or hyperlinked ebook. Every teacher a programmer. Every student a programmer producing value added content, whether 5 or 55 years of age.

    We talk about advancements in the industry but we've taken a giant step backward in terms of creative output. See 'Inigo Gets Out' https://www.youtube.com/watch?...

    --
    ...omphaloskepsis often...
  24. Rounded skill-set by easyTree · · Score: 1

    The Pix2Code model actually outperforms many human coders

    Challenge accepted - see you at the coffee machine - remember your cup!

  25. This might be clever - but it's being over-sold. by sbaker · · Score: 1

    As ANYONE who writes programs with GUI's will tell you - a system like this can AT BEST write 10% of the code needed in an actual "Program"...because the GUI layer isn't that tough to write - and there is no way on god's green earth that something that looks at screenshots can infer how the other 90% of the code has to work. Add to this that if it's even 99% accurate - how will a human programmer fix the remaining 1% of the bugs?

    So - programmers everywhere are laughing at this claim...it's patently obvious that it can't do that.

    It's over-sold. No, it isn't using "AI to create programs from simple screenshots" - that's a flat out lie.

    Now - if instead, we were told that this could "create GUI layouts from pencil sketches" - then I would have been impressed...if it could do it from already designed-inside-the-computer wireframes - then I'd be less impressed...and with only 77% accuracy - I'm thinking...yeah...um - and if the code it generates isn't beautifully commented with good variable names that reflect the functions of the individual widgets and decorative elements - then it's worse than useless.

    This is a very premature press release and all it's done is to make everyone who understands the problem even a tiny bit - call "bullshit" - which destroys the reputation of those involved and makes it much harder to get people interested even if it does eventually become useful.

    So - come back when you get at least 99% accuracy. Be honest about what this does (No, it doesn't "write programs") and *CRUCIALLY* explain how a regular programmer will fix the 1% (or currently 23%) of the errors it makes.

    Human written code will have useful names for each widget and other graphic on the screen, so if that widget isn't doing what it should - we can fix it easily. If this thing generates spaghetti code with names (at best) guessed from the icons on the screenshot - then if it's ANYTHING short of 100% perfect every single time - then the effort to debug the code it generates will utterly erase any benefits it provides.

    Furthermore - if I do use it to generate the GUI code with 99% perfection - then fix the 1% that isn't - and then the design team want to add another button - or move something - the AI will go off, do it's thing and make a new 99% perfect GUI code...will I then have to go in and fix a different set of 1% screwups? Because if I do, then this AI will not only be somewhat painful - it won't help the coding of GUI's at all, it'll actually cost programmers a LOT more time to fix any bugs it produces.

    --
    www.sjbaker.org
  26. Why this announcement is harmful. by sbaker · · Score: 2

    I see questions on Quora and similar places from kids who are thinking of taking up a career as computer programmers - on commonly asked one is "If I become a programmer, will AI make my career obsolete?" - and this is a very valid concern. If I were a truck driver, I'd be really worried that self-driving trucks would take my job 5 years from now.

    This announcement (which effectively says to the layperson "Programmers are about to become obsolete") will have a chilling effect on those people who are just thinking about getting into this field.

    In truth - this AI program will never see the light of day - it can NEVER "write a program from screenshots" because the necessary information to do that isn't present in the screenshots - even in principle. What HAPPENS when you push this button? All the screenshots tell you is that there is a button...and MAYBE...if the screenshot is somehow linked to other screenshots...it might tell you that pressing the button takes you to another panel. What it doesn't tell you is that pressing that button caused the camera to take a photo, for the software to reconstruct a 3D image of a person from that photo, that this has to be sent off to the server to match other 3D images, that the resulting match produces that person's name - which the program is then given from the server - and which then results in that "NAME" field on the next GUI panel to be populated with an actual name and not the "John Doe" that the GUI designer put there so the programmer would know that this is where the name goes.

    By itself - this announcement can be laughed at and called bullshit by anyone who has anything to do with writing programs (and I'm 100% sure it's being laughed at right now) - but the CHILLING effect that such ridiculously over-stated claims make on those who might be considering entering the industry is a very, very bad thing.

    --
    www.sjbaker.org
    1. Re:Why this announcement is harmful. by Anonymous Coward · · Score: 0

      Good for us, though. Every young punk that stays out of the industry is another job for us grey-beards. Let’s see how a real labour shortage impacts the cult of youth.

  27. Re:Demonstrates flaw of alphabet based languages by Anonymous Coward · · Score: 0

    Well played :)

  28. Show it a picture of Skyrim! by Anonymous Coward · · Score: 0

    We need more RPGs!

  29. Headline by sexconker · · Score: 1

    Startup Uses Bullshit To Defraud Investors

  30. Cool, but ... by BenBoy · · Score: 1

    Looks like a fun project, but ... the three platforms they mention have somewhat different UX guidelines; it's a lot 'deeper' problem to translate a gui into something idiomatically appropriate for the mentioned platforms.
    Not to say this isn't a good, interesting start on that very thing.

  31. Re:Demonstrates flaw of alphabet based languages by squiggleslash · · Score: 1

    FWIW BASIC before 1983ish was like that. Subroutines were defined as the line numbers of the first statements in them (ie GOSUB 1000, not GOSUB DrawBox(x, y, 16, 24))

    Not that I'm disagreeing with you in spirit, just technically you're wrong, which is the best kind of wrong, or something ;-) You youngsters have it so good with your procedures and functions and classes and, uh, methods, and properties and... back in my day we had line numbers and variables with one or two letters maybe followed by a dollar or percent and we liked it no we didn't it sucked.

    --
    You are not alone. This is not normal. None of this is normal.
  32. Re:Demonstrates flaw of alphabet based languages by BarbaraHudson · · Score: 1

    Well, except that there were other languages before basic that didn't use line numbers. That moldy golden oldie, assembler, jumped to offsets (usually defined as a symbolic name), not line numbers. But if you want to call me a youngster, at my age I'll take it as a compliment :-p

    BTW - you could use variables longer than 2 letters, just that only the first two were significant, so COUNT and COW were the same. As long as you kept that limitation in mind, it made for more readable code. And if you didn't, well, have fun debugging ... But at least it made code more readable.

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  33. useful for automating crime by peawormsworth · · Score: 1

    This will be great for automating the process of generating fake landing pages for phishing attacks. Think phishing worms.

  34. Re:Demonstrates flaw of alphabet based languages by squiggleslash · · Score: 1

    Depended on the version of BASIC, I know most Microsoft versions did allow you to say "APPLE=2: PRINT APLPE" (sic) and it'd print 2, but there were quite a few that didn't and rigorously enforced the 1 or 2 letter limit.

    OTOH, the BASIC I used on the ZX81 (my first home computer!) did allow you unlimited variable names. And I guess as GO SUB (sic) accepted formulas in Sinclair BASICs (alas not Microsoft's) you could have used named subroutines (ie 10 LET DRAWBOX=1000 / 20 GO SUB DRAWBOX) so in that respect...

    --
    You are not alone. This is not normal. None of this is normal.