# ymedialabs-innovation - Medium

YML is a technology and design company, and Ad Age's Customer Experience Agency of the Year. A leader in digital transformation, YML helps companies transform to become digital by design. - Medium

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

## Meet "YCharts": an Opensource Jetpack Compose chart library.

DevFeed: [Meet "YCharts": an Opensource Jetpack Compose chart library.](<https://devfeed.tech/articles/meet-ycharts-an-opensource-jetpack-compose-chart-library-24755.md>)

Original publisher: [Read original article](<https://medium.com/ymedialabs-innovation/meet-ycharts-an-opensource-jetpack-compose-chart-library-2568aeac19fb?source=rss----8b5620c36355---4>)

Author: Codeangi

Published: 2023-07-13T06:29:03Z

Content type: tutorial

Language: en

Sources: [ymedialabs-innovation - Medium](<https://devfeed.tech/sources/ymedialabs-innovation-medium.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [Android](<https://devfeed.tech/topics/android.md>), [Graphs](<https://devfeed.tech/topics/graphs.md>), [Library](<https://devfeed.tech/topics/library.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [charts](<https://devfeed.tech/tags/charts.md>), [charts-and-graphs](<https://devfeed.tech/tags/charts-and-graphs.md>), [color](<https://devfeed.tech/tags/color.md>), [compose](<https://devfeed.tech/tags/compose.md>), [electronics](<https://devfeed.tech/tags/electronics.md>), [graphs](<https://devfeed.tech/tags/graphs.md>), [ios](<https://devfeed.tech/tags/ios.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [library](<https://devfeed.tech/tags/library.md>), [maven](<https://devfeed.tech/tags/maven.md>), [signal](<https://devfeed.tech/tags/signal.md>), [time](<https://devfeed.tech/tags/time.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

This article introduces Y-Charts, an open-source Jetpack Compose chart library for Android. It explains how the library integrates charts into existing UI, can be added through Maven, and supports customizable Cartesian, bar, line, and wave charts.

### Source excerpt

Meet "Y-Charts": an Opensource Jetpack Compose chart library. GitHub - yml-org/YCharts: YCharts is a graph library for Android. Y-Charts is a Jetpack Compose-based charts/graphs library that enables developers to easily integrate various types of charts/graphs into their existing UI to visually represent statistical data. Jetpack Compose is Android's recommended modern toolkit for building native UI. Y-Charts leverages on powerful features of Jetpack Compose to deliver accurate and accessible results for users, and many reusable components allow it to be concise and lightweight also enabling developers to customize and add new charts with ease. Y-Charts Sample in action.Adding Y-charts to your project. You can add the library via Maven: https://medium.com/media/f3feb939f36855b0cec632a08a6c6fa8/hrefCharts in Y-Charts:1. Cartesian Charts: Cartesian charts, also known as coordinate charts or xy-charts, utilize a rectangular coordinate system with two perpendicular axes: the x-axis (horizontal) and the y-axis (vertical). These charts are particularly effective for displaying quantitative data and relationships between variables. AxisData: The AxisData model supplied to each chart item controls the behavior and appearance of X and Y axis labels, user can opt for default behavior via the builder and can customize according to their needs. Bar Charts: Bar charts use rectangular bars to represent data, where the length or height of each bar corresponds to its value. Y-Charts provides many customization including the orientation of the bar chart to achieve a horizontal-scroll behavior, along with grouping and stacking of bars. This enables users to visualize different types of bar charts with very few code changes. BarchartData and GroupBarChartData enable users to customize this behavior, additionally, users can change the appearance of the bars by using the BarStyle property. BarData represents the data for each bar shown in the chart. Following snippet shows the BarchartD

## Prompt Engineering: Empowering Language Models for Enhanced Creativity and Collaboration

DevFeed: [Prompt Engineering: Empowering Language Models for Enhanced Creativity and Collaboration](<https://devfeed.tech/articles/prompt-engineering-empowering-language-models-for-enhanced-creativity-and-collaboration-24756.md>)

Original publisher: [Read original article](<https://medium.com/ymedialabs-innovation/prompt-engineering-empowering-language-models-for-enhanced-creativity-and-collaboration-9d7931ce6b69?source=rss----8b5620c36355---4>)

Author: Surbhi Gupta

Published: 2023-06-12T14:15:31Z

Content type: article

Language: en

Sources: [ymedialabs-innovation - Medium](<https://devfeed.tech/sources/ymedialabs-innovation-medium.md>)

Topics: [Prompt Engineering](<https://devfeed.tech/topics/prompt-engineering.md>), [Language models](<https://devfeed.tech/topics/language-models.md>), [Conversational AI](<https://devfeed.tech/topics/conversational-ai.md>), [Natural language processing](<https://devfeed.tech/topics/nlp.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [collaboration](<https://devfeed.tech/tags/collaboration.md>), [conversational-ai](<https://devfeed.tech/tags/conversational-ai.md>), [language-models](<https://devfeed.tech/tags/language-models.md>), [llm](<https://devfeed.tech/tags/llm.md>), [mls](<https://devfeed.tech/tags/mls.md>), [productivity](<https://devfeed.tech/tags/productivity.md>), [prompt](<https://devfeed.tech/tags/prompt.md>), [prompt-engineering](<https://devfeed.tech/tags/prompt-engineering.md>)

### AI overview

This article explains prompt engineering as the practice of designing precise instructions that guide language models toward specific goals. It describes how prompts influence generated text and discusses applications in conversational AI, domain-specific writing, creative collaboration, and productivity.

### Source excerpt

Prompt Engineering is an Art In recent years, large language models have made significant strides in natural language processing, enabling them to generate contextually relevant text. However, one of the key challenges with these models is controlling their output to align with specific goals and requirements. This is where prompt engineering comes into play -- a technique that allows users to guide and shape the output of language models by providing precise instructions. Prompt engineering involves crafting well-defined instructions or queries known as prompts that provide context and guidance to language models. These prompts act as directives, steering the model's output towards desired outcomes. By carefully designing prompts, developers and users can influence the style, tone, and content of the generated text, making language models more versatile and adaptable. Significance of Prompt Engineering Prompt Engineering plays a crucial role in creating conversational AI systems. These solutions can deliver personalised responses with enhanced user experiences. Some of the significant use cases are as below: Directing Creative Output: While language models have showcased impressive creativity, their outputs can sometimes be unpredictable or irrelevant without proper guidance. Prompt engineering empowers users to channel that creativity towards specific goals. It allows writers, designers, and content creators to collaborate effectively with language models, leveraging their capabilities while maintaining control over the final output. Tailoring Output to Different Domains: Prompt engineering enables language models to adapt to specific domains, industries, or writing styles. By using domain-specific prompts, developers can train models to generate text that aligns with the vocabulary, tone, and context of a particular field. This versatility allows language models to assist professionals in various industries, from journalism and marketing to technical writing and c

## From Inspiration to Implementation: A Guide to Capitalizing on Apple's WWDC Innovations

DevFeed: [From Inspiration to Implementation: A Guide to Capitalizing on Apple's WWDC Innovations](<https://devfeed.tech/articles/from-inspiration-to-implementation-a-guide-to-capitalizing-on-apple-s-wwdc-innovations-24752.md>)

Original publisher: [Read original article](<https://medium.com/ymedialabs-innovation/from-inspiration-to-implementation-a-guide-to-capitalizing-on-apples-wwdc-innovations-37a25c33261c?source=rss----8b5620c36355---4>)

Author: YML

Published: 2023-06-07T15:19:31Z

Content type: opinion

Language: en

Sources: [ymedialabs-innovation - Medium](<https://devfeed.tech/sources/ymedialabs-innovation-medium.md>)

Topics: [immersive web](<https://devfeed.tech/topics/immersive-web.md>), [3D visualization](<https://devfeed.tech/topics/3d-visualization.md>), [User interface design](<https://devfeed.tech/topics/ui-design.md>)

Tags: [3d](<https://devfeed.tech/tags/3d.md>), [3d-visualization](<https://devfeed.tech/tags/3d-visualization.md>), [accessibility](<https://devfeed.tech/tags/accessibility.md>), [apple](<https://devfeed.tech/tags/apple.md>), [digital](<https://devfeed.tech/tags/digital.md>), [digital-transformation](<https://devfeed.tech/tags/digital-transformation.md>), [guide](<https://devfeed.tech/tags/guide.md>), [innovation](<https://devfeed.tech/tags/innovation.md>), [wwdc](<https://devfeed.tech/tags/wwdc.md>)

### AI overview

This commentary examines how companies could use Apple's WWDC 2023 technologies, especially Apple Vision Pro, to develop immersive and spatial experiences. It discusses applications including 3D medical visualization, surgical planning, patient education, investment visualization, and virtual retail, while noting that mass AR adoption is not imminent.

### Source excerpt

Written by YML leaders across Engineering, Design and Product WWDC is YML's Super Bowl -- an electric moment in the digital world. Each year we enlist a multidisciplinary team of YML engineers, designers and product strategists to dissect Apple's latest products and tools. Apple's VisionPro headset has drawn the most excitement (for good reason) from WWDC 2023, and digital accessibility, mixed reality and new 3D experiences we're also debuted. Below is a guide to how YML envisions companies across the cultural spectrum best leveraging Apple's latest products and tools to grow business, improve customer experience, and fuel brand affinity. Apple Vision Pro Will Unlock Transformative Experiences Apple Vision Pro, the highly anticipated AR (augmented reality) headset unveiled at WWDC 2023 is a key opportunity for brands across the spectrum. It offers a revolutionary way to interact with digital content using eye, hand, and voice commands. With its pass-through lens, users can seamlessly blend the real world with virtual environments, creating immersive experiences. For healthcare organizations, Apple Vision Pro provides ample opportunity for 3D visualization of complex medical data, enhanced surgical planning, and improved patient education. Esteemed institutions like Cleveland Clinic can utilize this technology for breakthrough medical simulations and advanced diagnostics. In fintech, top dogs like J.P. Morgan and other financial institutions can leverage this cutting-edge technology to offer personalized investment visualizations, providing an intuitive and immersive platform for informed financial decisions. Retailers eager to be at the forefront of innovation, from Lululemon to Nike, can create immersive virtual shopping environments, allowing customers to try on the latest footwear and apparel collections from the comfort of their own homes. TLDR: Let's face it -- mass adoption of AR is not happening any time soon, but the opportunity is massive, the technology is h

## Server Driven UI

DevFeed: [Server Driven UI](<https://devfeed.tech/articles/server-driven-ui-24757.md>)

Original publisher: [Read original article](<https://medium.com/ymedialabs-innovation/server-driven-ui-facb948859dc?source=rss----8b5620c36355---4>)

Author: Girish H

Published: 2023-05-25T08:01:03Z

Content type: tutorial

Language: en

Sources: [ymedialabs-innovation - Medium](<https://devfeed.tech/sources/ymedialabs-innovation-medium.md>)

Topics: [ui](<https://devfeed.tech/topics/ui.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Development](<https://devfeed.tech/topics/development.md>), [Web](<https://devfeed.tech/topics/web.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-app-development](<https://devfeed.tech/tags/mobile-app-development.md>), [mobile-ui-design](<https://devfeed.tech/tags/mobile-ui-design.md>), [performance](<https://devfeed.tech/tags/performance.md>), [server-driven-ui](<https://devfeed.tech/tags/server-driven-ui.md>), [ui](<https://devfeed.tech/tags/ui.md>), [ui-components](<https://devfeed.tech/tags/ui-components.md>)

### AI overview

This article explains server-driven UI, in which a server provides data or instructions that a mobile app uses to render native interface components dynamically. It presents the approach as a way to reduce hard-coded layout changes and improve flexibility, and compares native components with web views in performance, user experience, security, and accessibility.

### Source excerpt

Photo by Amélie Mourichon on Unsplash Server-driven UI or dynamic layout is a technique that allows the server to send data or instructions to the client, which the client then uses to render the user interface dynamically. This can improve the user experience by providing more personalised or relevant content Why do we need to use Server Driven UI? As a mobile developer, have you ever had to add a new field to a native Android layout and it would take up the entire sprint which includes development, QA and release cycle? Or, have you ever had a client who was hesitant to use web views to render content in their app? These are common issues that can be solved by implementing server-driven UI in your mobile app. Server-driven UI allows developers to render native components using data provided by a server. This means that instead of hard-coding all the layouts in the app, you can fetch the data from a server and dynamically create the UI components at runtime. This can save a lot of development time and make the app more flexible to changes in the future. Additionally, using server-driven UI can also improve the performance as the native components are rendered directly in the app, which can lead to faster load times and better performance overall. You can find some of the major differences between Native components and web-view below Performance: Native components are much faster and provide better performance as compared to web views. Web views usually require a lot of resources to render the content, which can result in slow loading times and a poor user experience. User experience: Native components provide a better user experience as they are designed specifically for the platform they are running on. They can take advantage of the device's features and offer a consistent look and feel across the entire app. Security: Native components are considered more secure as compared to web views. Web views can be vulnerable to security threats such as cross-site scriptin

## VIPER Architecture for iOS Apps

DevFeed: [VIPER Architecture for iOS Apps](<https://devfeed.tech/articles/viper-architecture-for-ios-apps-24758.md>)

Original publisher: [Read original article](<https://medium.com/ymedialabs-innovation/viper-architecture-for-ios-apps-656ee687ba76?source=rss----8b5620c36355---4>)

Author: Surbhi Gupta

Published: 2023-05-18T14:59:24Z

Content type: tutorial

Language: en

Sources: [ymedialabs-innovation - Medium](<https://devfeed.tech/sources/ymedialabs-innovation-medium.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [Code](<https://devfeed.tech/topics/code.md>), [business logic](<https://devfeed.tech/topics/business-logic.md>), [ui](<https://devfeed.tech/topics/ui.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [mvc](<https://devfeed.tech/topics/mvc.md>)

Tags: [apps](<https://devfeed.tech/tags/apps.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [business-logic](<https://devfeed.tech/tags/business-logic.md>), [code](<https://devfeed.tech/tags/code.md>), [controllers](<https://devfeed.tech/tags/controllers.md>), [flow](<https://devfeed.tech/tags/flow.md>), [ios](<https://devfeed.tech/tags/ios.md>), [modular](<https://devfeed.tech/tags/modular.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [mvvm](<https://devfeed.tech/tags/mvvm.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [patterns](<https://devfeed.tech/tags/patterns.md>), [swift](<https://devfeed.tech/tags/swift.md>), [ui](<https://devfeed.tech/tags/ui.md>), [viper](<https://devfeed.tech/tags/viper.md>)

### AI overview

This tutorial explains VIPER, an architectural pattern for iOS apps. It describes how VIPER divides each module into View, Presenter, Interactor, Entity, and Router components, with separate responsibilities and delegation-based communication.

### Source excerpt

What is a Good Architecture? Architecture serves as a blueprint for a system. It provides a mechanism to communicate between various components and abstracts the complexity. It is important to separate out code components so that they are identifiable, serve a single purpose/responsibility and also fit logically. Code should be scalable, stable upon expansion, and flexible, which brings in the need for a good architecture. A good architecture not only helps in the success of the product but also allows for easy maintenance and makes people's lives easier. This article will talk about VIPER architecture, which is used to build many large projects. What is VIPER? VIPER is an architectural pattern like MVC and MVVM. One of the major issues with MVC and MVVM is bulky controllers. VIPER solves this problem by following Single Responsibility Principle and making the code more modular. Flow of Control Each module created with VIPER has five classes, each with their own responsibilities. No class does anything other than the specified role. These classes are listed below: View: It is responsible for only maintaining and displaying the view. It picks up any user interactions and passes the information to the presenter to decide the next step. Unlike other architecture patterns like MVC or MVVM, its sole responsibility is to manage and show the UI. Presenter: It is the only class that interacts with all other components except Entity. It is the decision-making engine for routing the flow. Interactor: It interacts with Entity and contains business logic. This class is where all the API calls and database interactions are added. Entity: Data model that is used by the interactor. Router: It does all the wire-framing or navigation from one module to another based on the information passed by the presenter. An ideal folder structure would be like below: Ideal Folder Structure with VIPER The communication between various components follows a delegation pattern. One component calls

## An Introduction to Swift Package Manager and how it works

DevFeed: [An Introduction to Swift Package Manager and how it works](<https://devfeed.tech/articles/an-introduction-to-swift-package-manager-and-how-it-works-24750.md>)

Original publisher: [Read original article](<https://medium.com/ymedialabs-innovation/an-introduction-to-swift-package-manager-and-how-it-works-cfe8e0d8cbd3?source=rss----8b5620c36355---4>)

Author: prateek arora

Published: 2023-04-11T05:00:35Z

Content type: tutorial

Language: en

Sources: [ymedialabs-innovation - Medium](<https://devfeed.tech/sources/ymedialabs-innovation-medium.md>)

Topics: [swift-package-manager](<https://devfeed.tech/topics/swift-package-manager.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>), [Package Management](<https://devfeed.tech/topics/package-management.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [tvOS](<https://devfeed.tech/topics/tvos.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [introduction](<https://devfeed.tech/tags/introduction.md>), [ios](<https://devfeed.tech/tags/ios.md>), [linux](<https://devfeed.tech/tags/linux.md>), [macos](<https://devfeed.tech/tags/macos.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [package-management](<https://devfeed.tech/tags/package-management.md>), [packages](<https://devfeed.tech/tags/packages.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swift-package](<https://devfeed.tech/tags/swift-package.md>), [swift-package-manager](<https://devfeed.tech/tags/swift-package-manager.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

An introductory tutorial explains Swift Package Manager (SPM), its role in downloading, compiling, and linking Swift dependencies, and its integration with Swift. It compares SPM with third-party options such as CocoaPods and Carthage, outlines supported platforms and requirements, and describes advantages and limitations.

### Source excerpt

What is a package Manager? A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner. or A package manager deals with packages, distributions of software and data in archive files. Packages contain metadata, such as the software's name, description of its purpose, version number, vendor, checksum (preferably a cryptographic hash function), and a list of dependencies necessary for the software to run properly. What is Swift Package Manager (SPM) As per official Apple Swift Documentation: "The Swift Package Manager is a tool for managing the distribution of Swift code. It's integrated with the Swift build system to automate the process of downloading, compiling, and linking dependencies." The Package Manager is included in Swift 3.0 and above. Why do we need Swift Package Manager? Though we have multiple other ways to manage the dependencies like cocoa pods, Carthage etc. then why is there a need to use SPM? The answer is both cocoa pods and Carthage are third-party package managers, which eventually leads to extra code and efforts one has to put in order to utilise these third-party package managers. For example: For cocoa pods, we need to have a pod framework to be installed, which then needs ruby, gem file or brew in order to install pods. But then SPM comes inbuilt with XCode, so there won't be extra effort and extra files that will be getting added once we use SPM. System Requirement SwiftPM is compatible with macOS, iOS, tvOS and Linux For macOS, you need XCode 11 and above. For Linux, you have to install it manually or use swiftenv. Advantages SwiftPM is open-source like Cocoapods. It may be challenging or fast to contribute but it is possible. Ease of managing dependency's dependencies. If a dependency relies on another dependency, the Swift Package manager will handle it for you. Ease of resetting, manag

## Evolution of Location Permission in Android.

DevFeed: [Evolution of Location Permission in Android.](<https://devfeed.tech/articles/evolution-of-location-permission-in-android-24751.md>)

Original publisher: [Read original article](<https://medium.com/ymedialabs-innovation/evolution-of-location-permission-in-android-659448bd4e6d?source=rss----8b5620c36355---4>)

Author: Sree Kumar A.V

Published: 2023-04-04T14:47:43Z

Content type: article

Language: en

Sources: [ymedialabs-innovation - Medium](<https://devfeed.tech/sources/ymedialabs-innovation-medium.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Security](<https://devfeed.tech/topics/security.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [background-location](<https://devfeed.tech/tags/background-location.md>), [location](<https://devfeed.tech/tags/location.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [permission](<https://devfeed.tech/tags/permission.md>), [permissions](<https://devfeed.tech/tags/permissions.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

This article explains how Android location and app permission handling evolved from install-time grants before Android 6.0 to runtime, case-by-case permission requests. It presents runtime permissions as improving user control, privacy, security, and transparency, and begins discussing separated foreground and background location permissions in Android 10.

### Source excerpt

Photo by Muhammad Zaqy Al Fattah on Unsplash Location permissions have come a long way since the early days of the Android platform, and today, they play a critical role in providing users with a tailored and personalized mobile experience. Android has made significant changes to its location permission model to enhance user privacy, security, and overall user experience. Install -Time Permission The list of an app's install-time permissions, which appears in an app store. Before Android 6.0 (Marshmallow), apps installed on Android devices had access to all requested permissions at the time of installation. This meant that users had to grant all requested permissions to an app before it could be installed on their device. The problem with this approach was that users didn't always know what permissions an app needed or why it needed them. This led to a lot of confusion and mistrust among users, as they were often asked to grant permissions that seemed unnecessary or invasive. In addition, apps could potentially abuse the permissions they were granted, as there was no way for users to revoke or limit permissions after the app was installed. To address these issues, Google introduced the concept of "runtime permissions" in Android 6.0. With runtime permissions, apps are no longer granted all requested permissions at the time of installation. Instead, they must request permissions as they are needed during app usage. This gives users more control over their devices and allows them to make informed decisions about which permissions to grant to each app. For example, if a photo editing app wants to access the camera, it can prompt the user for permission at the time they want to take a photo, rather than requiring permission upfront. Runtime Permission Runtime permission is a significant feature that was introduced in Android 6.0 (Marshmallow) to enhance user privacy and security. This feature allows users to grant or deny app permissions on a case-by-case basis, rather

## Introducing Y-Chat: Simplifying OpenAI Language Model Integration with Kotlin Multiplatform

DevFeed: [Introducing Y-Chat: Simplifying OpenAI Language Model Integration with Kotlin Multiplatform](<https://devfeed.tech/articles/introducing-y-chat-simplifying-the-integration-of-openai-s-language-models-with-kotlin-24753.md>)

Original publisher: [Read original article](<https://medium.com/ymedialabs-innovation/introducing-ychatgpt-sdk-simplifying-the-integration-of-openais-language-models-with-kotlin-d1d6ffad83e2?source=rss----8b5620c36355---4>)

Author: Koji

Published: 2023-02-23T21:28:41Z

Content type: tutorial

Language: en

Sources: [ymedialabs-innovation - Medium](<https://devfeed.tech/sources/ymedialabs-innovation-medium.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>), [API](<https://devfeed.tech/topics/api.md>), [Language models](<https://devfeed.tech/topics/language-models.md>), [ChatGPT](<https://devfeed.tech/topics/chatgpt.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [chatgpt](<https://devfeed.tech/tags/chatgpt.md>), [integration](<https://devfeed.tech/tags/integration.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [openai](<https://devfeed.tech/tags/openai.md>), [sdks](<https://devfeed.tech/tags/sdks.md>)

### AI overview

This developer article introduces Y-Chat, an SDK designed to simplify API calls to OpenAI language models using Kotlin Multiplatform. It describes how the project abstracts implementation details and supports shared code across Android, iOS, and web platforms.

### Source excerpt

Introducing Y-Chat: Simplifying the Integration of OpenAI's Language Models with Kotlin Multiplatform ChatGPT, the advanced language model developed by OpenAI, is already significantly impacting the real world. Let us see an example: Imagine developing an advanced fitness application that takes into account users' differing objectives such as losing weight or gaining muscle. By asking ChatGPT how to achieve these goals and integrating new information over time, the app's responses can become increasingly accurate and tailored to individual users. Indeed, the potential applications for ChatGPT are limitless. As a precise and knowledgeable resource, it has enormous potential in areas such as customer service, enabling businesses to provide more accurate and effective assistance to their customers. In order to facilitate the development of those applications we have developed the Y-Chat. Simplifying the Integration of OpenAI APIs with Y-Chat and Kotlin Multiplatform Before we dive into the details of the Y-Chat, let's take a moment to introduce OpenAI's APIs. OpenAI offers a variety of powerful AI models, such as GPT-3, that can be accessed through a set of APIs. These APIs enable developers to integrate OpenAI's state-of-the-art language models into their applications easily. However, the implementation details of working with these APIs can be complex and may require significant time and effort to get up and running. In response, our team has developed the Y-Chat, which simplifies the process of making API calls to OpenAI's models using Kotlin Multiplatform. By abstracting away the implementation details, developers can save time and effort when integrating OpenAI's capabilities into their applications. Kotlin Multiplatform support Kotlin Multiplatform (KMP) is a technology that enables developers to write code that can run on multiple platforms, including Android, iOS, and the web. This approach can significantly reduce development time and make it easier to maintai

## KMM: What's Under the hood?

DevFeed: [KMM: What's Under the hood?](<https://devfeed.tech/articles/kmm-what-s-under-the-hood-24754.md>)

Original publisher: [Read original article](<https://medium.com/ymedialabs-innovation/kmm-whats-under-the-hood-1a26cb50ca67?source=rss----8b5620c36355---4>)

Author: Codeangi

Published: 2023-02-22T15:58:32Z

Content type: tutorial

Language: en

Sources: [ymedialabs-innovation - Medium](<https://devfeed.tech/sources/ymedialabs-innovation-medium.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [kotlin-native](<https://devfeed.tech/topics/kotlin-native.md>), [LLVM](<https://devfeed.tech/topics/llvm.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [compilation](<https://devfeed.tech/tags/compilation.md>), [development](<https://devfeed.tech/tags/development.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [kmm](<https://devfeed.tech/tags/kmm.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-beginners](<https://devfeed.tech/tags/kotlin-beginners.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [kotlin-native](<https://devfeed.tech/tags/kotlin-native.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [toolchain](<https://devfeed.tech/tags/toolchain.md>)

### AI overview

This article explains Kotlin Multiplatform Mobile (KMM), focusing on how developers can share business logic, data, and connectivity implementation between Android and iOS. It also describes Kotlin/Native compilation through LLVM and Kotlin/JS compilation to JavaScript.

### Source excerpt

source There have been many tools for cross-platform development before but offered so little in terms of sharable code, there was always an overhead of writing and maintaining applications in a set-predetermined technology such as Phonegap, ReactNative, and Flutter. Kotlin provides a huge leeway in writing sharable code, especially when you are developing Mobile applications for Android and iOS with similar features. In the real world, it translates into fewer lines of code, fewer bugs, less time, and of course lesser cost of development. Whether you are starting a new project or adding a new feature to an existing one. This article is an effort to interpret KMM in layman's terms, knowing programming helps but is not mandatory.Topics Include: What is KMM, How it works, the Good, and the Bad.source Kotlin is a cutting-edge yet established programming language that offers a range of benefits for developers. One of the key use cases for Kotlin is its ability to share code between mobile platforms through Kotlin Multiplatform Mobile (KMM). By using KMM, developers can create cross-platform mobile apps and share crucial elements like business logic, data, and connectivity implementation between Android and iOS. Kotlin-Native In order to use Kotlin code in iOS, the Kotlin code is first compiled to LLVM bytecode using the Kotlin/Native compiler. LLVM (Low Level Virtual Machine) is a collection of modular and reusable compiler and toolchain technologies. The LLVM bytecode is then compiled using the iOS toolchain and linked with the iOS runtime libraries. The resulting binary is an iOS application bundle (an .app directory) that contains the Kotlin code and the Swift runtime. When the app is run, the Swift runtime loads the Kotlin code and uses it as if it were native Swift code. Kotlin/JS Kotlin/JS provides the ability to trans-compile Kotlin code, the Kotlin standard library, and any compatible dependencies to JavaScript. The current implementation of Kotlin/JS targets ES

## Accessibility insights. How to make the most of Android's accessibility features.

DevFeed: [Accessibility insights. How to make the most of Android's accessibility features.](<https://devfeed.tech/articles/accessibility-insights-how-to-make-the-most-of-android-s-accessibility-features-24749.md>)

Original publisher: [Read original article](<https://medium.com/ymedialabs-innovation/accessibility-insights-how-to-make-the-most-of-androids-accessibility-features-adaab8afe01d?source=rss----8b5620c36355---4>)

Author: Pradeep Kumar HK.

Published: 2022-10-14T15:28:31Z

Content type: tutorial

Language: en

Sources: [ymedialabs-innovation - Medium](<https://devfeed.tech/sources/ymedialabs-innovation-medium.md>)

Topics: [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [Android](<https://devfeed.tech/topics/android.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Usability](<https://devfeed.tech/topics/usability.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [User interface design](<https://devfeed.tech/topics/ui-design.md>)

Tags: [a11y](<https://devfeed.tech/tags/a11y.md>), [accessibility](<https://devfeed.tech/tags/accessibility.md>), [accessibility-testing](<https://devfeed.tech/tags/accessibility-testing.md>), [android](<https://devfeed.tech/tags/android.md>), [everyonematters](<https://devfeed.tech/tags/everyonematters.md>), [gestures](<https://devfeed.tech/tags/gestures.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [testing](<https://devfeed.tech/tags/testing.md>), [usability](<https://devfeed.tech/tags/usability.md>)

### AI overview

This tutorial explains how to improve Android app accessibility for people with visual, hearing, cognitive, motor, and situational disabilities. It introduces tools such as TalkBack, Magnification, and Switch Access, and covers identifying accessibility issues, preventing regressions, using Android attributes, and applying accessible design guidelines.

### Source excerpt

Note : Accessibility (often abbreviated to A11y -- as in, "a", then 11 characters, and then "y") Improving your product's a11y can enhance the usability for all users, including those with low vision, blindness, hearing impairments, cognitive impairments, motor impairments or situational disabilities (such as a broken arm). You may have experienced difficulties using your phone while wearing gloves when it's cold outside. Maybe you've had a hard time distinguishing items on the screen when it's bright outside. Most people will have at least a short term disability at some time that makes it difficult to use their mobile device. This includes someone who was born blind, or lost fine motor skills in an accident. With so much of the population experiencing decreased vision, hearing, mobility, and cognitive function, you should do your best to give everyone the best experience in your apps. In this write up, we are going to discuss ways we can make Android app more accessible, and by the end of this you will know the most basic ways you can improve your app for a11y. You will learn: Available a11y tools people are using. How to discover existing a11y issues, and prevent a11y regression. Android attributes you can use to make your app more accessible. Design guidelines to allow your user to use your app with ease. A11y tools : Assistive technology helps increase, maintain, or improve the functional capabilities of individuals with disabilities, through devices like screen readers, magnification tools, and hearing aids. There are many tools that people use to interact with their Android devices. This includes TalkBack, Magnification, and Switch Access, to name a few. TalkBack allows you to explore the view using gestures, while also audibly describing what's on the screen.Magnification allows you to zoom in on parts of the screen. Both TalkBack and Magnification are helpful for people with limited visibility.People with limited mobility can use Switch Access to allow them