• Visual programming and executable models v2

    Let's look at the traditional way of making software, the importance of diagramming and ideas to take diagrams to the next level where they can be used as the single source of truth for the software behavior generating rest of the software such as tests, documentation and the runtime.

  • State orchestration using State machines

    In this talk, we'll explore state machines for orchestrating the state across applications, from component level states to application level communication and how they open up to event based architecture. We'll also touch on benefits of using state machines and diagrams and model a few examples practically. After this talk, you should have a few action points in case you're interested to try them out in your projects. By Farzad Yousefzadeh, Lead Engineer at Stately.ai, leading development of Stately Studio, a visual editor for modeling application logic using Statecharts. Aerospace engineer and Astrophysicist turned Software engineer.

  • State machines meet component libraries

    In this talk, we will experiment with using state machines for modeling components in a React based component library. We will use the Stately visual editor to model components visually and see how we can use Storybook and Model based testing concepts to deal with test generation and documentation based on acceptance criteria.

  • Visual programming and executable models

    Let's look at the traditional way of making software, the importance of diagramming and ideas to take diagrams to the next level where they can be used as the single source of truth for the software behavior generating rest of the software such as tests, documentation and the runtime.

  • Actor Model

    A new mental model for modeling React applications at scale @React Finland 2021

  • You think you know state management?

    This is a talk about how client side application's state is inherently relational and hierarchical. Current tooling in JS state management allows for flat model states and global actions availability which results in an increase in cyclomatic complexity. The flat shape of state also brings its own set of integration problems. these issues could be tackled using a modeling language that considers this relation, gives lifecycle to the parts of state and invalidates automatically, is deterministic and whitelists allowed transitions instead of blacklisting on runtime guards.

  • A hitchhiker's guide to Svelte JS

    It's been a while since SvelteJS was introduced as yet another Javascript solution to build fast and robust web applications. in this talk, we'll dive into what svelte is and try to fashion a high level understanding of its building blocks. if you don't know Svelte yet or you've heard of it but haven't had the chance to get to know it yet, fear not, I'm like you. let's do it together.

  • in pursuit of finite states (Skytalks 2019, Poland)

    A talk about explicitly thinking about states of GUI components. Implicit vs Explicit state, finite vs infinite state, logic modeling and logic visualization.

  • THE ART OF EXPLICIT AND CONSISTENT USER INTERFACES v2

    A talk about explicitly thinking about states of GUI components. Implicit vs Explicit state, finite vs infinite state, logic modeling and logic visualization.

  • Introduction to modeling with Finite state machines

    Finite state machines are a mathematical means of computation. In this talk, we’ll go through why using them might help us simplify the challenges we face in day to day UI development and how they help us communicate better with people from different backgrounds in the same team. Although the talk will focus mostly on UI development, the concept is abstract and can apply to any problem solving process. Developers, Designers and even product related roles can take something out of this talk.

  • The art of explicit and consistent user interfaces (404 Fest Samara 2019)

    The user interface is challenging to the core. There are many UI components that carry a huge deal of complexity. Usually, we deal with complexity in UI without noticing it. As truly said, the devil is in the detail. We usually don't notice this until it's too late! That's why no matter how clean our UI and their API surface looks when the first attempt is out, many bugs pop out soon and adding new features gives us a hard time! As humans, we might not have a great tool (sarcasm towards our own brain) to think, consider and compute. we tend to forget. we can't consider everything. we are unable to foresee and predict software. we carry assumptions that aren't correct all the time. This might be a reason why our software starts as an explicit, great looking codebase until the moment reaches when this so-called software transitions from evergreen to ever failing and legacy. By thinking about the history of UI development and trying to explore different complexities, we might be able to find better ways to develop UI.

  • Tackle UI Complexity using Reactive Statecharts (ReactJSDay italy 2019)

    There are many UI components that carry a huge deal of complexity. Usually, we deal with complexity in UI without noticing it. As truly said, the devil is in the detail. We usually don't notice this until it's too late! That's why no matter how clean our components and their API surface looks when the first attempt is out, many bugs pop out soon and adding new features gives us a hard time! In this talk, I will try to demonstrate how we underestimate the complexity in React UI components and propose an approach to simplify this effort by modeling the behavior of the component using Reactive Statecharts. I'll go through the thinking model of how to tackle this complexity in developing the component, how to think properly about the edge cases and how to model this explicitly using Reactive Statecharts.

  • React Hooks vs Reactive State Machines

  • The art of explicit user interface

  • Abstract Component Modeling using Reactive Statecharts