**** BEGIN LOGGING AT Wed Jul 17 02:59:59 2013 Jul 17 03:52:13 * fxspec06 pokes head in Jul 17 07:09:37 goodmorning! Jul 17 07:34:28 good morning Jul 17 07:42:55 good morning pjetr Jul 17 08:01:57 morning Jul 17 08:12:49 good morning joopmicroop Jul 17 08:17:10 does anyone have an idea on how I can calculate the with of hidden components? Jul 17 08:17:50 component.getBounds().width = 0 if hidden is true ofc Jul 17 08:23:33 found something I can work with. Inside the component obj domCssText states: "width:798px;display:none;" Jul 17 08:35:21 grrr it switches to width:auto onresize :s Jul 17 08:36:06 I think I can't help you on that one Jul 17 08:36:10 :/ Jul 17 08:37:46 If I had to check it Jul 17 08:39:12 I would make it visible with position absolute for a moment , put a value on horizontal axis huge enough to ensure is out of the screen and get its width then revoke the css to normal hidden position inherit. or all this in a class and remove the whole class Jul 17 09:00:00 Got it solved Jul 17 09:00:50 if onresize the value jumps to auto, I replace the totalwidth with the oldTotalWidth Jul 17 09:01:09 enyo.forEach(this.$.normalContainer.children, function(child){ Jul 17 09:01:16 var childWidth = child.getComputedStyleValue('width',0); Jul 17 09:01:22 childrenTotalWidth += parseFloat( (HELPER.isCssPxValue(childWidth))? HELPER.removeCssPx(childWidth) : childWidth ); Jul 17 09:01:28 if(isNaN(childrenTotalWidth)) childrenTotalWidth = this.oldCTW; Jul 17 09:01:33 else this.oldCTW = childrenTotalWidth; Jul 17 09:01:38 }.bind(this), this); Jul 17 09:01:44 something like this Jul 17 09:03:28 nice to have! may come in handy Jul 17 09:05:34 do you want the helper functions too? Jul 17 09:11:28 toCssPxValue:function(v){ if(this.isCssPxValue(v)) return v; else return v+"px"; }, isCssPxValue:function(v){ var t = v.toString().match(/(\/d)*px/g); return (t == null)? 0:1; }, removeCssPx:function(v){ var t = v.toString().match(/(.*)(?=px)/g); return t[0]; }, Jul 17 11:05:57 grat! Jul 17 11:06:04 great* Jul 17 12:19:45 I think I found an wrong behavior in ToggleIconButton Jul 17 12:19:46 http://jsfiddle.net/joopmicroop/Qj2UW/ Jul 17 12:19:59 with setValue() Jul 17 12:27:56 What do I expect to see or happen ? Jul 17 12:36:47 dimk_ refresh the fiddle, I updated and added some comments Jul 17 12:37:06 you can't seem to toggle programaticly Jul 17 12:38:27 to begin with I get a 403 - forbidden for the src you are currently using Jul 17 12:38:40 later on nothing responds Jul 17 12:39:00 daim.. took that from my google drive Jul 17 12:39:09 then I need a different img Jul 17 12:39:33 you've got some 32x64 iconbutton style images online? Jul 17 12:40:28 https://github.com/ryanjduffy/enyo-extras/diff_blob/0177c4e605fc72115a6906a7105049610b9d7a31/lib/onyx/images/progress-button-cancel.png?raw=true Jul 17 12:41:05 tkx I'll update the fiddle with that url Jul 17 12:41:23 I see what you mean Jul 17 12:41:36 once it goes on a state never switches to the priveous Jul 17 12:42:26 indeed unless you click on it and it get set to inactive via events but it's not possible to do it programaticly Jul 17 12:44:43 with just the setters Jul 17 12:46:29 can't find a direct problem https://github.com/enyojs/onyx/blob/master/source/ToggleIconButton.js Jul 17 12:46:41 at first glance at least Jul 17 12:53:52 this.$.TIB.addRemoveClass("active",!s.content); Jul 17 12:54:02 that is how I solved it quickly now Jul 17 12:54:09 I am unable to check the source and debug Jul 17 12:54:19 but you can always use addRemoveClass Jul 17 12:54:25 and will do the trick joopmicroop Jul 17 12:57:39 yeah tkx for the quick workaround, maybe I'll post a ticket for this or try to fix the ToggleIconButton myself later on Jul 17 12:59:22 works great dimk_ tkx again Jul 17 13:00:21 np , we can look at it later on. Post a ticket to be tracked by everyone. Jul 17 13:20:26 hello :) Jul 17 13:27:26 hi Jul 17 13:28:59 hello pulsation :) Jul 17 13:35:46 hello pulsation! Jul 17 13:39:33 this must be the biggest welcome someone will ever receive here :p Jul 17 13:40:59 hahahaha true... mine welcome came one day later since I wrotte it here. from one person :P Jul 17 13:41:13 hehe, those welcome are so touching :) Jul 17 13:42:26 :)) Jul 17 13:45:41 it's been a while since I didn't come here btw, but after using dojo mobile for a little time, well, it looks like doing things take at least half time using enyo... Jul 17 13:46:19 my path is similar. I went with jquery mobile Jul 17 13:46:32 but wasnt enough so I thought I should use backbone there Jul 17 13:47:08 but wasnt enough, had problems with the files now, code was messy and tend to get depended , so I said I ll use require then Jul 17 13:47:41 but then thought that enyo was simpler so I ditched everything and switched to enyo. Only disadvantage is that community is small and sources few Jul 17 13:48:08 I ll try to improve that, with joopmicroop we had some idea and something is up for planning Jul 17 13:49:40 great :) Jul 17 13:49:44 something big :p Jul 17 13:50:30 a btw joopmicroop yesterday I took a look at the api-viewer project. I spent like 20 minutes but now all the functionality for showing hidding community input is there. We need to create just some enyo kind for disquss and handle all the logic there. also we need to expose some configuration interface to be easily modified by anyone who wants this kind of support in their API viewer Jul 17 13:50:31 I gave a talk about it at a converence, it may have been the worst of all as I'm really bad as a speaker, but at least some people looked like interesting in this framework Jul 17 13:50:56 Today I am going to a meet up called meet.js here in Poland Jul 17 13:51:21 I ll check if there are any lightening talks or speak with the persons there for presentation in a next mini conf Jul 17 13:52:39 here are the slides in case you could find it useful: http://www.pulsation.eu/slides/enyo-web5.html Jul 17 13:53:01 bookmarked :p Jul 17 13:53:15 dimk_ did you pull a fork already? Jul 17 13:53:19 but you're right, spreading the word may be a good thing to do :) Jul 17 13:53:29 I will pull one before I ll leave for the meet up Jul 17 13:53:54 this will happen in approx 2 hours Jul 17 13:55:18 pulsation: I will check it right away. Are you u sing impress.js or something similar? takes a while to lead Jul 17 13:57:02 dimk_: I used https://github.com/adamzap/landslide with the https://github.com/akrabat/avalanche theme Jul 17 13:58:03 have you tried this? http://bartaz.github.io/impress.js/#/title Jul 17 13:59:48 nope, looks very nice :) Jul 17 14:02:25 You presentation is awesome Jul 17 14:02:57 covers all the things I like in Enyo and the examples are great! Jul 17 14:03:38 dimk_: looks like you can input markdown direcly in impress.js with https://github.com/egonSchiele/mdpress Jul 17 14:03:49 yeap Jul 17 14:03:50 I see you've got experience with cordova.. how does this work, will there be a local server on the mobile device and is the app run from there? or is it converted into native code? Jul 17 14:05:15 joopmicroop: it's an html file rendered in a webview, with the possibility to use plugins to access hardware features from javascript Jul 17 14:05:56 a local html file, no need for a server Jul 17 14:06:11 so, no native code Jul 17 14:06:31 for sure I ll take a closer look at home. Jul 17 14:06:32 you can use native code anyway by writing plugins Jul 17 14:07:14 I am about to use cordova as well pulsation and I ve seen how cordova exposes interfaces for various devices Jul 17 14:07:37 k tkx for the clarification :) Jul 17 14:07:57 in terms of designing the app, do you have any specific pattern to quickly build application for different platforms? Jul 17 14:08:39 I mean, you have a core code in enyo which is the pure enyo program , aside with that you have the cordova lib Jul 17 14:09:33 and in there you have different API for accessing different mobile.. or if you like, some quirks which are platform depended and you need to handle differently in each platform Jul 17 14:09:57 how do you mix all these at the very end? Jul 17 14:10:42 well, the npm client https://npmjs.org/package/cordova helped to have something more coherent than using different platform project in eclipse, xcode, etc at least Jul 17 14:11:49 the cordova api is meant to be the same for different platforms, however in some cases like notifications for example it may not be the case Jul 17 14:11:57 Aha Is kind of what I had in mind.. that thing makes things a bit complicated for me though Jul 17 14:13:40 it seems like javascript wouldn't be run in background services too, at least on android, as js is run in the webview Jul 17 14:14:15 I was thinking to have a setting on the build process about platform, and each platform specific implementations that cordova requires to be wrapped in a enyo kind and expose another interface from there to whole of my application. Then during build , I would only specify the platform and the corresponding kind alone will pass into the build Jul 17 14:15:36 I need to see that , is the scary part for me because the last app I built was in Enyo 1 and was WebOS alone , didn't have these kind of projects Jul 17 14:15:55 problems , not projects * Jul 17 14:16:57 well, I didn't go as far as that for now :) I just output enyo deployed project to the cordova "meta-project" and then it's built on different paltforms with the cordova client Jul 17 14:17:41 but maybe the cordova plugins would be another solution for specific code on specific platforms Jul 17 14:28:23 When I ll get there I hope to be easy. For the moment I am mocking things Jul 17 14:39:33 pulsation: I am a big fan of your slides Jul 17 14:43:03 pjetr: hehe, thanks :) spent quite some time on those Jul 17 14:47:10 dimk_: I think writing an enyo disqus component shouldn't be too hard Jul 17 15:02:43 dimk_, joopmicroop: http://jsfiddle.net/pjetr/LFPDw/ Jul 17 15:02:59 will something like this do? Jul 17 15:09:09 as I was saying: Jul 17 15:09:09 dimk_, joopmicroop: http://jsfiddle.net/pjetr/LFPDw/ Jul 17 15:09:23 will this do? Jul 17 15:10:20 talk to you tomorrow, I have to go and pick up my son Jul 17 15:10:22 bya Jul 17 15:10:37 by by i ll check Jul 17 15:10:48 bye* Jul 17 15:11:11 Seems Awesome! I am pushing a repo Jul 17 15:18:06 https://github.com/DimitrK/api-tool-social Jul 17 16:13:13 cool dimk_ I saved it into my google drive, will help you with this one Jul 17 16:13:27 I'm driving home now see you later Jul 17 16:14:24 see you later, i ll be online probably after the meet up . Jul 17 16:26:20 new peeps! Jul 17 16:35:23 hey Jul 17 16:35:48 how's it goin dimk_ Jul 17 16:36:18 everything ok fx1. how about you ?:) Jul 17 16:37:02 workin on my resume, got a job interview next thursday Jul 17 16:37:21 working on the computer, reorganizing drives / files / too much mess Jul 17 16:37:37 good luck with the interview !! Jul 17 16:40:31 got the 3rd monitor in a better position -- it's 1/2 res of the other 2, so i put it up top and me le gusta Jul 17 19:10:47 hello dimk Jul 17 19:12:11 * joopmicroop wants to build stuff, like real man. Jul 17 19:13:24 so just do it Jul 17 19:13:52 hello summa, joop Jul 17 19:14:26 hi Jul 17 19:14:40 hey :) Jul 17 19:17:28 joop: any idea in particular for your construction? Jul 17 19:19:24 sure, a huge statue of myself Jul 17 19:19:50 what is your idea of your self? Jul 17 19:19:57 no I think I'm going to take a look at the social api viewer Jul 17 19:19:58 hello everyone! Jul 17 19:20:42 but I got to find the link first that I saved somewhere :p Jul 17 19:21:03 dimk: i'm not totally lost with enyo now :) Jul 17 19:21:13 ooh? Jul 17 19:21:18 You know I take a look as well currently. I don't like what I see to be honest. Is a bit messy! Jul 17 19:21:22 nice newbeen! Jul 17 19:21:53 If we manage to finish at weekend the social api viewer I think many like us wont be lost for long Jul 17 19:21:54 :D Jul 17 19:22:16 let's hope Jul 17 19:22:18 joopmicroop: I throw inside everything done so far. dont expect to see crazy code Jul 17 19:22:58 I put pjetr implementation as well. Must say nicely done, quick and elegant Jul 17 19:23:05 ok can you paste the link once more cause I lost it so it seems Jul 17 19:23:43 I had a problem with submodules of git and I did a small hack! I hope clone --recursive will work now because is not working in forked repository if I dont fork the submodules as well Jul 17 19:24:02 https://github.com/DimitrK/api-tool-social Jul 17 19:24:27 tkx let's see :) Jul 17 19:24:31 here is pjetrs implementation of disqus as well Jul 17 19:24:32 http://jsfiddle.net/pjetr/LFPDw/ Jul 17 19:24:39 what's the next goal step atm? Jul 17 19:24:53 take a look at presenter.js Jul 17 19:25:08 currently it throws a string that constructs html Jul 17 19:25:50 k Jul 17 19:25:51 which is horrible and we can not do any DOM manipulation until the string is done. So if we are going to put as it is the social plugin will be horribly messy Jul 17 19:26:56 the way I put it right now is to take the parts of presentor.js for the Kind view at least (the one you see first when you open API viewer) Jul 17 19:27:04 and make them enyo components Jul 17 19:27:09 I'll see if I can change that, I'm used to convert json to enyo components at work Jul 17 19:27:33 do you see a presentKind function Jul 17 19:27:45 I think at line 85 if i didnt move something Jul 17 19:28:04 not done yet deploying:p Jul 17 19:28:07 this all must go away away!!! Jul 17 19:28:10 :P Jul 17 19:28:37 I'll call when I'm lost in the woods :) Jul 17 19:29:07 if you hear a pidgin sound, you'll know it's me :p Jul 17 19:29:48 actualy how was the conference? Jul 17 19:29:53 you'll be the only person speaking pidgin Jul 17 19:31:14 ok so the way i structured it right now is something like this https://dl.dropboxusercontent.com/u/16512832/socialapikindview.png Jul 17 19:32:56 so so ... room too small and hot, in Polish which is not my strong point, presenting promises and polymer.js Jul 17 19:34:06 after that I left, couldn't understand the speakers enough . Now friends tell me I missed the best part though Jul 17 19:37:56 to bad :s Jul 17 19:38:27 ok deployed but as far as I see there nothing social yet or am I missing something Jul 17 19:38:38 didn't look at code yet Jul 17 19:38:59 joopmicroop: don't write a line of code so far! take some time to see the whole thing get an idea. make a tea/coffee spend time thinking how can be done and suggest something!!!! Jul 17 19:39:30 ok I'm already smoking :p Jul 17 19:40:36 only thing is done so far is to add the pjetrs kind inside and added the extra functionality for choosing if comments should be displayed or not. if they should you ll see a div at the end saying in h3 "comments" but don't expect to see pjetrs kind in action yet Jul 17 19:40:46 yeah ! you are in the right way then! :D Jul 17 19:42:37 can't see a h3 atm Jul 17 19:43:32 sorry doesnt say "comments", it says "community" on the very bottome while you are inside a kind Jul 17 19:43:38 do you see it now ? Jul 17 19:44:55 ah here got to check 'show community comments' first Jul 17 19:45:01 yeapp! ;) Jul 17 19:45:49 ok first thing I'd do is put the value of the checkbox in localstorage Jul 17 19:45:56 if you dont want to load any extra javascript, you shouldn't so its totally optional and i don't want to affect and enforce slower response time Jul 17 19:46:37 hah yeah, or actually this can be configurable by the author, what the default val should be Jul 17 19:47:15 but for the time being i think there is a bigger mess there. check the presentor.js Jul 17 19:47:48 we need to hook the disqus in a dom element and there there is nothing even close to dom Jul 17 19:48:04 the whole thing is producing a big string with html in it Jul 17 19:49:52 eek Jul 17 19:50:07 let's take a second look at that :p Jul 17 19:50:13 hah Jul 17 19:50:23 I told here we need ideas on how to refactor Jul 17 19:50:47 my opinion is this. Ok we go with disqus, agreed on that. Seems cool platform Jul 17 19:50:59 but it's already in the master fork Jul 17 19:51:09 i know.. this is the official Jul 17 19:51:30 still I am not happy to work with that Jul 17 19:51:45 yeah but I think there's a lack of options there but we'll see how we'll fix that Jul 17 19:52:01 and my point of view is that i dont want to hardcode everything in there and make it totally unelastic Jul 17 19:52:17 agreed Jul 17 19:52:53 kind: null Jul 17 19:52:53 I want to make the social staff like plugins, tomorrow someone makes a new plugin with cooler commenting system and just hooks it in there.. Jul 17 19:52:57 hahahaha Jul 17 19:52:59 i saw that Jul 17 19:53:00 hahahahah Jul 17 19:53:02 lol delete Jul 17 19:53:21 yesterday night I spent 20' to make the comment checkbox Jul 17 19:53:46 and the feelings I got were very diverse Jul 17 19:53:47 :D Jul 17 19:53:55 can believe that Jul 17 19:54:18 dunno if I'll touch anything tonight maybe some mockup Jul 17 19:54:35 yeah don't . if you touch tonight you ll change it again tomorrow Jul 17 19:54:44 you need to put some thought only Jul 17 19:55:12 mockups are good for thought Jul 17 19:55:35 or watch tv. but keep in back of the mind how to structure it. Is weekend project anyway Jul 17 19:55:37 :P Jul 17 19:56:38 i wonder why "setContent" is not in the API docs for Panels. seems to work? and also what i wanted rather than "addContent"... Jul 17 19:59:02 I really have no idea why. Jul 17 19:59:17 Is used extensively Jul 17 19:59:36 miss placement of //* @protected probebly Jul 17 19:59:57 no no Jul 17 19:59:57 easy fix Jul 17 20:00:00 I know what it is Jul 17 20:00:02 hehehe Jul 17 20:00:05 no? Jul 17 20:00:09 setContent exists Jul 17 20:00:20 is a published property Jul 17 20:00:22 content Jul 17 20:00:30 when you do a button for example Jul 17 20:00:44 ah auto setter/ getter? Jul 17 20:00:49 you say {kind: enyo.Button, content: "click"} Jul 17 20:00:51 yeap exactly Jul 17 20:00:57 auto getter/setter Jul 17 20:01:15 but i looked for 'create' also, and 'published' ... no joy Jul 17 20:01:20 humm maybe we need to auto generate too.. Jul 17 20:01:21 I just happened to need to use it and got the idea!! :D Jul 17 20:01:23 'content' sorry, not 'create' Jul 17 20:01:39 but all components Jul 17 20:01:43 have content I think Jul 17 20:01:57 dimk: couldn't find in api Jul 17 20:02:02 I don't think I'll have alot of time in the weekend Jul 17 20:02:15 dont worry Jul 17 20:02:25 is for fun joopmicroop, is not work Jul 17 20:02:55 each thursday I can't eather then I'm in a webgl game dev group Jul 17 20:02:58 as long as you enjoy it and can afford it you do it ;) Jul 17 20:03:05 newbeen: what api ? Jul 17 20:03:13 I know it's fun that,s the problem Jul 17 20:03:18 :p Jul 17 20:03:34 web-gl Jul 17 20:03:46 hahah yeah ok ! I ll put as much time I can this weekend but when I say weekend project I mean a project you work with only weekend Jul 17 20:03:51 like open-gl for the web.. :p Jul 17 20:03:57 not only one weekend, next one is also a weekend :) Jul 17 20:04:04 yeah is cool open gl Jul 17 20:04:11 I dont know anything!! Jul 17 20:04:27 it scares me in fact Jul 17 20:04:39 but the results are cool always Jul 17 20:04:46 look it up 'webgl' you'll eat your hearth out :p Jul 17 20:05:02 i ve checked it out Jul 17 20:05:24 and I was thinking how amazing should be the guys that do that staff! Jul 17 20:05:54 I build games and web for work :) Jul 17 20:06:31 dimk: enyojs.com/api, looking under Panels, with "show inherited" and "show protected" enabled. no way to see "content" or "setContent" ... Jul 17 20:07:06 newbeen: check on enyo.Control Jul 17 20:07:38 most of the things that have to do with ui inherit from that Jul 17 20:07:59 dimk: on, it's there. but i thought "show inherited" would ... show everything inherited ... Jul 17 20:08:21 well in fact they show the functions. but that one is auto generated Jul 17 20:09:00 'content' is autogenerated? Jul 17 20:09:01 can not possibly show it because the documentation is actually beautifully structured comments inside the code Jul 17 20:09:07 no but set/get are Jul 17 20:09:22 in api for Controls, no setContent - only 'content' Jul 17 20:09:48 there is a clever trick that enyo does Jul 17 20:10:16 is that all published properties get two extra functions only for them Jul 17 20:10:21 the set and get Jul 17 20:10:31 sure, i get that. but why not appear in the API for Panels... Jul 17 20:10:46 i assume i'll get used to this eventually :) just, newbie perspective... perplexing... Jul 17 20:11:18 yes dont worry just to know that ; if you see on the API for each kind inside published : { } Jul 17 20:11:46 (i.e., API for Panels with "show inherited" ticked should show also the 'published' variables of all its parents...) Jul 17 20:11:51 all the properties inside that have set and get followed by the name of the property with first letter Capitalized Jul 17 20:11:57 that's what I ment with we'll have the auto generate that in the api viewer Jul 17 20:12:00 noppp Jul 17 20:12:11 these are published properties Jul 17 20:12:18 I think the handling is different Jul 17 20:12:51 so no documentation at all? I don't think that's the solution Jul 17 20:13:41 maybe we should build a wiki on how to read the api viewer :p Jul 17 20:13:47 hahahah Jul 17 20:14:03 do you /want/ lots of new people to come to enyo? :) Jul 17 20:14:05 well if you see, there is inherited a setProperty and getProperty Jul 17 20:14:21 these are the functions that actually called on all published Jul 17 20:14:30 sure working on it Jul 17 20:14:54 but you need to keep in mind that published properties and events from children components might not be showed Jul 17 20:14:54 dimk, sure. but as a newbie, i was desparately looking for how to add content to the Panel, and failed to find it Jul 17 20:15:05 this is the purpose of private properties nevertheless Jul 17 20:15:13 (didn't occur that i had to check the parents one by one, even though "show inherited" was checked) Jul 17 20:15:18 children should not have access Jul 17 20:15:36 but they do, in this case? Jul 17 20:15:59 inherited are the properties that the parent allows to the child to see Jul 17 20:16:17 so those should be in the documentation, perhaps...? Jul 17 20:16:22 private are properties that the an object keeps for itself and none can access them Jul 17 20:16:32 the get/sets maybe Jul 17 20:16:46 ah, i see - well, yes, definitely the gets/sets then Jul 17 20:17:07 for what it's worth, just my newcomer's pains with all this - maybe save them for someone else :) Jul 17 20:17:13 but the parsing is statically done meaning that the documentation generates only what can read as text/// Jul 17 20:17:30 as I said , get/set are dynamically generated so is not aware of them Jul 17 20:17:42 need a dynamic docs generator :) Jul 17 20:17:51 well you need to read from bottom to up Jul 17 20:18:10 build your base Jul 17 20:18:23 see the panels you are reading? are 4 levels deep inheritance Jul 17 20:19:08 so you went to the peak of the mountain without studying the base (I am doing the same but I got so much pain out of it that now I know ;P ) Jul 17 20:19:13 yup. you mean i should read the parents docs one by one each time to find something? Jul 17 20:19:34 yeap! the parent docs are base... later on everything else you will read inherits from that Jul 17 20:19:40 (this is not the case in other API's i have used - i guess you would say they are 'static', but still, if the API is not friendly . . .) Jul 17 20:19:48 the enyo.Panels the enyo.Button everything that has to do with ui Jul 17 20:20:28 i wonder how sencha does this. i only briefly looked at it, but they had amazing docs. it's similar in coding approach to enyo, no? Jul 17 20:20:36 this is one time thing... you read them you learn them and later on you dont have to touch them again. you just read the top level things you are interested at a given moment but always the base stays the same and you know the base Jul 17 20:20:50 i vaguely remember reading about how much effort they put into their document generator Jul 17 20:21:18 I really don't know much about sencha, i read one or twice things but that is all Jul 17 20:21:21 dimk: sure. i can do that, no problem. but it's a really steep, non-intuitive process for newcomers Jul 17 20:21:41 if it weren't for the generous help of the people on this channel, i honestly wouldn't even both with enyo! Jul 17 20:21:45 I know that is why I started here to work on documentator, a stiff documentator discourages programmers Jul 17 20:21:49 bother rather Jul 17 20:21:53 hahhaha Jul 17 20:22:21 study the base, and you wont have to feel that way any more Jul 17 20:22:24 it's too painful ;-) luckily my first deploy to iphone and ipad last night showed some beautiful (automatic) scaling... so i keep going... Jul 17 20:22:25 always the base!!! Jul 17 20:22:27 :D Jul 17 20:22:27 had problems too learning enyo, but ask away now Jul 17 20:22:34 ahahah Jul 17 20:23:01 are you guys part of the official dev team? Jul 17 20:23:05 yeah I am still having joopmicroop. Is the reason I think we need to pay attention to community here Jul 17 20:23:08 is this channel official? Jul 17 20:23:24 sure... I started learning enyo 2 last Saturday!! :D Jul 17 20:23:40 the channel is legit... I am not part of the dev team. Just happens to know javascript Jul 17 20:23:40 enyo is good. :) nice choice Jul 17 20:23:55 nope I'm not in the dev team but I work with enyo at work Jul 17 20:24:29 hadak, well, it's certainly more painful than something like jQM. but if it actually works, i won't have a choice but to use it... Jul 17 20:24:33 this channel is official Jul 17 20:24:52 I'm not sure how many people here are a part of the dev team Jul 17 20:24:54 oooh it speaks O_o Jul 17 20:24:55 enyo works ^^ Jul 17 20:25:22 ;p Jul 17 20:26:18 well, i'm happy to chime in on saying the documentation needs to be bullet-proof, to whoever the gurus are who can generate it :) one less major obstacle for newbies Jul 17 20:26:49 agreed, need more documentation Jul 17 20:26:54 hahaha Jul 17 20:27:04 also, after summa pointed out that App.js is JSON, not JavaScript(!), a major mental block was taken away for me... Jul 17 20:27:06 moar! Jul 17 20:27:16 yeap newbeen u r right on that Jul 17 20:27:26 files should all be *.json :P Jul 17 20:27:30 ahhahahahahaha Jul 17 20:27:39 it's a mix, and JSON is a subset of js Jul 17 20:28:20 summa, not exactly, JSON is language-independent. (i guess it wasn't confusing enough naming JavaScript after Java, which are also completely unrelated though 'cross-inspired') Jul 17 20:28:23 is not json guys Jul 17 20:28:30 is javascript object Jul 17 20:28:42 oh? Jul 17 20:28:51 json is notation Jul 17 20:29:00 no functions allowed etc Jul 17 20:29:03 is static Jul 17 20:29:09 this is a javascript object Jul 17 20:29:10 dimk_: sure, fine Jul 17 20:29:20 jezus call a moon a moon :p Jul 17 20:29:26 hahahahhah Jul 17 20:29:29 but enyo is written following JSON notation Jul 17 20:29:42 is it really JS? hmmm interesting Jul 17 20:30:14 I just pointed out to let him know why we dont use .json files Jul 17 20:30:28 I want to be clear, so I'm not propagating falsehoods Jul 17 20:30:29 it looks a lot like json, and much of the syntax follows json Jul 17 20:30:32 the difference when it comes to that question is important Jul 17 20:30:41 but it's js Jul 17 20:30:55 :D confused yet Jul 17 20:30:57 ah, ok Jul 17 20:31:15 no, that's fine. so i'll leave my files named .js *grin* Jul 17 20:31:29 but i'll think in JSON. it actually enabled me to start writing code Jul 17 20:31:32 right Jul 17 20:31:36 that's all I'm trying to say Jul 17 20:31:41 maybe you can make it js(on) Jul 17 20:31:44 think about it like you might json, and it'll be clearer Jul 17 20:32:01 json and javascript are like a bear and a teddy bear, both look similar but the one is alive :p Jul 17 20:32:12 haha, nice Jul 17 20:32:12 json = teddy bear Jul 17 20:32:34 what is js in that equasion? Jul 17 20:32:51 the alive one, I assme Jul 17 20:33:12 yeah I missed the first sentance of the equasion Jul 17 20:33:18 what's up room? Jul 17 20:33:27 room is up Jul 17 20:33:30 dimk: i actually thought App.js wasn't 'alive' - that it was being interpreted somehow by the Enyo framework before execution (not executed directly) Jul 17 20:33:37 yeap Jul 17 20:33:48 no no it roars!! Jul 17 20:33:54 :D Jul 17 20:33:55 well, to some extent, it is Jul 17 20:34:17 enyo interprets your kinds, and renders the dom elements and manages the JS logic for you Jul 17 20:34:48 now there's an explanation :) Jul 17 20:34:55 :) Jul 17 20:35:06 got it. so it could potentially roar, but Enyo needs to power it Jul 17 20:35:47 (this would actually be helpful in the Getting Started guide... Jul 17 20:35:55 but it does roar! Is the point where everything starts Jul 17 20:36:03 if you see it as an orchestra, it is the maestro Jul 17 20:36:42 * joopmicroop *looks around* .. sure .. Jul 17 20:36:45 it may decide which screen to show first , it may decide the properties and the state that everything else will load ! Jul 17 20:36:46 new App().renderInto(document.body) Jul 17 20:36:59 yes... you see.. everything starts from there Jul 17 20:37:11 example case that App.js can do Jul 17 20:37:37 real power is here, no: enyo.kind({ name: "App" }) Jul 17 20:37:41 i.e. Enyo... Jul 17 20:37:50 check if you are loged in in a application requesting information from localstorage, if you are , shows the main application, if not, shows the login panel Jul 17 20:38:31 yeap Jul 17 20:38:39 this is the framework ! Jul 17 20:39:13 i'm not sure why but i feel a bit relieved Jul 17 20:39:14 :) Jul 17 20:39:16 * joopmicroop feels the Big Bang after shocks Jul 17 20:39:26 joopmicroop: what happened to you ? Jul 17 20:39:44 :)) Jul 17 20:39:52 * fx1 dislikes MIRC colours Jul 17 20:39:52 :p Jul 17 20:39:58 newbeen: frankly, I love the enyo framework Jul 17 20:40:09 it makes more intuitive sense to me than most other languages I've encountered Jul 17 20:40:47 I like it also Jul 17 20:40:54 summa: more than writing HTML enhanced with JS? Jul 17 20:41:02 yes Jul 17 20:41:18 who wants to see my "new" setup? Jul 17 20:41:21 maybe because that's where I come from... Jul 17 20:41:23 the break between HTML and js (and css) doesn't seem logical to me Jul 17 20:41:39 agreed Jul 17 20:41:48 show us fxl Jul 17 20:42:09 alright Jul 17 20:42:11 we'll brick it to pieces :p Jul 17 20:42:19 pay close attention, too Jul 17 20:42:40 summa: i'm trying to fall in love with it, let's see :) Jul 17 20:42:41 http://i.imgur.com/VjAqkJZ.jpg Jul 17 20:42:45 newbeen: I mean, don't get me wrong, I can fake my way through HTML/JS Jul 17 20:42:56 but the holistic framework thing makes more sense to me Jul 17 20:43:10 fxl meh Jul 17 20:43:13 fx1, thought you were going to post code ;-) Jul 17 20:43:30 you disapoint me fxl Jul 17 20:43:31 haha fx1 nice. Jul 17 20:43:44 code! wah! what's that? Jul 17 20:43:50 summa, may well be. let's see, once i get over the (seemingly) steep onramp... Jul 17 20:44:22 OSX never ran so smooth =) idk why i'm even excited, i don't even have $100 to open the dev acct again =( Jul 17 20:44:23 it's not xCode for sure :p Jul 17 20:44:29 newbeen: can you articulate the parts you're having trouble ramping up into? Jul 17 20:44:29 fx1, you missed a little gap there where you can see a wall?! Jul 17 20:44:55 newbeen: if you can find a way to bend space and time and remove the bezel on my monitors, please inform Jul 17 20:45:35 e=mc2 Jul 17 20:46:01 summa: well, the above discussion on setContent missing in the Panels API was the latest one :) (before that it was the structure of the code (JSON-like - check!); the use of git (omg); the need for node.js (no need: debug.html=dev!) ... etc Jul 17 20:46:11 fx1, add another one Jul 17 20:46:13 i like irc above the work-monitors Jul 17 20:46:31 newbeen: i could extend to my HDTV, but that's counter-productive Jul 17 20:47:23 newbeen: based on skimming, I feel the need to be clear Jul 17 20:47:37 the 'content' published property is used primarily for text Jul 17 20:48:01 if you're wanting to instantiate other kinds into Panels, you need to use createComponents() Jul 17 20:48:14 (or declere them initially) Jul 17 20:48:32 sure... but i wanted to put some text just to play around. and got very confused when it wasn't in the docs Jul 17 20:48:46 i'm about to cinebench contest my slow AF 10.7.x VM against my insanely fast 10.8.x Hackintosh VM Jul 17 20:48:47 isn't it? Jul 17 20:49:03 (as in, i'm in the exploratory stage trying to get comfortable with everything enyo before throttling ahead with 'real' code) Jul 17 20:49:07 right Jul 17 20:49:38 you do well newbeen Jul 17 20:49:46 what's the problem you're having? Jul 17 20:50:01 newbeen: https://github.com/enyojs/enyo/wiki/Tutorial near the bottom? Jul 17 20:50:02 nothing these great guys haven't been able to solve for me :) Jul 17 20:50:18 "Note that if the control has already been rendered into the page, calling setContent will cause it to be re-rendered to reflect the new content value." Jul 17 20:50:25 psh, they know natzing, you should ask me if you know what's good for you ;) Jul 17 20:51:20 {kind:'Panels', arrangerKind ........ components:[ {content:'this is content'}, {content:'also content'} ]} Jul 17 20:51:26 summa, ok, sure (actually that's probably what i remembered in the back of my mind when i 'randomly' tried it) ... but i guess i'm an older-school programmer who uses the API as the start and end of development, learning available functions, events, etc Jul 17 20:51:47 fair enough Jul 17 20:51:58 it's probably useful to check the relevant wiki pages too Jul 17 20:52:51 sure, yup Jul 17 20:52:59 * joopmicroop smashed with the hammer. Agreed! Jul 17 20:53:07 :p Jul 17 20:53:19 joop: i wanted to set it programmatically actually (later to be loaded via ajax) Jul 17 20:53:45 .setIndex() Jul 17 20:54:04 * newbeen hopes he isn't moaning too much - not my intention really, most grateful for everything so far Jul 17 20:54:10 guys.. the content wanted to set . doesnt have to do with the index if he doesnt already have the content Jul 17 20:54:53 he got the text with ajax from a remote source, is a response. happens all the time Jul 17 20:55:06 this.$.name.setContent('') Jul 17 20:55:20 not index :p Jul 17 20:55:43 yeap Jul 17 20:57:12 ah, here's a question: when there's an 'ontap' event, the method for it /must/ be defined at the top-most kind? Jul 17 20:57:33 (if i put it in the inner kind where the 'ontap' is, it doesn't seem to get executed) Jul 17 20:57:51 que pasa? it depends on the zindex of whatever element you are appending the event to Jul 17 20:58:13 if you have it buried underneath other elements, it's not going to register Jul 17 20:58:20 eh? Jul 17 20:58:34 i meant the method declaration in the code... Jul 17 20:58:40 method=function Jul 17 20:58:52 every element in HTML has a z-index, regardless of whether it's set or not.. enyo messes with it a lot Jul 17 20:59:33 i'm not sure what your question is then. you can put your method anywhere in the kind, so long as the event you bind is in the kind Jul 17 21:00:11 well, that's the thing. it doesn't seem to run if the function is declared in the inner kind where i define the 'ontap'. if i move it to the outermost kind, it works Jul 17 21:00:22 i couldn't find specific docs on it... Jul 17 21:00:41 and the examples i look at seem to have them on the outermost kind Jul 17 21:01:05 it wouldn't, events are specific to the kind of which they are written in Jul 17 21:01:16 newbeen I'll make file with lot's of comments for you on how it's structured Jul 17 21:01:39 joop: that would be superawesome. generations of newcomers will thank you :) Jul 17 21:02:01 you can propagate events up and down the ladder using this.bubble(event, message); /*i think those are the params*/ and this.bubbleUp(event, message); Jul 17 21:02:29 or conversely this.waterfall(message); and this.waterfallDown(); Jul 17 21:02:36 fx1, ok. there wasn't even an error in the console about not finding the function. simply, nothing happened Jul 17 21:02:47 both work differently.. you can find in control.js in the source i think Jul 17 21:03:10 * fx1 hungry Jul 17 21:03:17 i should mention i'm doing really basic stuff: Panels, some Images on them, change Panels when clicked on, etc Jul 17 21:03:39 ah, food. i thought i was forgetting something Jul 17 21:06:17 when you put the images in, you can add an ontap handler to it and catch it in your panels kind, right? Jul 17 21:10:37 fx1: structure of components is Panels -> Scroller -> Image -> ontap Jul 17 21:10:46 the wiki on published properties has a flaw Jul 17 21:10:51 but it seems like if i put the function declaration at the level of the Image, nothign executes Jul 17 21:10:53 or at least I think it does Jul 17 21:10:59 i need to pull it up to the level of the Panels control Jul 17 21:11:00 https://github.com/enyojs/enyo/wiki/Published-Properties Jul 17 21:11:21 the setter of published properties accepts two parameteres, property and context Jul 17 21:11:23 newbeen: where are you listening for the event? i need to see code Jul 17 21:12:05 with one I always get exception, (this.setProperty(val,context)) Jul 17 21:14:36 you can do something like: // {kind: "Panels", changePic: "handleChangePic", components: [ {kind: "Scroller", changePic: "changePic", components: [ {kind: "Image", ontap: "myHandler"} ]} ]} Jul 17 21:15:12 and then in your image kind: myHandler: function(s,e){this.bubbleUp("changePic", e);} Jul 17 21:15:42 and changePic will move up the tree through the scroller to your Panels Jul 17 21:16:02 and under handleChangePic: function(s,e){ /*code*/; return true; } Jul 17 21:16:11 fx1, i'll to make a fiddle, would that help? Jul 17 21:16:12 return true so the event doesn't bubble any more Jul 17 21:16:21 is it possible, to jsFiddle enyo? Jul 17 21:16:22 yeah, i'm gonna go get spaghetti Jul 17 21:16:51 on bad note, my GPU failed in cinebench in the VM. =( i call bullox! Jul 17 21:16:53 * fx1 food Jul 17 21:20:36 :/ Jul 17 21:25:00 kback Jul 17 21:27:58 dimk: that page says setter only takes one parameter, not two... ? Jul 17 21:28:44 yes Jul 17 21:28:50 the code examples inside Jul 17 21:30:36 sentence: "This is because JavaScript comparisons only change the outermost object." ... should "change" read "compare" ? Jul 17 21:36:20 yeap, but thankfully is easy to interpret so I think will stay like this for a while :D Jul 17 21:39:41 :-o Jul 17 21:41:22 newbeen: I think you can fork it and now that you know Git , to correct the mistakes and create a pull request back to them Jul 17 21:41:43 * newbeen hides under the table Jul 17 21:42:30 :p Jul 17 21:42:33 isn't it a wiki... Jul 17 21:42:33 this will be a good exercise to get used to Git and also you will now that for "ever" there will be something that people will read to get help and that you were part of Jul 17 21:42:47 ;) Jul 17 21:42:50 think about it Jul 17 21:43:10 git is important to know. Jul 17 21:43:17 * newbeen goes further under Jul 17 21:43:18 I'd rather say don't think about it, just go :p Jul 17 21:43:58 * joopmicroop calls newbeen to fetch since been = leg in dutch Jul 17 21:44:05 :D Jul 17 21:44:16 not to expert, but the concept of community development, changes, commits, while not inherent to git, is important for anyone looking to code in the real world Jul 17 21:44:44 i'm quite ok with svn Jul 17 21:44:51 yeap, svn systems in general are helpful for everyone Jul 17 21:45:13 so you have a grasp. go for it ;) Jul 17 21:45:38 i was almost too happy when i saw a "subversion" download link on github. didn't work, of course... Jul 17 21:46:24 a wiki that needs git? that's a new one... so not at all like wikipedia then Jul 17 21:46:53 I have bitbucket private repos and I was using it for a while, but git in certain things feels more flexible and powerfull Jul 17 21:47:03 no no is a git page if you ll see Jul 17 21:47:13 i just noticed, silly me :) Jul 17 21:47:31 because a normaly wiki would have been too easy, or what? *grin* Jul 17 21:48:29 i'm looking through the sampler apps, at button groups now... Jul 17 21:49:54 on lines 31 and 32, which control does originator refer to, please? http://jsfiddle.net/api/post/enyo/nightly/dependencies/onyx,layout,canvas,g11n/ Jul 17 21:51:02 i thought it was enyo.RadioGroup, because of the getContent being rendered as the name... but RadioGroup has no getActive() Jul 17 21:51:06 fiddle seems empty for me Jul 17 21:51:13 to me too Jul 17 21:51:22 click save and share Jul 17 21:51:28 in jsfiddle Jul 17 21:51:54 oh, sorry: http://jsfiddle.net/qwRZa/ Jul 17 21:52:22 on radios the originator should be the ontap Jul 17 21:52:34 * fx1 could be wrong Jul 17 21:53:05 there you go :p at your right you'll have your account name and have a menu item under there called dashboard, your fiddle is stored there with subversions and base Jul 17 21:53:23 line 32 reffers to control on line 27 Jul 17 21:53:37 joop: me? Jul 17 21:54:12 dimk: 27?? Jul 17 21:54:16 yeap Jul 17 21:54:24 {name:"result", classes:"onyx-sample-result", content:"No button tapped yet."} Jul 17 21:54:32 do you see the name:"result" Jul 17 21:54:34 ? Jul 17 21:54:39 * newbeen scratches his head Jul 17 21:54:40 yes? Jul 17 21:54:43 this translate to this.$.result Jul 17 21:54:50 nono Jul 17 21:54:57 always names get a specific position to this.$. Jul 17 21:54:59 i meant 'originator' on line 32. and also on line 31. Jul 17 21:55:39 the originator is "magic" :D it reffers always to the control you clicked on Jul 17 21:56:13 in this case... which? say i clicked on the radio button... Jul 17 21:56:13 yeah, dimk_ is right Jul 17 21:56:23 for radios** Jul 17 21:56:51 it says originator.getActive() ... but i can't see getActive() for onyx.RadioGroup in the docs... Jul 17 21:56:52 hold on loading my projects so i can thoroughly answer this Jul 17 21:57:38 ofcourse you can see the getActive Jul 17 21:57:41 is the first one Jul 17 21:57:50 sorry.. the second Jul 17 21:58:09 if you see from the beginning " activate, active .... " Jul 17 21:58:12 oh! thanks :) Jul 17 21:58:16 active is a published property Jul 17 21:58:17 ;) Jul 17 21:58:21 ok, got it Jul 17 21:58:58 why is the if (originator.getActive()) test needed? Jul 17 21:59:03 it seems to work even if i comment it out... Jul 17 21:59:08 http://pastebin.com/6bgHDy7x Jul 17 22:01:03 fx1, what is it? Jul 17 22:02:43 semi-important note about getActive() and like functions that return instances: if the instance is binded to a var and not deleted/removed, it will cause you problems later on the road if you need to .destroy() that kind.... and it will also eat up loads of mem Jul 17 22:03:34 newbeen: that was just my example of working onActivate event if it helped you at all. Jul 17 22:04:06 fx1 please explain further, sounds important Jul 17 22:04:22 bindend like fn.bind(this,arg); ? Jul 17 22:09:29 newbeen: I just caught up, I'm headed home, but I'll touch base with you when I get back to see if you need anything Jul 17 22:09:39 ok I got it , you are talking about garbage collection here Jul 17 22:10:38 summa: most kind. have a nice evening Jul 17 22:10:43 like, say you have panels. i've got an app that abuses panels. in my functions i like to bind controls to temp vars to make code more readable, ex: var _p = this.$.panel.getActive(); //. this gives a reference to the active panel. let's say i now do: this.activePanel = _p; because i think i'm witty, and the function ends, i can now use this.activePanel anywhere to get to that panel. but it's Jul 17 22:10:44 still a reference -- so now, i need to destroy that panel, AFTER the panel has swapped ==> and i forgot i binded that reference to the main kind.... i call this.$.panel.getPanels().pop(); ... the panel pops the stage successfully but LEAVES BEHIND the reference pointer to that stage...... the panel remains loaded in memory and .destroy() is not completed until all references are deleted Jul 17 22:11:24 ok I'm back Jul 17 22:11:46 dimk_: yep garbage collection. i learned on this on the way Jul 17 22:12:21 i actually think sugardave told me once, and i was thralled bc it's so obvious, trivial, and yet so important at the same time Jul 17 22:12:29 newbeen made a first file for you https://docs.google.com/file/d/0Bx1raQ6dEtZFMkI0UmwxMnlhX0U/edit Jul 17 22:12:45 I only got the setters/getters for now but more to come Jul 17 22:12:55 anyone who completely understands me gets 1 million points Jul 17 22:14:55 I'll let you know when there's an update newbeen Jul 17 22:15:01 haha yes I know about garbage collection, unfortunately garbage collector can not say always which instance is in use and which left there hooked unused and they tend to increase in number along with the time the application is being used Jul 17 22:15:29 is easy to understand these situations with browser developer tools once you are aware of that Jul 17 22:15:35 reference counting eek Jul 17 22:15:55 my app NEEDS to be combed Jul 17 22:16:10 performance is brutal after a day or two Jul 17 22:16:12 =O Jul 17 22:16:45 joop: wow, thanks, great. i'll certainly go through it in detail Jul 17 22:16:53 you need to check the points that happen. usually a graph of the app while interacting with the app is like spikes Jul 17 22:17:28 joop: do you think a runnable app with those comments would be better? than a doc i mean. maybe i can help convert it later Jul 17 22:17:35 when an object is created should raise the spike, and later on when is unused and garbage collector makes a pass should lower the spike Jul 17 22:18:22 if at some point , you see that the spike doesnt fall but keeps increasing through garbage collection at that point you left some references Jul 17 22:18:23 http://www.codeschool.com/courses/discover-devtools Jul 17 22:18:23 if all the parts are there explained you'll get a better overview of all the parts I think Jul 17 22:18:50 dimk_: i have a enyo theme engine with some horribly nested kinds... the result is visually pleasing and the code is ez 2 write but brings TP to its knees Jul 17 22:18:57 this is the minimum video you should see and be aware while developing web apps Jul 17 22:19:12 honestly here is the best resource to learn -- ppl with live answers Jul 17 22:19:22 joop: sure, i'm thinking of others really. this would be very valuable Jul 17 22:19:41 sometimes is hard to visualize these staff all alone , and if the necessary base is not present Jul 17 22:19:46 fx1: yeah, i'm amazed at how kind everyone is :) Jul 17 22:19:49 see the video and experiment Jul 17 22:20:28 later on you ll see that everything is simpler than the answer because you have everything in order in your mind, not just a "tip" Jul 17 22:20:42 * joopmicroop thinks we'll blow up the logsize by 1mb when we are done here Jul 17 22:20:59 hahahhah Jul 17 22:21:11 the channel got some fire tonight.. thats good Jul 17 22:21:12 :D Jul 17 22:21:28 agreed once again ;p Jul 17 22:22:58 I'll log off for a second I'm going to let the dog out and connect my laptop on the desk brb Jul 17 22:23:49 ok Jul 17 22:24:18 wish there were docs on how automatic scaling happens across resolutions/pixel densities... Jul 17 22:24:37 doing some trial-and-error on different mobile devices now Jul 17 22:24:43 there is code though ;) Jul 17 22:24:53 how is it going ? Jul 17 22:24:55 no, not the final effect on the browser... ? Jul 17 22:25:16 dimk: ok, thanks, as good as i could have hoped, so far Jul 17 22:25:39 nice to hear that! Jul 17 22:25:48 newbeen: there used to be more ppl in here, everyone ditched us. including HP Jul 17 22:26:15 ouch Jul 17 22:26:48 newbeen: you can auto-scale to any screen, use the tag in your index.html and add initial-scale: "1.5" or ".5" to scale up or down Jul 17 22:27:18 that's not auto, is it... ? Jul 17 22:27:28 it's about as auto as you're gonna get Jul 17 22:27:55 css pixels are not screen pixels. they are scalable, believe it or not Jul 17 22:28:04 they are LG now , right? Jul 17 22:28:31 fx1 well, it seems to be scaling just fine on ipad and iphone, and i haven't added anything... Jul 17 22:28:33 a css pixel has something to do with the width and height of the screen in inches and the distance from the screen, or somethign like that, idk... Jul 17 22:29:12 newbeen: i challenge you to add it and shrink your app for iPhone, LMK what happens Jul 17 22:29:38 i've deployed it on iphone and ipad now? Jul 17 22:30:43 will try though, so far just simple things Jul 17 22:31:33 the headline of this article is what made me even consider enyo: http://www.engadget.com/2011/02/09/webos-enyo-framework-free-to-developers-today-brings-pixel-dens/ Jul 17 22:33:46 and suddenly i notice it was posted in 2011... hmm... Jul 17 22:33:53 hahahahah Jul 17 22:34:06 enyo kicks ass as far as reach-as-far-as-possible-with-as-little-code-as-possible frameworks go Jul 17 22:34:29 i can't think of anything better.. jquery really isn't in the same category Jul 17 22:35:07 even enyo1 can go cross platform, so long as you use your own scroller and hack the source =P Jul 17 22:36:11 I liked enyo 1 for webOS Jul 17 22:36:19 I loved webOS to begin with. Jul 17 22:36:39 3 years later, with a palm pre 2 stolen, still have a pre 3 Jul 17 22:36:46 i like enyo1 > enyo2 for looks, enyo2 was a step backwards IMO. but the additions/revisions make it better Jul 17 22:37:41 i wish it were more widely adopted/noticed, there's room for enyo to get better / badder but a huge chunk of the engineering team was lost to google Jul 17 22:38:29 theres lotss of space, but from my understanding in forums so far , ben combee is one man army in that project Jul 17 22:38:55 * joopmicroop curses on google Jul 17 22:38:57 i think it offers MORE than jquery can (depending on POV), at the expense of learning a new framework.. you can hit all browsers + mobile devices in one fell swoop Jul 17 22:39:00 * joopmicroop curses on google Jul 17 22:39:05 * joopmicroop curses on google Jul 17 22:39:23 * joopmicroop kicks google Jul 17 22:39:37 to bad Jul 17 22:40:05 back Jul 17 22:40:11 joopmicroop: someone kicked you ?? Jul 17 22:40:15 it's biggest downfall is performance i think. if you abuse nested kinds, enyo is slow on underperforming hardware -- *(esp android where webviews are rendered with ONE core only) Jul 17 22:40:24 "D Jul 17 22:40:39 no I moved my laptop from kitchen to desk Jul 17 22:41:30 how do you create nested kinds ? Jul 17 22:41:34 you use panels ? Jul 17 22:41:56 solution to one-man-army: good docs :) Jul 17 22:42:03 fx1 you grab the kid by the collar there: 'underperforming hardware' Jul 17 22:42:11 i know how to create nested kinds, don't explain me the proc Jul 17 22:42:15 that's not enyos fault Jul 17 22:42:23 I mean what components do you usually use ? Jul 17 22:42:39 we are putting effort to suggest something better newbeen Jul 17 22:42:42 :) Jul 17 22:42:58 or at least we plan to put :D Jul 17 22:43:02 to whom? (i hope you don't mean me!) Jul 17 22:43:13 no to all the devs Jul 17 22:43:43 yeah. i don't know if it can be overemphasised. if enyo is as good as you all passionately say, it would be a pity for it to be overlooked by people like me Jul 17 22:44:22 who look at the docs and need a less steep in-road for a prototype app, before investing more Jul 17 22:44:55 i mean, i think that's the only way to get a critical mass going, anyway Jul 17 22:44:57 the plan is that ; integrate to API comment system unique for every module. Meaning when you check API for enyo.Button the comments will be specific only for that. In that comment system let devs put ONLY usefull info and examples so other developers (new) to have better understanding Jul 17 22:45:57 have you done a comparative study on how other frameworks achieve this? Jul 17 22:46:04 jQM, sencha... the big ones Jul 17 22:47:04 well some frameworks have just a lot of persons to writte staff, and create docs, polish functions etc. Here the case from my understanding is that the core team got shrinked, so let community make a move Jul 17 22:47:13 ah Jul 17 22:47:50 nested kinds are just kinds within a kind. basically everything in enyo is a nested kind Jul 17 22:47:51 also while the community grows, these are getting even better and better Jul 17 22:48:50 if you know the source at all you will find most everything you see is a descendant of enyo.Control and enyo.Component ==> two files i suggest reading through Jul 17 22:48:53 dimk: a bit chicken and egg... i wonder if the community will grow as well as it could without great docs to start Jul 17 22:49:03 fx1: I know that. I ask if you have a usual pattern of what kind of kinds you are using Jul 17 22:49:30 that is why we think to improve the overall experience with the documentation Jul 17 22:49:45 dimk_: i've got a custom kind for everything i use in Neo Jul 17 22:49:57 that's a rare occasion, and i'm a bit insane.. Jul 17 22:50:26 xaxaxaxa Jul 17 22:52:58 newbeen: I'm back, FYI Jul 17 22:53:11 wb summa Jul 17 22:56:53 Ajax, Async, WebService, JsonpRequest ... reading docs to see which I need Jul 17 22:57:09 (to call a URL and get a JSON string) Jul 17 22:57:13 anything that i use more than once i make a special kind for. for twitter i have a timeline that contains custom scroller, in it a custom list kind, in there a custom dynamically-chosen tweet kind which can contain custom image kinds, an icon kind, timestamp kind etc Jul 17 22:58:14 you'll need jsonpRequest to call a cross domain json string Jul 17 22:58:28 goodnight everyone. Have a nice time :) [ newbeen : The wiki!! :D ] Jul 17 22:58:40 sleep well, dimk Jul 17 22:58:41 nn dimk_ Jul 17 22:58:43 all those things render 50 times per "frame" (is that proper DOM terminology?) .... each tweet containing all those "dynamic nested kinds," running code in the handlers and events as the user scrolls up and down the list Jul 17 22:58:51 thnx Jul 17 22:58:57 bah Jul 17 22:59:22 you guys stealing my day. i need to get back to being a badass Jul 17 22:59:51 :p Jul 17 22:59:52 newbeen: you probably want Ajax, unless you're using jsonp for cross-site stuff Jul 17 23:02:50 i think the server supports CORS, so Ajax might be it (rather than JSONP) Jul 17 23:03:13 though i suppose there's no major difference between the two: as long as it works? Jul 17 23:07:18 JSONP wraps a callback, I've never used Jul 17 23:07:22 it Jul 17 23:07:36 I did Jul 17 23:08:19 mainly for cross domain server calls (that's why the hackidy callback is there for) Jul 17 23:09:37 as long as the server is on the same domain I guess go for ajax Jul 17 23:10:06 you'll figure it out :) Jul 17 23:10:30 not same domain, but supports CORS: just tried Ajax, works sweet Jul 17 23:11:53 how can i parse the returned JSON, please? are there helper methods for this? Jul 17 23:13:59 yeah, built into javascript Jul 17 23:14:04 JSON.parse() Jul 17 23:14:05 JSON.parse(sdlhfg) Jul 17 23:14:10 lol Jul 17 23:14:15 ah, thank you Jul 17 23:14:27 i was using the jQuery methods previously... Jul 17 23:14:34 JSON.stringify is the reverse Jul 17 23:14:47 and, the opposite way: JSON.stringify(); // warning: do NOT do this to an obj with an enyo instance. you will want to hang yourself Jul 17 23:15:01 yeah it loops Jul 17 23:15:58 as most prototypes would Jul 17 23:16:57 you can use the this.components array to save enyo objects to json Jul 17 23:17:35 how about the other way? Jul 17 23:17:52 can also be done Jul 17 23:17:54 i see jQuery makes JSON.parse() a lot easier to process... Jul 17 23:18:01 what other way? Jul 17 23:18:03 to pick values out of the JSON Jul 17 23:18:18 easypeasy Jul 17 23:18:21 you can surf the tree using the dot operator '.' Jul 17 23:18:32 JSON === JavaScript Object Notation Jul 17 23:18:45 say i have: ["id":"1","title","Big News","content":"long text here"] Jul 17 23:18:47 myVar.property1.property2.data.text.etc Jul 17 23:19:28 so to get 'title', just do: JSON.parse(str).title ? Jul 17 23:19:51 might be easier to var x = JSON.parse(str); Jul 17 23:19:52 myObj.id == "1" //*string value Jul 17 23:19:55 then x.title Jul 17 23:20:03 summatusmentis ^^^^ Jul 17 23:20:07 ta! Jul 17 23:20:14 :) Jul 17 23:21:09 newbeen: careful declaring that, if you forget the var you're going downhill. Jul 17 23:21:18 idk how fluent you were w/ JS Jul 17 23:22:46 um, probably not enough Jul 17 23:23:01 var keeps the variable scoped Jul 17 23:23:10 you know how scope works? i think i got a killer bookmark Jul 17 23:23:11 functionally, iirc Jul 17 23:23:28 sure; isn't is scoped to the function in which it is declared, in this case? Jul 17 23:23:35 need i worry about gc here? Jul 17 23:23:49 yes, scoped within the function Jul 17 23:23:55 gc should be taken care of Jul 17 23:23:59 i'm missing a trick with this parsing... Jul 17 23:24:08 i've got: Jul 17 23:24:09 what's the issue? Jul 17 23:24:10 http://www.ruzee.com/blog/2008/12/javascript-inheritance-via-prototypes-and-closures >> this one isn't the one i was looking for, but it isn't bad Jul 17 23:24:22 var ajax = new enyo.Ajax({ url: "http://xxx" }); Jul 17 23:24:26 ajax.go(); Jul 17 23:24:37 ajax.response(this, "processResponse"); Jul 17 23:24:44 processResponse: function (inSender, inResponse) { Jul 17 23:24:51 ooh shorthand if's and declarations if you don't know => http://www.geekpoint.net/threads/javascript-shorthand-tips-and-tricks.5582/ Jul 17 23:24:56 where i'm trying to get: inResponse.title Jul 17 23:25:03 no joy Jul 17 23:25:15 var respObj = JSON.parse(inResponse); Jul 17 23:25:22 might be coming in as an xhr object Jul 17 23:25:28 and, if you're feeling loopy today (pun intended) ==> http://www.webreference.com/programming/optimize/speedup/chap10/3/2.html Jul 17 23:25:30 try using handleAs: "json" in your ajax call Jul 17 23:25:50 sec Jul 17 23:25:56 * fx1 last link proven time-saver in game Jul 17 23:25:57 joop's easier to try first :) Jul 17 23:26:47 newbeen: you can also log thngs (this.log()) into the web inspector, and look into it Jul 17 23:27:00 var respObj = JSON.parse(inResponse); ===> "Unexpected token o" Jul 17 23:27:05 funny-o! Jul 17 23:27:20 summa: ah, great! Jul 17 23:27:20 yeah but what's in the inResponse Jul 17 23:27:26 yeah, this.log() is pretty vital. also to know the difference between this.log() and enyo.log() and console.log() Jul 17 23:27:31 joop: ["id":"1","title","Big News","content":"long text here"] Jul 17 23:27:48 newbeen: this.log() wraps console.log somewhere down the chain (which is the normal-js way) Jul 17 23:27:55 fx1: thanks for the links Jul 17 23:28:44 also, I know we're all talking at you, I'll step back a little bit Jul 17 23:28:47 not trying to overwhelm Jul 17 23:28:51 can you make a quick fiddle for that? Jul 17 23:29:25 summa: no worries :) just: can't find handleAs in docs Jul 17 23:30:04 cause I think in the inResponse object there's a property responseText or something that contains the actual response string Jul 17 23:30:17 newbeen: there is one guy online that has posted a series of EXTREMELY good JS tutorials... i can't for the life of me remember where it is, halfhalo fed me the link back in the day but i was too inexperienced to read through. he's got like 13 chapters i think, all secrets and tidbits, no beginner fluff Jul 17 23:30:19 joop: probably not quick i'm afraid, not too fluid with it Jul 17 23:30:23 and you need to json.parse on that Jul 17 23:30:25 maybe summatusmentis knows what i'm talking about. idk Jul 17 23:30:41 joop: ok, will look Jul 17 23:30:47 I've never seen that Jul 17 23:31:11 i remember when i was learning JS i kept bugging the crap out of him with bizzarre questions Jul 17 23:31:28 sample docs show this: JSON.stringify(inResponse, null, 2) Jul 17 23:32:00 that's to send to server Jul 17 23:32:03 newbeen: what happens when you this.log(inResponse)? Jul 17 23:32:22 then you stringify an object to send the string to the server Jul 17 23:32:44 [Object, Object] Jul 17 23:32:52 with a get server call you'll have to use json.parse to convert the string to an object Jul 17 23:32:56 joop: it was stringifying to display in a textbox Jul 17 23:33:07 summa: what is returned: [Object, Object] Jul 17 23:33:23 newbeen: what about this.log(JSON.stringify(inResponse)); Jul 17 23:33:28 Oh snap! got it ======> http://eloquentjavascript.net/contents.html Jul 17 23:33:35 this guy knows what he talking about methinks Jul 17 23:34:00 summa: ["id":"1","title","Big News","content":"long text here"] Jul 17 23:34:22 did you type that out? Jul 17 23:34:31 "title","Big News" ? Jul 17 23:34:36 yes, it's a much larger thing Jul 17 23:34:37 man it's getting confusing here Jul 17 23:34:39 apologies, typo there Jul 17 23:34:43 ok Jul 17 23:34:47 just clairfying Jul 17 23:35:04 joop yes, sorry. i'll try a fiddle or other next time, for questions Jul 17 23:35:14 fiddle works fine with enyo Jul 17 23:35:46 newbeen: so, var x = inResponse; this.log(x.id); ? Jul 17 23:39:16 I think newbeen is somewhat exploding with information right now :p Jul 17 23:39:38 indeed Jul 17 23:39:50 hehe, no Jul 17 23:40:01 but i have to apologise; in simplifying my example, i made a mistake Jul 17 23:40:26 the text really coming back was: [{"id":"1","title":"Big News","content":"long text here"}{ ... }] Jul 17 23:40:30 no apologies needed Jul 17 23:40:32 so that was an array of objects Jul 17 23:40:35 oh, right Jul 17 23:40:38 I wondered Jul 17 23:40:44 :p Jul 17 23:40:45 and this worked fine: this.log(inResponse[0].title); Jul 17 23:40:57 yep Jul 17 23:41:04 x[0].title Jul 17 23:41:40 you'll have to excuse me this time, it's way past my bedtime :) Jul 17 23:41:49 tought the previous array was a bit freaky :p Jul 17 23:42:02 ha. this was a test, you see... Jul 17 23:42:17 k we'll continue when you're ready for it Jul 17 23:42:24 thanks chaps Jul 17 23:42:32 really invaluable you all are Jul 17 23:42:33 cheerio, pip pip Jul 17 23:42:38 * newbeen waves good night Jul 17 23:42:39 >_> Jul 17 23:42:41 tah Jul 17 23:42:41 tjuus Jul 17 23:43:14 same here btw need to work tomorrow Jul 17 23:43:23 nn Jul 17 23:44:06 tah Jul 17 23:48:41 good night newbeen Jul 17 23:53:41 anyone want to help me fix Neo Jul 17 23:54:18 omg Jul 17 23:54:20 it's you Jul 17 23:55:14 yeah, my nick/ip got banned temporarily for too many disconnects, and er scoutcamper|away made me a znc.. but i can't get it working right in mIRC Jul 17 23:55:37 and xchat is past expiration and i already paid for mIRC. Jul 17 23:56:05 but yeah, i have until September to work on it. soOo Jul 17 23:56:21 i'm putting it off as long as possible Jul 17 23:57:35 what's in september? Jul 17 23:57:45 september is school, no free time in september Jul 17 23:58:53 oh Jul 17 23:59:07 i have 5 credits to go for a CIS degree =) Jul 18 00:00:20 fx1: get a job. hippie. Jul 18 00:00:35 HaDAk: trying! forklift operators make $11/hr at night Jul 18 00:00:47 i'm going to forklift your mom. Jul 18 00:00:50 zzzzzzzing Jul 18 00:00:50 if i get it, i could build a webos forklift app and hack it Jul 18 00:01:07 oh yeah. i need to finish this document. Jul 18 00:01:08 * HaDAk peruses Jul 18 00:01:27 what is CIS? Jul 18 00:01:34 OR i could make an app that looks like it does bad things, and accidentally leave it inconspicuously near the boss...o.O Jul 18 00:01:42 computer information systems Jul 18 00:03:18 oh, an undergrad degree? Jul 18 00:03:26 W8 needs a reboot after heavy SWAP usage... brb Jul 18 00:03:30 yeah, AS Jul 18 00:16:19 check your inbox, slut. Jul 18 00:18:06 i know, i get around Jul 18 00:18:49 TYVM =] Jul 18 00:19:06 shit you need to look at is in red Jul 18 00:19:10 can't miss it Jul 18 00:19:25 lol Jul 18 00:19:28 good points. Jul 18 00:19:38 i made edits to almost everything. Jul 18 00:19:42 so, double check it all Jul 18 00:19:45 just read through it Jul 18 00:20:21 i'll grammar it tomorrow, too late today, just read-through right now. it's def getting better Jul 18 00:20:32 it's the best resume i've ever had! Jul 18 00:20:49 :) Jul 18 00:20:58 i need to go through mine and expand upon it Jul 18 00:21:37 but i HAVE a job, so it's not a top priority Jul 18 00:21:59 resumes are for chumps Jul 18 00:22:03 CVs are where it's at Jul 18 00:22:20 i like what you did w/ the dates; the template had XX/XX/XXXX -- XX/XX/XXXX format hard coded in, you went outside the boundaries of the template designer Jul 18 00:22:21 if you're in europe, sure Jul 18 00:22:52 fx1: i tried changing the dates for ones older than 3 or 5 years, but it kept reverting, so i said fuggit Jul 18 00:23:08 but people are going to look at 1/1/2008 or whatever and roll their eyes Jul 18 00:23:08 a couple sentences were a lil wordy, but for the most part changes are for the better Jul 18 00:23:17 you didn't get a job on new year's day :P Jul 18 00:23:19 lol stupid template Jul 18 00:23:46 hey, i remember the exact date i was hired AND fired for every job i ever had! /jk Jul 18 00:24:01 *i* do, but only because i'm exceptionally dilligent about record keeping Jul 18 00:24:09 europe, and academia Jul 18 00:24:19 it's not that difficult to remember. esp if you were excited about it Jul 18 00:24:24 true, but we're not going for either summatusmentis Jul 18 00:24:30 well, i will be, soon enough perhaps Jul 18 00:24:52 fx1: it's plenty difficult to remember. but it's easy to search on google calendar, if you use a standard format for that sort of thing Jul 18 00:25:08 was google calendar around in the 90's? Jul 18 00:25:32 the ical standard was. you can import. Jul 18 00:25:54 standards, they win again! Jul 18 00:25:54 we need more standards! Jul 18 00:26:07 i had an argument with the webos devs when 1.0 dropped Jul 18 00:26:10 it didn't support .ics files Jul 18 00:26:23 they told me that's because ical is an "apple proprietary format" Jul 18 00:26:29 to which i replied with an RFC Jul 18 00:26:33 …it was never implemented. Jul 18 00:27:32 so, they went out of their way to put iTunes sync in, then disabled it (when it still worked on iTunes 9) in 2.x, and never put in .ics which probably 1/3 of those itunes users used Jul 18 00:28:11 i don't agree with a lot of the decisions that were made, that's for sure Jul 18 00:28:20 hey, fx1. you got skype? Jul 18 00:28:28 you do Jul 18 00:28:29 i have you on skype Jul 18 00:28:30 hah. Jul 18 00:28:34 * HaDAk puts a shirt on Jul 18 00:29:00 yes, i have, but webcam i have not Jul 18 00:30:46 you're useless Jul 18 00:31:15 pretty much. i've been watching bitlocker decrypt all day when i could've been writing my own encryption algorithm Jul 18 00:31:40 where's your touchpad? Jul 18 00:32:03 it's over there, hold up Jul 18 00:32:24 that thing has a microphone Jul 18 00:36:42 my playbook has a better camera, but blackberry doesn't have a skype app. LOL Jul 18 00:37:23 i got to play with eric's playbook the other day. it seemed nice, but i don't know how the app support is Jul 18 00:38:02 it doesn't matter how good any of the apps are. the app for their market is HORRIBLE... unexplainably horrible Jul 18 00:39:16 their top charts for paid and free are 25 each, they should be endless lists. then each category is broken down so far -- when you get to the category you want you're met with MAYBE 1 app that does what you want, and 20 apps that do something similar very poorly Jul 18 00:40:09 any dev who wants to sell their app is forced to have their app buried with at LEAST 4 drilldowns -- on webos someone could get lucky and hit the "top charts" for a few weeks, not with BB! Jul 18 00:40:32 oh and their "by rating" does not factor downloads, so a brand new app with ONE five star rating can hit the top. Jul 18 00:40:41 * fx1 welcome to BB world Jul 18 00:42:07 and the icons are TINY! they have a 6 wide by 4 down layout, shoulda gone strictly vertical Jul 18 00:42:07 hah Jul 18 00:42:40 app discovery is poor. it has dual cores, they've somewhat optimized the performance -- but as soon as you add any mail accounts, bye bye Jul 18 00:42:53 ack. Jul 18 00:42:53 notifications are annoying AF. argh Jul 18 00:43:31 aren't you just a sassy sally Jul 18 00:43:34 a blinking red light in the corner of the tablet that doesn't shut off until you address EACH notification...... OR you can have it force notify you by bringing down a bar on the top of the screen Jul 18 00:43:39 did you go get that touchpad yet? Jul 18 00:44:10 it was stuck in android, i'm getting there Jul 18 00:44:27 :P Jul 18 00:46:15 this bluetooth dongle is never charged when i need it. i can never remember whether red is on or off =\ Jul 18 00:48:41 why does it need to be charged? O_o **** ENDING LOGGING AT Thu Jul 18 02:59:58 2013