/srv/irclogs.ubuntu.com/2012/04/20/#ubuntu-touch.txt

=== MacSlow is now known as MacSlow|lunch
dandraderbregma, can I assume that a GeisTouch will have the same ID as its XInput2 counterpart?12:17
bregmadandrader, I can't guarantee it, the GEIS touchId is the same as the Frame touchId but I can't guarantee that's transitive with the X touchId12:37
SatorisI have to leave early, but today I have been refactoring and adding tests to the secret project.12:46
bregmaah, Friday12:50
* bregma thinks about making an espresso to fill his empty cup12:51
=== MacSlow|lunch is now known as MacSlow
tvosschromium patch love, utouch-frame backend work, secret project14:15
bregmabefore I bring up some dbus-backend tests for geis I'm trying to figure out a nice way to simplify existing tests, they're a bit of a pain14:15
* tvoss notices that bregma didn't have a coffee for standus today14:16
dandraderFinished mocking up Xlib and XInput2 for utouch-geis testing. Works beautifully. Now I've started to tidy up things and write the actual regression test for https://bugs.launchpad.net/bugs/98406914:16
tvossdandrader, do you have the mocks reusable or are they tightly integrated with geis?14:17
* bregma swirls the dregs of a fine melange spice coffee from Arrakis14:17
dandradertvoss, they're reusable, but made for geis needs14:18
bregmaI hope they're reusable so they can be used with frame and grail tests14:18
dandraderso they're not mocking up all of Xlib14:18
dandraderjust what geis and frame uses14:18
tvossdandrader, ack .. will take a look at it then14:18
tvossdandrader, might have questions though :)14:18
tvosscnd, standup?14:19
cndright, thanks :)14:19
dandraderbregma, grail tests could use the utouch-frame generic backend that tvoss is cooking up as well14:19
* bregma passes cnd some spice coffee to help his eyes open14:19
cndI'm going to fix up the geis deltas patch, then look for more bugs to work on14:19
cndbregma, dandrader: reviews of the xorg-gtest patches would be appreciated :)14:26
dandradercnd, about that x11 mock up project that you mentioned the other day. The one that Robert Ancell started. Seems to be an absolute overkill for our needs. https://launchpad.net/xig14:26
cnddandrader, overkill isn't necessarily a bad thing14:27
dandraderI didn't spend enough time to understand it properly. but seems quite complex14:28
cnddandrader, are you trying to say that you think it's not designed well, and we shouldn't integrate with it?14:29
cndor?14:29
dandradercnd, Can't really tell right now as I didn't spend enough time to understand it properly. It's just my feeling against adding more complexity than needed. the mocking I did is pretty simple and it's sufficient.14:36
dandradermost functions are empty implementations14:37
cnddandrader, the tradeoff is that we might end up reimplementing similar things multiple times14:37
cndI'm a big fan of reuse and extending existing projects14:37
cnddandrader, I'd feel better if you have concrete reasons why we shouldn't integrate with xig14:39
cndwe could then give feedback to robert too14:39
bregmafor a proper mock Xlib I would want to be able to capture real X events to a file and be able to send them through the mock object to reproduce operations in a controlled way14:39
cndbregma, that would be rather difficult14:40
bregmaI'm just sayin' that's what I would want14:40
cndbecause of things like window IDs14:40
cndat a certain point, you're better off using the real implementation14:40
cnddandrader, would you mind doing a more in depth look at xig and writing up your conclusions?14:41
bregmais that project on lp?14:42
cndbregma, xig?14:42
cndhttps://launchpad.net/xig14:42
bregmasuper, thanks14:42
dandradercnd, I can do it after I'm done with https://bugs.launchpad.net/bugs/98406914:42
cnddandrader, will that require merging in your xi mocks?14:43
dandraderyes :)14:43
cndugh14:44
cndI would rather we made full decisions up front about this14:44
bregmasounds like a good sprint-time discussion14:45
cnddandrader, an xorg-gtest based test would get us over the hump for this specific bug14:45
cndand then we can look more closely at the X mocks14:45
dandraderI would rather not use xorg-gtest for this. Besides, I have the mock ready right now.14:46
dandraderWhy start it over with an xorg-gtest approach?14:46
cndthere's a real cost with multiple implementations of the same thing14:46
dandraderthe mock is small, it's simple to remove it14:47
cnddandrader, maybe we can work out a deal14:47
cndwe can merge your mock, but one of your tasks is to do a more formal look at xig14:47
cndand either redevelop the mock in xig if it is suitable14:48
cndor provide sufficient reasoning why we shouldn't14:48
dandraderthere's a real cost in integration tests that are slow to run and are unreliable since they break easily because they depend on several external factors14:48
cndall that can be fixed14:48
cndeven the slowness for the most part14:49
cndthe way we do the tests right now we insert delays where we don't "really" need them if we write the tests properly14:49
dandradercnd, sure. your deal was my suggestion. dig into xig after I'm done with bug 98406914:49
cnddandrader, let's aim to have things ready to discuss at the sprint14:50
* bregma hates artificial delays14:50
* bregma spent too many years doing realtime to have likes for usleep()14:50
cndthere's two places where we generally have delays in our tests:14:51
cnddevice init waits14:51
dandradercnd, to tell the truth I don't even know how to test bug 984069 with xorg-gtest. With the mock I send Xinput2 events with specific window and device coords. Then I can easily check which of the coords showed up on the other side, in Geis events14:51
cndand polling for more events14:51
cnddandrader, you can send a gesture event from a touchscreen evemu recording14:52
cndand check that the coordinates match known good values14:52
cndfor the device waits, we can listen for XIHierarchyChanged events14:52
cndinstead of waiting X seconds14:52
cndand for the polling for more events, we probably should just break the loop when we get the gesture end event we're looking for14:53
bregmamost of what's in the geis integration tests is slapped together quickly so I could forcus on functionality rather than pukka tests14:53
cndyeah14:53
bregmaI am turning my attention to improving the tests today14:53
cndI do the same in grail and frame though14:53
cndit's not just you :)14:53
bregmabecause it is hurting me avery time I look at one14:53
cndbregma, I'm beginning to think that xorg-gtest should have an event processor and dispatcher14:54
cndso we don't reimplement the same event loop in every test14:54
bregmaperhaps, but it will take some though to make it usefully generic14:54
cndyeah14:54
cndthat's why I haven't done it yet :)14:54
bregmaI would start by refactoring the geis tests to see if we can identify what can be further refactored upstream into xorg-gtest14:55
cndyep14:55
cndthe other thing I might tackle today is that when the env shuts down we SIGTERM/SIGKILL the x server but we don't wait for it to actually die14:55
cndI think this is causing race conditions in the geis tests14:55
cndwhere the next test starts before the previous test is finished14:56
bregmaI would think the OS should really take care of that sort of thing14:56
bregmaperhaps the X server is a special case because of all the wacky external stuff it does14:56
bregmalike all the DBus stuff it ssems to do (ever run strace -f on it?)14:57
bregmacnd, your comments on bzr/git sure poked a sore spot14:58
cndthere's a not insignificant amount of time between the server being sent SIGTERM and it actually completing shut down14:58
cndyeah...14:58
cndbut it's inevitable, there are people ingrained on bzr and git14:59
bregmait's a religious issue for many14:59
bregmaI was playing with git-bzr-ng yesterday....  sweet14:59
cndyeah15:00
cndbregma, the one from termie's github repo?15:01
bregmayes15:01
bregmait's not package for Debian or Ubuntu15:01
cndit still has some rough edges though15:01
cndbut it definitely helps15:02
cndbregma, if I want to listen for both drags and pinches, I create separate filters for them and add them to one subscription?15:05
bregmayes:  filter terms are ANDed, subscription filters are ORed15:08
cndk15:08
bregmaI repeat that to myself a lot because I always muck it up15:08
cndbregma, what's the easiest way to determine what type of a gesture a geis 2 frame is?15:12
cndit looks like it would be easy if I could get the gesture class of a frame15:13
cndbut that doesn't seem possible15:13
bregmathe only way is to call geis_frame_is_class(), which means you need to remember all the classes as they are reported15:14
cndbregma, should we be adding a geis_frame_get_class() call?15:14
bregmaa frame can be classified more than one way15:15
cndahh15:15
bregmain theory there could be a ..._get_classes() call15:16
cndif I have both a pinch and a drag going on for the same subscription, will I just get one set of frames?15:16
bregmathat's the way it's supposed to work15:16
cndok15:16
bregmaI believe it does work that way, but I don't think there's a test to prove it15:17
bregmadandrader, do you have a branch with your mock X available?15:23
dandraderbregma, lp:~dandrader/utouch-geis/lp98406915:25
bregmathanks -- I think you're right, this is exactly what we need, but I think it should be a completely separate project, it's got potential uses outside uTouch15:28
bregmathat can be done later15:28
bregmaxig wouldn't help use15:29
bregma*us*15:29
cndbregma, why wouldn't xig help us?15:41
=== dandrader is now known as dandrader|lunch
bregmaas far as I can tell by reading the code, xig is a glib wrapper around Xlib that comes with a mock xserver15:43
bregmait would help us if we rewrote utouch to use gobjects15:44
cndok15:45
bregmawe should maybe get Robert to join us for a chat at the sprint or at UDS, if he's not busy, and share15:45
cndyeah15:46
bregmaor maybe the whole idea of a mock xlib is worthy of a session at UDS?15:46
cndI worry a bit about creating lots of test frameworks for X, when we might move off it soonish15:46
* bregma backs away slowly from a project that could consume small cities15:46
cndyeah, that's my concern too15:47
cndI do sort of feel the need for a mock is lessened if we make the integration tests work well15:48
bregmais there some way we could change evemu so it doesn't need root privs?15:49
cndyes, it's actually quite easy15:49
cndhowever, it's quite the security hole15:49
cndbregma, put this: http://paste.ubuntu.com/938453/ in /etc/udev/rules.d/99-user-input.rules15:50
cndand change the group to whatever makes sense for you15:50
cndthen restart15:51
cndor chmod/chown the files for the current session15:51
cndwith that and the fix currently in upstream xorg-gtest master you can run tests as the normal user without having to switch to a VT15:52
cndbiab15:53
=== tvoss is now known as tvoss|gftd
cndbregma, with the xorg-gtest patch I just sent out, I'm able to run through a full geis test suite without issue16:53
bregmaI'll test it out locally -- do you need a reviewed-by or anything?16:55
cndyes16:56
cndfor all four patches sent to the list16:56
bregmarighty-o16:56
cndthanks16:56
cndI wish there was a version of the wait* syscalls that took a timeout value16:57
cndit seems silly that there isn't16:57
cndand registering a signal handler for SIGCHLD in a library seems bad16:58
bregmawell, having a mainline in a library is a bit unusual, too16:59
cndbregma, you mean having main()?16:59
cndit's optional, so you don't have to use it if you don't want16:59
bregmaI knwo, but it's weird to me16:59
cndyeah16:59
cndbut it does make things easier16:59
bregmathat's why SDL does it on windows17:00
bregmajust, you know, a data point17:00
=== dandrader|lunch is now known as dandrader
cndbregma, with some simple changes we can drop the geis2 tests from over a minute to 18 seconds :)17:15
cndhttp://paste.ubuntu.com/938581/17:16
bregmacnd, why do you think delta-radius should be geometric rather than arithmetic?  Doing it that way doesn't feel quite right on a touchscreen.17:44
cndbregma, the radius value is geometric now17:44
cndit feels right to me, too17:45
cndwhen I pinch in unity17:45
bregmaI mean geometric doesn;t feel right17:46
bregmathen again, gestures no longer work in eog17:46
bregmaI wonder when that happened17:46
bregmahmmmm17:46
AlanBell!ping17:46
lubotu3another contentless ping... sigh...17:46
cndbug 98621517:47
lubotu3Launchpad bug 986215 in utouch-geis "Radius delta values should be a ratio instead of a difference" [Medium,In progress] https://launchpad.net/bugs/98621517:47
cndwelcome lubotu3 :)17:47
bregmaskynet is here17:47
cndbregma, why does geometric not feel right?17:48
cndwe discussed this a while back17:48
cndthough on irc, where records are harder to find :(17:48
bregmait just doesn't feel... right17:48
bregmaI guess it's just subjective17:48
bregmaI don't recall any discussion on radius delta being geometric17:49
bregmaactually, it feels right for touchpads17:49
cndthere's also hand size to take into account17:49
cndwhich geometric handles inherently17:50
AlanBell!ping17:50
ubot5another contentless ping... sigh...17:50
AlanBellquick botswap, I sent the wrong one in17:51
bregmaperhaps it's mostly a matter of training, geometric is not broken, just not how I expect it to behave on a touchscreen17:51
bregmaI admit it's really really subjective17:51
cndthe problem is if you have arithmetric, you'll have to do thresholds that are based on each individual device size17:52
cndand resolution17:52
bregmavery true17:52
cndand some devices can't provide accurate values for both :)17:52
bregmayes, pain is to be had there17:53
cndI honestly felt like the pinch threshold in unity before this change was good for the magic trackpad17:53
cndbut too high for the touchscreen17:53
cndI had to really work to trigger it on behemoth17:53
cndnow it feels much more natural on both17:53
cndit was also near impossible on my netbook, but now it is impossible because my netbook is only semi-mt :(17:54
bregmawell, it's not really that big of a deal for me and perhaps if necessary in the future we can make this a tuning point17:56
cndyeah17:56
cndubotu18:11
cndubot5, ubotu18:11
ubot5Hi! I'm #ubuntu-touch's favorite infobot, you can search my brain yourself at http://ubottu.com/factoids.cgi | Usage info: http://ubottu.com/devel/wiki/Plugins | Bot channels and general info: https://wiki.ubuntu.com/IRC/Bots18:11
cndubot5, es18:11
ubot5En la mayoría de los canales de Ubuntu, se habla sólo en inglés. Si busca ayuda en español entre al canal #ubuntu-es; escriba "/join #ubuntu-es" (sin comillas) y presione intro.18:11
cnd!es18:13
ubot5En la mayoría de los canales de Ubuntu, se habla sólo en inglés. Si busca ayuda en español entre al canal #ubuntu-es; escriba "/join #ubuntu-es" (sin comillas) y presione intro.18:13
cnddandrader, just for you:18:13
cnd!pt18:13
ubot5Por favor, use #ubuntu-br para ajuda em português. Para entrar no canal por favor faça "/join #ubuntu-br" sem as aspas. Para a comunidade local portuguêsa, use #ubuntu-pt. Obrigado.18:13
cndubot5, thanks!18:14
ubot5You're welcome! But keep in mind I'm just a bot ;-)18:14
dandrader:)18:14
dandraderwhat's the problem people have with resubmitting a proposal? for me it's the most natural way to do precisely that. otherwise verdicts for an earlier version of the path (like "needs fixing") will still list there19:56
dandraders/path/patch19:57
cnddandrader, earlier reviews can be overwritten by later reviews, and the log tells you what has changed over time20:03
cndthe problem with resubmissions is that the interleaving of the code and the reviews are lost20:03
cndbut I don't know how to best handle the situation where you add new stuff to an existing approved proposal20:04
cnddandrader, can you provide more detail on why a gtest test won't work for your geis proposal?20:06
cndI don't understand why it can't be used20:06
dandradercnd, it can be used. but I would have to disentangle it from xorg-gtest and the optional compilation of integration tests20:07
cnddandrader, I think we should do that then20:07
cndgtest is supposed to be the "preferred" testing framework for product strategy20:08
dandradersure. I was just too lazy to fight with autotools to do that disentanglement work. :)20:08
cndheh20:09
dandraderwas reading canonical-tech mailing list. about the bzr situation: it's a bittersweet feeling. It's sad to see a project being ramped down but it's great to see that Git is eventually coming on board :)20:12
dandraderoops20:13
cndhmm... google mock is really c++ only20:21
cndmaybe keeping the xinput mock simple and hand made is best20:22
cnddandrader, I'm wondering if we should do something a bit fancy:20:22
cndmake the mock optionally take evemu recordings20:22
cndand generate xinput events from them20:22
cndat compile/runtime we could then switch between integration and unit testing20:23
cndwell, integration with the kernel and X server vs just everything above the X server20:23
isforinsectsAre there any tests it would be helpful for me to run on a macbook4,2 for 12.04?20:25
dandradercnd,  what do you mean exactly by "making the mock optionally take evemu recordings". It will read the recordings and produce XInput2 events out of them, thus still doing everything in the same process?20:26
dandrader(probably not but one can always hope)20:27
cndyes, that's what I mean20:27
dandraderawesome!20:27
cndit means adding a lot of code to the mock20:27
cndbut it would mean we no longer depend on a kernel and X server unless we want to20:27
cndisforinsects, you can verify that the unity gestures are working: https://wiki.ubuntu.com/Multitouch#Supported_Gestures20:28
dandradergoogle mock also reallies heavily in classes having mostly virtual methods (if I'm not mistaken) for the mocking magic to work. I really don't like that requirement20:32
cndyeah, I think I remember tvoss saying he looked at it too, and it wouldn't work for the utouch stuff20:33
isforinsectscnd: Checked them out, and they are supported. Are those configurable anywhere?20:33
cndisforinsects, no20:33
cndhopefully they don't need any configuration :)20:33
=== dandrader is now known as dandrader|afk
isforinsectsThat's an odd opinion. None of these are things that I find useful. I respect that your opinion might be the majority. but I can imagine that no one else wants desktop pagination, app switching, or tab switching as gestures20:36
cndisforinsects, oh, do you mean configurable as to what gesture corresponds to what action?20:36
cndthe answer is still that it's not configurable, but really that's a Unity issue20:37
cnda design issue20:37
isforinsectsOh yeah. If you meant what delta values trigger things, I completely trust other's judgement in that.20:37
cndok20:37
isforinsectsI've built unity before, do you know where they're defined in the code?20:37
cndisforinsects, we are basically implementing the unity multitouch specification: https://docs.google.com/a/canonical.com/Doc?docid=0AU5sFuLRpCpBZGZra2pqY2pfMTU3MmhwbXczcWQ120:39
cndif you have input on the designs, and whether there should be configurability, then you will want to ask the unity and/or design team20:39
cndthere's a mailing list for it20:39
cndthe problem is there are lots of lists and I don't know which is correct :)20:39
cnddandrader is the person working on implementing them though20:40
cndlooks like he just left for the day20:40
bregmacnd, do you have a xorg-gtest repo with your patches already applied (they're not in http://cgit.freedesktop.org/~cndougla/xorg-gtest)?22:21
bregmaor is the daily PPA up-to-date with the patches already applied?22:21
cndoh, I haven't pushed them to my repo22:33
cndI'll do that right now22:33
cndbregma, pushed22:33
cndthey're in the fixes branch22:33
bregmathanks22:35
bregmawell, I still seem to need the delay in the StartUp() function because the server isn't always ready when I am22:41
cndbregma, do you mean in the fixture SetUp methods?22:53
cndif so, what's the output you get22:55
cndthe xorg-gtest environment setup should have waited until a client can open the connection to it22:55
bregmaI get tests randomly failing without it, not sure why without deeper delving23:03
bregmaif I run each test standalone, it passes23:03
bregmaI'll dig deeper23:04
cndI'm upgrading my transformer and will test there too23:07
cndif you need a slow machine to cause problems, it should be slow enough :)23:07
bregmaheh, the problem seems to be the evemu file creation is taking a long time, it has nothing to do with the X server startup23:52
bregmafortunately, the solution to that is pretty obvious23:53
bregma.. XIHierarchyChanged events23:54

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