These are chat archives for highfidelity/hifi

12th
May 2014
Barry Quigley
@Bazm0
May 12 2014 14:51
Hi, apols for the noob question - which 3D sensor provides best compatibility when running the app interface on mac osx?
Clément Brisset
@Atlante45
May 12 2014 15:30
Hey @Bazm0, Best way to run interface with faceshift is the primesense camera.
Mohammed Nafees
@mnafees
May 12 2014 17:33
how are we going to handle resposive design of the custom designed widgets? any plans?
Thijs Wenker
@thoys
May 12 2014 18:26
@problem ^
Clément Brisset
@Atlante45
May 12 2014 18:29
@problem is OOO and AFK until thursday.
Concerning responsive design, since those widget are only temporary. I think they’ll only last for the alpha period. I don’t think anyone really gave it much thought since there will be a proper interface/window system coming down the line.
Jeremiah Biard
@kzzch
May 12 2014 18:42
hrmm, i'm working on an in world application with a ui built on Overlays... will this be useless once the alpha's over?
Clément Brisset
@Atlante45
May 12 2014 18:53
The JS API shouldn’t change much. It’ll probably be improved so you might have to tweak your script but the basic Overlays functionnalities should stay.
Jeremiah Biard
@kzzch
May 12 2014 19:02
that's cool, i'm having a lot of fun using it right now. using javascript instead of lsl is really really cool.
is there a plan to be able to call scripts from each other or anything like that?
or maybe write notecards or something?
Mika Impola
@polac
May 12 2014 19:06
@kzzch: someway to include another JS would be nice. It would mean that you could build libraries.
Ryan Huffman
@huffman
May 12 2014 19:07
Unless I am misunderstanding, that's already possible. Check out the includeExample
Mika Impola
@polac
May 12 2014 19:09
@huffman it seems so. I really need to read through all those examples.
Clément Brisset
@Atlante45
May 12 2014 19:09
Actually include lets you run another script from a file. unfortunately you don’t have access to it’s scope so you can’t actually build libraries that way.
Not yet ;)
Thijs Wenker
@thoys
May 12 2014 19:10
would be a nice worklist item :P
Jeremiah Biard
@kzzch
May 12 2014 19:10
\o/
this is the coolest project ever
Clément Brisset
@Atlante45
May 12 2014 19:10
Good idea thoys, I’ll put it up.
Ryan Huffman
@huffman
May 12 2014 19:12
@Atlante45 You can add to the global scope by assigning a global variable. I did this in my XMLHttpRequest job (not merged yet): https://github.com/huffman/hifi/blob/19614/examples/Test.js https://github.com/huffman/hifi/blob/19614/examples/testXMLHttpRequest.js
Clément Brisset
@Atlante45
May 12 2014 19:13
Really?
Very cool, I didn’t even know about that one.
Thijs Wenker
@thoys
May 12 2014 19:14
@huffman cool!
Ryan Huffman
@huffman
May 12 2014 19:17
Yep. I'm not sure sure if Script.include() will return the evaluation of the script, but it would be nice for encapsulation as well, to avoid clobbering the global namespace
It should be an easy update (couple liines?) if not
Thijs Wenker
@thoys
May 12 2014 19:18
Atleast it wont go outside the current ScriptEngine object
i think
Ryan Huffman
@huffman
May 12 2014 19:18
Yeah, it's at least encapsulated at that level
Bennett Goble
@nivardus
May 12 2014 19:54
@huffman, good information. On a very related note I was playing with JS scope last night and used the ol' anonymous wrapper function trick to create an isolated scope. How useful this pattern is, I'm not sure, since you can just use var to keep variables in the local scope --but it may ensure some protection against accidental pollution of the global scope https://gist.github.com/nivardus/a7e3592d45789d938ea2
Ryan Huffman
@huffman
May 12 2014 19:59
@nivardus Nice! I think if scripts are ever changed to execute at global scope it would be even more useful. It's also how I would imagine using Script.include()if it returned a value, as I suggested above. Then you could do Foo = Script.include('Foo.js');.
Bennett Goble
@nivardus
May 12 2014 20:03
That's a good idea, so would Script.include return the evaluated script's scope or something more explicit like nodejs/commonjs's module.exports?
Ryan Huffman
@huffman
May 12 2014 20:11
I was imagining it being the result of the last statement in the script. Using your example, it might look like:
(function() {
  // private scope

  var Foo = function() {
  };

  Foo.prototype.myMethod = function() {
    window.print('Ahoy');
  }

   return Foo;
})();
The scope is already private right now anyway, so currently it would be redundant to wrap it in a self-executing anonoymous function
re: module.exports, not sure, I'm not familiar enough with node.js. Does that determine what is returned?
Bennett Goble
@nivardus
May 12 2014 20:16
Yeah, module.exports defines components, which another script can import with require('script.js')
or rather require('myModule')
Ryan Huffman
@huffman
May 12 2014 20:19
Cool, that's a good option too then
Andrew Meadows
@AndrewMeadows
May 12 2014 20:43
@kzzch, when I last played with the overlay system I concluded that it needs a lot of work. It seems silly to require people to write their own UI widgets in JS. We should just expose real Qt UI elements to the JS system.
Jeremiah Biard
@kzzch
May 12 2014 21:09
That would be cool, I was actually wondering if that was possible somehow.
As it is I was thinking of writing a UI library myself, which is what inclined me to ask about calling one script from another in the first place.
Andrew Meadows
@AndrewMeadows
May 12 2014 21:28
A way to write custom JS libraries is needed, yes. But I don't think hifi users should be required to write a UI lib. Instead we need to enhance the overlay system.
I made partial progress toward exposing the overlay properties to JS but did not finish. I'll try to find time to dust that project off this week.
Ryan Huffman
@huffman
May 12 2014 21:32
@AndrewMeadows Are you adding the ability to use Qt UI elements on the overlay?
Jeremiah Biard
@kzzch
May 12 2014 21:34
@AndrewMeadows is the source available anywhere? Maybe I can help?
Clément Brisset
@Atlante45
May 12 2014 21:34
Also got a mini lib for toolbars. I’ll package it as @huffman did and try to commit it today.
Andrew Meadows
@AndrewMeadows
May 12 2014 21:36
not yet kzzch, I wanted to finish the last bit myself so I could learn more about the JS-C++ translation layer.
Jeremiah Biard
@kzzch
May 12 2014 21:37
cool, i just wanted to learn more about qt, c++, and javascript
Andrew Meadows
@AndrewMeadows
May 12 2014 21:37
but all I was doing was exposing the properties of existing overlays. Once that is done then we'd still need to make checkboxes, sliders, and buttons work as overlays. I think @ZappoMan may have some opinions on how to go forward on that.
you and me both kzzch. I
Jeremiah Biard
@kzzch
May 12 2014 21:37
There are examples of the sliders and buttons in the script example library
Andrew Meadows
@AndrewMeadows
May 12 2014 21:38
yes but, the slider and checkboxes are managed by JS
Jeremiah Biard
@kzzch
May 12 2014 21:38
the slider is made with a couple of .pngs
Andrew Meadows
@AndrewMeadows
May 12 2014 21:38
what I'd like would be a C++ checkbox that is controllable via JS
that is, I don't want to write the checkbox logic in JS.
Jeremiah Biard
@kzzch
May 12 2014 21:39
i should just start poking around in the source code
Clément Brisset
@Atlante45
May 12 2014 21:39
Thing is those overlays are rendered in OpenGl.
I don’t know how well Qt handles slider and checkboxes in an OpenGl environment.
Brad Hefta-Gaub
@ZappoMan
May 12 2014 21:40
We've been talking recently about how we want the system to be more emersive… was chatting with Philip about this earlier today… it seems to me that one important concept is that when ever you add "controls" you do it in a manner that can be operated without a keyboard...
that's a bigger topic/issue in general...
Andrew Meadows
@AndrewMeadows
May 12 2014 21:40
actually, what I started trying to do was write a JS checkbox using JS-OOO techniques, but then realized that I needed to query the overlay properties in order for that to work well
Brad Hefta-Gaub
@ZappoMan
May 12 2014 21:40
but something to consider when you talk about controls like sliders and checkboxes etc...
Jeremiah Biard
@kzzch
May 12 2014 21:40
well, you could easily make a slider controlled by the hydras
Andrew Meadows
@AndrewMeadows
May 12 2014 21:41
er... I mean JS-OO
Brad Hefta-Gaub
@ZappoMan
May 12 2014 21:41
IMO - I don't think we should put any energy into using Qt controls as overlays
Jeremiah Biard
@kzzch
May 12 2014 21:41
hmm, i think i know where you're going with this
Brad Hefta-Gaub
@ZappoMan
May 12 2014 21:41
I think we should think about designing controls that work well with alternate/immersive input devices like hydras or "wand/pointer" controls.
Jeremiah Biard
@kzzch
May 12 2014 21:41
a long time ago i saw a web site that had a little 3d cube in the corner of it
you could rotate the cube by dragging on it and when you clicked on the faces each one was a different hypertext link
if i remember correctly it was written in javascript
i'm talking probably 10+ years ago
Andrew Meadows
@AndrewMeadows
May 12 2014 21:43
I'm trying to figure out how the topic got onto "controls". @ZappoMan by "controls" are you talking about mouse/haptic/etc input?
Clément Brisset
@Atlante45
May 12 2014 21:44
We were talking about adding sliders and checkboxes. For thos you’re kinda required to use a mouse and keyboard.
I think that’s why we moved to controls.
Jeremiah Biard
@kzzch
May 12 2014 21:45
there wouldn't be any way to capture something like the hyrda and put it in a 2d mode so you could use it on a HUD overlay?
Brad Hefta-Gaub
@ZappoMan
May 12 2014 21:46
@AndrewMeadows - well I was trying to say "input devices" but I got my signals crossed
I am generally saying the following….
Jeremiah Biard
@kzzch
May 12 2014 21:47
hrmm, iterestingly enough i watched a clip from johnny mnemonic a couple of days ago, the part where he goes into the network with the eyephones and the haptic gloves
Brad Hefta-Gaub
@ZappoMan
May 12 2014 21:47
overlayed controls (like a slider or checkbox) should be something that can be changed/interacted with, by non-keyboard "input devices"….
so… I don't think we should expose Qt style "controls" (e.g. Sliders, Text Input, buttons, etc…) as overlays...
because those "controls" won't work well with alternative input devices like Hydras, "wands" etc...
not to mention the fact that to get those "controls" to render in OpenGL, you have to do a bunch of crazy BS that is more headache then we want anyway...
Jeremiah Biard
@kzzch
May 12 2014 21:50
Well, I can see a trackball working as a replacement for a slider anyway, swiping your 'hand' over the trackball from side to side... is that what you guys are thinking?
like a virtual trackball
Brad Hefta-Gaub
@ZappoMan
May 12 2014 21:50
Now, Philip and I were discussing this morning the idea of an "air keyboard"… with our existing Overlays and Hydra support, it would be possible to write a JS file that added an "air keyboard" that would allow you to do things like go to Domain, or jump to location without ever taking your hands off the hydra...
I mean "with our" not without...
Andrew Meadows
@AndrewMeadows
May 12 2014 21:51
hrm... such mouse+keyboard only controls will probably happen eventually, and will be used to great effect by many people. However I can accept that we don't need to spend time on them at this point.
Brad Hefta-Gaub
@ZappoMan
May 12 2014 21:51
I'm not suggesting it would be easy to build… but it would be possible.
Jeremiah Biard
@kzzch
May 12 2014 21:51
uh... that's sounds so clunky. you'd basically be hunting and pecking... or would it be more like swype?
Brad Hefta-Gaub
@ZappoMan
May 12 2014 21:52
swype would also be much better yes
For UI/UXs where you're selecting something… from a catalog of items for example...
swype and other gestures would be far superior.
In fact, the "air keyboard" being clunky is kinda the point…
Jeremiah Biard
@kzzch
May 12 2014 21:53
well, i mean instead of pecking out the keys on a virtual keyboard, you swipe your fingers over them spelling out the word without lifting your fingers
Brad Hefta-Gaub
@ZappoMan
May 12 2014 21:53
sure
or better than that… use voice commands.
Jeremiah Biard
@kzzch
May 12 2014 21:53
right but not everyone is going to have access to all that stuff
at least not at first
well except the voice part
plus i don't know if anyone else uses vim or anything like it but i'm really married to my keyboard
Brad Hefta-Gaub
@ZappoMan
May 12 2014 21:54
the meta point is… we should be thinking about designing for immersive interaction and UI/UX...
Jeremiah Biard
@kzzch
May 12 2014 21:55
probably for the end users, i imagine developers might not want to develop with that stuff
Brad Hefta-Gaub
@ZappoMan
May 12 2014 21:55
sure
development tools are a different beast
Jeremiah Biard
@kzzch
May 12 2014 21:56
i can't see myself ever writing code with anything other than a keyboard, except maybe haptic gloves with a kickass keyboard app
Brad Hefta-Gaub
@ZappoMan
May 12 2014 21:56
yes agreed
Jeremiah Biard
@kzzch
May 12 2014 21:56
yeah, see, i think @AndrewMeadows and I are more worried about tooling for hackers and not so much... tourists.
/me goes shopping for some Sogo 7 Datagloves
Max Risuhin
@MaxRis
May 12 2014 22:02
Hello! Could you please answer the question, on the Windows you are using Qt5 OpenGL build or default (ANGLE) Qt5 build configuration with msvc2010 ?
Chris Collins
@cozza13
May 12 2014 22:04
FYI @MaxRis is working on one of the Windows crash issues for me
Max Risuhin
@MaxRis
May 12 2014 22:05
oh, I see in build guide, that 32-bit OpenGL is used
Jeremiah Biard
@kzzch
May 12 2014 22:12
oh cozza i didn't know you were chris
or i forgot
Max Risuhin
@MaxRis
May 12 2014 22:14
Could someone suggest something on following issue: for Windows suggested Qt build is OPENGL build, but looks like users experience a lot crashes, because of pure graphics cards codecs support. In this article http://qt-project.org/wiki/Qt-5-on-Windows-ANGLE-and-OpenGL explained the difference between Qt5 Angle build and opengl build ... and looks like what is needed is to try Qt5 Angle build with hifi app to avoid crashed on different Windows systems
Max Risuhin
@MaxRis
May 12 2014 22:19
Also for me very strange, why current installer distribution of Interface.exe on windows built with Qt5 contains file D3DCompiler_43.dll ... that file is used by Angle build, but not by OpenGL Qt build ... it's a wrapper to redirect OpenGL calls to DirectX ... that is not requires additional drivers on Windows (if that's truth)
Thijs Wenker
@thoys
May 12 2014 22:24
@murillodigital ^
Leonardo Murillo
@murillodigital
May 12 2014 22:33
@MaxRis thnx for that info, as I built the package some dependencies came evident, I believe that packages was required — don’t ask me why ;) but I’ll double check if it is indeed required
Chris Collins
@cozza13
May 12 2014 22:35
@kzzch yep @cozza13 = chris
Jason Hawks
@nbq
May 12 2014 22:37
Oh hey @thoys my headset works fine in windows on the same machine on newest build, gotta check it by logging into mac side and seeing if it still has issues there
and hiya @cozza13 have not formally said hey to you yet here, I am Coal in world
Chris Collins
@cozza13
May 12 2014 22:41
ahh cool! hi @BitsOfCoal, it seems we need an extra field in github for our hifi names :smile:
Jason Hawks
@nbq
May 12 2014 22:42
haha yeah sometimes! I knew by watching back after I was afk but always missed you
I was "Holoshed" here but it did not have Coal in it at all so I changed it
Oh @cozza13 wanted to ask if you knew any time frame on the server packages being sent out? I was on mac during last meeting and could not hear a darn thing and finally boiled it down to my headset not working with hifi/interface so I was not sure if anything was mentioned there
Max Risuhin
@MaxRis
May 12 2014 22:59
@murillodigital Okay, thanks. I think, it's needed to try to build app with default Qt5 build to try to avoid crashes on some machines. Not sure, if app will be compiled without errors or some another issues can appear.
Chris Collins
@cozza13
May 12 2014 23:08
@BitsOfCoal should be ready before our next meetup
Jason Hawks
@nbq
May 12 2014 23:10
sweet thanks!