New Responsive Engine [beta] is Live!

Thanks for the kick in the butt on clarifying this process in the docs :wink: Iā€™ve added some more detail in there but essentially, the migration algorithm is creating a page thats a column of row containers. This maintains the legacy behavior of height growing to fit dynamic or re-sizing content while wrapping elements that are on the same row. In the legacy responsive, we created row containers behind the scenes by aggressive implicit grouping. These are now explicit and even better, controlled by the user. The algorithm also maintains alignment, hiding, and collapsing settings as well.

There have been a few reports of wonkiness in apps with a lot of popups (currently chasing this down) but other users with complex apps have also reported a pretty seamless migration. The best way to find out for sure is to give it a try. When you upgrade a page, there is the option (selected by default) to create a copy of the page pre-upgrade. If the migrated page is a nightmare, youā€™ll always have this as a backup :slight_smile:

3 Likes

@boston85719 Glad you found it useful :slight_smile: Thanks for the kind words.

@eLPDev Glad you liked it :slight_smile: Iā€™m using a Blue Yeti.

It would be great to hear from vendors like Airdev Canvas @AirDev whether and how they are going to upgrade their framework for new engine and Chrome Extensions builders like @gregjohnkeegan aka Frames on how these extensions compare to the new engine.

4 Likes

There is bug with reusable element visibility during animation Slide[Side]Big[In/Out] with new responsive. If element on old responsive them works well. Bug appears in Microsoft Edge in Google Chrome everything works well.
To reproduse you can make steps bellow:

  1. Create FIRST reusable leave it old responsive, background = None, put some text in reusable
  2. Create SECOND reusable upgrade it to new responsive, background = None, put some text in reusable
  3. Create page, upgrade it to new responsive
  4. Create group CONTAINER, set it ot ā€œAlign to parent modeā€
  5. Put FIRST and SECOND reusables in CONTAINER and set them align to top-left corner
  6. Set SECOND is not visible on load
  7. Make button SHOW_FIRST, set workflow for it - When button clicked ā†’ Animate SECOND(SlideBigRightOut)->Animate FIRST(SlideBigLeftIn)->Wait For(5000 ms)->Hide(SECOND)
  8. Make button SHOW_SECOND, set workflow for it - When button clicked ā†’ Animate FIRST(SlideBigRightOut)->Animate SECOND(SlideBigLeftIn)->Wait For(5000 ms)->Hide(FIRST)
  9. Click SHOW_SECOND, you will see that FIRST is transparent after about 500ms and parrallel same time SECOND is opaque. Its normal behaviour as it work in old engine
  10. Click SHOW_FIRST, you will see that FIRST not start to showng before action Hide not executed on SECOND, and just after this FIRST start animation.

This bug just appear in Microsoft Edge, Google Chorome work well, another browsers not tested

@nick.carroll One thing Iā€™ve been trying to figure out that seems like it might be impossible to do without code right now is having both a dynamic number of rows and columns for repeating groups. Trying to design something that looks like this:

944e6cf31c462922bfd764cde8bd67f1

I think what Iā€™m looking for is an overflow: wrap property instead of scroll. When I uncheck both fixed number of columns and fixed number of rows on my repeating group, though, some strange stuff seems to happen (I can send a video of this if it helps). Donā€™t know if Iā€™m missing something obvious.

1 Like

Please look into this! I see this all the time in the current bubble and Iā€™d be surprised if it was fixed in the new responsive editor.

file a bug report

It doesnā€™t seem to bend this way yet.

What the new engine solves way better is adding more rows and columns to a RG. However, it seems columns will take the width of the widest element, same as the height of rows.

I have not tried to push the content to another row but building chips with dynamic length is possible.

I set the RG to row with 0 min width and the content I use text box with 0 min width and fit to content.

@nick.carroll can there be a feature added to allow the margins to be dynamic?

I know we already have an ability to set a margin property to be a different set value in the conditional tabs, which is great, but that is still just allowing us to say go from 20px to 10px in one fell swoop.

Would be great to set the margin to be dynamic to say it is originally 20px and it will incrementally be contracting from 20, to 19, to 18 and so on, so that it moves and shrinks the same way normal elements would.

Also, in terms of the properties to change on our conditionals, it would be optimal to have access to all of the formatting options. As of right now, the only Layout properties we can change conditionally are the margins. It would be very useful to have access to all of the layout properties from the conditionalsā€¦having access to them will enable us to create layouts that donā€™t require ā€˜duplicatedā€™ elements when the alignments need to be adjusted.

One use case is that in the past we needed custom code to alter the default behavior of a container moving to the next line if it was on the right and had another container to itā€™s left. The custom code allowed us to make it so the right container was stacked above the left container rather than the default of the right being underneath the left. This was especially useful when there was a set of icons on the right that when page resized it was pushed underneath and inaccessible, so the custom code allowed it to go to the top and remain accessible.

Another use case is not duplicating content. A recent video demonstrating a messaging system when we need right alignment for messages from the current user and left alignment for messages from the other conversation participants. The only way at this point would be to duplicate the content, set visibility conditionals and collapse height and have the two containers stacked on top of each other within the repeating group. If we could conditionally change the alignments we could achieve the setup with a single set of elements.

6 Likes

@nick.carroll Itā€™s awesome to see that we can align vertically and use percentages, but will the new responsive engine support view height (vh) anytime soon?

Congrats on the launch, its really stellar!

7 Likes

Very interested in finding this out too.

2 Likes

Has anyone had success migrating very large pages?

I have a SPA with a huge number of elementsā€¦ Made a copy of the page and tried migrating. Seems to be hanging.

Once the bugs are ironed out we will support it. New designs are ready and on the sidelines.

8 Likes

THIS!! Group Focus is broken >.< Though I just used a regular group and set relative to parent group. Kinda gave the same result without the automatic closing when clicking outside the group.

recommend not to migrate a large page. Itā€™s a lot of work to basically redesign everything. Plus the load time (version-test) is very very slow.

Yes!!! Migration is a nightmare. The best thing to do is build again from zero, coping and pasting the elements and groups from the old version into the new one

Love it

Will the figma autolayout function also be integrated with bubble? They look so similar and this can be huge for bubble to focus in the userbase of figma hereā€¦

The import is already there so do you guys have plans on this?

1 Like

This is exactly what I was looking to do yesterday and was surprised that we couldnā€™t do. @nick.carroll is this something that can be added?

3 Likes