15:02 <popey> #startmeeting Ubuntu Touch Dropping Letters App meeting 15:02 <meetingology> Meeting started Wed Jun 26 15:02:36 2013 UTC. The chair is popey. Information about MeetBot at http://wiki.ubuntu.com/meetingology. 15:02 <meetingology> 15:02 <meetingology> Available commands: #accept #accepted #action #agree #agreed #chair #commands #endmeeting #endvote #halp #help #idea #info #link #lurk #meetingname #meetingtopic #nick #progress #rejected #replay #restrictlogs #save #startmeeting #subtopic #topic #unchair #undo #unlurk #vote #voters #votesrequired 15:02 <popey> blueprint: https://blueprints.launchpad.net/ubuntu-phone-commons/+spec/droppingletters-coreapps-development 15:02 <popey> bugs: https://bugs.launchpad.net/dropping-letters 15:02 <popey> reviews: https://code.launchpad.net/dropping-letters/+activereviews 15:03 <popey> burndown: http://status.ubuntu.com/coreapps-13.10/ 15:03 <popey> as a starter, what involvement do you want aquarius? 15:04 <aquarius> I don't know. I am inclined to ask that you don't block on me, because it is very unclear how much spare time I'll have :( 15:04 <popey> Understood. 15:04 <aquarius> which seems really inconsiderate, I know, and I apologise. 15:04 <popey> To be honest I'm not sure how much additional development work we're likely to have beyond testing 15:05 <popey> we have a work item to re-enable audio (which was disabled because audio is broken on n7) 15:05 <popey> so I suspect that will be blocked on foundation for a bit 15:05 <aquarius> *nod* I can't help with that anyway, having no device :) 15:05 <aquarius> but that's not DL-specific, right? QtQuick Audio{} just flat doesn't work on the devices yet, as I understand it? 15:05 <popey> its okay mhall119 has an n7 with broken audio and reminds us about this almost daily ☻ 15:05 <popey> audio works on the n4, not the n7 15:06 <aquarius> ah, gotcha 15:06 <popey> autopilot is probably going to be the trickiest part? 15:06 <aquarius> I suspect so. I know nuhhhhhhthing about autopilot. :) 15:07 <popey> I mean, we have autopilot skills, but there will likely be some changes to the game qml for introspection type stuff from ap 15:07 <popey> yeah, my knowledge is probably slightly above yours in this instance 15:07 <popey> note: slightly 15:08 <aquarius> :) 15:08 <popey> also a bit hard when a game drops random letters, to do automated testing of that 15:08 <popey> if we did make that work, I'd have autopilot run and get me the best score ever 15:08 <aquarius> :) 15:08 <popey> ah, i18n 15:09 <popey> it's all English isn't it? no internationalisation 15:09 <aquarius> indeed 15:09 <popey> ok, will add an item for translation of the UI 15:09 <popey> then there's the dictionary (ugh) 15:09 <aquarius> i18n is hard 'cos of dictionaries 15:09 <popey> well, there's two parts 15:09 <popey> the UI and the game data 15:09 <aquarius> true 15:10 * kenvandine waves 15:10 <kenvandine> sorry i'm late... when will i learn not to update right before a meeting :)' 15:10 <popey> hah 15:10 <popey> np 15:10 <popey> we were just talking about what work items could be needed 15:11 <popey> basically, autopilot, enabling audio, i18n the UI and the dictionary 15:12 <popey> could we package the word lists up separately at package build time? 15:12 <popey> like have dropping-letters-dict-en and dropping-letters-dict-es built ? 15:13 <kenvandine> possible 15:14 <kenvandine> we might need to make them all conflict so you can only install one language 15:14 <popey> or make a language selector in the UI? 15:14 <kenvandine> true 15:15 <popey> hmm, will have a think about that 15:15 <kenvandine> we could make a binarydict-es.js 15:16 <kenvandine> and depending on a setting, replace the -es 15:16 <kenvandine> i assume that would work 15:16 <kenvandine> in the import 15:16 <kenvandine> aquarius, ? 15:16 <kenvandine> maybe not... in qml that will get imported when started 15:17 <aquarius> hm 15:17 <aquarius> it's large :( 15:20 <aquarius> you can conditionally import 15:22 <aquarius> I asked for qml access to the system dict 15:24 <aquarius> cant't find the bug :( 15:25 <popey> needs more thought, this 15:26 <popey> can you chaps get thinking caps on and ponder how we might do this? 15:26 <aquarius> i18n for DL is a problem because you don't want to be shipping a 1MB dict for each language you support. 15:26 <popey> indeed 15:26 <aquarius> ideally, you wouldn't have to ship a 1MB dict for *any* language, English included. 15:26 <aquarius> Which is why I asked for a QML interface to /usr/share/dict/words 15:26 <aquarius> but that would need to be part of the platform, I think. 15:27 <aquarius> Part of the reason I wrote DL is precisely to work out what average app devs will do 15:27 <aquarius> and "ship a 1MB English dict, and don't do French at all" is exactly what they'll do. :) 15:27 <popey> can you file a new bug if you can't find the old one? 15:28 <aquarius> I can. What should I file it against? 15:28 <popey> ubuntu-ui-toolkit I _think_ 15:28 <popey> one mo, lemme see 15:28 <aquarius> htf do I search logs in quassel? grrr. 15:28 <kenvandine> we could read /usr/share/dict/words 15:28 <kenvandine> if we ditch the "pure qml" 15:29 <aquarius> kenvandine, indeed, someone else could. Not me. And it is not at all clear that an app will have *permission* to read system files. 15:29 <aquarius> I mean: why should it have? 15:29 <aquarius> no reason. 15:29 <popey> it doesn't have to be pure qml 15:29 <popey> other core apps aren't 15:29 <aquarius> So someone would need to invent an apparmor permission, and give it to the app, and talk to the click package people... 15:29 <popey> e.g. file manager and music app 15:29 <aquarius> agreed it doesn't have to be pure QML, but uit *should be*. DL is a demonstration of what you can do as an app dev. 15:30 <popey> ok 15:30 <popey> download dictionary on first start? 15:30 <aquarius> if we keep being all "let's write a c++ plugin" for stuff, then our statement that you can write pure qml apps is a lie ;) 15:30 <aquarius> ah. Now: I wondered about dictionary downloads. 15:30 <popey> from kryogenix.org ㋛ 15:30 <aquarius> That'd work. 15:30 <popey> that gets around everything 15:30 <aquarius> I mean, it's stupid, since they're on the device (er are they? maybe not, in the phone build) 15:30 <popey> stores in your application folder 15:30 <aquarius> but it'd work. 15:31 <popey> so will be deleted when app is deleted 15:31 <aquarius> but it requires the download daemon 15:31 <popey> cures lots of ills 15:31 <aquarius> which doesn't yet exist 15:31 <aquarius> and someone has to host the dicts 15:31 <popey> it can block on that 15:31 <aquarius> which is not gonna be kryogenix.org ;-) 15:31 <popey> other apps need that too 15:31 <kenvandine> i think that is better than the system dict 15:31 <popey> good, we agree 15:31 <kenvandine> app developers aren't going to know about such things anyway 15:32 <popey> its also a useful thing to demonstrate 15:32 <kenvandine> so they will do stuff just like this :) 15:32 <aquarius> kenvandine, why? that approach means that every game which involves words will ship its own 1MB dictionary. 15:32 <popey> yeah 15:32 <kenvandine> no 15:32 <kenvandine> not "ship" 15:32 <kenvandine> download when run 15:32 <kenvandine> the first time 15:32 <popey> and its not a dictionary, it's "game data" 15:32 <aquarius> OK, everyone who writes an app now has to provide a download service for it :( 15:32 <kenvandine> right 15:32 <aquarius> and if my website dies, the game doesn't work. 15:32 <kenvandine> aquarius, it's how app developers do things now 15:32 <popey> aquarius: see jono / jcastro - they're promoting a juju-enabled "game dev website" thing 15:32 <aquarius> at that point: why should I write a native app at all? I might as well do it in HTML5 and get iOS support, too ;) 15:33 <popey> because qml 15:33 <popey> ☻ 15:33 <kenvandine> aquarius, talk to jcastro about getting some redundancy and scalability 15:33 <kenvandine> personally i would always choose to leverage what is available in the system 15:33 <aquarius> popey, ha! throwing up a jujuised tiny website saying "my game is cool, here is a screenshot" is different from serving a 1MB dictionary to every one of 400,000 users and paying for all the bandwidth. :) 15:33 <kenvandine> but that isn't how app developers (outside ubuntu) do things 15:34 <popey> and if they're porting their app, chances are they already have this dictionary hosted somewhere 15:34 <aquarius> I really think that providing a Words { function wordExists(string word) } object in the SDK would be loveliness. 15:34 <popey> sorry, "game data" 15:34 <aquarius> and *relatively* easy. It means that the apps will automatically work in your system language, too. 15:34 <popey> patches welcome ㋛ 15:35 <kenvandine> aquarius, absolutely agree 15:35 <kenvandine> that would be ideal 15:35 <kenvandine> and potentially useful to many developers 15:36 <aquarius> popey, if I were able to write the SDK *itself* in JavaScript, I'd have written the patch in January when I wrote the first version of DL ;) WOrking out the binary dict format for quick searching and then writing a packer for it took longer than patching the SDK would have. I just can't do C++ :) 15:36 <aquarius> interestingly, iOS doesn't offer access to the system dict. So presumably everyone writing a word game on iOS embds a dictionary. 15:37 <aquarius> or multiple dictionaries, if they support multiple languages. 15:37 <aquarius> http://stackoverflow.com/questions/7419940/access-ios-dictionary-programmatically 15:37 <kenvandine> right... so we can potentially do better :) 15:37 <aquarius> There is another potential solution to the "support words in languages other than English" problem, which is... don't support words in languages other than English. 15:38 <popey> I read an interesting article about this recently, can't find it. About a game dev who looked at the overhead of supporting ALL_THE_LANGUAGES 15:38 <popey> but ended up with a very select bunch 15:38 <aquarius> *nod* 15:38 <popey> and there was diminishing returns for each additional language after that 15:38 <popey> was something like EN, FR, JP, DE and that was it 15:38 <aquarius> the beauty of doing this on Ubuntu is that we already have word lists for loads of languages! Every word app would suddenly be available with *no extra work* in loads of lanauges. 15:39 <aquarius> So you can play Slovak Scrabble on ubuntu phone, and you can't on any other platform. 15:39 <kenvandine> indeed 15:39 <kenvandine> aquarius, so justify it in the bug report that way 15:39 <aquarius> We've got a good record and reputation for supporting multiple languages in the platform; it'd be a shame to throw that away and make every app dev solve it themselves, because most won't. 15:39 <aquarius> wish I could find the darned bug. I'll file another. 15:39 <popey> thanks 15:39 <popey> I think we've beaten this horse 15:41 <popey> anything else to discuss? 15:41 <kenvandine> not from me 15:42 <popey> so we now have a few work items with no names.... 15:42 * popey looks at kenvandine and aquarius 15:43 <popey> because we know they won't get looked at without names on them.. 15:45 <popey> I'll speak to balloons about AP tests.. 15:45 <aquarius> https://bugs.launchpad.net/ubuntu-ui-toolkit/+bug/1194932 filed 15:45 <mhall119> popey: obviously my daily reminders aren't annoying enough to get N7 audio working, so I'll have to go to twice-daily 15:45 * kenvandine can't commit to them right now 15:45 <aquarius> feel free to dupe it against the previous bug if anyone else finds it ;) 15:45 <popey> ok 15:45 <popey> thanks kenvandine 15:46 <popey> ok, lets wrap up... 15:46 <popey> thanks chaps! 15:46 <popey> #endmeeting