16:28:24 RRSAgent has joined #coremob 16:28:24 logging to http://www.w3.org/2012/06/26-coremob-irc 16:28:26 RRSAgent, make logs 25 16:28:26 Zakim has joined #coremob 16:28:28 Zakim, this will be 16:28:28 I don't understand 'this will be', trackbot 16:28:28 Dong-Young has joined #coremob 16:28:29 Meeting: Core Mobile Web Platform Community Group Teleconference 16:28:29 Date: 26 June 2012 16:28:43 Scribe: Josh_Soref 16:28:48 nghanavatian has joined #coremob 16:28:54 topic: Testing 16:29:56 chrisramos has joined #coremob 16:29:57 ytsai has joined #coremob 16:29:58 ming has left #coremob 16:30:05 ming has joined #coremob 16:30:39 darobin: topic for today is Testing Testing Testing 16:30:53 ... with maybe a little on vendor prefixing 16:30:59 ... yesterday we talked about QoI tests 16:31:04 ... conformance tests 16:31:10 ... prioritizing interop issues 16:31:41 ... testing the untestable 16:31:48 ... we had a notion of testing for areas 16:31:57 ... "categorizing testing/levels" 16:33:18 Eunjoo has joined #CoreMob 16:33:43 jfmoy has joined #coremob 16:34:30 wesj has joined #coremob 16:34:34 [ darobin live edits a text file ] 16:34:51 Present+ Wonsuk_Lee 16:34:58 rob: you might be interested in building a web app that's primarily an audio player 16:35:18 present+ Ming_Jin 16:35:31 ... you might really care about ring 2+3 and only ring 1 of typography 16:36:05 tobie: rob's point goes in the direction of the point that Josh_Soref made yesterday 16:36:12 ... leveling doesn't make sense for extra features 16:36:22 wseto has joined #coremob 16:36:45 dehgan: polling app developers 16:36:52 ... "what features do you need for these themes" 16:36:59 q+ 16:37:50 DanSun: we might want a video category 16:38:03 [ Scribe isn't going to transcribe the text file ] 16:38:06 q? 16:38:14 ack wseto 16:39:08 chihiro has joined #coremob 16:40:14 mattkelly has joined #coremob 16:40:26 q+ 16:40:32 q+ 16:40:49 julianshen has joined #coremob 16:40:58 mattkelly: the need to automate tests.... 16:41:35 ack mattwkelly 16:41:46 ack mattkelly 16:42:12 [ chairs bicker at eachother over testing the untestable ] 16:42:45 tobie: categorization is useful 16:42:53 ... but a goal of this project is to fight fragmentation 16:43:04 ... having a device that's a good fit for some apps and not others 16:43:06 ... is a problem 16:43:10 q? 16:43:12 ... i want to raise a flag about this 16:43:13 ack tobie 16:43:17 q+ 16:43:32 jo: surely it's legitimate to have devices with a specific purpose in mind 16:43:50 tobie: for the vast majority of mobile devices people are interested in 16:43:54 ... i'd argue it's less so 16:43:58 bejram has joined #coremob 16:44:19 jo: say you're building a navigation - car app 16:44:24 tobie: it's not mobile 16:44:33 jo: it's "mobile scoped, not mobile specific" 16:44:48 ack mattkelly 16:45:23 jo: rob, why don't you lead us on QoI? 16:45:27 rob: i don't know how to do this 16:45:47 ... it's the thing that causes us the most problems: 16:45:53 ... browsers not quite behaving right 16:45:58 jo: give us an example 16:46:09 rob: there are 2 examples that sum up the problems 16:46:13 ... 1. password field 16:46:32 ... if it has lots of dom elements before it, it hangs when you press backspace 16:46:44 ... we attach a dom listener and clear it if it had one character 16:46:58 ... 2. browser crashes if you have a thing to define a schema 16:47:10 ... 3. browser clears local storage if you get a large calendar invite 16:47:25 ... it took us 6 months to reach what we think is a reproducible test case for that last one 16:47:45 darobin: some of the tests you mention are egregious corner cases of one browser 16:47:51 ... hopefully in a single version of the browser 16:47:57 ... we could have a test suite for that 16:48:06 ... but it would require automation driving 16:48:12 ... and it's more in the field of regression testing 16:48:15 ... than QoI 16:48:20 tobie: i agree w/ darobin 16:48:34 ... you end up w/ test suites targeted at existing browser bugs 16:48:38 Harrison has joined #coremob 16:48:42 mansoor has joined #coremob 16:48:44 ... and browser vendors don't like that 16:48:48 rob: absolutely 16:48:58 ... and it makes the browsers you build for look like they're the worst 16:49:07 rob: conformance to spec is something we don't pay attention to 16:49:13 ... we need to focus on real devices 16:49:20 ... nuances that don't quite work 16:49:26 ... we need to deliver now 16:49:33 ... waiting for things to improve isn't an option 16:49:48 darobin: conformance testing brings a lessening 16:49:53 ... of problems with time 16:50:14 ... there's a reason no one's asking about GIFs or Tables 16:50:27 Josh_Soref: only in the last 5 years (gifs were crashing before) 16:50:33 ... (tables may have been problematic more recently) 16:50:44 darobin: performance... not hardware accelerated graphics 16:50:47 ... css animations 16:51:00 ... where the frame rate suddenly drops to 1/5 s 16:51:04 ... those are more common 16:51:13 ... i think fixing those things can help 16:51:26 rob: i think we're close to the problem of defining what a device is capable of 16:51:32 ... and detecting if it's doing well enough 16:51:34 ... or doing badly 16:51:42 ... we have flags to detect "fastish" or "slowish" 16:51:54 ... and vary how much we do based on how fast we perceive the device to be 16:52:04 ... that isn't correlated to the absolute performance of the hardware 16:52:09 ... it correlates to the browser 16:52:14 darobin: there's a relationship 16:52:16 q+ 16:52:33 ... part of what we've talked about before wrt QoI 16:52:37 ... is whether it's doable 16:52:45 ... and people get performance testing wrong most of the time 16:52:53 ... i'd like to find out if this group wants to do it 16:52:56 girlie_mac has joined #coremob 16:53:01 ... and has the right resources to do it right 16:53:18 q? 16:53:30 q+ lars erik 16:53:40 ack jo 16:53:48 ack lars eris 16:53:51 ack lbolstad 16:53:57 ack l 16:53:59 ack e 16:54:03 q+ lbolstad 16:54:19 Josh_Soref: i want to praise FT for doing the right thing 16:54:26 ... namely to detect performance 16:54:33 ... and then adjusting what they do based on it 16:54:35 q? 16:54:53 ack lbolstad 16:55:10 tobie: among the QoI issues 16:55:19 ... are those that i added to the spec yesterday 16:55:25 ... asked on and on again by game makers 16:55:28 ... speed of canvas 16:55:32 ... speed of css animation 16:55:40 ... multiple sounds together 16:55:42 ... latency 16:55:49 ... - which is really terrible on some devices 16:55:57 ... -- close to a second on some devices 16:56:10 ... things which prevent the game industry from building html games 16:56:15 mattkelly: i'd add physics performance 16:56:17 ... and GC pauses 16:56:26 ... what i was focusing on in Ringmark early 16:56:28 ... was page scrolling 16:56:32 ... which affects everyone 16:56:41 ... i'd assume including FT 16:57:27 darobin: page scrolling performance 16:57:39 ... touch responsiveness is delayed to handle clicks 16:57:48 jo: people use native for touch reasons 16:59:03 darobin: it's deliberate and can be hackiliy disabled 16:59:16 rob: can you talk about testing video output 16:59:22 s/can/yet: can/ 16:59:31 jet: mozilla has backdoors into firefox to do testing 16:59:36 ... for fps 16:59:51 ... for e.g. animations 16:59:59 darobin: there's the Browser Testing and Tools WG 17:00:05 jet: it may well be 17:00:10 ... i haven't seen a proposal from them 17:00:23 darobin: the scope is anything related to testing a browser 17:00:31 ... they'd be allowed to produce technology we're not 17:00:41 tobie: we could write a note to that group 17:00:48 darobin: if you have requirements around that 17:00:52 ... then talk to them 17:01:02 jet: for our needs, are requirements are largely met 17:01:10 ... for this group you want to be able to test across all 17:01:19 ... browsers 17:01:42 q? 17:01:48 itai: just wondering if the answer to these tests is highly dependent on the hardware perf 17:01:57 ... to test one compared to another 17:02:09 ... maybe we need a way to have a combined grade for a hardware platform 17:02:15 q+ 17:02:19 ... combining memory bandwidth, computing power, ... 17:02:24 ... say "i'm a class B platform" 17:02:30 q+ 17:02:32 darobin: that's possible, but it's hard 17:02:39 ... we talked about yesterday 17:02:49 ... to draw a line and say "this is a typical platform" 17:03:01 ... on anything like this or better, you need to do this or better 17:03:21 ... if you do something piggishly on a high end hardware, good for you 17:03:36 ack tobie 17:03:42 ... for feature phones, you can say you're below that 17:03:49 itai: the idea is captured 17:04:03 ack mattkelly 17:04:16 mattkelly: my opinion is in line with darobin 17:04:21 ... we should have a baseline and go from there 17:04:40 q+ 17:04:41 ... for level 1, 50 sprites @30fps, any phone should run 17:04:45 ... even an iPhone 3 17:05:03 ... no Device Capabilities are in the fold 17:05:05 ... e.g. NFC 17:05:08 koichi has joined #coremob 17:05:10 ... no one is building apps for that 17:05:22 darobin: we're about to get an NFC WG 17:05:33 ack tobie 17:05:34 ... i hear interest in this 17:05:39 ... how do we make it actionable 17:05:54 ... does someone want to pick a baseline hardware 17:06:00 ... i want speed of cpu/gpu 17:06:13 bkelley: you can't quantify performance with a couple of numbers 17:06:17 ... different architectures 17:06:23 g+ 17:06:26 Yan has joined #coremob 17:06:29 q+ 17:07:15 q+ 17:07:16 q? 17:07:19 s/g+// 17:07:23 q+ Dong-Young 17:07:39 ... memory bandwidth 17:07:42 ... cache size 17:07:52 darobin: can we cut corners in a way to be meaningful 17:08:05 ... we know it's wrong, but good enough for our purposes 17:08:22 bkelley: by establishing that baseline, we exclude devices 17:08:25 q+ jo 17:08:30 ack tobie 17:08:51 tobie: one issue at the bottom of this is whether we can look at a browser outside the device it's running on 17:09:02 ... as an end user, i care about how quickly it runs on my browser on my phone 17:09:13 ... they're tied together in a way much deeper than on desktop 17:09:21 .... the other aspect is who the audience of these tests is 17:09:26 s/..../.../ 17:09:35 ... for browser vendors, being able to compare matters 17:09:44 ... for developers, it matters whether you can build to a phone 17:09:48 ack mattkelly 17:09:57 mattkelly: 500mhz, no memory 17:10:13 ... and completely awesome browser, and does 50fps, and it passes 17:10:26 ... maybe we can go w/ numbers for individual target bits 17:10:31 ... don't worry about hardware 17:10:39 q+ to say target UCs 17:10:41 ack d 17:10:51 darobin: say targets for browser-device 17:11:02 Dong-Young: what matters is the combination of browser-hardware 17:11:05 darobin: we can test that 17:11:10 ... it just makes more test results 17:11:22 tobie: you can do analysis to compare browsers on 200 different devices 17:11:26 q? 17:11:27 ack jo 17:11:37 jo: this conversation is going in the direction i want to talk about 17:11:47 ... setting a particular hardware spec is the road to ruin 17:11:57 ... many a young man has fallen on that road 17:12:20 ... it's important to not talk about mobile phone 17:12:29 ... say your purpose is to make a "video player" 17:12:32 marcos_lara has joined #coremob 17:12:43 ... it should be testable 17:12:59 ... relativistic measures 17:13:06 ... are probably the only sensible way of testing 17:13:28 ... if i produce a thing and it works abysmally on a device 17:13:32 ... it's not useful 17:13:55 mattkelly: i'd argue we need very clear focus 17:13:59 ... at least short term 17:14:08 q? 17:14:16 ... my opinion is the group should focus on where the market is 17:14:20 ... to catch up w/ native 17:14:23 ... enable 2d games 17:14:32 ... and where people will buy new markets 17:14:36 s/new/in new/ 17:14:41 ... when we hit critical mass 17:14:49 ... then it's much easier to talk about more aspirational issues 17:14:53 ... focus on current market 17:14:57 ... where they're sold and why 17:15:00 ... 2d games 17:15:02 ... a/v apps 17:15:04 ... camera apps 17:15:21 jo: i don't disagree 17:15:33 ... i'd say categorizing in a limited and extensible way is a good thing 17:15:41 ... i think relativistic measures is a good way 17:15:43 q? 17:15:44 ack me 17:15:44 Josh_Soref, you wanted to say target UCs 17:16:32 Josh_Soref: I don't know if it's technically possible to count how many sprites are on the screen in Angry Birds, but a survey of the top N apps in the market, 2d games, video players... 17:16:43 Josh_Soref: Top 3 devices, top 10 apps for a thing, see what they're using 17:16:52 Josh_Soref: Maybe 25 sprites at 30 frames per second 17:17:04 Josh_Soref: You test at 15 frames, 30 frames, 60 frames 17:17:10 Josh_Soref: Figure out how many sounds, test for that 17:17:20 Josh_Soref: you build tests so it can test more than the target, so it can report that 17:17:26 Josh_Soref: then the tests can naturally scale up 17:17:36 q+ 17:17:37 Josh_Soref: you can go back and say "This year, we need twice as many sprites" 17:17:51 Josh_Soref: we don't need to rewrite the tests, just change the benchmarks 17:18:14 Josh_Soref: I don't think it's very hard to do most of this. Might be boring. Might be fun 17:18:25 jo: mattkelly you have done sprite counting, or you haven't don sprite counting? 17:18:30 mattkelly: we did this 8 months ago 17:18:35 ... we were building jsgamebench 17:18:40 ... we built a 2d game bench 17:18:50 ... we launched sprite counting in ringmark about 2 weeks ago 17:18:57 ... we measure sprites rendering @30fps 17:19:01 ... bare minium 17:19:04 s/nium/nimum/ 17:19:10 ... high games need @60fps 17:19:16 ... but that's rare, even on xbox 17:19:21 ... it's definitely testable 17:19:30 ... but on devices, push notices inbound can lead to a pause 17:19:37 ... causing a fail, same for gc() 17:19:48 ... from my perspective, if the pause happens, fail the test anyway 17:19:54 ... we're definitely doing sprite counting 17:20:18 tobie: jo, you were asking about type of sprites in a game 17:20:26 darobin: jo was asking if sprite counting was done 17:20:33 tobie: the answer to that was "yes" 17:20:39 jo: mattkelly just answered that at more length 17:20:48 tobie: a point of mattkelly 's research for jsgamebench 17:20:55 ... was to define types of games and sprites per game 17:21:05 ... cards have max of 5 sprites per game 17:21:12 s/per game/concurrently/ 17:21:27 ... 25 for 2d platform games 17:21:39 jo: action to tobie to chat this into the public domain 17:21:45 ACTION: Tobie to provide numbers for required sprites/fps in games 17:21:45 Created ACTION-26 - Provide numbers for required sprites/fps in games [on Tobie Langel - due 2012-07-03]. 17:21:51 ... it seems publishing the numbers you're talking about 17:22:04 ... it tells developers you need to target this 17:22:08 ... and to browser vendors 17:22:10 ... the test's job 17:22:19 ... is to see if you can do 1fps, 2fps, 6... 17:22:22 ... until it barfs 17:22:41 ... at that point, you say "you did 25fps", "but you can't do X/Y/Z @fps" 17:22:46 ... that's all it should say, not pass/fail 17:22:54 ... but there are external qualifiers 17:23:04 ... it doesn't matter if you haven't reached that 17:23:06 q+ 17:23:11 ack jo 17:23:11 ack jo 17:23:23 ... external contemporaneous events on a device 17:23:30 ... in the event you get an SMS during audio, what happens 17:23:41 ... ok, you can do 60fps 17:23:44 ... but what happens to the battery 17:23:51 ... there's a range of metrics that are testable 17:23:58 ... no Pass/Fail criteria 17:24:02 ... but perfectly testable 17:24:05 ack tobie 17:24:15 tobie: corie's jsgamebench 17:24:20 ... brought to this discussion 17:24:29 ... to have anything smooth enough, you need 30fps 17:24:37 ... you don't need more than that, except hard core 3d games 17:24:41 ... and less doesn't work 17:25:30 tobie: about Battery 17:25:42 ... how badly running a game drains the battery 17:25:50 ... it goes back to browser-hardware combo 17:25:55 ... good browser on bad hardware 17:26:04 ... will have the same perf on bad browser on good hardware 17:26:14 ... but good browser will probably drain the battery less than bad browser 17:26:20 ... adding that would be good to test 17:26:41 q? 17:27:16 s/a point of mattkelly 's research for jsgamebench/a point of cory's research for jsgamebench 17:27:18 jo: and you can directly compare to find 'good' / 'bad' browser on a single device 17:27:36 RRSAgent, draft minutes 17:27:36 I have made the request to generate http://www.w3.org/2012/06/26-coremob-minutes.html Josh_Soref 17:27:37 s/corie's jsgamebench/cory's jsgamebench 17:27:53 darobin: trying to summarize to reach actions 17:28:06 ... anyone want to write tests? 17:28:13 ... since you joined this group to do testing 17:28:19 jo: i joined this group to talk about testing 17:28:25 mattkelly: the question is who wants to write these tests 17:28:35 ... i'm happy to port over what we've done w/ ringmark 17:28:35 bejram1 has joined #coremob 17:28:53 jo: can we reverse out the underlying bits 17:29:02 ... to codify the tests we want to accomplish 17:29:14 mattkelly: we've done a bit of research for jsgamebench 17:29:17 an interesting study on browser battery consumption: http://www2012.org/proceedings/proceedings/p41.pdf 17:29:24 RRSAgent, make logs public 17:29:30 RRSAgent, draft minutes 17:29:30 I have made the request to generate http://www.w3.org/2012/06/26-coremob-minutes.html Josh_Soref 17:29:58 Chair: Jo Rabin, Robin Berjon 17:30:17 mattkelly: GC pauses can be guessed based on dramatic framerate drops 17:30:26 vidhya: what's a GC pause 17:30:26 ACTION: mattkelly to document JSGameBench and the approach behind it 17:30:26 Sorry, couldn't find user - mattkelly 17:30:32 mattkelly: sorry, Garbage Collection pause 17:31:06 Josh_Soref: GC pauses run a bit on the main thread 17:31:12 ... historically heavily there, recently less so 17:31:28 mattkelly: for