StackOverflow is branching out heavily in the past months. First, SystemFault, a sysadmin-targeted site. Then, they purchased SuperUser.com (coming soon) – a site for home users (questions like ‘how to configure my router’).
And now, a meta discussion forum. It seems the process of cloning or ‘flavoring’ SO is now almost streamlined. I wonder how many stack overflows will we have a year from now. In two years? I think it’s rather unfair that only us programmers (and now sysadmins) have such a great resource. What do you think – will SO clone into Q&A forums for other non-computer topics (a suggested name for a law-based SO – ObjectionDenied :))
Apparently, there’s already a release date for the platform! Prepare for the onsalught of StackOverflows.
In 1900, the great mathematician David Hilbert presented twenty-three open problems in mathematics. A Google search for open problems in computing gives this Wikipedia article with problems like P = NP and existence of one-way functions. I’d like to list a few, more practical, open problems in computing, that I believe will start to get solved in the following years (most are being work upon for years, but I believe the rate of solving them is accelerating).
Here are my choice problems – I am sure I left many important problems out, and perhaps some of the ones I present are more solved than I know. Please, comment if you’re interested.
- Search – Google has redefined the field in the last ten years, but I think it’s too early to call search a solved problems (otherwise startups like Delver wouldn’t get started :)). The bleeding edge seems to be in Social/Personal search.
- Instant video & audio playback – play any video or audio clip, episode or movie. High quality. Free! We’re very close to the solution here. Youtube, bittorrent, Internet radios (I’ve tried last.fm, blip.fm, Jango). We’re not there yet though, all of these still have problems in pricing, availability or quality.
- Naive AI – the most undefined term in computer history. I’m not talking about Terminator-style AI (yet). What I want is solid, prevalent voice-recognition. Image and video recognition (auto-tagging on Facebook, for starters). Some system I could speak to and say “please find my next open slot on Tuesday in my calendar, invite Oren & Avishay for a design review, oh, and send them the presentation beforehand”. Something that has just enough smarts to automagically integrate all the other smart systems we already have today.
- Organization. No need to backup your computer, or put everything into folders, or manually tag stuff. No need to remember passwords, logins, websites. Wait, did I upload that image to Flickr or Facebook? Do I have Anton’s contact from Facebook or Gmail? I think I the copy of the seminar I saved to my desktop is more recent than the one on my laptop… The login/password problem, at least, is nearing its solution – usage of OpenID is accelerating, and it is getting more comfrtable to use as well.
- Availability. Sure, we’ve got iPhone 3g. But still costs 500-600$. And is suffering much criticism. I want a cheap, good endpoint to the worldnet (imaginary word I just invented to describe the combination of all the world’s networks – internet, phone, TV, …). I want one for my office, one for my bedroom, one above the kitchen table, one in the grocery store… You get my drift.
- Power consumption. Why are laptop battery life measured in hours, not days or weeks?
- Viruses and other malware. It’s not as prevalent as a few years ago (for me), but I still run across virus-infected files.
- Universal data portability. Standards, standards, standards, starting from how to write web pages, to how to write software that doesn’t require root permissions to work, how to access address books and social networks. Lots of work in process here, not yet wildly adopted.
- Information consumption. How to get really good personalized content without being blown away by the quantity or poor quality.
- SPAM – I’m not sure this problem will go away, it might just get worse. Computers are getting better and better at pretending to be humans.
- Planning – computers are excellent planners, right? So why can’t I use the computer to automatically plan a trip from Tel Aviv to Kiryat Bialik, where my parents live? I take the train to Kiryat Motskin, and a bus or taxi to Kiryat Bialik, but no single system (as of today, in Israel) is able to plan a complete route using both means of transportation. This bullet is deeply related (some would say included) in data portability, a few paragraphs above.