Here are some more web app ideas. As I am not implementing any of them right now, I’m posting them in the hope that someone else will find them interesting and build something similar. They might not be useful in their current form, but maybe they can be further iterated and inspire someone to come up with something else. Let me know in the comments what do you think, especially if any of these exist already.
1. Wikitravel itinerary
The way I travel might not be the most typical, but here is how I usually prepare before leaving: I download and print all the relevant articles from Wikitravel and Wikipedia. These include the place where I actually go, nearby sites worth visiting, places I will pass by on the train, generic articles about the region, country, etc. I then read all this while on the train or while waiting for a bus or a hitch-hiking opportunity or whenever there’s nothing better to do during the trip. For example if I’d go to Chennai, I would download the articles on India, South Asia, South India, Railways in India, the one on Chennai, and the articles on interesting places in the nearby such as Pondicherry.
To reduce the amount of paper I carry, I slightly edit and compress the articles before printing, removing some sections or pictures, text that is common between articles, etc. For the places where I stay longer I leave most of the information, for places I just pass through on the train I remove the restaurants, hostels section, leaving just a short description of the place. If I travel with other people we often share some of this preparation, but it still takes a few hours of work that could be easily automated. In particular it takes some effort to hunt down all the relevant articles, because when you don’t know much about a place, you won’t know what is in its neighborhood either, that might have an article about it.
By the way, Wikitravel is great, this method has given us so far more up-to-date, more interesting and more reliable reading material than most traditional travel guides. So the web app would do the following: I enter where I will go, possibly a few other places that I pass by and it fetches all the possibly relevant articles from Wikipedia and Wikitravel using geographical location of places and returns a small, ready to print document. It can also ask what languages I understand and look for articles written in those. Possibly other sources could be added, such as maps or train timetables, but this alone would be quite useful already. If not for printing personalized travel guides, it could work as a mobile app: download the articles on a mobile phone to allow offline browsing while on the road.
2. External sites analytics
There is a trick described here that uses the different styling of visited links to sniff whether the user has visited some other websites or not. It was suggested that this hack could be used to customize the social “share” buttons, in order to show only those services that the visitor has used in the past. The same technique could be used to find out more useful information about the visitor: which search engine they use, whether they read the NY Times or the WSJ, if they are a Gmail or Yahoo mail user, whether they use the competitor’s product, etc. The technique does not allow reading the full browsing history, it just gives yes/no answers for a predefined set of websites.
The user of this analytics service would choose which other websites they want to follow, and for each visitor they would get the list of websites from this set that the visitor has actually visited before. Combined with the traditional analytics data: referring site, browser version, length of visit, this could be valuable business information.
Some immediate disadvantages:
- the technique can raise some privacy and ethical issues, although the information is leaked by the browser anyway, it is considered a bug, so it might reflect negatively on a website that wants to exploit this data. Also, most users would not be aware that this type of information can be collected. On the other hand many users are unaware of traditional analytics as well, which doesn’t deter websites from collecting it.
- the method is not 100% accurate, and it does not work if the visitor has deleted their browsing history
- it could potentially be embarrassing for a website to expose the list of other websites they care about (acknowledging competitors, important news sources, etc.)
3. Related page 404
Larger web sites such as those of big corporations or universities suffer inevitably from the deterioration of links. Pages often change addresses, and even though the material is still available, it can not be found at the original address. Services like Google Cache come in handy sometimes, but they might not have indexed a correct version of the page or they might contain outdated content (often the page is available somewhere else with more up-to-date content, for example a university admissions page).
A quick solution would be if the “page missing” message would be followed by suggestions of pages which are similar to the old page that used to be there. This could be achieved by a site search engine that stores important keywords of indexed pages and would search within the domain for those keywords, if the page is currently missing. This could be a feature of site search engines, either hosted on the server or managed remotely. This is similar to the second idea in this list, or this idea.
4. Stacked source widget
World map widgets that show where your website visitors are from used to be very popular. Also, there exist real-time widgets that show where the last 5 or so visitors are from (both geographically and also from which site they were referred). One combination I haven’t seen yet is a stacked graph visualization of traffic sources in the past week/month or year. This would show how total traffic numbers have changed, and also when certain sites were sending more traffic than others. It could be interesting for example to see how at some point your page was featured on reddit, later on slashdot, how traffic was picked up by other sources afterwards, etc. Of course, all these can be visualized by existing analytics packages, but I am thinking of a widget that would make this information available to the visitors of the site. The various sources would be clickable and the visitor could discover related interesting material by going to the sources. I am not sure there would be an incentive for site owners to use this, however, which is why this idea is half-baked :)
5. Unicode obfuscator
This is a very simple service inspired by this post. I enter some plain English text and it returns a set of unicode characters from other languages or special characters that visually resemble the latin letters (ignoring the actual pronunciation or history of the letters). It can be specified how much distortion should be added to the text:
at level 1: hello -> hello
at level 2: hello -> ⱨěłļō
at level 3: hello -> ɧԐԼ˪◌
While I don’t have a specific use case in mind for this, it could be used wherever you want text to be human-readable but not searchable. Otherwise it could be just a fun and useless way to write on forums, not unlike metal umlauts in band names.
6. Comment whiteboard
This one is simple: instead of the usual text comment box after a blog post or article, have a whiteboard on which visitors can draw whatever they want. This would need just the minimal tools, such as picking colors, drawing, erasing, perhaps zooming. Visitors could draw at the same time and they could overwrite each other’s drawing anytime. The history of the whiteboard could be played back, so nothing would be actually lost. Obviously, most of the time nothing would happen so the playback could be sped up significantly to include only the times before something was erased/overwritten.
I am trying really hard to think of a scenario where this would be useful. Articles on math, where formulas would be difficult to type in comments? Nah, there are ways to let users type LaTeX or just dumb down formulas to plain text. Blogs for children who can’t write yet? Hmm, maybe not. Perhaps this one really is useless. Although it could feel quite natural on touch-screen devices.
7. Rotor game
This is a game idea which I couldn’t actually make to work. If anyone would pick it up and make something out of it, I would be super happy. It is based on the rotor-router model where each node is in one of a number of states. Let’s suppose it is actually a checkered paper and each cell can be in one of four states (indicated by an arrow pointing in one of four directions). A walker is passing through these cells, following the arrows, but after he passes a cell, the arrow in that cell will turn clockwise by 90 degrees.
This set-up leads to very interesting, seemingly chaotic behavior which is of interest to mathematicians and physicist, but I am curious whether some interesting board game could be designed from this premise. My first attempt was to have the user design the initial configuration of arrows such that they will guide a ball from start to finish. To make it more difficult, there can be several balls with intersecting paths, and the arrows have to be configured such that each ball gets to its destination. The problem is that this way the puzzles become either trivial or impossible to solve. If several balls can be moving at the same time, there are additional complications: can they pass through each other? What if they get to the same cell at the same time? etc.
I still hope some interesting game/puzzle could be designed from these rules, perhaps slightly modified (hexagonal field?), but I have given up searching for it for the time being. Well, this is not strictly a web app idea, but if the game turned out to be interesting, it could be implemented as one. Here is a page where I sketched the idea during some idle times.
8. Zooming GUI for web