<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog @ SIB Visions &#187; VisionX Previewer</title>
	<atom:link href="http://blog.sibvisions.com/tag/visionx-previewer/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.sibvisions.com</link>
	<description>Blog @ SIB Visions</description>
	<lastBuildDate>Mon, 30 Mar 2026 11:14:36 +0000</lastBuildDate>
		<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>VisionX Previewer - No records in table</title>
		<link>https://blog.sibvisions.com/2026/03/30/visionx-previewer-no-records-in-table/</link>
		<comments>https://blog.sibvisions.com/2026/03/30/visionx-previewer-no-records-in-table/#comments</comments>
		<pubDate>Mon, 30 Mar 2026 11:14:36 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[VisionX Previewer]]></category>

		<guid isPermaLink="false">https://blog.sibvisions.com/?p=9418</guid>
		<description><![CDATA[We've got a small but sweet update for you!
Up until now, the table would just show a big empty space whenever there were no records. Not super helpful.
To keep things clearer, we now show a friendly hint when there's nothing to display:




/td>



Enjoy the update!
]]></description>
			<content:encoded><![CDATA[<p>We've got a small but sweet update for you!</p>
<p>Up until now, the table would just show a big empty space whenever there were no records. Not super helpful.<br />
To keep things clearer, we now show a friendly hint when there's nothing to display:</p>
<p><center></p>
<table>
<tr>
<td>
<div id="attachment_9419" class="wp-caption aligncenter nomargin" style="width: 167px"><a href="https://blog.sibvisions.com/wp-content/uploads/2026/03/no_records_old.png" rel="lightbox[9418]"><img src="https://blog.sibvisions.com/wp-content/uploads/2026/03/no_records_old-157x300.png" alt="No records (old)" title="no_records_old" width="157" height="300" class="size-medium wp-image-9419" /></a><p class="wp-caption-text">No records (old)</p></div></td>
<td style="width: 15px"></td>
<td><div id="attachment_9420" class="wp-caption aligncenter nomargin" style="width: 167px"><a href="https://blog.sibvisions.com/wp-content/uploads/2026/03/no_records.png" rel="lightbox[9418]"><img src="https://blog.sibvisions.com/wp-content/uploads/2026/03/no_records-157x300.png" alt="No records (new)" title="no_records" width="157" height="300" class="size-medium wp-image-9420" /></a><p class="wp-caption-text">No records (new)</p></div></td>
</table>
<p></center></p>
<p>Enjoy the update!</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2026/03/30/visionx-previewer-no-records-in-table/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ButtonGroup component</title>
		<link>https://blog.sibvisions.com/2026/03/20/buttongroup-component/</link>
		<comments>https://blog.sibvisions.com/2026/03/20/buttongroup-component/#comments</comments>
		<pubDate>Fri, 20 Mar 2026 14:46:26 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[VisionX Previewer]]></category>

		<guid isPermaLink="false">https://blog.sibvisions.com/?p=9396</guid>
		<description><![CDATA[We've added a cool new component for you. It's a list of buttons that together look like a button bar.
Flutter already provides this component out of the box, but without customizing the app you can't use it. To make sure you can use it even without customization, we implemented the ButtonGroup class on the server [...]]]></description>
			<content:encoded><![CDATA[<p>We've added a cool new component for you. It's a list of buttons that together look like a button bar.<br />
Flutter already provides <a href="https://api.flutter.dev/flutter/material/ToggleButtons-class.html">this component</a> out of the box, but without customizing the app you can't use it. To make sure you can use it even without customization, we implemented the ButtonGroup class on the server side.</p>
<p>If you now include the class in a screen like this:</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;"><span class="kw3">ButtonGroup</span> butgrp <span class="sy0">=</span> <span class="kw1">new</span> <span class="kw3">ButtonGroup</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></p>
<p>butgrp.<span class="me1">setHorizontalAlignment</span><span class="br0">&#40;</span>IAlignmentConstants.<span class="me1">ALIGN_CENTER</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
butgrp.<span class="me1">setMode</span><span class="br0">&#40;</span>ButtonGroupMode.<span class="me1">MultiSelection</span><span class="br0">&#41;</span><span class="sy0">;</span></p>
<p>butgrp.<span class="me1">setLabels</span><span class="br0">&#40;</span><span class="st0">&quot;Left&quot;</span>, <span class="st0">&quot;Middle&quot;</span>, <span class="st0">&quot;Right&quot;</span>, <span class="kw2">null</span>, <span class="kw2">null</span>, <span class="st0">&quot;Five&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
butgrp.<span class="me1">setImages</span><span class="br0">&#40;</span><br />
&nbsp; UIImage.<span class="me1">getImage</span><span class="br0">&#40;</span>UIImage.<span class="me1">OK_SMALL</span><span class="br0">&#41;</span>, <br />
&nbsp; <span class="kw2">null</span>, <span class="kw2">null</span>, <br />
&nbsp; UIImage.<span class="me1">getImage</span><span class="br0">&#40;</span>UIImage.<span class="me1">TRASH_SMALL</span><span class="br0">&#41;</span>, <br />
&nbsp; UIFontAwesome.<span class="me1">getImage</span><span class="br0">&#40;</span>IFontAwesome.<span class="me1">ADN_SMALL</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></p>
<p>butgrp.<span class="me1">eventAction</span><span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="me1">addListener</span><span class="br0">&#40;</span><span class="kw1">this</span><span class="sy0">::</span>doButtonGroupChanged<span class="br0">&#41;</span></div>
</div>
<p>you will see the following in the latest app:</p>
<div id="attachment_9399" class="wp-caption aligncenter nomargin" style="width: 310px"><a href="https://blog.sibvisions.com/wp-content/uploads/2026/03/buttongroup.jpg" rel="lightbox[9396]"><img src="https://blog.sibvisions.com/wp-content/uploads/2026/03/buttongroup-300x163.jpg" alt="Button group" title="buttongroup" width="300" height="163" class="size-medium wp-image-9399" /></a><p class="wp-caption-text">Button group</p></div>
<p>You now have another very helpful component that you can integrate into your custom apps.</p>
<p>Have fun <img src='https://blog.sibvisions.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2026/03/20/buttongroup-component/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Big News! We&#039;ve reached the next level with Flutter 3.41</title>
		<link>https://blog.sibvisions.com/2026/03/16/big-news-weve-reached-the-next-level-with-flutter-3-41/</link>
		<comments>https://blog.sibvisions.com/2026/03/16/big-news-weve-reached-the-next-level-with-flutter-3-41/#comments</comments>
		<pubDate>Mon, 16 Mar 2026 07:00:45 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Flutter]]></category>
		<category><![CDATA[VisionX Previewer]]></category>

		<guid isPermaLink="false">https://blog.sibvisions.com/?p=9384</guid>
		<description><![CDATA[We have good-actually, great-news for you!
Our Flutter UI is now fully compatible with the latest Flutter version (3.41). We've put in the work to ensure you have full access to all the newest features Flutter has to offer.
During this process, we noticed that json_dynamic_widget is no longer being actively maintained. (We completely understand the developers' [...]]]></description>
			<content:encoded><![CDATA[<p>We have good-actually, great-news for you!</p>
<p>Our Flutter UI is now fully compatible with the latest Flutter version (3.41). We've put in the work to ensure you have full access to all the newest features Flutter has to offer.</p>
<p>During this process, we noticed that <a href="https://pub.dev/packages/json_dynamic_widget">json_dynamic_widget</a> is no longer being actively maintained. (We completely understand the <a href="https://github.com/peiffer-innovations/peiffer-innovations.github.com">developers' reasons</a>, but as you know us: "Impossible" isn't in our vocabulary.)</p>
<p>That's why we've pivoted our implementation to the officially Google-supported solution: <a href="https://pub.dev/packages/rfw">Remote Flutter Widgets (rfw)</a>. This brings us much closer to the Flutter core, as widgets can now be used directly in the definition file. This makes everything significantly more readable. Furthermore, there's a massive performance boost to be gained by saving templates in binary format - which we already support! In a direct comparison, <strong>rfw</strong> wins by a landslide; even with large datasets, everything remains buttery smooth. The unexpected switch has already paid off!</p>
<p><strong>Why didn't we use rfw from the start?</strong> Simply because not everything was production-ready when we first tested it, and <a href="https://pub.dev/packages/json_dynamic_widget">json_dynamic_widget</a> was performing exceptionally well at the time.</p>
<p>This new version isn't just a compatibility upgrade; it's packed with new features:</p>
<ul>
<li><strong>Copy-to-clipboard button</strong> in editors (optional)</li>
<li style="padding-top: 8px"><strong>Biometric/PIN security</strong> (per app, per screen, or per button press)</li>
<li style="padding-top: 8px"><strong>Title bar styling</strong> (e.g., matching screen colors)</li>
<li style="padding-top: 8px"><strong>Customizable icons</strong></li>
<li style="padding-top: 8px"><strong>Client-side data encryption</strong></li>
<li style="padding-top: 8px"><strong>Empty state info text</strong> for menus</li>
<li style="padding-top: 8px"><strong>Geo-location access</strong> with alerts if location services are disabled</li>
<li style="padding-top: 8px"><strong>Caching</strong> for small images</li>
<li style="padding-top: 8px"><strong>Binary data types</strong> are now natively recognized</li>
<li style="padding-top: 8px"><strong>Password input</strong> with quality indicators (optional)</li>
<li style="padding-top: 8px"><strong>Toggle visibility</strong> for password inputs (optional)</li>
<li style="padding-top: 8px"><strong>Multi-factor authentication</strong> fixes and a fresh new look</li>
<li style="padding-top: 8px"><strong>Background images</strong> for masks or menus via API</li>
<li style="padding-top: 8px"><strong>Safe Area color</strong> customizable via API</li>
<li style="padding-top: 8px"><strong>Request reduction</strong> for better efficiency</li>
<li style="padding-top: 8px"><strong>Full support</strong> for all FontAwesome and Material Icons (by name)</li>
</ul>
<p>We'll be diving deeper into these features over the coming weeks, but for now: it's just awesome!</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2026/03/16/big-news-weve-reached-the-next-level-with-flutter-3-41/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Client-side encoding of records</title>
		<link>https://blog.sibvisions.com/2026/02/23/client-side-encoding-of-records/</link>
		<comments>https://blog.sibvisions.com/2026/02/23/client-side-encoding-of-records/#comments</comments>
		<pubDate>Mon, 23 Feb 2026 13:00:40 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Flutter]]></category>
		<category><![CDATA[VisionX Previewer]]></category>

		<guid isPermaLink="false">https://blog.sibvisions.com/?p=9370</guid>
		<description><![CDATA[We've just shipped an absolutely fantastic new feature that many of you will love. Starting now, you can store values fully encrypted in your backend/database - transparently, securely, and without ever exposing plaintext on the server. All you need is a client-side token that lives exclusively in secure storage on the device. The backend and [...]]]></description>
			<content:encoded><![CDATA[<p>We've just shipped an <strong>absolutely fantastic new feature</strong> that many of you will love. Starting now, you can store values <strong>fully encrypted</strong> in your backend/database - transparently, securely, and without ever exposing plaintext on the server. All you need is a client-side token that lives exclusively in secure storage on the device. The backend and the database only ever see encrypted bytes. When the data is read, it's automatically decrypted on the client. In other words: <strong>your app never has to persist unencrypted data again</strong>.</p>
<p>This is a highly specialized capability, but incredibly powerful. If you're building something like a password manager that syncs credentials across devices, this feature is a game-changer. Passwords never appear in plaintext on the server - even if someone were to gain direct database access due to a security flaw, they'd only see encrypted blobs.</p>
<p><strong>How does it work?</strong></p>
<p>You simply mark the columns you want encrypted:</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;">book.<span class="me1">getRowDefinition</span><span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="me1">addColumnDefinition</span><span class="br0">&#40;</span><br />
&nbsp; <span class="kw1">new</span> ColumnDefinition<span class="br0">&#40;</span><span class="st0">&quot;PASSWORD&quot;</span>, <span class="kw1">new</span> EncodedBinaryDataType<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />
<span class="br0">&#41;</span><span class="sy0">;</span></div>
</div>
<p>The corresponding database column must use a binary data type (not text).<br />
That's literally all the setup required.</p>
<p>When the user opens the screen in your app, they'll be prompted for a token. This token is stored securely on the device, never displayed, and used solely for encryption and decryption. Each application can use its own token. You can also delete the token to force re-entry whenever needed.</p>
<p><strong>How it looks like?</strong><br />
<center></p>
<table>
<tr>
<td>
<div id="attachment_9377" class="wp-caption aligncenter nomargin" style="width: 257px"><a href="https://blog.sibvisions.com/wp-content/uploads/2026/02/token_input.png" rel="lightbox[9370]"><img src="https://blog.sibvisions.com/wp-content/uploads/2026/02/token_input-247x300.png" alt="Enter token" title="token_input" width="247" height="300" class="size-medium wp-image-9377" /></a><p class="wp-caption-text">Enter token</p></div></td>
<td style="width: 15px;"></td>
<td><div id="attachment_9379" class="wp-caption aligncenter nomargin" style="width: 196px"><a href="https://blog.sibvisions.com/wp-content/uploads/2026/02/token_delete.png" rel="lightbox[9370]"><img src="https://blog.sibvisions.com/wp-content/uploads/2026/02/token_delete-186x300.png" alt="Delete token" title="token_delete" width="186" height="300" class="size-medium wp-image-9379" /></a><p class="wp-caption-text">Delete token</p></div>
</td>
</tr>
</table>
<p></center></p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2026/02/23/client-side-encoding-of-records/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Previewer app with new code scanner UI</title>
		<link>https://blog.sibvisions.com/2026/02/16/previewer-app-with-new-code-scanner-ui/</link>
		<comments>https://blog.sibvisions.com/2026/02/16/previewer-app-with-new-code-scanner-ui/#comments</comments>
		<pubDate>Mon, 16 Feb 2026 12:20:27 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[VisionX Previewer]]></category>

		<guid isPermaLink="false">https://blog.sibvisions.com/?p=9353</guid>
		<description><![CDATA[We were never truly satisfied with our code scanner in the VisionX app, so we took the opportunity to redesign it. The result of our efforts can be seen here:











The changes are already integrated in our Open Source project and will also be available in the stores with the next app update.
]]></description>
			<content:encoded><![CDATA[<p>We were never truly satisfied with our code scanner in the VisionX app, so we took the opportunity to redesign it. The result of our efforts can be seen here:</p>
<p><center></p>
<table>
<tr>
<td><div id="attachment_9354" class="wp-caption aligncenter nomargin" style="width: 148px"><a href="https://blog.sibvisions.com/wp-content/uploads/2026/02/scaner_oldui.jpg" rel="lightbox[9353]"><img src="https://blog.sibvisions.com/wp-content/uploads/2026/02/scaner_oldui-138x300.jpg" alt="Old UI" title="scaner_oldui" width="138" height="300" class="size-medium wp-image-9354" /></a><p class="wp-caption-text">Old UI</p></div></td>
<td style="width: 10px;"></td>
<td><div id="attachment_9355" class="wp-caption aligncenter nomargin" style="width: 148px"><a href="https://blog.sibvisions.com/wp-content/uploads/2026/02/scanner_newui.jpg" rel="lightbox[9353]"><img src="https://blog.sibvisions.com/wp-content/uploads/2026/02/scanner_newui-138x300.jpg" alt="New UI" title="scanner_newui" width="138" height="300" class="size-medium wp-image-9355" /></a><p class="wp-caption-text">New UI</p></div></td>
<td style="width: 10px;"></td>
<td><div id="attachment_9356" class="wp-caption aligncenter nomargin" style="width: 148px"><a href="https://blog.sibvisions.com/wp-content/uploads/2026/02/scaner_newui_multiscan.jpg" rel="lightbox[9353]"><img src="https://blog.sibvisions.com/wp-content/uploads/2026/02/scaner_newui_multiscan-138x300.jpg" alt="New UI (multi-scan)" title="scaner_newui_multiscan" width="138" height="300" class="size-medium wp-image-9356" /></a><p class="wp-caption-text">New UI (multi-scan)</p></div></td>
</tr>
</table>
<p></center></p>
<p>The changes are already integrated in our <a href="https://github.com/sibvisions/flutter_jvx">Open Source project</a> and will also be available in the stores with the next app update.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2026/02/16/previewer-app-with-new-code-scanner-ui/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JVx&#039; native Flutter client 3.3.0 is available</title>
		<link>https://blog.sibvisions.com/2025/11/04/jvx-native-flutter-client-3-3-0-is-available/</link>
		<comments>https://blog.sibvisions.com/2025/11/04/jvx-native-flutter-client-3-3-0-is-available/#comments</comments>
		<pubDate>Tue, 04 Nov 2025 16:21:28 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Flutter]]></category>
		<category><![CDATA[JVx]]></category>
		<category><![CDATA[VisionX Previewer]]></category>

		<guid isPermaLink="false">https://blog.sibvisions.com/?p=9167</guid>
		<description><![CDATA[We're happy to announce that our native JVx' flutter client 3.3.0 is stable and available.
It's now flutter 3.35 compatible, supports Android' 16KB Page size and is ready for Android SDK 36.
We’ve invested a lot of time in improving stability and performance. Layout rendering should now operate somewhat faster than before. Additionally, we’ve implemented push and [...]]]></description>
			<content:encoded><![CDATA[<p>We're happy to announce that our native JVx' flutter client 3.3.0 is stable and available.</p>
<p>It's now flutter 3.35 compatible, supports Android' 16KB Page size and is ready for Android SDK 36.</p>
<p>We’ve invested a lot of time in improving stability and performance. Layout rendering should now operate somewhat faster than before. Additionally, we’ve implemented push and deep links in a way that allows the application to update its display using pure parameters. For example, it’s now possible to update individual fields or open entire screens and select specific data records within them.</p>
<p><strong>How it works?</strong></p>
<p><center><br />
<div id="attachment_9169" class="wp-caption aligncenter nomargin" style="width: 330px"><a href="https://blog.sibvisions.com/wp-content/uploads/2025/11/deeplink.gif" rel="lightbox[9167]"><img src="https://blog.sibvisions.com/wp-content/uploads/2025/11/deeplink.gif" alt="Deep link example" title="deeplink" width="320" height="692" class="size-full wp-image-9169" /></a><p class="wp-caption-text">Deep link example</p></div><br />
</center></p>
<p>The app runs on a real device. It has a simple screen with a button which will send an email with two links in it. The first will open the app and sets an application parameter. This parameter will be shown as text of a text field. The second link will open a specific screen and scrolls to a specific record.</p>
<p>Our implementation of native push:</p>
<p><center><br />
<div id="attachment_9177" class="wp-caption aligncenter" style="width: 330px"><a href="https://blog.sibvisions.com/wp-content/uploads/2025/11/nativepush.gif" rel="lightbox[9167]"><img src="https://blog.sibvisions.com/wp-content/uploads/2025/11/nativepush.gif" alt="Native push" title="nativepush" width="320" height="692" class="size-full wp-image-9177" /></a><p class="wp-caption-text">Native push</p></div><br />
</center></p>
<p>The app receives a push message while running and shows a local notification. If you tap the notification, the app will be opened as well. In this demo, we don't tap the notification.</p>
<p>The project, as always, can be found on <a href="https://github.com/sibvisions/flutter_jvx">github</a>.</p>
<p>We’ll be updating our VisionX Previewer app in the next few days and releasing it in the stores.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2025/11/04/jvx-native-flutter-client-3-3-0-is-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VisionX Previewer menu badges</title>
		<link>https://blog.sibvisions.com/2025/09/17/visionx-previewer-menu-badges/</link>
		<comments>https://blog.sibvisions.com/2025/09/17/visionx-previewer-menu-badges/#comments</comments>
		<pubDate>Wed, 17 Sep 2025 07:41:55 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[VisionX Previewer]]></category>

		<guid isPermaLink="false">https://blog.sibvisions.com/?p=9159</guid>
		<description><![CDATA[We already support badges for standard components. So the next logical step is to support badges in the menu. And that's exactly what we've implemented. See for yourselves:


The badge will appear animated if you change the text. 
The API is simple:

BadgeUtil.setBadge&#40;this, UpAndDownloadWorkScreen.class, Integer.valueOf&#40;1&#41;&#41;;

Pretty awesome, right? You don’t have to worry about the technical issues, just [...]]]></description>
			<content:encoded><![CDATA[<p>We already support badges for standard components. So the next logical step is to support badges in the menu. And that's exactly what we've implemented. See for yourselves:</p>
<p><center><br />
<div id="attachment_9160" class="wp-caption aligncenter" style="width: 330px"><a href="https://blog.sibvisions.com/wp-content/uploads/2025/09/menu_badge.gif" rel="lightbox[9159]"><img src="https://blog.sibvisions.com/wp-content/uploads/2025/09/menu_badge.gif" alt="Menu badges" title="menu_badge" width="320" height="606" class="size-full wp-image-9160" /></a><p class="wp-caption-text">Menu badges</p></div><br />
</center></p>
<p>The badge will appear animated if you change the text. </p>
<p>The API is simple:</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;">BadgeUtil.<span class="me1">setBadge</span><span class="br0">&#40;</span><span class="kw1">this</span>, UpAndDownloadWorkScreen.<span class="kw1">class</span>, <span class="kw3">Integer</span>.<span class="me1">valueOf</span><span class="br0">&#40;</span>1<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</div>
<p>Pretty awesome, right? You don’t have to worry about the technical issues, just focus on building your app. We’ll take care of the technical details for you.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2025/09/17/visionx-previewer-menu-badges/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VisionX Previewer new features</title>
		<link>https://blog.sibvisions.com/2025/09/10/visionx-previewer-new-features/</link>
		<comments>https://blog.sibvisions.com/2025/09/10/visionx-previewer-new-features/#comments</comments>
		<pubDate>Wed, 10 Sep 2025 08:01:30 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[VisionX]]></category>
		<category><![CDATA[VisionX Previewer]]></category>

		<guid isPermaLink="false">https://blog.sibvisions.com/?p=9147</guid>
		<description><![CDATA[We officially support badges for every component. It's super easy to show a badge for e.g. a button, but first let's have a look:


The badge will appear animated if you change the value. The API is simple, because we use our style system, e.g.:

Style.addStyleNames&#40;comp, &#34;f_badge_1);

You have many options to customize the badge, e.g. color, border, [...]]]></description>
			<content:encoded><![CDATA[<p>We officially support badges for every component. It's super easy to show a badge for e.g. a button, but first let's have a look:</p>
<p><center><br />
<div id="attachment_9148" class="wp-caption aligncenter" style="width: 330px"><a href="https://blog.sibvisions.com/wp-content/uploads/2025/09/mobile_badge.gif" rel="lightbox[9147]"><img src="https://blog.sibvisions.com/wp-content/uploads/2025/09/mobile_badge.gif" alt="Badge animated" title="mobile_badge" width="320" height="404" class="size-full wp-image-9148" /></a><p class="wp-caption-text">Badge animated</p></div><br />
</center></p>
<p>The badge will appear animated if you change the value. The API is simple, because we use our style system, e.g.:</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;"><span class="kw3">Style</span>.<span class="me1">addStyleNames</span><span class="br0">&#40;</span>comp, <span class="st0">&quot;f_badge_1);</span></div>
</div>
<p>You have many options to customize the badge, e.g. color, border, position:</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;"><span class="kw3">Style</span>.<span class="me1">addStyleNames</span><span class="br0">&#40;</span>comp, <span class="st0">&quot;f_badge_color_#205090, f_badge_align_bottomLeft, f_badge_offset_20, f_badge_border_2_#FFFFFF&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</div>
<p>Another example:</p>
<div id="attachment_9149" class="wp-caption aligncenter" style="width: 310px"><a href="https://blog.sibvisions.com/wp-content/uploads/2025/09/mobile_badge.png" rel="lightbox[9147]"><img src="https://blog.sibvisions.com/wp-content/uploads/2025/09/mobile_badge-300x245.png" alt="Badges" title="mobile_badge" width="300" height="245" class="size-medium wp-image-9149" /></a><p class="wp-caption-text">Badges</p></div>
<p>The app is not available in the app stores because it's still under development, but the feature is already available in our <a href="https://github.com/sibvisions/flutter_jvx">repository</a>.</p>
<p>Also, the app is ready for <a href="https://docs.flutter.dev/release/release-notes">latest flutter version</a>: <strong>3.35.0</strong><br />
Use all features of latest flutter and dart to create your custom application without limits.</p>
<p>It's truly incredible how quickly you can build database apps using our generic application. The unrestricted native access is unmatched, and the standard components with all included features already enable the creation of outstanding apps.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2025/09/10/visionx-previewer-new-features/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VisionX Previewer automatic Feedback</title>
		<link>https://blog.sibvisions.com/2025/03/13/visionx-previewer-automatic-feedback/</link>
		<comments>https://blog.sibvisions.com/2025/03/13/visionx-previewer-automatic-feedback/#comments</comments>
		<pubDate>Thu, 13 Mar 2025 15:22:44 +0000</pubDate>
		<dc:creator>mhandsteiner</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[VisionX]]></category>
		<category><![CDATA[VisionX Previewer]]></category>

		<guid isPermaLink="false">https://blog.sibvisions.com/?p=9084</guid>
		<description><![CDATA[With next VisionX Previewer release we'll have a really useful feature. It's an automatic feedback in case of unexpected application errors. 
It's entirely possible that the app can't handle all use cases equally well. This can lead to overflows or even unexpected display issues. Usually your users won't report such problems if they don't persist. [...]]]></description>
			<content:encoded><![CDATA[<p>With next VisionX Previewer release we'll have a really useful feature. It's an automatic feedback in case of unexpected application errors. </p>
<p>It's entirely possible that the app can't handle all use cases equally well. This can lead to overflows or even unexpected display issues. Usually your users won't report such problems if they don't persist. For such cases, we have implemented an automated feedback handling. Any unexpected issues are reported automatically. The application will send the internal error message and stack trace to the backend and a Screenshot of the current application if possible.</p>
<p>Examples:</p>
<table>
<tr>
<td>
<div id="attachment_9085" class="wp-caption aligncenter" style="width: 148px"><a href="https://blog.sibvisions.com/wp-content/uploads/2025/03/overvlow.png" rel="lightbox[9084]"><img src="https://blog.sibvisions.com/wp-content/uploads/2025/03/overvlow-138x300.png" alt="Text overflow" title="overflow" width="138" height="300" class="size-medium wp-image-9085" /></a><p class="wp-caption-text">Text overflow</p></div>
</td>
<td style="width: 20px;"></td>
<td>
<div id="attachment_9091" class="wp-caption aligncenter" style="width: 148px"><a href="https://blog.sibvisions.com/wp-content/uploads/2025/03/exceptions.png" rel="lightbox[9084]"><img src="https://blog.sibvisions.com/wp-content/uploads/2025/03/exceptions-138x300.png" alt="Exceptions" title="exceptions" width="138" height="300" class="size-medium wp-image-9091" /></a><p class="wp-caption-text">Exceptions</p></div>
</td>
</table>
<p>This will be reported to the backend e.g.</p>
<table>
<tr>
<td>
<div id="attachment_9088" class="wp-caption aligncenter" style="width: 310px"><a href="https://blog.sibvisions.com/wp-content/uploads/2025/03/overflow_feedback.png" rel="lightbox[9084]"><img src="https://blog.sibvisions.com/wp-content/uploads/2025/03/overflow_feedback-300x229.png" alt="Overflow feedback" title="overflow_feedback" width="300" height="229" class="size-medium wp-image-9088" /></a><p class="wp-caption-text">Overflow feedback</p></div>
</td>
<td style="width: 20px;"></td>
<td>
<div id="attachment_9094" class="wp-caption aligncenter" style="width: 310px"><a href="https://blog.sibvisions.com/wp-content/uploads/2025/03/exceptions_feedback.png" rel="lightbox[9084]"><img src="https://blog.sibvisions.com/wp-content/uploads/2025/03/exceptions_feedback-300x229.png" alt="Exceptions feedback" title="exceptions_feedback" width="300" height="229" class="size-medium wp-image-9094" /></a><p class="wp-caption-text">Exceptions feedback</p></div>
</td>
</table>
<p><em>No worries, it's just a demo screen. It doesn't look fancy. Just use <a href="https://visionx.sibvisions.com">VisionX</a> to create your own cool screen.</em></p>
<p>Our feedback handling is not comparable with commercial products like <a href="https://sentry.io/welcome/">Sentry.io</a> which is the recommended system in the <a href="https://docs.flutter.dev/cookbook/maintenance/error-reporting">flutter docs</a>. But it's simple, free and built-in. If you use our <a href="https://github.com/sibvisions/flutter_jvx">flutter client</a> as base of your own application client it's also possible to use other reporting systems like Sentry.io without any limitations.</p>
<p>We always try to keep things simple for you!</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2025/03/13/visionx-previewer-automatic-feedback/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VisionX Previewer app 3.3.0 insights</title>
		<link>https://blog.sibvisions.com/2025/03/05/visionx-previewer-app-3-3-0-insights/</link>
		<comments>https://blog.sibvisions.com/2025/03/05/visionx-previewer-app-3-3-0-insights/#comments</comments>
		<pubDate>Wed, 05 Mar 2025 11:56:59 +0000</pubDate>
		<dc:creator>rjahn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[VisionX]]></category>
		<category><![CDATA[VisionX Previewer]]></category>

		<guid isPermaLink="false">https://blog.sibvisions.com/?p=9059</guid>
		<description><![CDATA[We work hard on our VisionX Previewer app and have some really cool new features for you  
You know that we use a table for data representation. It looks like following:


We know that a table is not really cool on mobile devices. A table on mobile devices often looks like a list, like this [...]]]></description>
			<content:encoded><![CDATA[<p>We work hard on our VisionX Previewer app and have some really cool new features for you <img src='https://blog.sibvisions.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>You know that we use a table for data representation. It looks like following:</p>
<p><center><br />
<div id="attachment_9062" class="wp-caption alignnone" style="width: 330px"><a href="https://blog.sibvisions.com/wp-content/uploads/2025/03/list_as_table_demo.gif" rel="lightbox[9059]"><img src="https://blog.sibvisions.com/wp-content/uploads/2025/03/list_as_table_demo.gif" alt="Standard table" title="Standard table" width="320" height="617" class="size-full wp-image-9062" /></a><p class="wp-caption-text">Standard table</p></div><br />
</center></p>
<p>We know that a table is not really cool on mobile devices. A table on mobile devices often looks like a list, like this one:</p>
<p><center style="padding-bottom: 20px;"><br />
<iframe src="https://fluttertemplates-dev.github.io/components/#news_feed_2" style="height: 500px; border: none;"> </iframe><br />
</center></p>
<p>Our problem was the layout of the list elements. This is easy for a table but complex for a list. Anyway, we found a super flexible solution for the problem and now it's possible to show a table as list, like following:</p>
<p><center><br />
<div id="attachment_9071" class="wp-caption alignnone" style="width: 330px"><a href="https://blog.sibvisions.com/wp-content/uploads/2025/03/list_demo.gif" rel="lightbox[9059]"><img src="https://blog.sibvisions.com/wp-content/uploads/2025/03/list_demo.gif" alt="Table as List" title="Table as List" width="320" height="617" class="size-full wp-image-9071" /></a><p class="wp-caption-text">Table as List</p></div><br />
</center></p>
<p>You don't need to change your application to show a table as list, just add a style information to your existing tables and everything will work. The list supports same features as the table. It's sortable, editable and you can delete records. The list has some additional style options like as Card, with + button, with border, with arrow:</p>
<p><center><br />
<div id="attachment_9075" class="wp-caption alignnone" style="width: 330px"><a href="https://blog.sibvisions.com/wp-content/uploads/2025/03/list_features.gif" rel="lightbox[9059]"><img src="https://blog.sibvisions.com/wp-content/uploads/2025/03/list_features.gif" alt="Style options" title="Style options" width="320" height="617" class="size-full wp-image-9075" /></a><p class="wp-caption-text">Style options</p></div><br />
</center></p>
<p>This is the default layout implementation of the list. If you want another layout, you can use a template mechanism to create your own customized list. The template is a json file which defines the layout. It's not super easy but with a little patience it will work.</p>
<p>The new list feature will be available together with the next VisionX update in some weeks, because the template mechanism is new and not available in older VisionX versions. </p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sibvisions.com/2025/03/05/visionx-previewer-app-3-3-0-insights/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
