What I'd like to build is a service that compares prices of rather specific goods. These goods must be looked up on an external website I do not own in a way that is as unobtrusive as possible (for several reasons - being a polite web citizen is definitely a big one). Once I have a title/IBAN/proper identifier these goods must be looked up on a number of external services at intervals. There are two problems with this:
- I don't see any of these lookup processes as real-time. This might be a problem but I'm not hitting a database of some sort, I'm searching for these infos outside my domain. For this reason unifying similar searches will be extremely important.
- I believe most of the work will happen asynchronously in the background.
What I thought is having some sort of faceted search:
- User enters string in a form
- I search for similar strings that I already searched for
- -> If I have a completed search I serve the results -> If not I have the user register to notify him when the search has been performed
- I have a number of results that have some sort of identifier I can use. I ask the user to select the result/item he wants monitored.
I feel like this process is rather complex, and also that the user doesn't have proper feedback for the actions he's asked to perform (i.e. Search -> Come back later -> Select a result -> Come back later). It also bothers me that I'm telling the user a lot of implementation details he shouldn't be interested in just because "that's how it works, it is what it is". I'd use notifications and emails extensively obviously but it would be nice to have ideas on how to streamline this process, if possible.
I'm building the product without much experimentation, but implementation details make it very hard to think I won't have a drop rate that is completely out of the roof. Still, the product is still mostly asynchronous by nature.