**** BEGIN LOGGING AT Thu Aug 27 02:59:58 2015 Aug 27 03:16:47 Herrie, pong. Aug 27 03:21:12 Herrie, Tofe, see http://webos-ports.org/wiki/Human_Interface_Guidelines#Notifications.2C_Warnings_.26_Secondary_Windows for how Banners & Dashboards behave under webOS. Aug 27 05:43:03 DougReeder: thnx Aug 27 05:43:16 So you agree that banners themselves should always disappear automatically? Aug 27 05:44:47 I also found that morphis sample code for the GridUnits was incorrect. You might want to double check Testr (I didn't really understand your code :P). This is the correct syntax: https://github.com/webOS-ports/luna-systemui/blob/webOS-ports/master/data/PowerdService.js#L143 Aug 27 06:01:56 thanks guys, I have some reading and thinking to do :) Looks like it's all a bit wrong in LNC code (and in the way we manage dashboard and banners) Aug 27 07:12:12 Tofe: popup/alert are fine. Dashboard look ok to me too Aug 27 07:12:58 Just banner needs some work. I.e. instead of dashboard hight it should be lower, just icon/text height and it should disappear completely after the 2/5 seconds Aug 27 07:14:42 You can test with Testr on legacy device. On 2.x banners are at the bottom like with us (coming in from bottom). On 3.x it's in statusbar sliding in from right to left and reverse direction when removing it. Aug 27 07:23:34 Herrie|Veer: if I understood DougReeder's link correctly about dashboard, the latter should be able to be minimized/restored, something very alike our current notification bar. (see the point about "Notification Bar") Aug 27 07:36:53 Tofe: Yeah so our current banner behavior should be for dashboards. Aug 27 07:37:27 When there are dashboard icons these should be hidden when the banner slides in from bottom and become visible again after the banner slid out. Aug 27 07:42:59 Tofe: This stuff is difficult to explain without visuals :P Problem is that 2.x behavior is different from 3.x so you cannot test it really on TP. Aug 27 07:53:21 Tofe: I sent you some video links for visuals :) Aug 27 07:53:33 Happy to test things or clarify things. Aug 27 07:53:45 Got 2.x device with me all the time :P Aug 27 09:03:15 Herrie|Veer: I'll just read and watch all that, I think Aug 27 09:03:40 I also have a TP and a Pre3, so if needed I can study them too Aug 27 09:05:06 Tofe: AH ok :) I think we have the logics OK they just need some tweaking. Banners are most obviously wrong currently in both style and behavior. Aug 27 09:09:14 Herrie|Veer: well, we should also be able to mix notifications and dashboards in the same area Aug 27 09:12:35 Tofe: Yeah currently on 2.x banners come on higher z on top of dashboard icons. Then when banners fade out the dashboard icons appear again. Aug 27 09:13:47 In the Palm Pre Keynote, https://www.youtube.com/watch?v=zplVSI0M93o at 4:35 it's a banner, right ? Aug 27 09:14:09 the previous ones were dashboard, notifications and a popup alert Aug 27 09:15:57 Yeah 435 is a banner Aug 27 09:16:41 In case there are active open dashboard icons they get hidden and then the banner icon + message slides in from bottom. Then slides out again and the dashboard icons are back Aug 27 09:17:00 So you'll never have the dashboard + banner icons visible at the same time. Aug 27 09:17:37 Herrie|Veer: and the banner isn't clickable, right Aug 27 09:18:55 In 3.x this is a little different because the dashboards are fixed left next to device menu and the banners slide in from the right left of that. Easiest one to see that is to connect a charger Aug 27 09:19:06 There's no interaction with banners afaik Aug 27 09:22:56 3.x or 2.x, the principles are still the same, it seems. Let me try to name them, so that we finally agree on the goal design: Aug 27 09:23:44 1. Dashboard and notifications are treated alike, in an expandable notification area. Dashboard can be interactive, where notifications are just text+icon (+action eventually) Aug 27 09:24:51 2. Alert popup are shown separately, until the user discards it (OK, Cancel, etc) Aug 27 09:25:34 3. Banner are shown temporarily, icon+text, and are not interactive. Aug 27 09:25:57 Tofe that sums it up correctly I guess Aug 27 09:26:45 Then there's the question of specific behavior (i.e. what happens when dashboards are at full size and banner comes in etc). But those are fairly small cosmetics in general. Aug 27 09:27:13 Ithink what got me confused is that Banner are alike dashboards (it's a dedicated card type, not just a little DBus notification), but very very much simplified Aug 27 09:29:24 Yeah ;) Especially since the sms that arrives pretty much looks/acts like a banner but it's actually a dashboard for example :P Aug 27 09:34:35 Herrie|Veer: one last thing, about dashboard and banner height: it looks like their height is a fixed one: 56px for dashboard, and... for banner? Aug 27 09:35:07 Tofe I need to look into that. It's lower for sure but not sure how low.... Aug 27 09:35:54 Let me search for banner in 2.x css files :P Aug 27 09:36:50 palm-banner-container: width: 320, height:24 Aug 27 09:36:58 I guess that's about right :) Aug 27 09:37:13 And no BG styling for the rest just icon + text Aug 27 09:37:58 Text is 290px width on legacy but we can do 100% - 30px for icon I guess in our case? Aug 27 09:38:41 Font size 14px, bold, line height 20px, font color #fff Aug 27 09:43:13 wait wait -- we don't have the text or icon information here. We just get a card (i.e. a new window) Aug 27 09:43:52 Banner is icon + text. Aug 27 09:44:37 Notification is icon+text, Banner is a card (based on the WindowType enum we have in luna-next, made by morphis) Aug 27 09:45:00 That's wrong we just established that :P Aug 27 09:46:06 Banner is nothing more then just a quick notification that appears and disappears after the 2/5s Aug 27 09:46:20 Which has an icon and plain text Aug 27 09:46:38 But... we have only one kind of notification Aug 27 09:46:45 No html styling, no interactions Aug 27 09:46:56 And on the other hand we do have a card type "Banner" Aug 27 09:47:31 There is something messy about the way we handle the banners in our infrastructure Aug 27 09:47:48 (or about the way we handle notifications, your choice) Aug 27 09:48:31 Dashboards can have html layout and you can interact with them, can be minimized to icon, maximized and swiped Aug 27 09:48:59 Either we never get any Banner card, and we create specialized notifications of type "Banner" that we can separate from other notifications, or we transform any notification into cards of type "Dashboard" Aug 27 09:50:38 There's no such thing as a banner card. The current naming might be wrong. We should have an overall name called notification which then can be of type popup/alert, dashboard or banner Aug 27 09:51:05 morphis makes mistakes too sometimes, not too often but it happens :s Aug 27 09:51:07 :P Aug 27 09:52:23 Herrie|Veer: I am just a human :) Aug 27 09:52:46 morphis: Yup like all of us :) Just sometimes we need to be reminded LOL :P Aug 27 09:52:54 hehe Aug 27 09:53:46 Tofe: In lunasysmgr/src/lunaui there's a folder calles notifications Aug 27 09:54:21 Which then separately deals with alert, banner, dashboard and volume control Aug 27 10:00:01 morphis: Since you around can you setup the access for qtwayland repo? JaMa helped us out y'day but would be good if we could do ourselves :) Aug 27 10:00:15 yeah can do that Aug 27 10:04:08 Tofe, Herrie|Veer: you both have access now Aug 27 10:04:44 Tofe: http://pastebin.com/1fYCdt4W has CSS from 2.x Aug 27 10:04:58 Which should give you all you need for styling :) Aug 27 10:06:14 morphis: thnx Aug 27 10:42:51 morphis: thx Aug 27 10:45:36 Herrie|Veer: ok, much clearer now. So we have normal notifications, temporary ones (banner), dashboard cards and alert cards. All good for me! I'll see where I can distinguish banner from normal notification, but it might be as simple as a timeout value test Aug 27 10:53:52 is there any example of "normal notification"? Aug 27 10:56:12 Not sure. Classic DBus notifications ? Aug 27 11:04:41 Anyway all this needs to be reworked: dashboard and "normal" notifications should sahe same UI and banners should have their dedicated management. but popup alerts are fine. Aug 27 12:05:38 Tofe: Good that it's clear now :) We have most bits and they're working OK in most cases so you should be able to re-use quite a bit :) Aug 27 12:06:18 yup Aug 27 12:06:41 Tofe, I’m not sure what you mean by “normal notifications” Aug 27 12:10:45 I don't think we have normal ones. AFAIK there are 1. banners (icon + non stylable text, no interactions, one at a time). 2. Alerts/popups (can be full html, have buttons etc or can close after a certain timeout? and those are intrusive, 1 at the time). 3 Aug 27 12:10:46 . Dashboards either full width with html content, swipeable/actionable that can be minimized to an icon and expanded when pressed on icon. Multiple can exist at the same time. Aug 27 12:11:05 DougReeder: we implemented, some time ago, an LS2 notification API (create/update/remove) , similar to DBus notifications Aug 27 12:12:06 Ah. Aug 27 12:12:34 https://trello.com/c/eBMlQeQN/190-define-api-and-architecture-for-notifications Aug 27 12:13:29 Tofe: What would these be used for? Things like oFono ? Aug 27 12:13:35 Or connman? Aug 27 12:14:10 Well, currently it's also being used for banners :) Aug 27 12:14:31 It's just a bit more generic -- and standard too Aug 27 12:15:00 Banners will fit nicely into it Aug 27 12:15:39 I just didn't managed it the right way, because ... well, because I didn't know what banners were exactly until recently Aug 27 12:15:49 Legacy lunasysmgr had something called "native alerts" not sure what these were used for seems some audio stuff Aug 27 12:26:19 webOS notifications (relaxing the size restrictions) cover almost all use cases I know of. I’m curious what other notification types would be useful, and what their use cases are. Aug 27 12:26:29 … but I have to head off to work now. Aug 27 12:27:04 I’ll try to keep IRC open on my phone, but it does poorly with bad connections. :-( Aug 27 14:05:20 I think we have a mismatch between our addBannerMessage and the legacy header Aug 27 14:06:09 Here is legacy: https://github.com/openwebos/webappmanager/blob/master/Src/webbase/PalmSystem.cpp#L64 Aug 27 14:08:00 And here https://github.com/webOS-ports/luna-webappmanager/blob/master/src/extensions/palmsystemextension.cpp#L241 we can see that we expect {msg,param,icon,(ignored),(ignored),timeout,(ignored)} Aug 27 14:08:14 ah no, sorry, no mismatch. Just ignored fields. Aug 27 14:13:01 But still, our default values don't seem correct Aug 27 14:13:25 especially for timeout and doNotSuppress Aug 27 14:23:44 Tofe: Ehm not sure? Aug 27 14:25:48 Well, default values seem to be timeout=-1 and doNotSuppress = false; we ignore doNotSuppress completely, and if timeout isn't specificied it seems we'll put zero (undefined.toInt()) Aug 27 14:26:19 Tofe: Yes I see that too now. That's wrong Aug 27 14:26:19 I'm not completely sure yet Aug 27 14:26:26 ok Aug 27 14:26:44 The mapping of the params is correct though. They start from 0 Aug 27 14:27:02 I haven't seen the doNotSuppress being used anywhere I think Aug 27 14:27:02 Is there a place where the addBannerMessage API is clearly explained ? Aug 27 14:27:09 Let me check Aug 27 14:27:29 I'd like to know what timeout==-1 should mean Aug 27 14:27:52 Documentation wasn't webOS strongest point :P Aug 27 14:28:17 And likewise, what timeout=3000 would do (banner for 5s, and then a dashboard for 2995s ?) Aug 27 14:29:29 One way to test is to modify slightly Testr and try on legacy :) Aug 27 14:30:20 Tofe: Yeah :) Aug 27 14:30:47 I'm checking to see if I can find any uses of the timeout and doNotSuppress in legacy Aug 27 14:30:52 So far nothing yet Aug 27 14:31:06 Checking against 3.0.5 doctor now Aug 27 14:31:16 Could be some things were for "future use" Aug 27 14:31:35 I've seen that before with an unfinished pw manager in browser Aug 27 14:34:00 Duration is the sound duration Aug 27 14:34:18 oh, is it ? ok. Aug 27 14:35:11 Then we only have permanent or temporary banners, and it's quite clear Aug 27 14:35:39 Though not supporting the permanent ones doesn't shock me Aug 27 14:35:48 You can provide a sound class... So lets say you put a 3 min mp3 but the sound should only play 5s Aug 27 14:36:10 that's how I think it could be used. Aug 27 14:36:30 We'll have to adapt the webappmanager code accordingly, today it thinks it's the banner timeout Aug 27 14:37:04 I'm not 100% sure yet Aug 27 14:37:07 Let me check Aug 27 14:37:24 But it's after soundclass and called duration in OWO Aug 27 14:37:51 indeed Aug 27 14:42:47 Quite sure it's the sound duration Aug 27 14:43:23 Sounds quite logical to me :) Aug 27 14:44:12 It has a value of 5000 luna.conf for NotificationSoundDuration ;) Aug 27 14:49:45 So I guess theoretically we should never have -1 but it should be 5000 from luna.conf? Aug 27 14:51:20 Ah... if(streamClass == "notification" && duration <= 0) Aug 27 14:52:02 duration = Settings::LunaSettings()->notificationSoundDuration Aug 27 14:57:43 Let's do it step by step: we'll fix the expireTimeout value (let's set it to zero), and ignore the sound for now Aug 27 14:58:24 Well the Testr one actually has a sound :P Aug 27 14:58:58 yes, just saw that :) Aug 27 15:00:40 Well I guess it would play the sound anyway Aug 27 15:00:49 This is just to limit duration Aug 27 15:01:42 yep Aug 27 15:02:34 I think the doNotSuppress it only used for RecorddashboardAssistant Aug 27 15:04:17 I don't think I've ever seen this, not even sure how to trigger it :P Aug 27 15:07:29 I don't see it being used anywhere else :P Aug 27 15:10:23 ok, let's forget about it for now Aug 27 15:10:52 We can have it to be api compatible but we don't need to care about what it does Aug 27 15:12:53 exactly (as it is today actually) Aug 27 15:13:22 Eventually we can say doNotSuppress=true gives expireTimeout=10000 and that's it Aug 27 15:13:24 Yup Aug 27 15:13:33 Yup Aug 27 15:13:40 Something like that Aug 27 15:53:59 Tofe: Your work branch looks good in Qt Creator! Aug 27 15:55:16 Just 1 thing: If you have dashboards in full size they should be minimized to icons first and then the banner should be shown. Aug 27 16:32:42 ok, yes Aug 27 16:33:30 There are still two things that don't work well: swiping out a dashboard could leave a black entry, and dashboard don't respond to click because of the swipearea above it Aug 27 16:51:02 Tofe: Ah OK Aug 27 16:51:19 Other than that it looks OK to me :) Aug 27 16:51:27 Need to test a bit with long texts with Testr on legacy Aug 27 16:52:49 DougReeder: What's this ClickableWhenLocked? These are the controls for music player for example? Aug 27 17:08:28 Tofe i made some screenshots will post them shortl Aug 27 17:08:30 +y Aug 27 17:16:12 Tofe: On my Veer with long text: http://tinypic.com/r/33ou0zp/8 Aug 27 17:18:00 Tofe: The ClickableWhenLocked one on TP: http://tinypic.com/r/wcixyu/8 Aug 27 17:19:00 Tofe: Long banner on TP: http://tinypic.com/r/mcek4o/8 Aug 27 20:45:23 Herrie: I've got something running I think; but I still need to work a bit the timeout thingy Aug 27 20:46:17 Tofe: :D Aug 27 20:46:31 timeout for the audio or ? Aug 27 20:47:03 no, the expireTimeout which can be associated to a notification, and which is wrongly set to the duration parameter Aug 27 20:47:24 ah that one Aug 27 20:51:44 big PR here: https://github.com/webOS-ports/luna-webappmanager/pull/25 Aug 27 20:53:49 woops, wait wait Aug 27 20:54:33 Ehm too late Aug 27 20:54:43 merged already Aug 27 20:56:20 I managed to make a mistake in my one-liner... Aug 27 21:03:50 I confirm the second try is the good one Aug 27 21:05:34 Now banners will work as on legacy with my tofe/work branch of LNC. I'm just investigating some strange behavior with dashboards, that happens *sometimes*. Also, I'm not convince that the height of dashboards and banner should be in pixels rather than in Units. It looks pretty damn small on N4. Aug 27 21:11:13 Tofe: We should go for Units Aug 27 21:11:27 Devide px by 10 to get Units Aug 27 21:11:51 I think I pasted 2.x CSS. Values might vary in 3.x I'll check that. Aug 27 21:17:09 Done, it's pushed. Aug 27 21:48:18 Tofe: THis is frm 3.x for Dashboard: https://bpaste.net/show/ce98037f7136 Aug 27 21:49:27 And for Banners: https://bpaste.net/show/c0f68195cc47 Aug 28 02:51:36 clickableWhenLocked boolean Optional Dashboard stages only. Allows dashboard to receive tap events when locked. Aug 28 02:51:46 … from https://web.archive.org/web/20141025064940/https://developer.palm.com/content/api/reference/mojo/classes/mojo-controller-appcontroller.html Aug 28 02:57:39 I’m not certain which versions of webOS it works on. **** ENDING LOGGING AT Fri Aug 28 02:59:58 2015