<br><br><div><span class="gmail_quote">On 11/30/06, <b class="gmail_sendername">Richard Franks</b> &lt;<a href="mailto:richard.franks@drdc-rddc.gc.ca">richard.franks@drdc-rddc.gc.ca</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Thu, 2006-11-30 at 13:47 -0700, Jeff Andros wrote:<br><br><br>&gt; ok, I was thinking more like /dev/random pulls seeds from all the<br>&gt; devices registered with it, or the way that mythtv detects commercials<br>&gt; based on plugins, create a virtual device that returns a read of 0-255
<br>&gt; based on the probability that you're available... as each device(light<br>&gt; sensor, etc) is added, it would register with /dev/available as a<br>&gt; detection device, and provide a function to return another byte value
<br>&gt; of what it thinks the user's doing.&nbsp;&nbsp;the available device would<br>&gt; perform some kind of heuristic on this.&nbsp;&nbsp;then when a call comes in,<br>&gt; the receiver daemon checks with /dev/available, then uses the value
<br>&gt; returned to decide what to do.&nbsp;&nbsp;different events could have different<br>&gt; values ( e.g. the girlfriend calls, it'll ring if the value is greater<br>&gt; than 3 (basically not dead... probably from a VOC sensor) but if the
<br>&gt; bill collectors call, the value better be 250+ or I'm not getting<br>&gt; bothered)<br><br>As a matter of personal preference, I'd prefer to avoid sticking<br>abstracted concepts into /dev - start with /dev/available and you end up
<br>with 100's of entries<br>including /dev/probability-of-the-user-feeling-like-a-grilled-cheese-sandwich -- it's not as scalable.</blockquote><div><br>I hadn't thought about this, I figured since most of the sources should be other devices, we wouldn't get filled up, simply put each device would provide a pointer to a method extending the standard character driver from within the device driver, and we'd include this functionality within the kernel, but you're right, if we have to implement more than just one virtual device, we'd better find another place to stick this functionality
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">A 'plugin' is a high-level user concept - the transforms I described<br>also work as 'plugins', but I think we're talking about the same thing..
<br>so written down in transforms, what you describe would be:<br><br>[multiple sinks] =&gt; .... -&gt; (user availability)<br><br>And whether or not the phone rings when a call comes in:<br><br>Sinks:<br>(caller)<br>(user availability)
<br><br>Process:<br>compares scores<br><br>Sources:<br>(ring/silent notification/vibrate/ignore)<br><br><br>The difference in implementation is moving away from a rigid rule-based<br>system (there was an article posted a day or so ago describing these) as
<br>with rules, each component decides too much upon its own, and it has no<br>way to deal with rule-conflicts as each application is left to construct<br>its own closed-decision-chain. In this system, each application doesn't
<br>have to waste system resources (read:battery life) reinventing the<br>wheel.</blockquote><div><br>so you're suggesting that each application have access to the raw feeds from each notification device?&nbsp; there are definite&nbsp; advantages, and you'd have a more flexible system. I'm just thinking of a more asymetric system where each device notifies /dev/available device when something changes... this would also put us into kernel mode for computing (I'm not sure if this is good or bad... or both).&nbsp; raw access to the sensor feeds would be excellent because I could differentiate between laying on the desk in the light in the library (I'm probably across the room... ring louder, don't vibrate) or in my pocket in my car.&nbsp; the problem with doing it this way, is you'd need some way to notify each application of all the sensors available at runtime, or you re-compile each availability sensitive app for every combination of sensors (having that many versions of software is sure to turn off Sean's dad) there's definately more to think about on this one
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt;From your example, say 'availability' was a datasource between 0-255,<br>with user-defined cutoffs (
e.g. 250 = anyone but smelly john can call<br>me) then the application still has the freedom to override the<br>system-consensus, but such deviations are explicit.<br><br>Richard<br><br>_______________________________________________
<br>OpenMoko community mailing list<br><a href="mailto:community@lists.openmoko.org">community@lists.openmoko.org</a><br><a href="http://lists.openmoko.org/cgi-bin/mailman/listinfo/community">http://lists.openmoko.org/cgi-bin/mailman/listinfo/community
</a><br></blockquote></div><br><br clear="all"><br>-- <br>--Jeff<br>What DO you call whitewater when you live in the desert?