UI Inspirations๐Ÿฅณ

Hello Community,

I'm excited to see the incredible UIs you've crafted using AppSheet! I'm on the lookout for inspiration from seasoned app developers in our community.

Let's kick things off by showcasing a few UIs that I have done, particularly those created with the new desktop UI. A special shoutout goes to @Arthur_Rallu  and their team for their outstanding work on new desktop UI.

Screenshot 2023-09-04 at 5.03.30โ€ฏPM.pngScreenshot 2023-09-04 at 5.17.09โ€ฏPM.pngScreenshot 2023-09-04 at 5.15.46โ€ฏPM.png

Now, I invite to all you talented developers and contributors in our community. Share your remarkable UI creations here! ๐Ÿš€๐Ÿ‘จโ€๐Ÿ’ป๐ŸŽจ

@MultiTech @Suvrutt_Gurjar @Koichi_Tsuji @SkrOYC @Kirk_Masden @Marc_Dillon @Jonathon @JuneCorpuz @Joseph_Seddik

23 92 6,429
  • UX
92 REPLIES 92


@GreenFlux wrote:

Then it converts that whole thing into a data uri so you can display the group of SVGs in a single image field as a url. 


This is cool @GreenFlux . All the examples you have shown, indeed push the limits of what can be done with SVGs. Your all previous tips  have been trailblazing and this post is no exception.

 

 

Have anyone tried using SVG in LongText HTML type column instead of Image type ?

It does not work in appsheet for me.

It works fine when i test it.

Screenshot 2023-10-18 at 6.14.22โ€ฏPM.png

 

Just shows blank space in app.

Screenshot 2023-10-18 at 6.16.44โ€ฏPM.png

Here is the code


    <img src="data&colon;image/svg+xml;utf8,<?xml version='1.0' encoding='UTF-8'?>
    <svg width='420' height='100' fill='none' xmlns='http://www.w3.org/2000/svg'>
        <line x1='1' y1='20' x2='400' y2='20' stroke='rgb(228, 228, 228)' stroke-width='2' stroke-linecap='round' />
        <line x1='1' y1='20' x2='400' y2='20' stroke='rgb(198, 18, 50)' stroke-width='2' stroke-linecap='round' />
        <text x='1' y='10' font-family='Gill Sans' font-size='14' fill='Black' opacity='0.6'>Sales Ranking</text>
        <text x='400' y='40' font-family='Gill Sans' font-size='17' fill='Black' opacity='0.8'>6</text>
        <circle cx='400' cy='20' r='3.50662' fill='rgb(198, 18, 50)' />
        <circle cx='400' cy='20' r='4.25662' stroke='rgb(198, 18, 50)' stroke-opacity='0.18' stroke-width='1.5' />
        <line x1='1' y1='70' x2='400' y2='70' stroke='rgb(228, 228, 228)' stroke-width='2' stroke-linecap='round' />
        <line x1='1' y1='70' x2='400' y2='70' stroke='rgb(198, 18, 50)' stroke-width='2' stroke-linecap='round' />
        <text x='1' y='60' font-family='Gill Sans' font-size='14' fill='Black' opacity='0.6'>Technical Ranking</text>
        <text x='400' y='90' font-family='Gill Sans' font-size='17' fill='Black' opacity='0.8'>10</text>
        <circle cx='400' cy='70' r='3.50662' fill='rgb(198, 18, 50)' />
        <circle cx='400' cy='70' r='4.25662' stroke='rgb(198, 18, 50)' stroke-opacity='0.18' stroke-width='1.5' />
    </svg>">

Hi @Rifad ,

If you could mention the intention behind this configuration through Long Text HTML format, we could possibly look into possibilities. May we know if your are trying to show some static SVG image through long text column? By static , I mean there does not seem to be any variable element through a column value in the SVG code.

Numerous exciting possibilities emerge when you choose to integrate SVGs into lengthy HTML text. For instance, consider using tags in a detailed view. By employing the IFS() function, you can effortlessly handle multiple tags, allowing HTML to work its magic and neatly arrange them, resulting in an aesthetically pleasing outcome like below.

IMG_3691.jpeg

 

Additionally, another compelling use case is the fusion of text and SVG images within extensive text content. This approach allows for creative elements like blockquotes and well-formatted text, harmoniously intertwined with small, expressive icons placed above or below, enhancing the overall visual appeal.

@Suvrutt_Gurjar 

Hi @Rifad ,

Thank you. These are some nice thoughts on further enhancing the UI.

Could you update what you mean by tags? Do you mean "Tabs"  like in a dashboard or form view? Also are you expecting the navigation between these tabs to take place, the way we accomplish with actions currently?   When you say IFS() to switch between options, what interaction the user will to with the app.

Currently we typically use navigation actions or view names.  May we know your thought on how you wish to do the navigation using that long text html column- will navigating trigger be within the column code or from outside actions?

 


@Suvrutt_Gurjar wrote:

Could you update what you mean by tags?


@Suvrutt_Gurjar this is what i meant tags.

Screenshot 2023-10-20 at 11.42.47โ€ฏAM.png

Using 'ICONS,' I want to add flexible SVG elements to HTML. This means we can use SVGs that change, like pictures with words, in lots of different situations.

Okay thank you. Got it. Hope AppSheet team will add more capabilities into HTML option in long text columns by enabling more HTML tags options.   More HTMLs tags will make your nice UI ideas further easier to implement.

I will also post back if I can come up with something relevant to share.

Yes currently i have to use static images like this Screenshot 2023-10-20 at 11.59.22โ€ฏPM.png

Instead Could use something like this. 


@Rifad wrote:

Here is the code


    <img src="data&colon;image/svg+xml;utf8,<?xml version='1.0' encoding='UTF-8'?>
    <svg width='420' height='100' fill='none' xmlns='http://www.w3.org/2000/svg'>
        <line x1='1' y1='20' x2='400' y2='20' stroke='rgb(228, 228, 228)' stroke-width='2' stroke-linecap='round' />
        <line x1='1' y1='20' x2='400' y2='20' stroke='rgb(198, 18, 50)' stroke-width='2' stroke-linecap='round' />
        <text x='1' y='10' font-family='Gill Sans' font-size='14' fill='Black' opacity='0.6'>Sales Ranking</text>
        <text x='400' y='40' font-family='Gill Sans' font-size='17' fill='Black' opacity='0.8'>6</text>
        <circle cx='400' cy='20' r='3.50662' fill='rgb(198, 18, 50)' />
        <circle cx='400' cy='20' r='4.25662' stroke='rgb(198, 18, 50)' stroke-opacity='0.18' stroke-width='1.5' />
        <line x1='1' y1='70' x2='400' y2='70' stroke='rgb(228, 228, 228)' stroke-width='2' stroke-linecap='round' />
        <line x1='1' y1='70' x2='400' y2='70' stroke='rgb(198, 18, 50)' stroke-width='2' stroke-linecap='round' />
        <text x='1' y='60' font-family='Gill Sans' font-size='14' fill='Black' opacity='0.6'>Technical Ranking</text>
        <text x='400' y='90' font-family='Gill Sans' font-size='17' fill='Black' opacity='0.8'>10</text>
        <circle cx='400' cy='70' r='3.50662' fill='rgb(198, 18, 50)' />
        <circle cx='400' cy='70' r='4.25662' stroke='rgb(198, 18, 50)' stroke-opacity='0.18' stroke-width='1.5' />
    </svg>">

@Suvrutt_Gurjar 

Yes got it @Rifad . Your concept of dynamics in HTML long text column is really great. I am sure both the enhancements  the "rich text with HTML" feature and some ingenious workarounds will help achieve that.

@Suvrutt_Gurjar I have managed to get this done.

Screenshot 2023-12-25 at 7.15.42โ€ฏPM.png

I had to create simple web server that:

Receives Image Requests: When appsheet asks for an image through a web address (URL), like "website.com/svg/image-name", the server receives this request.

Finds and Alters Image: It looks for the requested image file. If specific changes are asked (like a different color), it makes those changes.

Changes Image Type: The image, originally in SVG format, is converted to PNG format, which is more common and easier to view.

Sends the Image Back: The server then sends this updated PNG image back to the Appsheet.

This whole process is hosted on Google Cloud, ensuring it's always available online.

 

 

Integrated dynamic custom parameters into a URL from AppSheet in the following way:

https://svgtourl.nw.r.appspot.com/svg/Tender/Tender-Status/Tender-Status-Awarded.svg?Tender-Status=A... 

This approach allows for the customization of various parameters such as color and size directly in the URL, tailored to specific needs. Additionally, this method reduces the amount of code characters that need to be entered into the AppSheet database.

Furthermore, by utilizing the Longtext IMGSRC, I was able to enhance the functionality of AppSheet, overcoming the limitations of the image type column which previously only supported images up to 600px.

 

Wow, this is fantastic @Rifad . Essentially, it sounds that you have created a service of your own of text overlay on images something like in the other tips on similar approaches such as below. However of course, so far we have been using external services which you have replicated in a way with your web server.

Another text overlay display on an image - Google Cloud Community

You have certainly taken the visualizations in AppSheet to still taller heights.

Simply great. ๐Ÿ‘

 


@Suvrutt_Gurjar wrote:

However of course, so far we have been using external services which you have replicated in a way with your web server.


Yes exactly. 

You will be able to see dynamic texts in URL directly in this for Tender-Status: https://svgtourl.nw.r.appspot.com/svg/Tender/Tender-Status/Tender-Status-Awarded.svg?Tender-Status=A... 

@Suvrutt_Gurjar thanks.

@Suvrutt_Gurjar. I attempted to include an SVG long text with an Imgsrc tag, setting the width to 600px. However, this size doesn't adapt well to different screen sizes. Is there a method to adjust the image source so that it matches the width of the detail view?

MacBook Screen: Partially cropped out.

Screenshot 2023-12-27 at 4.52.43โ€ฏPM.png

 

27 Inch Monitor: Not Fit to the width of detail view.

Screenshot 2023-12-27 at 4.51.51โ€ฏPM.png

Hi @Rifad ,

Is it a long text column with HTML option? Also is the image displayed as a header image in the detail view?

 

Yea you are right 

Okay, thank you.

My testing in desktop on a simple image type column showed that 600 pixel X 600 pixel image shows perfectly in detail view in new desktop mode. I purposely created an image with borders with some text written at the corners to see if it is getting truncated.

With a hosted image of flower  (600 X 600 ) from Wikimedia inside a long text HTML column as an img src also appears fully , even though with slider as highlighted in the image below.

I believe you may need some experimentation around to come up to an optimum pixel size. 

Suvrutt_Gurjar_1-1703777168024.png

 

 

 

@Suvrutt_Gurjar 

Tested on different devices with a 600px base value.

On a Macbook, both in a two-column and single-column layout, it fits well at 110%, which is 660px.

Screen Recording 2023-12-29 at 12.46.50โ€ฏAM.gif

On a Macbook with a multi-column layout, it fits at 80%, or 480px.

Screen Recording 2023-12-29 at 12.51.23โ€ฏAM.gif

On a 27-inch monitor, it fits at 110%, which is 660px.

Screen Recording 2023-12-29 at 12.52.48โ€ฏAM.gif

Thanks for sharing. Your tests are comprehensive.

I think for such a not so much natively supported feature and HTML still being in beta, you may need to come up with an optimum image size that will work for all the devices that the intended users of the app will use foe the app you are developing. 

 

Looks like there is no other way to fit to width of the container. 

I tried these and its ignoring the style: 

 

<img src="https://svgtourl.nw.r.appspot.com/svg/User-Settings/My-SVG-Width-Multiplier.svg?Line01=Width- 660px&Line02=Here is a descripton. Adjust till width fits right for you." style="width: 100%;" />

 

 

Rich Text Formatting - in Preview Program - Google Cloud Community

@Amy wrote:

All other attributes will be removed (for example, inline styles such as <p style="color:red;">A red paragraph.</p> will be removed and will not have any effect).


 

The main challenge is if the layout is viewed in mobile mode. I can find an ideal pixel size for desktop displays, but when it's opened on a mobile device, the layout doesn't scale properly, resulting in half of the image being completely cut off.

Screenshot 2023-12-29 at 1.49.37โ€ฏPM.png

@Suvrutt_Gurjar 

@Rifad ,

Good to know that you can optimize in desktop view.

I believe the difference between mobile and desktop view image display is to be expected because it is clearly mentioned in the AppSheet help article as well.

Display images and documents - AppSheet Help

So far I was under impression that you are mainly using this layout only for desktop views or else I would have referred the article earlier.  Please take a look at the section "Images in a detail view" article below.

Suvrutt_Gurjar_0-1703846290918.png

 

 

 

Hi @Suvrutt_Gurjar !  I hope you are about to enjoy a happy new year. 

Your explanation is fine but I found a problem with the AppSheet documentation.  I looked at the "Display Images and documents" help page and found myself being a bit puzzled by the following sentences: "For custom images, we generally recommend using square images: 600x600px."  Unless I've missed something, I don't think there's an explanation of the following phenomenon:
Screenshot 2023-12-31 at 18.16.30.png

This is actually a composite image of three test images I made in an svg editor.  In each case the text size is the same.  I carefully checked the size of the screenshots to make sure that they accurately show how the different sized images compare to each other when displayed inside a detail view.  My conclusion is that, in detail view, the "real estate" allotted to an image is 600x280.  A square image of 600x280 is actually resized to 280x280.  As you can see, that makes the font appear to be considerably smaller.  I wonder why the AppSheet documentation doesn't explain this and why we have do various experiments to figure out what sizes to use.




Hi @Kirk_Masden ,

Thank you for sharing your findings. Those are very useful.

You are right  that my main intention behind sharing the document section was to expect significant difference between mobile and desktop views for image display and not so much on exact dimensions.  Yes, like you , I also performed a few tests as shared earlier in this thread.

Yes, I agree with you that Appsheet documentation team can add more details on image displays in various most common settings.

Thanks!  I just realized that I had not read all of your discussion with @Rifad .  My apologies.  I see now that I joined a discussion of images in desktop view with an example from an app in which desktop view is turned off.  (In my flashcard app, it is crucial that certain views be displayed sequentially, not simultaneously, so even on my computer, the basic appearance is the same as on my phone.)

I'm getting the impression that using images in AppSheet is actually quite complicated.  We need a complete accounting of the considerations regarding sizing in all possible contexts.

Hi @Kirk_Masden ,

I agree with you in general on handling images in an app needs some experimentation.

In my humble opinion, for any feature and especially features such as date/time fields with large number of locales and formats, their dependency on browser/device locales or images with the dependency on browser / device resolutions, constantly evolving different OS versions etc., some uncovered edge cases will still remain in spite of best try at a complete documentation. We as app creators will always need to explore/ experiment with any feature to get most out of it.

Of course, any documentation should be clear and adequate enough to give most commonly used cases that works as a launch pad to the user to further experiment/explore.

 

 

 


@Rifad wrote:

Looks like there is no other way to fit to width of the container. 

I tried these and its ignoring the style: 

 

<img src="https://svgtourl.nw.r.appspot.com/svg/User-Settings/My-SVG-Width-Multiplier.svg?Line01=Width- 660px&Line02=Here is a descripton. Adjust till width fits right for you." style="width: 100%;" />

 

 

Rich Text Formatting - in Preview Program - Google Cloud Community

@Amy wrote:

All other attributes will be removed (for example, inline styles such as <p style="color:red;">A red paragraph.</p> will be removed and will not have any effect).


 


As I mentioned here. The style tag would fix the issue.  Like this: 

<img src="your-image-url.jpg" style="width: 100%;" alt="Description of the image">

 But unfortunately its not supported for LONGTEXT HTML.

@Suvrutt_Gurjar @Kirk_Masden 

HTML is quite valuable.  I too hope that more tags and support for attributes, etc. will be made available.

hi @Rifad ,

Thanks for sharing your findings.

Yes , my immediate thinking is exactly as that of @Kirk_Masden .

We will be able to build much richer visualizations when those additional tags /attributes are made available. 


@Rifad wrote:

The main challenge is if the layout is viewed in mobile mode. I can find an ideal pixel size for desktop displays, but when it's opened on a mobile device, the layout doesn't scale properly, resulting in half of the image being completely cut off.

Screenshot 2023-12-29 at 1.49.37โ€ฏPM.png


@Adam-google @Arthur_Rallu tagging you here. 

I think the pixel width should be 350 . . . at least, that's what I found to work for images in HTML, as I explain here:

https://www.googlecloudcommunity.com/gc/Tips-Tricks/No-server-for-media-no-problem/m-p/695452#M9229

This issue is now fixed. I have had to report a bug related to this and somehow along with that this issue is also fixed magically. Which is good ! @Kirk_Masden @Suvrutt_Gurjar 

https://www.googlecloudcommunity.com/gc/Announcements/In-Preview-New-UI-design-for-desktop-users/m-p... 

how to build this ?


@Suvrutt_Gurjar wrote:

Got it. Hope AppSheet team will add more capabilities into HTML option in long text columns by enabling more HTML tags options.   More HTMLs tags will make your nice UI ideas further easier to implement.


Appsheet has recently added a new feature, as confirmed by their support team. The feature, which was implemented today, has been tested and is operational. The quality of LongText Html Images has significantly improved, offering crystaal clear visuals. 
@Suvrutt_Gurjar 

Thank you very much @Rifad for this very useful update.

Any idea if they will be announcing it? Also have they added any more tags etc.?

I'm not sure if there will be an announcement regarding this. Previously, Appsheet didn't support these formats in its LongText feature as shown below. Screenshot 2024-01-09 at 7.16.21โ€ฏAM.pngScreenshot 2024-01-09 at 7.16.42โ€ฏAM.png

As you might recall, I had to use Node.js and the Sharp library to convert files into supported formats like PNG or WebP. However, Appsheet now directly supports SVG files. The reason for the initial restriction might have been related to security concerns. It's interesting to note that this format worked within the Image type column, but not in LongText. But now supports in both.

 



The most impressive aspect of using SVG is the exceptional quality of images in the apps, which is truly outstanding.

Screenshot 2024-01-09 at 7.32.51โ€ฏAM.png

 

@Rifad 

That is great indeed. Yes, I of course very much recall the discussion started because SVGs images were not possible to be placed in long text html column. Then you came up with node.js server to circumvent it. 

With this latest update, I think app creators like you who create beautiful UIs /visualizations in the app will immensely benefit. I am sure you will come up with much more powerful UIs using long text HTMLs. I too will try to contribute from my side, when I have something worth sharing.

Thank you very much for the update. Appreciate.


Thank you for your kind words! Your willingness to contribute is much appreciated. Thanks again!

@Suvrutt_Gurjar 

Discussion here has been of great interest to me and led me to add this little tip for others:

Display images in LongText columns via HTML (rich text)

https://www.googlecloudcommunity.com/gc/Tips-Tricks/Display-images-in-LongText-columns-via-HTML-rich...


I haven't tried to add svg images to LongText columns.  For now, my needs are met so I just posted about what I have learned here and my own experience.

May I ask how you change the component (text) in an SVG file with long text HTML within appsheet? I have tried, but it doesn't change while using URL parameters within appsheet.

It would be great if some expert in SVG for Appsheet created an easy-to-understand tutorial for everyone.

Thanks to this inspiration post. I have implemented a dynamic status bar to my appScreenshot 2023-11-06 at 6.33.15 PM.png

Top Labels in this Space