Beta Release 33


#1

Beta Release 33 includes up to Developer Release 5951. This release contains a protocol change, so you will need to update. You should see it live in 30-40 minutes after the time of this post.

Of note:

  • New Tablet UI - We’ve implemented a new, tablet-based UI. Features that were previously in the HUD will appear on the tablet. Please check it out and let us know what you think! Detailed feedback welcome.

    General details on the tablet can be found here and how to add more icons to the Tablet can be found here. If you would like to switch back to the old UI, there is a Marketplace item that allows you to make the switch :sob:
  • Entity Server Scripts - New Assignment type called the Entity Script Server as well as a new entity property called serverScripts. You can find out how to create these script from the High Fidelity wiki.
  • People Action List (PAL) updates
    ** Added a volume slider beneath each user’s VU meter in the PAL. Using this slider, users can adjust the volume of each avatar present in a domain individually. PLEASE NOTE: This means others can potentially hear you quite well from afar.
    ** Added “ADMIN” labels to the right of Display Names on PAL cards corresponding to domain administrators.
    ** Removed ignored avatars from PAL when they disconnect.
    ** Initial analytics for PAL usage added.
    ** Updated the visual style of the letterbox popups that appear when clicking on “[?]” buttons.
    ** Raised virtual keyboard when editing DisplayName in HMD.
    ** Fixed card visibility when selecting out-of-table users.
    ** Display avatar count in table header
  • Introduced a type Meta to the render items of the scene. The type Meta for a render item is used to indicate that a render item supervise sub items and act as a group of render items (typically shapes).
  • Entity filters: Improved zone filter; maxVelocity filter; documentation

And also:

  • Fixed audio failures that occur when a broken driver returns mixFormat that is invalid/unsupported.
  • Added opaques/skinned to forward rendering path
  • When calling requestUsernameFromID() from a script you can call you own username
  • Fixed a bug that kept physics and scripts from starting when logging-in near (but not looking at) something that’s physical
  • Added a command line argument that enables heartbeat stats sending at 1s
  • Allow users to edit their Display Name from within the PAL via an editable TextInput field
  • Consume fewer CPU cores in AssetServer when interface is running locally
  • Add on/off switch to ambisonic/ambient sound emitter
  • Removed some PAL-related interface log spam
    https://github.com/highfidelity/hifi/pull/9410
  • Created render forward version of pixel shaders
  • Additional trace details for GPU timing, frame data updates
  • Removed a line of old code in Clara.io download
  • Fixed “Last Editor” popup bug
  • Fixed warnings for signed comp in AudioMixerSlavePool
  • Fixed Places / Paths anchor in domain settings
  • Use fromUserInput to avoid web entity crashes with bad URLs
  • Fixed invalid volume values in injector options silencing all injectors
  • Do not allow grab or far-grab or click while editing objects
  • Updated the name of the collision shapes used in edit.js properties
  • Connected audio injector signal to scripting
  • Fixed Edit.js rescale for decimal values
  • Fixed a failure case where isFormatSupported(mixFormat) returns false on some systems, when format is WAVEFORMATEXTENSIBLE with channels > 2, audio enhancements in “Speaker Properties/Enhancements” are not disabled, and dwChannelMask is nonzero but does not match the speaker configuration.
  • Cleanup debug for safe web entity URLs
  • Use host check for entity script whitelist instead of startsWith
  • Fixed a bug in the Steam JS API that caused the app to crash.
  • Fixed intermittent Clara.io download crashes
  • Fixed Overlay-as-child of model entity with reg point
  • Changed server default to not auto-muting
  • Optimize, prioritize, and timebox processing of avatar updates
  • Throttle audio with PI controller, by node
  • Edit entity filter
  • Avatar mixer bandwidth optimization
  • Fixed audio-mixer timing for WIN32
  • Added debug logging to entity server startup in the case of having a filter
  • Fixed the audio encoding of a scripted agent that plays back a recording.
  • Fetch entity filter script asynchronously (but reject edits while waiting)
  • Fixed label typo in help graphic
  • Fixed animation jitter
  • Require password verification in domain-server settings
  • Fixed importing of PolyVox entities
  • Fixed Entities.isChildOfParent crashing if given unknown ID
  • Queues local audio in a separate ring buffer so responses do not lag with network jitter
  • Fixed for missed START collision events
  • Avoid recursion to unchanged octree elements with frustumless queries too
  • Fixed memory-leak in Windows audio stack
  • Adding support for disabling texturing from the material
  • Fixed bug that causes GCC not to detect AVX2
  • Compute Model’s local bounds outside pending changes queue
  • Hide webview context menus when clicked
  • Fixed simulation owned entities not to go to origin after cache reload (+ small priority fix)
  • Make table additions in DS settings more obvious
  • Fixed a bug with empty entity script whitelist not skipping script check
  • Cleanly log failed entity adds, and tell the client to delete his copy
  • Accept forced physics results from entity server (e.g., when filtered)
  • Fixed a bug adding rows in domain-server settings with default values
  • Adding instrumentation for traces regarding Image and texture loading and preparation

#2

Okay,

So, let me add the feedback, because I though this was seriously tested especially after few of us pretty much beat what we thought was a dead horse a couple of weeks ago, especially after what @WolfGang did to poor @Chris over a meeting:

Let me make it clear: the Tablet is fantastic for Hand controller using HMD users. But it is not ideal for Desktop or HMD users with Gamepads.

If you want to be a cross platform solution as a VR platform, you have to accomidate both content creators and consumers. BY DEFAULT Not through having to do a console command Settings.setValue("HUDUIEnabled", true) and reseting the script.

It also doesnt help VR users using Non-hand controllers! Bad for Gamepad controllers.

  • The tablet jitters and lags behind -alot- in desktop mode when in realistic use in another domain other than local, especially if it is up and the user is moving around.
  • It goes through stuff, including ones own avatar when in Third Person
  • It blocks the mirror mode.
  • Marketplace still takes forever to initially load.
  • It is ugly for desktop users. which usually is 50% chance a user comes in with before putting on HMD. And 90% chance if it is a content creator. HMD users cannot simply cannot create content other than voxel or drawing on a drawing board.
  • It should be, use OLD ui for desktop then new for HMD usersr
  • Friend List is unreadable on desktop at 50% scale
  • The Tablet is not consistant. The Edit Menu pops up the old menu instead of being inside the tablet.
  • I cannot have multiple stuff up, such as friends list, up without having the tablet.
  • Showing admin on PAL is dangerous for the Admins. it can make for targeted attacks.

#3
  • The tablet is not remeber the position it where last time in desktop mode. This makes the tablet already useless in desktop mode. It’s alos closing with a teleport. And the whole positioning trouble start again.

  • the tablet is against logic. if your in marketplace you cannot go easy to the the bubble button or other function without closing marketplace

  • Something i noticed already last week. when you want to make a snapshot. you first need to open the tablet. Move it out of the way, it always is center space. Andwhen finaly ready. Then your to late for the picture.

  • If am moving the tablet to the top left. it get covered in edit mode by the edit window that’s also top left. And you need the tablet to close edit.

  • It’s again extra click to do something basic. now you first need to open the tablet before you can quick jump into edit.

  • You can by accident look around. because that is linked to the right mouse button to.

  • users online need a bigger font.

  • The way you need to navigate with the tablet. Feels like swimming against the flow. It’s not logic.

  • Close the hud by accident (did it on purpose) not go back to where you where last time when you open it again. As example if am on the marketplace on page N. you expect it opens again on the marketplace page N. that speed things at least a bit up.

Am tempted to make for now the conclusion that i like to see a improved old style button bar in desktop mode that allow you to stick the buttons to one of the screen sides. And that the stay on that position, something the old hud not did.

Move the console command ASAP into the menu bar,
because i cannot use the console. High fideity still not have increased the font size.

@menithal You mean this ?


That’s my quick test.

ADD: 2017-02-07
The tablet is nice in desktop mode to put users online , mute , people functionality in. But the main buttons need to be easy accesable in a button bar at one of the screen edges (top or in my case bottom). But to replace the HUD. I do not think i get used tho this clumpsy way. then you can just remove the table and use the pull down menu’s instead. just the same complexity and not easy.

You want less mouseclicks, not more.


#4

#5

okay I’m yelling about the stylus pens/crayons/pencil @Judas lol

being now serious here let people have their optional fingers and lasers for touching the tablet


#6

The way of navigating on the tablet is confusing. Where just checking users online. Seems you need to click the [X] to go back to the menu.

Anyway, my doors are still broken in this version.


#7

The tablet UI is really slick, I like it. But it would be nice if it remembered where you last placed it on the screen. It always resets back to the center when you bring it up, which is kinda cumbersome. At least in desktop mode.


#8

There is a PR that I just tested that makes it where the Tablet shows up in the middle of where you clicked.

There is also another one that makes it so when you click a button on the Tablet, it closes before the new window opens such as Edit. Clicking edit will close the Tablet and open the edit window to make it easier.

These will all make it into the next RC that comes out


#9

Here is a demonstration of the jitter / desync issue, scaling small->unreadable, and it showing in mirror

I just saw the couple of tickets pop up in the Worklist related to my complaint about consistancy:
As long as it is just for HMD users, and only for the the menu items, (not the windows). That was not an OR statement.

Otherwise I’ll just give a lengthy:

#No

Seriously, Having Tablet, single-task centric UX for a multi-task platform is a bad idea… Shouldn’t the Early versions of Modern UI (Metro) be enough of a user case against doing this? And what about the SL 2.0 Interface release back in the day? That is before they released an improved Snowstorm one that allowed for customization without having to script.

Even modern androids have been moving away from this, to a multi window ability, See Nougat.

I had the displeasure of working with Mobile UI and with The Modern UI (Metro), but I am glad nowdays I can turn it off by default without writing a custom UI. But because we are dependant on the UI within High Fidelity someone will have to work up custom UI, which is a quite a bit of work.

I opened up Worklist ticket 21163 to start working on an alternative UI for all the Powerusers because it is a big undertaking, and time isnt free for everyone.

Then the question of making it because it is easier for HMD users. So if so, then:

  • Why are we not utilizing gestures to the fullest instead of using buttons? Flick of the Wrist, etc.
  • Why are we also limiting our selves to a similie of a physical device in a virtual world With Bezel!
  • Why not make it just an ultra thin device… or just a thin, neat futuristic tablet?
  • Why not just a window that you can manipulate with your hands? instead of using the bezel to manipulate the window?


Now yes, the above is opinion biased. I am both a Front End UX Dev as a professional, and Power user.
I should be thinking this is a platform. So lets.

Exhibit, The Goto Script.

if (Settings.getValue("HUDUIEnabled")) {
    toolBar = Toolbars.getToolbar("com.highfidelity.interface.toolbar.system");
    button = toolBar.addButton({
        objectName: buttonName,
        imageURL: Script.resolvePath("assets/images/tools/directory.svg"),
        visible: true,
        alpha: 0.9
    });
} else {
    tablet = Tablet.getTablet("com.highfidelity.interface.tablet.system");
    button = tablet.addButton({
        icon: "icons/tablet-icons/goto-i.svg",
        text: buttonName,
        sortOrder: 8
    });
}

Lets Break this down into 3 parts:

Two UI systems instead of One Universal one

We mentioned during the Tablet meeting few weeks back: the code for both UI MUST BE UNIVERSAL Forexample, now we have two different interfaces for two different UI systems that have the absolutely same functionality of adding buttons

Tablet.getTablet(id).addButton(TabletButtonObject);

and

Toolbars.getToolbar(id).addButton(ToolbarButtonObject);

And even the button object differs for both.

In order for this be consistant this should just be a single system for easier content creator for cross-platform (HMD, non-HMD) support. It should also be a naming convention that matches its task as it could technically be used for anything, not just a “tablet” per say: So wouldnt a “UI” or “UserInterface” or “Interface” be more accurate than Tablet or Toolbars? such as

Interface.getInterface(id).addButton(ButtonObject)

And make it work regardless of where its placed for ease of implementation, with the InterfaceType defining the placement?

Question of Maintenance

Adding these sorts of separations adds to maintenance creep because there are more separate systems that one has to support as a content creator, which we have no guarantee will keep on working instead of having a single way of doing things that work for all.

Forexample, you guys still have depricated Action Bindings of Keyboard to Actions compared to the Rest of the Controllers.

I have similar qualms with startFarTrigger and clickDownOnEntity events, (which is why I created a library to wrap them into a single function)

Unnecessary addition of more knobs for sake turning features on and off

Why do we use Settings.getValue("HUDUIEnabled") to check if the user wants the old ui, vs just using HMD.active to check if the user is in HMD or not in HMD?

As @chris mentioned in the meeting few weeks back, the Desktop use case is different from HMD. So Why wasnt it kept separate by HMD use?

TL:DR; Did you guys take any of the feedback we mentioned back a few weeks back at all?


#10

Strange thing
Because I diodnt want to install the pr build over the rc when we were doing load testing I changed the install location for the pr
The latest rc installed over the pr’s location rather than the rc’s location
This meant my short cut was allways launching the wrong viewer


#11

Summary :star::star: O O O

And now with this update, the lovely stars in the day/night skybox are chunky, worse than SL :cry:

The tablet is nice until you resize your window. I was about to do a vid, shrank my interface window for 720p, everything scaled down except the tablet which no longer fits entirely in the window, and it cannot be resized either. :scream:

I edit an object and the tablet no longer responds. I have to click at background to deselect all objects before the tablet lets me turn off edit, or, do anything at all. :tired_face:

Yes, yes, through the beauty of Open source I can write my own interface and scripts. [expletive deleted]

And, skyhook is still not implemented. I bet it’s held back until some VR mode thing gets done because HMD rulez.

Honestly, I don’t know what else to do here except to revert to the previous beta 32. This beta 33 sucks. :footprints:


#12

Funny thing is that you can scale the tablet from the general settings,

but it also scales the text, making things very unreadable when scaled down, and if sized up the bezel on the tablet makes it take stupid amount of space.


#13

Doesn’t work, I tried 50 and 25%. no difference. Also, if the top of the tablet is off screen the [x] close buttn no longer works, SO I have to bring the top of the tablet onscreen and then click… oh wait, that’s off screen, recale window to very big. Done,

Why does every damn thing in High Fidelity have to be so hard?


#14

We could argue about if we like the tablet or not the long and short of it is we have it.

I dont understand why we have it a tablet is a touch interface these make perfect sence on a touch screen, but we dont have that broadly speaking . Everone is using hand controllers with buttons be it the touchh the vives magic wandy sticks or good old keyboard and mouse.

But as I mentioned we have it so ill give it a whirl and see how i get on with it.
I wish it would remember its location between closing and re opening it. I have managed to make it smaller.
I dont like that my avatar in 3rd person perspective seems to have its head wedged between the screen and the body of the tablet
Its nice that it tells me my name, cos i do forget
I wish the mute button could be acessed through a button press on the hand controllers. cos its a swine to get to when somone goes hey judas, they have left b4 i get to it
(i know about ctrl m)
I wish I coudl resize it dragging from the corner,
Why are the build tools not intergrated into the tablet
Why do we have 3 unrelating menu styles
Beer

rant over
Ill get use to it
oh its dumb it casts a shadow


#16

Looking out long distances


#17

Already get to the conclusion that i never going to like it if we not can acess more things without leaving the other. I call the tablet the secondlife viewer 2.0 dusaster on desktop.

And happy the did not put edit in the tablet to.
I still want the mute, edit, bubble icons straight on the screen. It safe clicks and work faster. especially mute need to be on the main screen. to see when mute is active and to mute easy. But the like open microphones i guess.

One good thing, the annoying ‘HUD’ button is going. Still want the other ones back.

Like @Menithal did say, we need a creators hu. and the tablet what you can call a noob hud.


#18

Just idea.

Is it not better to have a button bar on the bottom so you can
easy switch between function and the it remember
where you where in all the function.

Also for many things i would mabye place the tablet like you always hold it in 16:9 widescreen mode. that way more buttons fit on the bottom to. entities list can show more. and edit userdate is less pain to. There’s no horizontals crollbar right now.

Not charmed from the single tasking approach with the table.
That’s one of the bigger problems. Same mistake secondlife viewer 2.0 made.


#19

I agree with what many are saying here:

The tablet is too big, in HMD and desktop. There is too much wasted space. The bezel is too wide and the boxes around the icons are too big. A customizible toolbar would seem to me a better choice at this point. If I scale the tablet to 40% it becomes a better size but then the text becomes unreadable.

Tablet position does not persist in desktop mode.

When the mute button was removed from the volume bar, we were told that there is no need for it because it was in the toolbar but now there is no way to quickly see the status and mute or unmute without bringing up the tablet.

I think right click is a poor choice for bringing up the tablet in desktop mode. I use right click to get to running scripts, edit etc. and now it requires multiple clicks to do the same things.

There is no button or menu entry for hiding all HUDs, stats etc.You have to turn them all off separately now.

The new users list does not seem to update. Having to click on the refresh icon is not fun.

Besides the tablet, I still have issues with the following:

The choice of All, Places and Snaps in the goto bar does not persist after use. I find the All and Snaps lists useless because there is no indication of which domain it is or how many people are there.

Also, why does the domain you are on not show up in the Places list? It appears in the All list so what is the reason for not in Places?

Why does stats report one less avatar than there actually is on a domain?

How can I stop myself from always starting at my localhost or Welcome without doing the tutorial? And how can I stop SteamVR from starting when starting Interface in desktop mode?

And last but not least: I have an issue where a domain on one machine becomes unreachable after shutting down a domain running on a different machine. They both have the same IP address but use different port settings.

This used to work fine but stopped working a version or two ago. The domains still show up in the GoTo list but when you go to them, you just get not connected and restarting the domain does not fix it, you must close it and restart it.

Sorry for the long post but much of this is related to the new or newer versions.


#20

Tried the tablet a bit more while testing some mesh.
Not going to say it’s bad. But it’s for sure not good to.
But having a clear view on your screen without buttons is nice to.

  • Still the weak parts are the edit button implementatio and how it works.
  • The mute button and no visiual feedback outside the tablet
  • And i think people and bubble need to be faster accessible to.

Am only worried about putting edit, and goto inside the tablet.
Especially goto is going to be a problem in this single task tablet design.
How can we keep edit open when we want to teleport, if the tablet change ?

The tablet seems to be heading into a disaster if it’s not made in multi tasking tablet without switching always between screens. That’s frustrating and slow.


#21

damn it