/srv/irclogs.ubuntu.com/2012/03/27/#ubuntu-touch.txt

bregma_cnd: yes, that would be the simple and I believe correct solution (aclocal --install --force will overwrite with a fresh copy if it's available)01:54
SatorisWith dandrader's Unity and newest Grail everything works except three finger spread.08:49
SatorisIt's a bit laggy and the movement is overly sensitive.08:49
SatorisThe first one is an issue of Unity and/or GL drivers.08:50
SatorisFour finger taps don't work in Unity 2D, but did they ever?08:53
=== MacSlow is now known as MacSlow|lunch
SatorisWhoah, on my laptop three finger drag is crazy accelerated.11:28
SatorisAhah, because it sums up the movements of all fingers.11:28
SatorisThis may be related to why three finger spread does not work.11:29
=== MacSlow|lunch is now known as MacSlow
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
cndSatoris, bregma, dandrader: standups! (tvoss is unavailable)14:15
dandradercontinuing the review of https://code.launchpad.net/~chasedouglas/utouch-grail/touch-states/+merge/9941014:15
SatorisTesting new Grail & stuff under various circumstances.14:15
bregmaone bug left: working on #944822 (post-hoc device additions to subscriptions)14:15
SatorisResults in the backlog.14:15
cndI'm going to be trying to find a bug in the current grail code :), and doing my own performance review14:15
bregmacnd has O(n^2) performance14:16
cndSatoris, thanks for the testing14:16
SatorisNp. The spread thing is the biggest issue ATM.14:16
cndSatoris, yeah, spread needs fixing14:17
cndI can't get it to fire either14:17
cndbut it's obviously a good sign that grail doesn't have any bugs it seems14:17
cndif we can't find a bug we'll have to make a decision on whether to include the touch states changes in precise14:18
SatorisWhy are the gesture names missing in https://bugs.launchpad.net/utouch-geis/+bug/85395814:18
cndSatoris, I've not looked at the code myself yet...14:19
bregmaan attribute of "gesture name" makes no sense in GEISv214:19
bregmaGEISv1 chooses one at random, it still mkes no sense but stop people from complaining14:20
bregmaif you need to find out of a gesture belongs to a specific class, you need to call geis_frame_is_class()14:21
SatorisThere are still a couple of "failed to get previous touch value"s.14:22
cndSatoris, yeah, I'm going to look at that today as well14:23
cndit's a bug wholly in utouch-frame (or X)14:23
cndutouch-frame-test-x11 shows the issue too14:23
cndbut only for my magic trackpad14:23
cndit doesn't on behemoth's touchscreen14:23
SatorisFailed to get previous value makes perfect sense for a tap, though. It is instantaneous, after all.14:24
SatorisThough in practice it probably isn't.14:24
Satoriscnd: preferably Skype today, is that ok?14:29
cndSatoris, sure14:29
SatorisExcellent, see you then.14:29
bregmacnd, are you going to implement that daily build fix for frame and grail or shall I (I probably have more bandwidth for it)14:33
cndbregma, I planned on it, but if you have some spare moments feel free14:34
cndI probably won't get to it for another couple hours14:34
bregmaK14:34
cndtvoss, good presentation :)15:01
tvosscnd, thanks :) my fingers are bleeding :)15:01
cndheh15:01
tvosscnd, not literally :)15:02
cndbiab15:02
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
cndtvoss, any ideas why jenkins tests are failing when the device is a trackpad?15:34
cndtvoss, would it be possible to save the /tmp/Xorg.gtest.log file as part of the jenkins build output?15:34
cndthen we'd have a better idea why some tests may fail15:34
tvosscnd, otp15:34
cndok15:35
cnddandrader, is AtomicRecognizer::ProcessTouches instead of CollectNewTouches good for you?15:38
tvosscnd, shouldn't be much of a problem, let me check15:38
dandradercnd, yes15:39
tvosscnd, quite interesting that all tests pass for amd6415:40
cndtvoss, oh...15:40
cndI've been running i386 tests15:40
cndit would be really handy to get the log file15:40
tvossyeah, grail is green for amd6415:40
tvosscnd, checking for the logfile15:41
cndit could just be a difference in which packages are installed?15:41
tvosscnd, hmmm, no, both vm's are configured equal15:42
tvosscnd, script altered, build triggered15:46
cndgreat15:46
=== dandrader is now known as dandrader|lunch
cndbregma, I just reviewed your frame daily builder fix16:37
cndbregma, tvoss, dandrader|lunch, so the touch accounting does not seem to fix any functional bugs17:33
cndI think it may fix some unbounded memory growth, but we don't have good tests for checking that yet17:33
cndit's a pretty big change, so I'd like some feedback on whether we should push it into precise at this stage17:34
cndpros: more maintainable touch state accounting17:34
cndmay fix memory growth issues17:34
bregmait's definitely a big change, if it does not fix anything I would be hesitant for precise17:35
cndcons: big change late in the cycle affecting larg area of code17:35
cndwe can always branch utouch-grail at this point and apply it to trunk17:35
cndI also tend to think that we may be able to resolve unbounded memory growth with a few ERASE_TOUCH fixes in the current code17:36
cndso if it is an issue the resolution may not be too difficult17:36
bregmait should definitely go in eventually, but let's hear what the other guys say about precise... no rush until beta freeze is off, right?17:37
cndbregma, correct17:37
* cnd finished his self-evaluation \o/18:59
=== dandrader|lunch is now known as dandrader
dandraderIt's a big change but on the other hand it's a rather simple one.19:05
cnddandrader, you have an interesting definition of simple :)19:07
cndI gather you mean conceptually it's simple19:07
dandradersimple meaning that it's mostly a refactoring mapping one-to-one the existing functionality19:07
dandraderno new features19:08
cndyeah19:08
cndI'm torn because it's not really a necessary bug fix, but I believe it makes the code easier to read, understand, and maintain19:09
cndI don't really want to get a week or a month into the 12.04 release and realize that we really do need it19:09
cndand we have many tests that ensure things are still working properly and no memory is being leaked19:10
* cnd -> lunch, biab19:12
cnddandrader, I just realized we have a meeting in 17 minutes19:13
cndwould you like to have it now?19:13
dandraderah, that's true19:23
dandradersure19:23
dandradermumble?19:23
dandradercnd, ^19:24
cnddandrader, sounds good19:24
cnddandrader, any luck with synaptics?20:34
dandraderit's up and running now20:34
cndis unity working any better?20:35
dandradergimme a few minutes20:35
cndk20:35
dandraderforgot that  I have to get it from that ppa20:39
cnddandrader, I know why the pinch to maximize/unmaximize is broken20:44
cndthere's a behavior change20:44
cndI'll make a patch and test it out20:44
dandradergreat. patch for utouch-grail?20:45
cndbregma, if you have an opinion on commits for white space fixes, please reply soon20:45
cnddandrader, no, unity20:45
cndthe behavior change is intended20:45
cndthe pinch radius used to be given in device units20:45
cndbut that's really not very useful20:46
cndthe device units vary greatly among devices, and resolutions reported by devices may be non-existent or incorrect20:46
cndso now we report the pinch radius as a ratio of the current radius to the gesture start radius20:46
dandradercnd, would be great to have it documented in geis.h :)20:48
cndthis behavior change is pretty big, but I think it's necessary20:48
cndwell, it's not a function of geis20:48
cndit's a function of the backend20:48
cndwe could document it in the geis header, what is expected depending on the backend20:48
dandraderbut does the geis client has any knowledge on the backend used?20:48
cndI'm guessing it can query it20:49
cndbregma?20:49
dandraderit's kinda odd the a geis client has to if{}else{} his code according to the backend used...20:50
dandraders/the a/that a20:50
cndyeah20:51
cndit's not the best solution20:51
cndwe could make the geis layer report the attrs in device units again20:51
cndbut it would be a step backwards...20:51
dandradercouldn't it always be "as a ratio of the current radius to the gesture start radius"?20:52
cnddandrader, what do you mean?20:52
bregmacnd, I already commented on the whitespace issue20:53
dandraderI mean having the geis layer always reporting the attributes in those more useful units20:53
cndbregma, ok, just checking if there's anything more you wanted to add20:53
cnddandrader, that's essentially what it does now20:54
cndit only reports the ratio20:54
cndin the past it reported device coordinate units20:54
dandraderand why can't we make that behavior backend-independent?20:55
dandraderso that we can document it and users rely on it20:55
* dandrader is confused20:55
bregmawe currently only have one real back end20:55
cnddandrader, well, making it backend independent would mean making the old, obsolete, no longer available xcb backend use the ratio too20:55
cndthere's really no use for updating the xcb backend20:55
bregma(the dbus back end should be invisble)20:56
bregmaif it's documented, though, any future back end will need to reproduce the behaviour somehow20:56
bregma(think: Windows, iOS)20:56
cnddandrader, the xcb backend was only ever available in ubuntu, as far as distros go20:56
cndso it's really really dead now20:57
cndbregma, good point20:57
dandraderbregma, and isn't that a good thing? or could that be impossible?20:57
cndI'm thinking one big task that must be completed first in the Q cycle is full API documentation, behavior documentation, and architecture documentation20:57
cnddandrader, I think bregma is just saying that going forward we need to document it and stick to it21:02
cndnow that we really may attempt to work cross-platform, cross-distro, etc.21:02
cndwe picked the wrong units the first time and we learned, and now we need to standardize going forward21:03
cnddandrader, if I give you a small patch to make pinch work, would you mind applying it to your tree again?21:14
cndhttp://paste.ubuntu.com/902870/21:14
dandradernp21:15
bregmasorry, my wife just came home and told me about her day (priorities)... yes, I mean we need to document it and stick to it, we needed better documentation for M, let alone Q21:15
dandrader:)21:16
cndheh21:16
cndbregma, luckily, Maverick is out of support on april 10th21:17
bregmaI guess I can close that outstanding geis bug then21:18
dandradercnd, try that: 1- slide 3 fingers on the touchpad like crazy to that you start dragging a window 2- about ~ 1 sec later let a 4th finger on the trackpad21:18
dandraders/to that/so that21:18
dandraderwhat I get is the dash showing up == a 4-touches tap gesture came up21:19
cnddandrader, so I'm moving a window with 3 touches21:20
cndand then I put a 4th down?21:20
cndand continue moving?21:20
dandraderno. put a 4th down a lift it21:21
dandraderwhile the other 3 remain down21:21
cnddandrader, so essentially do a tap with a 4th finger?21:21
dandradercnd, yes! :)21:22
cndok, so it shows the dash when I do that21:22
cnd:)21:22
dandraderso we got ourselves a new bug!21:22
cndwhich is expected behavior with how we have architected the stack21:22
cndthe question is: did we architect it wrong21:23
cndor do we need to fix unity21:23
cndor even: is it really a bug?21:23
cndthis is actually behavior that tracks way back while we were developing the very first version for maverick21:24
cndit was behavior requested by sabdfl himself :)21:24
cndnot saying that means we shouldn't change it21:25
cndimplicitly leaving the subject of a sentence off doesn't work as well over irc...21:25
cndI'm not saying that means we shouldn't change it21:26
dandraderI put 3 fingers down, move them around like crazy, then I tap with a fourth finger, while the first 3 stay put <= that can't be a 4-touches tap!21:26
cndI designed the new utouch architecture to mimic the old architecture unless I thought it was obviously wrong, like the pinch units21:26
cndI can't say that I can think of a reason we should make this act like a 4 touch tap21:27
cndand when we switch to geis v2 and the regular recognizer it will be more obvious what is going on21:27
cndthough that will require matching up touch ids21:28
cndwhich we could do here just as easily21:28
cnddandrader, to sum up my thoughts: we should keep track of the touches of a gesture21:28
cndif a tap includes touches of a previous gesture, we should not honor it21:28
dandraderone problem in my example is that 3 out of the 4 fingers that comprise that 4-touches tap have moved way beyond the movement threshold for a tap21:29
cnddandrader, yes, but then you left them stationary during the "tap"21:30
dandraderand they also have been down for way too much time to configure a tap21:30
cndthe timeout is calculated from when the gesture starts21:31
cndwhich is when the fourth touch goes down21:31
dandraderfor a tap gesture, timeout should be from the start time of its oldest touch21:34
cnddandrader should stop leaving :)21:35
cnddandrader, you should stop leaving in the middle of a conversation :)21:37
cnddandrader, the problem with your approach is that it doesn't allow the flexibility of someone who *does* feel that it should be a four touch tap to receive the gesture21:38
cndI don't like the idea of taking away a potential use case for everyone when the alternative is to tell some people to just filter out gestures they don't want21:39
dandradermy x-chat lost its window decoration. had to restart it21:40
cndthat sounds like it hurts :)21:41
dandraderrestarting compiz has its problems :)21:41
cndheh21:41
bregmacompiz bug, I believe21:41
dandraderthe thing is: what's the definition of a tap/21:41
dandraderfor me it's when you quickly lay down an lift a finger21:41
dandraderto a 4-touches tap would be when you quickly lay down and lift *4* fingers21:42
dandradernot just one21:42
dandraders/to a 4/so a 421:43
cndyes, but that's not the only possible definition21:43
cnda tap could be defined as when going to a specific number of touches and then leaving that number of touches within a specified interval21:44
cndthe initial and end states are undefined and can be anything21:44
dandraderIn the use case I described earlier. I think if there would be a tap gesture there it would be a 1-touch tap (containing only the 4th finger).21:46
dandraderthat would come and go while the 3-touches drag is still going on21:47
dandraderthat in a non-atomic recognizer21:47
cndthen you've got multiple simultaneous gestures on a trackpad21:47
cndthough that would be one appropriate response for a touchscreen21:48
cnddandrader, I guess my thinking is that this is a policy question21:48
cnd"what is the definition of a multi-touch tap"21:48
cndand we can try to define the policy in the utouch stack21:48
cndor we can give all the info to the client and ask them to enforce whatever policy they want21:48
dandraderI didn't really get what you meant by policy there, but that sounded like you want the client to do at least part of the work of gesture recognition...21:51
cndyes and no21:51
cndfor me, a robust gesture system provides the client with gestures21:51
dandraderor should we have two kinds of tap gestures?21:52
cndand the client decides which ones apply for the given context21:52
dandraderaccording to my definition of a tap. what should a client have to do to get it?21:53
cndif they just listen to N-touch taps, then they don't have to do anything21:53
cndif they are more complex, and listen to M-touch gestures and N-touch taps, where N > M21:54
cndthen they should check if the N-touch tap gesture is comprised only of touches who begin as part of the gesture21:54
cndunfortunately, geis v1 doesn't expose all the grail slices of a gesture, so that approach won't work here21:55
cndbut we can find a work around as a stop-gap measure21:55
bregmaGEISv1 exposed all the touches of each gesture21:56
cndbregma, yes, but not all the "slices"21:56
cndto give an example21:56
cndyou have a two touch tap21:56
dandraderhmm... If the geisv2 version of Unity doens't have this issue then here's our ticket to get the geisv2 refactoring on board :D21:56
cndin geis v1 and geis v2 without tentative events, you will receive only one geis event21:56
cnddandrader, heh, we can more easily work around the issue in geis v1 than by moving to geis v221:57
cnddandrader, I'm inclined in general to write this one specific bug off as won't fix, anyways :)21:57
cndi.e. unsupported21:57
cndif the work to make it function 100% correctly would be large21:58
cndbregma, dandrader: if you're still around, I'm leaning toward merging the touch accounting branch22:05
cndI think dandrader is in agreement22:05
cndbregma, do you have a strong objection?22:06
cndI'm still open to change my thoughts if you feel strongly22:06
bregmathe more I think about it, the more strongly I feel that now would be the best time to merge it22:29
cndinteresting :)22:30
bregmaI think it's a slightly better architecture and if we have to maintain the code over the lifetime of the LTS release, it should go in now22:32
bregmamy only reservation is that it is not a trivial change and does not fix any bugs, so technically it does not quality for going in to precise at this point in the release cycle22:33
cndagred22:34
cndagreed*22:34
cndI think the pros outweigh the cons22:34
dandraderme too22:37
dandraderthere's a very well defined period of silence in grail right after I start a 3 or 4 touches gesture. but that doesn't happen with 2 touches. any ideas? (I would like to blame synaptics, as usual)22:41
cnddandrader, you normally won't receive two touch gestures...22:41
bregmaI have no problem bending the release rules a little if you're confident the change does no harm and dandrader is favourably inclined22:41
dandradercnd, that's what output looks like http://paste.ubuntu.com/902989/22:41
cnddandrader, what gesture were you performing?22:43
dandradercnd, any 3 or 4 fingers movement22:44
cnddandrader, if you cross the drag threshold before the 300 ms timeout, it should immediately start sending events22:44
dandraderand for the two touch gestures, I just followed your instructions on how to remove interference from x stuff via synclient and xinput set-prop22:44
cndif you just lay your fingers there for 300 ms, it will wait22:44
cndahh, ok22:45
cndI don't know what the difference would be22:45
dandraderthat silence period is what causes the jumps in my gestures22:47
cndhmm22:47
dandraderlike the launcher jumping to its final position on a 4-touches drad22:47
dandraderdrag22:47
cndI don't get it here22:47
cnddandrader, you're running synaptics now?22:49
dandraderyes22:49
cndcool22:49
cnddandrader, so when the gesture crosses the threshold for the subscription, it should flush the slices22:49
cndso that's where I would start debugging22:49
cndto see why slices aren't being flushed22:49
cnddandrader, I have a hard time believing you should still be working today, though :)22:50
bregmaaddict22:50
dandraderI had a looong lunch break today. had to go to the bank, fetch my repaired bike from the shop, etc22:51
* cnd fears we are all pots calling the kettle black :)22:51
cnddandrader, I wouldn't worry too much if it's a one-time issue, btw22:52
cndif you average 40 hrs a week, with a couple hours of variation, you're fine :)22:52
bregmabesides, you need to put in the after-hours work on all your hobby projects22:54
cndheh22:55

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!