Entries Tagged 'Ideas' ↓

As everyone knows, excessive speed is one of the main causes of traffic accidents. One of the reasons for reckless speeding is that when we think of the possible impact of a collision, our intuition fools us. We tend to assume that if we go twice as fast (say, at 80 km/h instead of 40 km/h), then the impact of a collision will be twice as large. In fact, the impact of a collision is proportional not to the speed (V), but to the kinetic energy of the vehicle (m/2 * V²), which is transformed to work as the car decelerates to zero. Here m is the mass of the vehicle, which we cannot do much about, but the other term is the square of the velocity. This means that the “impact” of hitting a wall at 80 km/h is four times as large as that of the same collision at 40 km/h. To capture this intuition, the idea of this post is a speedometer design, that scales as the square of the velocity, to give the driver a more realistic view of the effects of speeding.

(larger image) Notes: after sketching this drawing, I found that in 1995 Goetz Kluge was thinking along similar lines and produced a similar design. There are however some differences – see next.

besides showing the speed in the more familiar, circular layout, I also made the decision to draw the smaller lines at uniform density (i.e. they are spaced proportionally to the kinetic energy, not to the velocity). This design might make it harder to estimate the exact speed, say between 40 km/h and 50 km/h, but it makes the increased kinetic energy easier to grasp – when we speed from 120 km/h to 130 km/h, the hand crosses more “small lines” than from 20 km/h to 30 km/h.

while I haven’t seen a similar speedometer in any real car, some of the existing speedometers are in fact nonlinear. Unfortunately, they seem to achieve the exact opposite effect to the design shown above. See this example. On the linked image, and in many other modern speedometers, the manufacturers try to put more resolution in at the lower half of the range, dilating the velocities between 0 and 80. My guess is that car makers do this, because the car accelerates faster at low speeds, so dilating the lower range makes the hand movement seem more uniform at all speeds – this is probably aesthetically more pleasing, but it might come at a cost of an increased (false) sense of security, and in effect a reduced safety. (I got this exactly wrong – thanks Tobias for pointing it out – it is actually the opposite, on the proposed speedometer design, the hand would move more evenly – so besides being safer, it would be more aesthetical as well, the only downside seems to be the reduced resolution in the low range)

A few quick web app ideas, to get the ball rolling.. Some previous ones. 1. Your English is so 1890. There was a popular widget some time ago, in which you paste some text that you wrote (or it processes your blog) and through a statistical analysis of word frequencies it tells you whether you write like Hemingway or more like Virginia Woolf or like Edgar Allan Poe or whoever. Then you get a badge you can put on your blog or on your wall in your favorite social network. It was quite nice and popular, although I can’t find it anymore (EDIT: here it is). Mine is a tweak on this idea. Google has released a data set with the frequencies of words in books throughout the years (ngrams.googlelabs.com). Say, you might find that “computer” appeared in 5% of the books in 1970 and in 15% of those in 1985 (I am making this up). So, given any year, you can easily find out how likely a certain word is to appear in a randomly picked text. With Bayes rule and some reasonable assumptions we could reverse this and for a given snippet of text, compute the probability that the text was written in 1800 or in 1850 or in 1900, etc. We would pretend that a priori the text is just as likely to come from any year. This is not exactly true, since we know the text comes from the present, or at least we know that the amount of text available from any year grows as we get closer to the present, but let’s ignore all that for a moment. It would be more fun than exact science anyway. However, it could still generate interesting comparisons between the style, choice of words, favorite topics of different people, or the styles of different authors from the past. For example we might discover that some authors had a language that anticipated (or influenced) the future, while others were stuck using the language of the past. 2. World map with radios. Online radios are a nice tool in learning any language, but often it is hard to find suitable ones. For learning or practicing a language the topic is perhaps less important as long as it is at least mildly interesting and as long as there is sufficient amount of talking (instead of just music), with a clear pronunciation that is representative for a given language/dialect. So what I would like is a world map with a curated list of online radio stations, placed on the map with pins, and for each station it would be given exactly what language/dialect they use, approximately how difficult are the topics discussed, what is the amount of slang, etc. 3. World map with unofficial regions. Finding a political map with the official borders for countries/states/counties/etc. is easy. There exist however, many other types of regions: historical ones (those that in the past might have formed an administrative unit but they don’t anymore)

linguistic regions (the region where a language/dialect is spoken)

geographic regions not necessarily corresponding to administrative units (Silicon Valley, Gangetic Plain, etc.)

regions of scientific interest: (the range of the Neanderthal man, the region of influence of classical Greek culture, the range of the Bengal tiger in 1900)

etc. It would be nice to have a tool for annotating maps in this way (possibly based on Google Maps) just as easily as we can add locations or paths between different points. Such regions, once drawn could be saved, embedded, printed, used in presentations, news articles, lectures, etc. or shared similarly to how users can share photos attached to places on Google Maps. Then, instead of the usual political/geographic view of the world, we could choose other filters/overlays created by others. Another type of overlay would not have strict borders like regions, but would be a mapping of values onto geographical coordinates. The function value could be shown in colors or using contour curves or any other visualization, and the values could come from uploaded datasets or from some specified function. These types of visualizations exist of course, but I don’t know of a simple interface where users could create such maps. 4. World map live postcard. A simple service that shows an empty world map and generates a unique url on demand. If someone visits the url, their geographic location appears on the map. This can be done of course with analytics software, but the key here is that a) this is real-time b) accessible to everyone who has the url and c) starting a new map is just one click with no registration and then the url can simply be copy/pasted and sent to others. Example usage: I am regularly visiting a forum, I am curious where the other visitors are from, so I put the link in the message and watch the map in real time. Example 2: I am chatting with a group of friends and I hear that a common friend of ours is ill. I create a new map, and send the link to everyone, so when they click it, they appear on the map. They can also watch as more and more people click the link. They can also leave one liner messages that will be displayed on the map next to their location. As our friend checks the link, he/she can see “get well soon” messages popping up from all over the world. This is all a bit similar to Wikipediavision, but more user-generated and with throw-away urls. 5. Centralized phpBB spam filter. PhpBB is a robust, well-known and loved dicussion board (forum) software that has been around for a long time. The main aspect in which I find it inferior to centralized services like Disqus is spam. Spam filtering is something that is simply easier to do in a centralized way than for each individual board separately. This centralized filter would be a subscription-based API that I can call whenever I get a message on my board and it returns a spam/not spam flag. This can be integrated into my phpBB installation and the necessary action is taken automatically. This way, I wouldn’t have to bother users with captcha’s, registration, senseless restrictions, and I could still have them use the familiar interface of phpBB. If such a service works for WordPress comments and other blogging software, surely it can be retrofitted for phpBB (?). 6. Name face search. When picking a baby name, many parents would like to find out as much as possible about it, including the history and etymology of the name, which historical persons have had that name, current popularity of the name, etc. In this service you type in a first name and it gives you the photos of 100 random people having that name. Looking at the age of people on the photos, you can guess whether the name was more popular one or two generations ago than it is today. Also useful if you hear a name in a foreign language and you are not sure whether it is a male or female name. Images of faces can be found on Facebook or on Google Images, but there are still some technical difficulties: a) all 100 should be different persons b) the images should be filtered so that they only contain photos of people and not other random images.

Another bunch of random ideas off my chest. If interested, check out the previous set also, or the web app ideas before them. The usual disclaimers apply… 1. Facebook downvote button Obligatory disclaimer: I don’t have a Facebook account. But I did have one for a short period, so I have a rough idea what it is about. Unless things have changed dramatically, what is sorely missing is the dislike button. Of course it goes against the feel-goody nature of the whole experience, so probably it will never be added. On the other hand, many elements that are “likable” are also commentable in some way. So the idea is a browser plugin that adds the thumbs-down button within the browser (something like a GreaseMonkey script). When the user clicks it, it writes a comment with the text “I don’t like this”. Those who have the plugin installed will have these comments hidden and only see the dislike-count summary of them. Those without the plugin will see the comments, which make sense on their own, so the whole system degrades gracefully. 2. Software feature matrix This one is a website built around the idea of unbiased comparison of products. It groups existing software or web apps into categories and lists a large set of agreed-upon features, ticking those that a software product implements, with extra information where it does not fully implement it, etc. Such tables have been written for many categories of software, for example this list of CMS software on wikipedia, but the hypothetical website would contain tables for every imaginable category, both Desktop software and web apps, with up-to-date price information and many other features. How to collect the data and how to ensure the information is unbiased, are nontrivial questions, but if done well, such a website could be quite useful. 3. Namespace explorer There exist very good services that help us in coming up with domain names for a project. However, nowadays you might also want to ensure that you can find a matching account name on Twitter, Gmail, Facebook and who knows what other services. This application would suggest names that are available on all these services and would automate to some extent the creation of accounts. Some intuitive navigation interface or visualization of these namespaces to help find available names. 4. Paper airplane simulator Software for modeling paper airplane folding and simulation of their aerodynamic behavior. Additionally, a system that comes up with new folding designs, evaluates and improves them using genetic algorithms or other optimization techniques.

Karl Sims’ evolved creatures meet Robert Lang’s origami work. 5. Juggling tricks optimizer And you thought the previous idea was childish and useless. This one supposes a rich language for describing the mechanics of juggling n balls. Basic siteswap notation (although beautifully compact) doesn’t capture the full range of possible patterns. The hypothetical language could describe throws, catches, multiplexes, hand movements, the anatomically possible range and speed of movements and the physical plausibility of every ball trajectory, possibly including collisions. Using this language we can describe any juggling pattern ever performed in the past or in the future. Now all we need is a pair of scoring functions. The first function tells how difficult a pattern is (described as a string in our language), based on the speed of movement, the resting time between throws/catches and various physiological considerations. The other function tells how interesting the pattern is. I am not even speculating on how such function would look like. Interestingness is related to difficulty, but there are some easy tricks which are very nice (and vice versa), so there is something more happening here. Having these components in place (a big if, I know), we can start optimizing using our favorite genetic algorithm from the previous idea. The system then invents the most interesting, most hard to perform (but possible!) juggling trick. Then it designs the most interesting – yet easy pattern. Tweak the two functions, optimize again, invent, juggle, etc. 6. Car parking game A simple game (mobile or desktop) with realistic mechanics but extremely simple graphics and control. Actually control would not necessarily be simple, but it would instead resemble the control of a (manual) gear shift car with the 3 pedals and all. The cars are basically rectangles, but the acceleration, steering, braking, collision are realistic as much as possible. Possible tasks include parking in some small place, side-parking, turning in 3 steps in a small place, etc. etc. Also suitable as a programming project for children. 7. Song illustrator This plays on a misconception I had when I was 4 or 5. I was familiar with audio cassettes, from which I would listen to stories and songs for children that my parents would put on for me to hear. I had heard about video players before, and I vaguely understood that they are playing moving images (I was familiar with TV already), but I seriously misunderstood something: I thought that video players could play the same audio cassettes I was listening to (say, “The Little Prince”, being read by someone). As they played the audio cassettes, I thought they would render the moving images on the spot, creating vivid animations similar to those I imagined upon hearing the text (or more interesting). It never crossed my mind that in order to have a video version, a bunch of actors would have to go through the trouble of acting it all out in front of a camera. That is so much worse than the way I originally imagined it. So this idea is a modest version of the original concept: take a song together with the lyrics, feed it into this program, which then creates a video for it automatically and synchronizes it to the music. As a first approximation it finds Flickr images corresponding to the words from the lyrics and makes a slideshow out of those. I know, reality is not so interesting sometimes. 8. Visa matrix Back to more realistic waters, this one is a useful tool for world-travelers and world-citizens. If there are 200 countries, make a 200-by-200 matrix, where the column shows your citizenship, the row shows which country you want to travel to and the entry shows what document you need to travel there. For a summary view (for example as a printable poster), the entries can be color-coded: from green to red showing “no document needed”, “passport needed”, “visa needed”, “entry not allowed”, etc. In the online version the cells contain links to the embassy websites where more information is available and the visa application can be initiated. All the necessary information is publicly available already, it is just not collected (as far as I know) in one place like this. 9. Online store where you can negotiate Extremely half-baked, I am thinking this out as I write it down. They say “everything is negotiable”. While that holds only in a limited way, say in a usual mall in North America, it is very true in a bazaar, in the other side of the world. The price you get depends on how much you need it, how desperate the seller is to get rid of it, your and his/her negotiation skills and many other factors. While not all of these can be captured in an online store, certainly some subset of it could be. Currently the online stores give “offers” to you, which is too rigid. They might even give personalized offers, knowing your shopping history, personal data, etc. In many cases, however, they might be perfectly willing to sell the product at a cheaper price if they knew for sure that I was not going to buy it for anything more than that. On the other hand they want me to pay the maximum amount that I can afford and that I am willing to pay. Probably there are legal restrictions on the exact ways to perform such price segmentation, but in theory there could be an online store where I can make a counteroffer: “oh no, I’m not buying that e-book reader for $129, I’ll pay $99 maximum, and that’s it. At most, I can spend another $20 to buy some books, but that’s all I can spend today. Take it or leave it.” Once an offer is made (from either side), it is binding. The online store would have my purchasing- as well as negotiation history, so it could decide whether it would take my offer or would rather make a counter-counter-offer and so on, ad-infinitum. 10. Random wiki image as wallpaper Wikipedia has a nice “Random article” feature, that can easily take information-addicts on an hours-long semi-pointless article-hopping ride. Something slightly less addictive is the WikiMedia random file feature: http://commons.wikimedia.org/wiki/Special:Random/File The results are mostly images. You clicked it? Now click it again! A slideshow of these would make a nice, educational screensaver or periodically-updated wallpaper. There should be some check to filter out images that are too small, that are obviously uninteresting (such as portions of maps or flags of countries), and some context would be nice also, such as title, description, maybe titles of a few of the linking articles. EDIT : I made this: http://lkozma.net/blog/random-wiki-image-wallpaper/