ONLINE TECHNICAL SUPPORT: This with more time-than-money should help those with more money-than-time [by Andrew Clausen. Thanks to Daniel Burcaw, Rudá Moura, Alfredo Kojima and Marcelo Dias de Toledo for long thoughtful discussions on this] Developers of software know their code, and are probably good at providing tech support. Also, they're likely to know who else knows the program well enough to give quality tech support. There are two types of users: those who have more time than money, and those with more money than time. Developers like helping those who help themselves (falling into the first category), and presumebly those that pay them money ;) However, there's no easy avenue today for developers to help those in the second category. I'd like to fill that gap with an online professional support system. Such a support system should minimize the amount of time the user has to spend, and require no "intelligence" from them. I think there are a few challenges with such a system: * which techie "owns" which issue? How is locking resolved? (Problem: DoS attacks?) * how is price determined? * when is an issue "dealt with"? * what happens if a user isn't satisfied? * how do we encourage quality? * money is sensitive stuff! What security is necessary? * how should it interface with GNU/Linux companies, like Red Hat and friends? * what's a simple, easy UI? I think some of these issues can be dealt with trust metrics. Raph Levien's PhD-in-progress is a good read: www.levien.com/thesis. Trust metrics are non-trivial, especially when you want to resist large-scale attacks. Anyway, I think techies could probably certify each other. Users could then specify minimum levels of trust for people who can answer. Or, perhaps they can just use trust metrics to help them in their decision on whether to accept someone. Unsatisfied users could contact certifiers of the techie, and ask them to revoke certification if things aren't resolved appropriately. Trust metrics can also be used to link up GNU/Linux companies into the system. They could either get their their company as a whole certified (by developers/whatever), or individuals within the company. Wrt bargaining on price: there is a wide variety of skill in support providers, and a wide range in $$$ of clients. Also, it's not clear when support has been finished, how long it will take, etc. So, here's my solution: (1) at any time, the user can deposit or withdraw money into/from his "problem account". There is one problem account per support issue. (2) at any time, the supporter can deposit or withdraw money from the "problem account". This is a Good Solution TM, because both parties have control. The user can control his exposure to the risk of an unscrupulous tech support person, and the techie can get the money he wants, as he is providing support, without risking the user running off without paying. "pay as you go". So, here's a first attempt at a UI for openning support requests: contact-method: [user name in DB, or email or irc-server+nick, etc.] one-line-summary: ______________ estimate of $$$: _____ min-level of trust: [pick from a list] extra details: _______________ Once that happens, users get contacted, and eventually choose someone to help them. (Or alternatively: automatically choose someone with trust >= MIN, if they want the issue handled "asynchronously"). Users should be able to be supported in the way they prefer: IRC, email, ICQ, etc. I guess it's up to developers to get lots of clients. (Remember the Golden Rule! "He who has the gold makes the rules." Don't you love fortune?!)