| Dude, you can strap your smartphone to a quadcopter and you have a flying 20-megapixel 60 fps camera with a multi-megabit internet connection. You can do real-time control of the flight. That's something you couldn't do with a 386, not unless you had a Predator to put it in. And there's a whole category of new challenges not because of limited resources but because of abundant resources. Your photogrammetry drone can generate 72 gigapixels per minute of photogrammetry data. You have 200 teraflops on your desktop. How good of a 3-D model can you make? With how little human effort? How about making things simpler and more flexible? Old GUI toolkits were designed around the need for 2-D raster operations to be hardware-accelerated. Are there simpler designs possible now that that's no longer a constraint? I'm exploring this in BubbleOS. Sure, lots of game AIs are finite state machines. So in lots of games there's no challenge unless the NPCs gang up on you. But AlphaGo is also a game AI. It's a bit more sophisticated than an A* search! What would a game look like where you worked on a team with such AIs? Smartphones also have multitouch. Yet >90% of people's interaction on them is using an on-screen keyboard, one-finger scrolling of lists, and tapping on prepackaged options. Can we do better? Are there UI paradigms that multitouch enables that would allow more creativity, despite the horrifying levels of lag in existing systems? Security is a big problem, and most of the world is wasting their time on approaches like virus-scanners that can't work even in theory. But then there's seL4. What would a personal computer based on seL4 look like? How could we translate the guarantees it provides into practically useful power in the hands of everyday people? Can you do voice recognition on every FM and AM radio channel in your area at once? What's the minimum hardware you'd need to do it? There's lots of interesting challenges out there. |