# widget

Published articles for widget.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Copy-pasting more than just text

DevFeed: [Copy-pasting more than just text](<https://devfeed.tech/articles/copy-pasting-more-than-just-text-27370.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/copy-pasting-more-than-just-text.htm>)

Author: Khan Academy

Published: 2015-08-31T22:00:00Z

Content type: tutorial

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [Web Development](<https://devfeed.tech/topics/web-development.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [React](<https://devfeed.tech/topics/react.md>), [interactive website](<https://devfeed.tech/topics/interactive-website.md>)

Tags: [alt-text](<https://devfeed.tech/tags/alt-text.md>), [copy](<https://devfeed.tech/tags/copy.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [interactive-content](<https://devfeed.tech/tags/interactive-content.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [news](<https://devfeed.tech/tags/news.md>), [web-frontend](<https://devfeed.tech/tags/web-frontend.md>), [widget](<https://devfeed.tech/tags/widget.md>)

### AI overview

Sam Lau describes how Khan Academy improved copy-pasting in Perseus, its interactive exercise and article editor, by moving widget metadata alongside copied text. The change preserves information such as image URLs and a number line's starting value, making it easier for content creators to move or duplicate widgets.

### Source excerpt

By Sam Lau The Result I'll skip to the happy ending. This little feature implements more sophisticated copy-pasting ... Read more

## Why Output Metrics Can Miss Problems in Complex Production Systems

DevFeed: [Why Output Metrics Can Miss Problems in Complex Production Systems](<https://devfeed.tech/articles/what-you-measure-28516.md>)

Original publisher: [Read original article](<https://thedailywtf.com/articles/what-you-measure>)

Author: Remy Porter

Published: 2026-09-02T06:30:00Z

Content type: opinion

Language: en

Sources: [The Daily WTF](<https://devfeed.tech/sources/the-daily-wtf.md>)

Topics: [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>), [robot sense of touch](<https://devfeed.tech/topics/robot-sense-of-touch.md>), [Embedded Software Dev](<https://devfeed.tech/topics/embedded-software-dev.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Computer vision](<https://devfeed.tech/topics/computer-vision.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [computer-vision](<https://devfeed.tech/tags/computer-vision.md>), [databases](<https://devfeed.tech/tags/databases.md>), [embedded](<https://devfeed.tech/tags/embedded.md>), [feature-articles](<https://devfeed.tech/tags/feature-articles.md>), [manufacturing](<https://devfeed.tech/tags/manufacturing.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [robotics](<https://devfeed.tech/tags/robotics.md>), [widget](<https://devfeed.tech/tags/widget.md>)

### AI overview

This commentary examines a metrics-driven manufacturing team whose automated production line combines robotics, embedded firmware, web-based monitoring tools, and PLC code. It argues that tracking output and limited performance metrics does not adequately explain how such a complex system behaves or why bottlenecks occur.

### Source excerpt

Rachel joined a new team which was proudly "metrics driven". When she first met with her boss, Zane, he explained his thinking. "We need to be data-driven to make good decisions, right? We're a manufacturing company. We make widgets. At the end of the day, we need to make the most widgets for the lowest cost of goods sold. So we track that, and that feeds into every decision." The team oversaw an automated production line, which meant the software was a mix of robotics, embedded firmware, high-level web based monitoring tools, and thickets of dreaded PLC code. And because you can't build an entire factory for test purposes, they only way they could test real-world scales with real-world data was to roll changes out to production. They could simulate, they could run tests on subsets of the system, but a change in the production line software couldn't truly be validated until it rolled out into the real world. Rachel's first task on the new team involved making some changes to their metrics dashboard. It was viewed as a good way to get her feet wet with the new team. As it turned out, the metrics dashboard was a Google Sheet, with a complex series of formulas that involved multi-level INDEX functions- essentially querying the spreadsheets like they were a database. Why not use an actual database? Oh, they did -- six actually -- but the company obeyed Remy's Law of Requirements Gathering: "no matter what the requirements the users ask for, what they really wanted was Excel". The database data was pulled into the spreadsheet for reporting. Now, a complicated sheet pulling in data from not one, but six different databases, they must have a pretty complex model to explain how changes to their software would impact productivity. And since they needed to model the software to make predictions about how it'd behave in production, that model must be extremely useful. Of course it wasn't. The only metrics they tracked were output metrics, variations on "widgets produced per unit

## The gap between brand and consumer perceptions of AI agent disclosure

DevFeed: [The gap between brand and consumer perceptions of AI agent disclosure](<https://devfeed.tech/articles/your-customers-don-t-hate-ai-they-hate-you-lying-about-it-16107.md>)

Original publisher: [Read original article](<https://www.twilio.com/en-us/blog/insights/ai-disclosure-transparency-gap>)

Author: Jesse Sumrak

Published: 2026-08-31T00:00:00Z

Content type: opinion

Language: en

Sources: [Twilio Blog](<https://devfeed.tech/sources/twilio-blog.md>)

Topics: [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Support](<https://devfeed.tech/topics/support.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [ai-transparency](<https://devfeed.tech/tags/ai-transparency.md>), [customer-experience](<https://devfeed.tech/tags/customer-experience.md>), [industry-insights](<https://devfeed.tech/tags/industry-insights.md>), [trust](<https://devfeed.tech/tags/trust.md>), [widget](<https://devfeed.tech/tags/widget.md>)

### AI overview

Twilio research finds that 81% of brands say their AI agents identify themselves, while only 22% of consumers report experiencing that disclosure. The article examines how unclear or inconsistent disclosures create a transparency and trust gap and recommends identifying the AI clearly at the start of interactions.

### Source excerpt

81% of brands say their AI identifies itself. Only 22% of consumers agree. Learn why the gap exists and how to close it.

## How to Add Custom Providers to WorkOS Pipes

DevFeed: [How to Add Custom Providers to WorkOS Pipes](<https://devfeed.tech/articles/every-integration-catalog-is-also-a-list-of-what-you-don-t-support-15982.md>)

Original publisher: [Read original article](<https://workos.com/blog/adding-a-custom-provider>)

Author: WorkOS

Published: 2026-08-28T00:00:00Z

Content type: tutorial

Language: en

Sources: [WorkOS Blog](<https://devfeed.tech/sources/workos-blog.md>)

Topics: [OAuth](<https://devfeed.tech/topics/oauth.md>), [API keys](<https://devfeed.tech/topics/api-keys.md>), [API](<https://devfeed.tech/topics/api.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>), [Back end](<https://devfeed.tech/topics/backend.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [api-keys](<https://devfeed.tech/tags/api-keys.md>), [backend](<https://devfeed.tech/tags/backend.md>), [integration](<https://devfeed.tech/tags/integration.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [widget](<https://devfeed.tech/tags/widget.md>)

### AI overview

This tutorial explains how to add custom providers to WorkOS Pipes when a provider is not in the catalog. It covers custom credentials, organization-scoped providers, and custom provider configuration for OAuth or API-key-based integrations, while preserving the existing connection-consuming code.

### Source excerpt

The path for adding a provider yourself, whether it speaks OAuth, odd OAuth, or only API keys.

## Mikrotik Winbox 4.3 is out

DevFeed: [Mikrotik Winbox 4.3 is out](<https://devfeed.tech/articles/mikrotik-winbox-4-3-is-out-40185.md>)

Original publisher: [Read original article](<https://blog.j2sw.com/resources/mikrotik-winbox-4-3-is-out/>)

Author: j2sw

Published: 2026-07-29T14:38:07Z

Content type: release

Language: en

Sources: [Justin Wilson (j2sw)](<https://devfeed.tech/sources/justin-wilson-j2sw.md>)

Topics: [MikroTik](<https://devfeed.tech/topics/mikrotik.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [Zip](<https://devfeed.tech/topics/zip.md>), [GUI](<https://devfeed.tech/topics/gui.md>), [layout](<https://devfeed.tech/topics/layout.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [feature](<https://devfeed.tech/tags/feature.md>), [file](<https://devfeed.tech/tags/file.md>), [form](<https://devfeed.tech/tags/form.md>), [input](<https://devfeed.tech/tags/input.md>), [layout](<https://devfeed.tech/tags/layout.md>), [mikrotik](<https://devfeed.tech/tags/mikrotik.md>), [network-engineering-resources](<https://devfeed.tech/tags/network-engineering-resources.md>), [performance](<https://devfeed.tech/tags/performance.md>), [redesign](<https://devfeed.tech/tags/redesign.md>), [render](<https://devfeed.tech/tags/render.md>), [right](<https://devfeed.tech/tags/right.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [table](<https://devfeed.tech/tags/table.md>), [toolbar](<https://devfeed.tech/tags/toolbar.md>), [ui](<https://devfeed.tech/tags/ui.md>), [v3](<https://devfeed.tech/tags/v3.md>), [version](<https://devfeed.tech/tags/version.md>), [widget](<https://devfeed.tech/tags/widget.md>), [winbox](<https://devfeed.tech/tags/winbox.md>), [windows](<https://devfeed.tech/tags/windows.md>), [zip](<https://devfeed.tech/tags/zip.md>)

### AI overview

MikroTik WinBox 4.3 is a release update that adds a Windows ARM64 package and introduces or improves table, form, toolbar, settings, font, login, window-selection, layout, and scrolling behavior.

### Source excerpt

What's new in 4.3 (2026-Jul-20 10:14): *) app: add Windows for arm64 version in file WinBox_Windows_arm64.zip;*) form: make multiline input field height logic as in WinBox v3;*) table: add quick comment feature (allow multi-row commenting);*) table: allow opening "Table settings" also via right mouse click;*) table: calculate implicit height to fit 16 regular rows including ... Read more The post Mikrotik Winbox 4.3 is out appeared first on Justin Wilson (j2sw).

## How to Embed a Checkout Widget in Any Website

DevFeed: [How to Embed a Checkout Widget in Any Website](<https://devfeed.tech/articles/how-to-embed-a-checkout-widget-in-any-website-9837.md>)

Original publisher: [Read original article](<https://dodopayments.com/blogs/embed-checkout-widget-website/>)

Author: Aarthi Poonia

Published: 2026-03-30T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dodo Payments Blog](<https://devfeed.tech/sources/dodo-payments-blog.md>)

Topics: [Website](<https://devfeed.tech/topics/website.md>), [HTML](<https://devfeed.tech/topics/html.md>), [WordPress](<https://devfeed.tech/topics/wordpress.md>), [tokenization](<https://devfeed.tech/topics/tokenization.md>), [Nextra](<https://devfeed.tech/topics/nextra.md>), [webflow](<https://devfeed.tech/topics/webflow.md>)

Tags: [checkout](<https://devfeed.tech/tags/checkout.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [html](<https://devfeed.tech/tags/html.md>), [payment](<https://devfeed.tech/tags/payment.md>), [payments](<https://devfeed.tech/tags/payments.md>), [react](<https://devfeed.tech/tags/react.md>), [tokenization](<https://devfeed.tech/tags/tokenization.md>), [website-builders](<https://devfeed.tech/tags/website-builders.md>), [widget](<https://devfeed.tech/tags/widget.md>), [wordpress](<https://devfeed.tech/tags/wordpress.md>)

### AI overview

A guide to embedding Dodo Payments checkout widgets in websites built with HTML, React, WordPress, or no-code builders such as Webflow. It covers overlay and inline checkout options and explains how payment tokenization keeps card data off a site's servers.

### Source excerpt

Guide to embedding a payment checkout widget into any website - HTML, WordPress, React, or website builders. No backend required with Dodo Payments overlay and inline checkout.

## Lessons From Building iOS Widgets

DevFeed: [Lessons From Building iOS Widgets](<https://devfeed.tech/articles/lessons-from-building-ios-widgets-1465.md>)

Original publisher: [Read original article](<https://shopify.engineering/lessons-building-ios-widgets>)

Author: Carlos Pereira

Published: 2022-09-22T13:30:00Z

Content type: article

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [Shopify](<https://devfeed.tech/topics/shopify.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [React Native](<https://devfeed.tech/topics/react-native.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [analytics](<https://devfeed.tech/tags/analytics.md>), [android](<https://devfeed.tech/tags/android.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [development](<https://devfeed.tech/tags/development.md>), [ios](<https://devfeed.tech/tags/ios.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [native](<https://devfeed.tech/tags/native.md>), [react-native](<https://devfeed.tech/tags/react-native.md>), [shopify](<https://devfeed.tech/tags/shopify.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [widget](<https://devfeed.tech/tags/widget.md>)

### AI overview

Shopify describes lessons from building and redesigning iOS widgets that give merchants at-a-glance access to shop analytics. The article explains why the team chose native SwiftUI instead of React Native, citing WidgetKit's architecture, memory limits for app extensions, and the lack of official React Native widget support.

### Source excerpt

Shopify shares with you how we approached building iOS widgets and some of the challenges we faced.

## ESP Insights: Group Analytics with Dynamic Search Filters

DevFeed: [ESP Insights: Group Analytics with Dynamic Search Filters](<https://devfeed.tech/articles/esp-insights-group-analytics-with-dynamic-search-filters-13841.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/esp-insights-group-analytics-with-dynamic-search-filters/>)

Author: John Lee

Published: 2022-08-08T00:00:00Z

Content type: release

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [dashboards](<https://devfeed.tech/topics/dashboards.md>), [data](<https://devfeed.tech/topics/data.md>), [Embedded Software Dev](<https://devfeed.tech/topics/embedded-software-dev.md>)

Tags: [analytics](<https://devfeed.tech/tags/analytics.md>), [blog](<https://devfeed.tech/tags/blog.md>), [crash](<https://devfeed.tech/tags/crash.md>), [devices](<https://devfeed.tech/tags/devices.md>), [errors](<https://devfeed.tech/tags/errors.md>), [esp-insights](<https://devfeed.tech/tags/esp-insights.md>), [esp32](<https://devfeed.tech/tags/esp32.md>), [espinsights](<https://devfeed.tech/tags/espinsights.md>), [filter](<https://devfeed.tech/tags/filter.md>), [firmware](<https://devfeed.tech/tags/firmware.md>), [iot](<https://devfeed.tech/tags/iot.md>), [node](<https://devfeed.tech/tags/node.md>), [release](<https://devfeed.tech/tags/release.md>), [search](<https://devfeed.tech/tags/search.md>), [widget](<https://devfeed.tech/tags/widget.md>)

### AI overview

This ESP Insights release expands Group Analytics with dynamic search and grouping filters for indexed device data, including crash, reboot, register-address, backtrace, and log-tag information. It also adds configurable event timelines, compact event statistics, date and time range selection, and node listing and report correlation.

### Source excerpt

It's been a few months, since we first introduced our Group Analytics feature in the ESP Insights. Group Analytics allows a wholistic view of your devices in the field, categorised or grouped either by their behavioural pattern viz. reporting certain type of crashes or reboots because of certain errors or even non-erroneous conditions. Devices could be even grouped at a very high level by their characteristics like the firmware application and the version they carry.

## ESP Insights: In-depth device metrics

DevFeed: [ESP Insights: In-depth device metrics](<https://devfeed.tech/articles/esp-insights-in-depth-device-metrics-13842.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/esp-insights-in-depth-device-metrics/>)

Author: John Lee

Published: 2022-04-28T00:00:00Z

Content type: release

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [dashboards](<https://devfeed.tech/topics/dashboards.md>), [Time Series](<https://devfeed.tech/topics/time-series.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [crash](<https://devfeed.tech/tags/crash.md>), [esp-insights](<https://devfeed.tech/tags/esp-insights.md>), [esp32](<https://devfeed.tech/tags/esp32.md>), [espinsights](<https://devfeed.tech/tags/espinsights.md>), [event](<https://devfeed.tech/tags/event.md>), [iot](<https://devfeed.tech/tags/iot.md>), [logs](<https://devfeed.tech/tags/logs.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [time-series](<https://devfeed.tech/tags/time-series.md>), [widget](<https://devfeed.tech/tags/widget.md>)

### AI overview

This article announces enhanced ESP Insights Dashboard device-metrics analysis. Users can select a date and time range, correlate metrics with crash and reboot events, inspect event details, and zoom into a narrower portion of a time-series graph.

### Source excerpt

In the earlier version of the ESP Insights Dashboard users could check and analyse device reported metrics, for only up to the past 3 hours. We received developer feedback that they would like to look at the metrics within a particular time frame and most importantly in the time frame around an all important event being investigated viz. a crash or a reboot.

## How to reliably update widgets on Android

DevFeed: [How to reliably update widgets on Android](<https://devfeed.tech/articles/how-to-reliably-update-widgets-on-android-37168.md>)

Original publisher: [Read original article](<https://arkadiuszchmura.com/posts/how-to-reliably-update-widgets-on-android/>)

Published: 2022-02-12T00:00:00Z

Content type: tutorial

Language: en

Sources: [Arkadiusz Chmura](<https://devfeed.tech/sources/arkadiusz-chmura.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Jetpack](<https://devfeed.tech/topics/jetpack.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-jetpack](<https://devfeed.tech/tags/android-jetpack.md>), [background](<https://devfeed.tech/tags/background.md>), [battery](<https://devfeed.tech/tags/battery.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [setup](<https://devfeed.tech/tags/setup.md>), [widget](<https://devfeed.tech/tags/widget.md>), [workmanager](<https://devfeed.tech/tags/workmanager.md>)

### AI overview

This tutorial explains why Android widgets may not update reliably using android:updatePeriodMillis alone, particularly on devices whose vendors restrict background processing. It presents Android Jetpack WorkManager as a way to schedule periodic work that updates widget instances through AppWidgetManager.

### Source excerpt

The default solution with android:updatePeriodMillis doesn't always work.

## Android 12 review for Developers

DevFeed: [Android 12 review for Developers](<https://devfeed.tech/articles/android-12-review-for-developers-25965.md>)

Original publisher: [Read original article](<https://proandroiddev.com/review-of-android-12-for-developers-ea3ce9247e0?source=rss-7a0a233f88a2------2>)

Author: Kirill Rozov

Published: 2021-06-29T14:42:14Z

Content type: opinion

Language: en

Sources: [Stories by Kirill Rozov on Medium](<https://devfeed.tech/sources/stories-by-kirill-rozov-on-medium.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Material Design](<https://devfeed.tech/topics/material-design.md>), [Google](<https://devfeed.tech/topics/google.md>), [ui](<https://devfeed.tech/topics/ui.md>), [API](<https://devfeed.tech/topics/api.md>), [Security, Privacy and Abuse Prevention](<https://devfeed.tech/topics/security-privacy-and-abuse-prevention.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-12](<https://devfeed.tech/tags/android-12.md>), [api](<https://devfeed.tech/tags/api.md>), [data-privacy](<https://devfeed.tech/tags/data-privacy.md>), [developers](<https://devfeed.tech/tags/developers.md>), [google](<https://devfeed.tech/tags/google.md>), [material-design](<https://devfeed.tech/tags/material-design.md>), [security](<https://devfeed.tech/tags/security.md>), [ui](<https://devfeed.tech/tags/ui.md>), [widget](<https://devfeed.tech/tags/widget.md>)

### AI overview

A developer-focused review of Android 12 based on its early beta, covering security and data privacy, Material You personalization, the standardized SplashScreen API, and updates to interface effects such as Ripple, Overscroll, and RenderEffect.

### Source excerpt

Android 12 review for developershttps://medium.com/media/14d506cb3ec570f8bf99b03256759f2e/href The Google I/O'21 conference took place, and we learned absolutely everything about the new version of Android, and we can also try it all in Beta 1, which we can install on the Pixel, and other manufacturers also allow you to install the GSI image. The main emphasis in the release was made on enhancing OS security and data privacy, as well as redesigning the system. They have done a very good job of supporting today's new media standards, and they have minimized the amount of pain that flagship devices will experience from older or budget smartphones. App Widgets have been improved, as users have been asking for since the first version of Android. DesignNew Material You designhttps://medium.com/media/94c8a2d0eca25e4d6931df11976a8884/href Google has unveiled an updated version of Material Design that focuses on personalizing the color palette. For example, colors in Pixel devices will be determined based on the background image. You will be able to fully experience Material You in the second Beta version of Android 12. The most important question is: "How will vendors adapt Material You in their firmware?" The chances are that this concept of colors will remain in pure Android, and vendors and third-party applications will ignore the design and use their own ideas. The entire color palette in Material was based on the app's brand colors, and now it has to be user-definable. Much depends on how the app interface designers adapt the new design. Write in the comments if you like Google's new visual style Standard Splash Screen for all apps SplashScreen API allows you to customize it for your brand: set a background, animated icon and other parameters. You cannot turn off the new Splash Screen, so everyone who has their own variation of such a screen -- pay attention. Splash Screen is a fairly popular practice in Android applications to hide long initialization. Now a standard

## Виджеты в iOS 14 - возможности и ограничения

DevFeed: [Виджеты в iOS 14 - возможности и ограничения](<https://devfeed.tech/articles/ios-14-37990.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/koshelek/articles/519516/>)

Author: dydus0x14 (Кошелёк)

Published: 2020-09-17T10:36:10Z

Content type: tutorial

Language: ru

Sources: ["Кошелёк" RU](<https://devfeed.tech/sources/ru.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [app-store](<https://devfeed.tech/tags/app-store.md>), [apple](<https://devfeed.tech/tags/apple.md>), [ios](<https://devfeed.tech/tags/ios.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [widget](<https://devfeed.tech/tags/widget.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

The article describes developing an iOS 14 widget for the Wallet app, including the team's experience with widget capabilities and limitations while using beta versions of Xcode. It explains how the widget can provide quick access to loyalty cards and discusses possible future features.

### Source excerpt

В этом году для iOS-разработчиков появилось сразу несколько интересных возможностей посадить батарейку айфона улучшить пользовательский опыт, одна из таких -- новые виджеты. Пока мы все находимся в ожидании выхода релизной версии ОС, хотел бы поделиться опытом написания виджета для приложения "Кошелёк" и рассказать, с какими возможностями и ограничениями наша команда столкнулась на бета-версиях Xcode. Читать дальше ->

## Bottom App Bar with Menu and Swipeable Tabs in Flutter

DevFeed: [Bottom App Bar with Menu and Swipeable Tabs in Flutter](<https://devfeed.tech/articles/bottom-app-bar-with-menu-and-swipeable-tabs-in-flutter-25540.md>)

Original publisher: [Read original article](<https://www.marcogomiero.com/posts/2019/bottom-bar-swipe-flutter/>)

Author: Marco Gomiero

Published: 2019-03-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [Posts on Marco Gomiero](<https://devfeed.tech/sources/posts-on-marco-gomiero.md>)

Topics: [Flutter](<https://devfeed.tech/topics/flutter.md>), [Material Design](<https://devfeed.tech/topics/material-design.md>)

Tags: [bottomsheet](<https://devfeed.tech/tags/bottomsheet.md>), [flutter](<https://devfeed.tech/tags/flutter.md>), [material-design](<https://devfeed.tech/tags/material-design.md>), [widget](<https://devfeed.tech/tags/widget.md>)

### AI overview

A tutorial explaining how to combine Flutter's BottomAppBar, BottomSheet, and TabBarView to create a bottom app bar with a menu and swipeable tabs. It covers the widget structure, tab control, menu navigation, and bottom-sheet implementation.

### Source excerpt

The recent revamp of the Material Design has introduced new beautiful items, for example, the Bottom App Bar. Image from Material Design Guidelines With Flutter is super easy to implement like shown in the official documentation. However, for me, the tricky part is to combine it with swipeable tabs so, in this article, I'll explain all the steps that I've followed to obtain it. Here's a spoiler of the final result:

## A step-by-step guide to integrating a third party widget with Angular

DevFeed: [A step-by-step guide to integrating a third party widget with Angular](<https://devfeed.tech/articles/a-step-by-step-guide-to-integrating-a-third-party-widget-with-angular-21339.md>)

Original publisher: [Read original article](<https://juri.dev/blog/2019/02/ag-grid-integrating-with-angular/>)

Published: 2019-02-14T00:00:00Z

Content type: tutorial

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [Angular](<https://devfeed.tech/topics/angular.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [API](<https://devfeed.tech/topics/api.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [api](<https://devfeed.tech/tags/api.md>), [component](<https://devfeed.tech/tags/component.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [guest-post](<https://devfeed.tech/tags/guest-post.md>), [guide](<https://devfeed.tech/tags/guide.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [third-party](<https://devfeed.tech/tags/third-party.md>), [web-applications](<https://devfeed.tech/tags/web-applications.md>), [widget](<https://devfeed.tech/tags/widget.md>)

### AI overview

A step-by-step tutorial on wrapping a third-party JavaScript widget as an Angular component, using ag-Grid as the example. It explains mapping Angular input bindings to widget configuration options and exposing the widget's API through the component.

### Source excerpt

Lorem ipsum dolor sit amet

## Higher-Order Function

DevFeed: [Higher-Order Function](<https://devfeed.tech/articles/higher-order-function-25016.md>)

Original publisher: [Read original article](<https://typealias.com/concepts/higher-order-function/>)

Author: author@typealias.com (Dave Leeds)

Published: 2017-09-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dave Leeds on Kotlin - typealias.com](<https://devfeed.tech/sources/dave-leeds-on-kotlin-typealias-com.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>)

Tags: [argument](<https://devfeed.tech/tags/argument.md>), [class](<https://devfeed.tech/tags/class.md>), [function](<https://devfeed.tech/tags/function.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [product](<https://devfeed.tech/tags/product.md>), [programming](<https://devfeed.tech/tags/programming.md>), [val](<https://devfeed.tech/tags/val.md>), [widget](<https://devfeed.tech/tags/widget.md>)

### AI overview

This article explains that a higher-order function accepts a function as an argument, returns a function as a result, or does both, with Kotlin examples including calculateCost() and getDiscount().

### Source excerpt

A higher-order function is a function does at least one of these: It accepts a function as an argument It returns a function as a result Kotlin supports higher-order functions. In the following example, calculateCost() accepts a function as an argument, and getDiscount() returns a function as a result. Example class Product(val name: String, val price: Double) val shippingCost = 4.0 val taxRate = 0.08 fun main(args: Array<String>) { val product = Product("Widget", 10.

## USB debugging toggle widget

DevFeed: [USB debugging toggle widget](<https://devfeed.tech/articles/usb-debugging-toggle-widget-21520.md>)

Original publisher: [Read original article](<http://lifepluslinux.blogspot.com/2015/10/usb-debugging-toggle-widget.html>)

Author: Suresh Alse (noreply@blogger.com)

Published: 2015-10-27T18:14:00Z

Content type: tutorial

Language: en

Sources: [Life Plus Linux](<https://devfeed.tech/sources/life-plus-linux.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [USB](<https://devfeed.tech/topics/usb.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [adb](<https://devfeed.tech/tags/adb.md>), [android](<https://devfeed.tech/tags/android.md>), [app](<https://devfeed.tech/tags/app.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [usb](<https://devfeed.tech/tags/usb.md>), [widget](<https://devfeed.tech/tags/widget.md>)

### AI overview

The article introduces an Android widget that enables or disables USB debugging through ADB with a click. It says the widget avoids requiring the app to be a system app or merely opening the settings page.

### Source excerpt

Like I told you few days back in this post, I made a widget for android to toggle USB Debugging - ADB (Android Debug Bridge). Today, I will tell you more about it. There are many alternatives to this. However they either require you to make the app a system app or they simply open the settings page. As this was not exactly what I wanted, I made one myself that allows me to enable/ disable USB debugging on click. You can get the app from here. Download ADB Toggle Fork me on Github You DON'T have to make this a system app!.

## Advanced Embedding with Square Market

DevFeed: [Advanced Embedding with Square Market](<https://devfeed.tech/articles/advanced-embedding-with-square-market-15491.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/advanced-embedding-with-square-market>)

Author: Square Engineering

Published: 2014-07-09T16:07:00Z

Content type: tutorial

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [Website](<https://devfeed.tech/topics/website.md>), [Web Components](<https://devfeed.tech/topics/web-components.md>), [HTML](<https://devfeed.tech/topics/html.md>), [browsers](<https://devfeed.tech/topics/browsers.md>)

Tags: [browsers](<https://devfeed.tech/tags/browsers.md>), [components](<https://devfeed.tech/tags/components.md>), [embedded](<https://devfeed.tech/tags/embedded.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [html](<https://devfeed.tech/tags/html.md>), [self-service](<https://devfeed.tech/tags/self-service.md>), [shopping](<https://devfeed.tech/tags/shopping.md>), [widget](<https://devfeed.tech/tags/widget.md>)

### AI overview

Square Market describes how it developed an embeddable interactive menu for business websites. The article compares injecting HTML, using a web component, and using an iframe, ultimately choosing an iframe because browser support for web components was considered insufficient.

### Source excerpt

Ember an interactive menu into your website using Square Market.

## Android: display a Dialog from an AppWidget

DevFeed: [Android: display a Dialog from an AppWidget](<https://devfeed.tech/articles/android-display-a-dialog-from-an-appwidget-21763.md>)

Original publisher: [Read original article](<https://enoent.fr/posts/android-display-a-dialog-from-an-appwidget/>)

Author: Marc Plano-Lesay

Published: 2014-04-06T20:27:19Z

Content type: tutorial

Language: en

Sources: [Marc Plano-Lesay](<https://devfeed.tech/sources/marc-plano-lesay.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [App](<https://devfeed.tech/topics/app.md>), [Code](<https://devfeed.tech/topics/code.md>), [dialog](<https://devfeed.tech/topics/dialog.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [app](<https://devfeed.tech/tags/app.md>), [code](<https://devfeed.tech/tags/code.md>), [context](<https://devfeed.tech/tags/context.md>), [dialog](<https://devfeed.tech/tags/dialog.md>), [github](<https://devfeed.tech/tags/github.md>), [widget](<https://devfeed.tech/tags/widget.md>)

### AI overview

This tutorial explains how to display an Android dialog from an AppWidget by launching an activity with an activity context. It covers making the activity transparent and hiding it from history and recent apps, applying an appropriate dialog theme, reusing the activity for multiple dialogs, and finishing it when dialogs are dismissed.

### Source excerpt

Issue When you want to display a dialog, you don't only need a context, you need an activity context. From an activity, displaying a dialog is pretty straightforward: Display a dialog from an activity new AlertDialog.Builder(MyActivity.this) .setTitle("Dialog title") .setMessage("Dialog message") .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // Handle a positive answer } }) .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // Handle a negative answer } }) .setIcon(R.drawable.ic_dialog_alert) .show(); Okay, that's a pretty usual code sample. But what about displaying it from an app-widget?

## Requirements Gathering for Consumer Startups

DevFeed: [Requirements Gathering for Consumer Startups](<https://devfeed.tech/articles/requirements-gathering-for-consumer-startups-41089.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2011/02/08/Requirements-Gathering-for-Consumer-Startups/>)

Author: Map

Published: 2011-02-08T14:49:20Z

Content type: tutorial

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [Requirements](<https://devfeed.tech/topics/requirements.md>), [Development](<https://devfeed.tech/topics/development.md>), [Users](<https://devfeed.tech/topics/users.md>), [Support](<https://devfeed.tech/topics/support.md>), [Website](<https://devfeed.tech/topics/website.md>)

Tags: [development](<https://devfeed.tech/tags/development.md>), [email](<https://devfeed.tech/tags/email.md>), [requirements](<https://devfeed.tech/tags/requirements.md>), [support](<https://devfeed.tech/tags/support.md>), [users](<https://devfeed.tech/tags/users.md>), [website](<https://devfeed.tech/tags/website.md>), [widget](<https://devfeed.tech/tags/widget.md>)

### AI overview

The article presents three practices for gathering requirements in consumer startups: build a minimum viable product to test an idea, make user feedback simple through accessible channels, and listen and respond to users' requests.

### Source excerpt

Most all development projects start with a hunch at a problem. Seldom do you have the opportunity of enough resources prior beginning building to fully vet all assumptions and define all requirements. Or at the very least if you do, you're not in startup mode. For this reason the very first thing you build is often not the perfect solution. If you're lucky its a start at a solution, and even if its not, if you're close users will tell you what they want. What this leaves you with is a couple of key items. First is get to the minimum product you can to vet your idea. Most commonly known as Minimally Viable Product. This should be the minimum product you need to vet your idea, and add some form of value for users. Once you've created this, don't refine, don't keep iterating, launch. More time won't let you perfectly solve the problem, getting it in front of users will help you solve things perfect. Second is make feedback simple. Often times support can be difficult, if its a form that requires 5 fields on your website forget it. If at all possible, provide multiple ways for users to give feedback. ALL ways should be simple for users. Email is great, because every user already has it. If it can be built on your website, great, but you should make registering as light as possible. Personally, I'm a big fan of Get Satisfaction. They give a great embeddable widget and provide a service that just simply works. Third, and perhaps most important: Listen to your users! When users start to give you feedback, that's the best requirements you can receive. There's a couple of pieces to this step. When users give you feedback, you want to acknowledge them. Give some recognition for giving feedback; respond as positively and supportively as possible. If at all possible to act on requests do it, it will set you apart from the typical services they use of never getting a response and never seeing a change. In short three key steps make for requirements gathering that trumps all else