3 ms·
So you want to create a virtual personal assistant that has instant access to real-time information to provide you with the best formulated advice given your re
by ismarc 17y ago
So you want to create a virtual personal assistant that has instant access to real-time information to provide you with the best formulated advice given your request? You want it to additionally adapt to the decisions you make based on the information it provides so that it can increase the quality of suggestions for the user over time?
If the above is true, targetting WinMO, iPhone and Android models, you're looking at a client/server model with the core data on the server and data interpretation model on the device (for out of band suggestions, cache recent data on the device). You can then use a HTTP based model for fetching the data (client certificate for authentication so you have control over which clients can connect).
Or, you can go a different route and provide a web-based service that does the same thing and offer login's to track individual user decisions. This can be a fairly simple front end, several clicks and you're at the result ("I'm hungry" "Something close/something cheap" "Here's your list of suggestions"). Additionally, you can expose an API for access to the decision making/result sets and allow others to utilize that API (access control however you would like, an open API would probably get a large number of adopters to write the mobile clients for you, increasing the user base without the headache of supporting multiple devices, instead focusing on the API and core logic).
Only drawback I see to the web based implementation is the inability to get more than a really course location, but adding the ability to supply coordinates to the API and provide geo-ip based location for web-based would satisfy that.
My take on your description sounds like something I'd use, and the algorithms to do this sort of thing already exist (I'd use simple decision tree logic and stop when it's at 4-6 possible solutions and some fuzzing for variety, including the possibility to ignore a choice or two once it's been drilled down a bit to allow for some real variety.)
- saychef 17y agowhat a flippin' great comment. thank you. insight and direction- nice work! mahalo. what are doing for the next couple months? want to help start a start-up?