From 863401d36f0e958497e6074e4f32216e52b07f34 Mon Sep 17 00:00:00 2001 From: Bojan Beran Date: Fri, 14 Oct 2022 17:40:49 -0700 Subject: [PATCH 1/3] Update to the about page The Why and What sections of this page were talking about internal reasons for this version of Fuego, something that 99.9999% of the people who will read this page would have no context of or care about. The fact Player-UI was rewritten in Typescript is not something relevant to people exploring this repo. This page should talk about what the customer problem the framework is solving. What is Player-UI, what problem does it solve, and why should I use it rather than using React, or Angular, etc, etc. I'm super excited that you guys got this open sources finally, but the docs need a lot more context and examples if you want to see any adoption of it. --- docs/site/pages/about.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/site/pages/about.mdx b/docs/site/pages/about.mdx index 967ba4d6c..9d143f91f 100644 --- a/docs/site/pages/about.mdx +++ b/docs/site/pages/about.mdx @@ -10,11 +10,11 @@ title: About What is Player? Simply put, Player is a framework that enables users to natively render experiences across multiple platforms via a declarative content payload. At Intuit engineers use Player to accelerate the development of new experiences as Player allows them offload data/state management and fit seamlessly with other applications all with minimal configuration. ## Why Did We Build It? -Player is the second iteration of this kind of framework. The first iteration that was developed for internal use and worked well but had its limitations. With limited extensibility, limited platform support, and no type support the framework stated to rapidly show its age as we tried to move into newer spaces. It was then determined that we needed to take our learnings from the past few years and rearchitect it from the ground up. And that's how we got Player. +Player came about due to the particular nature of TurboTax. The TurboTax product has over 50,000 individual screens that a customer can experience. Originally these screens were built using a framework that encapsulated data, flow and layout, much like normal HTML pages would, and were the result of over a decades worth of work of engineers and tax specialists. Maintaining this product was very time consuming and expensive, but then we decided to go mobile. Very quickly we realized that simply re-skinning the web product would not work but also rebuilding the entire product for mobile web was going to be extremely time consuming and not scalable. Maintaining 50,000 screens on one platform was proving to be challenging, on multiple would be impossible. -## What Makes It Special? -The first of the big changes with Player was using TypeScript over vanilla JavaScript. By leveraging TypeScript's strong typing system, we not only made it easier and safer to work on Player, but we were also able to expose our internal types in an easily consumable format. This paves the way for external tooling to be developed around Player. +We needed to come up with a new framework that would allow our tax pros and content authors to define their experiences once, but have them automatically available across every supported device. We also wanted to future proof the framework as native moble apps for both Android and iOS platforms were targets for product launch and we were experimenting with voice platforms as well. This meant that to get a truly amazing experience on every platform we had to build a framework where expereinces are not defined by pixels on screen but customer outcomes and intents. Thus came about Player-UI. -Now the biggest feature of Player: Plugins. This is discussed more in the Architecture section but at a high level, almost every component of Player exposes entry points to extend its functionality to make it work for your use case. We have included a handful of plugins we've developed alongside player but if none of those do what you need, the blueprint is there to build your own. +## What Makes It Special? +Player-UI is the first framework that takes a declarative and semantic first approach to building user experiences. The benefit of this approach is that you only need to author your application content and workflow in once and it is automatically deployable to every device we support. At the moment we support responsive web, native iOS and JVM/Android. -Lastly, Player has iOS and JVM/Android clients. On these platforms you can create native experiences with minimal overhead and not just render a web view. Components can also be written in their native language allow someone with zero web dev experience to use Player. +You may be asking yourself what is a "declarative" approach to authoring experiences. Well unlike other UI frameworks where you define both reusable components and larger order pages and applications using the same paradigm of HTML, JavaScript and CSS, Player-UI separates the concerns of the visual patterns from the application and experience logic. Instead of using things like Select boxes and Radio buttons, in Player-UI you define semantic Assets and Views. I can define a Choice asset which can render as a dropdown on the web or a picker in iOS and a grid of buttons on Android. You can then define the composition of your view, the data you want to show, business logic and navigational patterns, all completely abstracted away from implementation details of each device. Your UX development becomes more of "Aak the user a question then thank them for their feedback" and less of "
....." From d3febfd53e493c076c23fc0291b1998c00c28da5 Mon Sep 17 00:00:00 2001 From: Bojan Beran Date: Thu, 27 Oct 2022 13:58:16 -0700 Subject: [PATCH 2/3] Update docs/site/pages/about.mdx Co-authored-by: Harris Borawski --- docs/site/pages/about.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/site/pages/about.mdx b/docs/site/pages/about.mdx index 9d143f91f..45e082ae2 100644 --- a/docs/site/pages/about.mdx +++ b/docs/site/pages/about.mdx @@ -17,4 +17,4 @@ We needed to come up with a new framework that would allow our tax pros and cont ## What Makes It Special? Player-UI is the first framework that takes a declarative and semantic first approach to building user experiences. The benefit of this approach is that you only need to author your application content and workflow in once and it is automatically deployable to every device we support. At the moment we support responsive web, native iOS and JVM/Android. -You may be asking yourself what is a "declarative" approach to authoring experiences. Well unlike other UI frameworks where you define both reusable components and larger order pages and applications using the same paradigm of HTML, JavaScript and CSS, Player-UI separates the concerns of the visual patterns from the application and experience logic. Instead of using things like Select boxes and Radio buttons, in Player-UI you define semantic Assets and Views. I can define a Choice asset which can render as a dropdown on the web or a picker in iOS and a grid of buttons on Android. You can then define the composition of your view, the data you want to show, business logic and navigational patterns, all completely abstracted away from implementation details of each device. Your UX development becomes more of "Aak the user a question then thank them for their feedback" and less of "
....." +You may be asking yourself what is a "declarative" approach to authoring experiences. Well unlike other UI frameworks where you define both reusable components and larger order pages and applications using the same paradigm of HTML, JavaScript and CSS, Player-UI separates the concerns of the visual patterns from the application and experience logic. Instead of using things like Select boxes and Radio buttons, in Player-UI you define semantic Assets and Views. I can define a Choice asset which can render as a dropdown on the web or a picker in iOS and a grid of buttons on Android. You can then define the composition of your view, the data you want to show, business logic and navigational patterns, all completely abstracted away from implementation details of each device. Your UX development becomes more of "Ask the user a question then thank them for their feedback" and less of "
....." From 119e7655ba738f40ba84694e06ef5c99fec6d02e Mon Sep 17 00:00:00 2001 From: Bojan Beran Date: Fri, 28 Oct 2022 15:21:34 -0700 Subject: [PATCH 3/3] Removing tag syntax cause its breaking the build --- docs/site/pages/about.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/site/pages/about.mdx b/docs/site/pages/about.mdx index 45e082ae2..b7f4977ae 100644 --- a/docs/site/pages/about.mdx +++ b/docs/site/pages/about.mdx @@ -17,4 +17,4 @@ We needed to come up with a new framework that would allow our tax pros and cont ## What Makes It Special? Player-UI is the first framework that takes a declarative and semantic first approach to building user experiences. The benefit of this approach is that you only need to author your application content and workflow in once and it is automatically deployable to every device we support. At the moment we support responsive web, native iOS and JVM/Android. -You may be asking yourself what is a "declarative" approach to authoring experiences. Well unlike other UI frameworks where you define both reusable components and larger order pages and applications using the same paradigm of HTML, JavaScript and CSS, Player-UI separates the concerns of the visual patterns from the application and experience logic. Instead of using things like Select boxes and Radio buttons, in Player-UI you define semantic Assets and Views. I can define a Choice asset which can render as a dropdown on the web or a picker in iOS and a grid of buttons on Android. You can then define the composition of your view, the data you want to show, business logic and navigational patterns, all completely abstracted away from implementation details of each device. Your UX development becomes more of "Ask the user a question then thank them for their feedback" and less of "
....." +You may be asking yourself what is a "declarative" approach to authoring experiences. Well unlike other UI frameworks where you define both reusable components and larger order pages and applications using the same paradigm of HTML, JavaScript and CSS, Player-UI separates the concerns of the visual patterns from the application and experience logic. Instead of using things like Select boxes and Radio buttons, in Player-UI you define semantic Assets and Views. I can define a Choice asset which can render as a dropdown on the web or a picker in iOS and a grid of buttons on Android. You can then define the composition of your view, the data you want to show, business logic and navigational patterns, all completely abstracted away from implementation details of each device. Your UX development becomes more of "Ask the user a question then thank them for their feedback" and less of "div -> div -> div....."