GitHub Spark lets you build web apps in plain English
techcrunch.com
techcrunch.com
We would need AGI-level AI to code software from English and not produce buggy mess.
On the other hand, current top LLMs are pretty great at writing chunks of code if you specify exactly what you want. I am personally impressed with Claude 3.5.
To counter this I used to hold short meetings with them every single morning to pull them back into line! We also shortened every build into bite sized chunks so the humans could check they didn't go off-piste. We called this Agile.
Poor communication between humans is seemingly insoluble. Perhaps a computer misunderstanding you in real time so you can correct is the best solution?
Perhaps this shortens the cycle time?
You see this with the ridiculous "prompt engineering" crap that has sprung up where people are slowly reinventing programming languages but completely unspecified. Something that could be specified in 4 lines of godforesaken YAML ends up taking 40000 words of very bizarre English and using enough energy to roast a whole pig.
Welcome to the world of lawyers. That is exactly what they are doing all days and the outcome is a mess.
- Adobe Spark https://express.adobe.com/page/dRGX7a5xjEnh5/
- Meta Spark https://spark.meta.com/
- Spark Mail https://sparkmailapp.com
- Spark New Zealand https://www.spark.co.nz
- Chevrolet Spark https://en.wikipedia.org/wiki/Chevrolet_Spark
- DJI Spark https://www.dji.com/support/product/spark
- Spark Racing Technology https://www.sparkracingtechnology.com
- Capital One Spark https://www.capitalone.com/small-business/credit-cards/spark...
- Spark Therapeutics https://sparktx.com
- Spark Energy https://www.sparkenergy.com
The one that I think Apache Spark is similar to is GitHub Spark, because they're both developer tools, and AI adjacent.
Apache Spark. GitHub Spark. Brand-name Spark. I think that's fine.
BTW the trademark: https://spark.apache.org/trademarks.html
Whenever you see the raised TM symbol, that’s claiming trademark status but not necessarily registered trademark status. The R in a circle is restricted to registered trademarks.
You can see here that Apache’s trademark for Spark is unregistered, but that doesn’t make it invalid (at least in the US and the other countries I alluded to): https://www.apache.org/foundation/marks/list/#unreg_s
Fun fact: it’s also possible to register trademarks with US states, but that’s almost always worse than doing so federally with the USPTO, and federal registration is valid nationwide. State-level trademark registration is mainly a historical artifact predating the federal trademark system, but it’s still technically available.
The vocabulary isn't infinite. And within that finite number there's an even smaller set of words you would use for a product. And within that there's an even smaller set of words that are a combination of some of all of pleasant/short/applicable/relevant.
And Spark is a choice because the icon of choice for all things AI-related seems to be the sparkles emoji.
We felt like there was sufficient difference between the two products, that there wouldn’t be any confusion. Especially with the target audience that GitHub Spark ultimately intends to reach.
That said, we plan to validate this during the Technical Preview phase. Since we absolutely want to be respectful of Apache Spark, and its impact on software.
When GitHub Next asked for this, there was already pressure in place for ASF to give that to them, because they're locked into GitHub, so it may not have been given entirely freely. You can say that you're confident it was, but to me it seems impossible to know for sure. I don't know if it was or not. It might be that they would have decided to give it freely but the thought of their relationship with GitHub came to mind while they were considering it. In any case, it's a big ask, because if this takes off, soon the phrase Spark Application that another commenter mentioned will be ambiguous.
GitHub Next is 18 people (inclusive of all roles), which seems appropriately-sized to be called a “team” (certainly in a large engineering company).
But apologies if that came off as misleading.
The way Cloudflare has Departments on their jobs page fits my mental model of it. One is Emerging Technology and Incubation which sounds similar to GitHub Next. https://www.cloudflare.com/careers/jobs/?department=Emerging...
On the GitHub jobs page, there isn't such a selection, but in autocomplete there are two results for team and none for department or group: https://www.github.careers/careers-home/jobs
I'm curious about the quality of the generated code. Does it adhere to any principles? Is it readable to developers? Is it easily extensible?
I love the idea of a code generator for developers that can generate a scaffold from natural language, but I am dubious of an entire app which can be generated from natural language.
People have been trying this building software in plain English bullshit for at least 65 years, look into the history of cobol. It didn't work last time, or the time before, or the 50 times before that. It absolutely will work someday, but there's no compelling reason to believe that day is coming in the next month or two.
I believe that Cobol did work, in relatively narrow but important niches. It worked, but was hated.
In the end, it does speed up my development of applications.
Biggest problem is the context window and understanding of context.
I believe spark will be great for some internal tooling or some personal side projects, you don't have to handle every corner case in such application
Because nowadays lawyers, judges and politicians are trying to write and interpret the rules for our society in plain English and the outcome is a mess. E.g. all those tax loopholes are in principle programming bugs, which should have been caught by (automated) tests, but doing this in plain english is just much too ambiguous.
A signle class/function is too small to be that helpful, a whole app is too big and complex. A whole ticket is also still too big. What's inbetween? If you could divide projects into units of work of consistent complexity calibrated to AI's abilities, then you could probably get really good results.
For instance , generate a web front end that meets U.S. rules and regulations for executing a 401k roll over.
If you didn’t know how to do this then how can you audit it?
We are building a similar thing for non technical users.
With AI it is even worse: You don't get reproducible runs: Trying to fix a simple layout bug and suddenly some updated AI generates something completely different because it learned some new tricks and you cannot go back to what you had before and suddenly the whole page doesn't work anymore?
Sounds like fun!
It's correct for me 99% of the time, and the remainder I can trivially ask it to tweak something. (especially since for those kind of one-off tools, I really don't care about the actual UI and styling)
Beats figuring out the right incantation of JQ, regex, whatever other tool I only use every 3 months, ... every time. And I can trivially just go back to that artifact and iterate on it later.