infixed
The gist, that the same principles that make a video game where you save a princess fun to learn (e.g. super mario bros) can be applied to building products, seems so obviously true - yet difficult to put into practice.
The most influential part of this presentation is this quote:
When you build applications that let users be smart, they love you for it. The secret to good game design is simple. Set up situations where there is a problem that must be solved and let the user solve it. Give them subtle clue, but don’t take away that ‘aha’ moment.
Scary part: you have to believe the user is smart.
Evidence for the earliest structural use of wood at least 476,000 years ago
Earliest Carpenters
State of AI in Production
Interview with Humane Founder Imran Chaudhri
Having said that, the actual recommendations the article offers are pretty reasonable:
- Do as much as you can with code
- For the parts you can't do with code, use specialized AI to solve it
Which is pretty reasonable? But also not particularly novel.
I was hoping the article would go into more depth on how to make an AI product that is actually useful and good. As far as I can tell, there have been a lot of attempts (e.g. the recent humane launch), but not a whole lot of successes yet.
Google Cloud TPU Multislice Training
Retool Workflows is now generally available
I've played around with shaders in the past to build particle simulations with millions of points, and it's always really tickled my mind. You basically write functions that operate against a big 2d grid of colors. But because colors are represented by a 4x1 vector [r,g,b,a], you can repurpose this pattern to do general purpose computation (e.g. you can represent a point in a 3D coordinate space as a [r,g,b] color).
You can see this in the codepen in this post. It's literally creating "materials" and "render targets" that are actually just intermediate computation steps in the fluid simulation.
class Fluid {
constructor(context) {
this.context = context;
this.speed = 4;
this.forceInitMaterial = this.createShaderMaterial(forceInitFrag);
this.divergenceMaterial = this.createShaderMaterial(divergenceFrag);
...
this.divergence = this.createRenderTarget();
this.advection = this.createRenderTarget();
...I can say that at my last company, redesigning the login page was bottom of the stack of things we wanted our first designer to work on. We just had a centered "Login with Google" button, our logo, and a email + password form. What else do you need?
I don't think a lot of people back in 2007 could have predicted that the biggest thing to come from mobile would be an app that let teens remix music videos and share with their friends.
This is why I think it is a little pointless to try and create mental models for what products and features to build to capitalize on AI (though it can be fun). It's so early that we're not capable of understanding what's possible yet. If anything, we're probably at the viral "fart app" stage that mobile was in for its first few years.
I feel like that's a bit different from what most people think of when they hear "feature factory." When I hear feature factory, I think of an engineering team that has zero input into the product process and just builds whatever PMs or leadership says is important.
In the case of an early startup with no customers, I think if engineering teams get no justification, aren't involved in talking with customers, they are completely within their rights to complain about feeling like a "feature factory." The right solve isn't to say "actually -- we have no customers, so shipping a bunch of stuff isn't feature factory mentality" but to actively engage the team in product discovery conversations with users.
1. https://www.cell.com/current-biology/fulltext/S0960-9822(09)...
https://news.ycombinator.com/item?id=27252066
Personally, I think your demo has a pretty neat / novel UX. I couldn't find a way to generate a large number of examples at once -- did I miss that somewhere?
For example, at our company we have a quite a few of alerts set up. Datadog also automatically detects anomalies. It would be neat if this (or something else) could automatically do an initial triage without being prompted and give me a free headstart on issues that come in.
Otherwise, it feels like it's "work" to learn how to use the product, which seems to miss the promise of AI (doing things for us!).