Jess Martin - DXOS

Durée: 80m0s

Date de sortie: 11/12/2023

This week we have Jess Martin, a developer at DXOS. We talk about his journey to DXOS and what realizations he had along the way. DXOS is a framework for building local first, multiplayer, interoperable apps where users own their own data. Apps are built on top of a shared data substrate, and users can bring their identity with them across apps. DXOS is a wild reimagining of what computers could be, and we're excited to see where it goes.

Episode sponsored By Raycast (https://www.raycast.com/)

Become a paid subscriber our patreon, spotify, or apple podcasts for the full episode.

Tooltip

Andrew

Justin

Jess

Il y a plusieurs années, quand je disais que je voulais avoir de nouvelles capacités,
je me suis mis en train de faire des choses en histoire de la compétition.
J'ai spent un bon moment en réveillant les papers fondamentaux.
Ça me fait grouter dans un set d'idées qui ont été explorées,
mais qui n'ont pas atteint la réception massive,
et qui m'a aidé à voir les gâts.
C'est ce qu'on a aujourd'hui, mais c'est de la même chose.
C'est une très obviante chose que les gens ont parlé de depuis 1970.
Pourquoi ne nous n'avons pas?
Je suis Andrew,
et je suis le maire de Justin.
Salut tout le monde, j'ai vraiment, j'ai été très heureux de vous présenter Justin Martin,
qui sera notre guest aujourd'hui.
Justin et moi avons eu le plaisir de travailler avec nous-mêmes à travers tous les deux.
Il y a beaucoup de meetups et confrètes, et c'est un plaisir de le savoir.
Je vais travailler sur un nombre de différents projets.
Aujourd'hui, il travaille sur DXOS,
ce qui nous fait vraiment, vraiment, très heureux de parler de ça.

Justin, vous avez fait beaucoup de choses.
Vous avez une histoire très riche,
une histoire de très intéressant travail.
Donc, ce sera un épisode très bon.
Mais avant de nous le faire,
vous voulez nous parler de vous-mêmes un peu plus?
Bien sûr.
Oui, donc,
comme Justin m'a dit,
maintenant je travaille sur ce truc qui s'appelle DXOS,
mais ça pourrait être une histoire assez intéressante de voir comment j'ai été là.
J'ai été en train de faire des softwares,
de programmer, de coder,
de tout ce qu'on peut en parler,
pour un très long temps.
J'ai commencé en fait à un âge de 6 ou 7 ans.
C'était un des enfants qui était vraiment heureux
de avoir un computer dans leur maison très tard,
un internet dans leur maison à un âge très tard.
Donc, j'ai en fait appris comment lire et rééter,
comme régulièrement lire et régulièrement rééter
sur une Apple 2e, 2C, 2GS.
C'était vraiment mon premier computer et mon premier expérience.
Et je l'ai été en train de faire de la première.
Je me souviens de trouver la base de l'Apple,
le basic manuel.
Et de la mettre en 1, 0, print,
Hello, et de voir que mon computer a fait quelque chose
qui était magique depuis le début.
Et mon grand-aunt était un software developer,
un professionnel software developer.
Donc, j'ai eu quelqu'un à parler de mon intérêt
et il a fait des choses différentes,
comme m'a emmené mon premier compiler
et m'a emmené un copier de hypercard,
et tout ça.
Et c'est...
Je ne sais pas, je me sens comme si j'ai vécu
dans un peu l'âge de la golden age des computers
où l'internet était en train de devenir...
C'était déjà un truc,
comme des BBS, des Intel Nets,
et tout ça.
Et puis, quand le premier visual browser a été créé,
je me souviens que quand Netscape 092
a été élevé à la lab de la computer
et que je l'ai emmené sur 8 différents blocs
pour s'en prendre et installer sur ma computer à la maison,
je pouvais avoir un visual browser.
C'était un grand deal.
Donc, c'était des bonnes temps.
Et puis, j'ai vécu à l'école pour la science de computer,
et j'ai établi en philosophie et en anglais
pendant que je suis là aussi.
Donc, si vous voulez faire des travails,
je peux vous en faire.
Mais j'ai fait des travails de la science de computer
et j'ai établi à l'école de grad pour quelques années,
en pensant que je serais probablement un professeur.
Et ce que j'ai appris à l'académie
était vraiment utile pour la vie de la future,
et ce que je suis aujourd'hui.
C'est juste que l'académie
n'était pas très structurel
sur ce que j'ai vraiment voulu faire.
J'ai appris que j'ai vraiment aimé
les outils de la construction pour les gens
et les choses pour les gens qui font une différence.
Et ce n'est pas juste le tocan d'exchange en académie.
C'est tout à l'heure des publications
et ce genre de choses.
Et donc, un peu de travail que j'ai voulu faire
n'était vraiment réveillé.
Et donc, ce n'est pas...
Ce n'est pas un grand endroit pour moi long terme,
mais j'ai appris un ton là-bas
et quelques années à la ville de la Chambre de la UNC.
Il y a un joint qui a été fait dans le sondage
de la start-up de la software
qui était en train de faire des rues en rail.
C'était en train de faire des rues en rail,
je pense, 1.2.
Donc, très plus d'orignes de rues.
Et je faisais des développements de web
pour payer mon chemin à la collège,
sur le côté priori de rejoindre ce start-up.
Donc, j'ai utilisé le PHP,
et le ASP.NET,
et le Pearl,
et tous les predecessors,
Java, JSP, Struts,
toutes ces choses.
Et puis, quand les rails sont arrivés,
les rails étaient un ordre de magnitude
d'improvement sur ces autres outils.
Et vous pouvez le ressentir.
Vous pouvez construire une whole app
dans un week-end,
des choses qui ont été mis à l'aide
un mois ou deux avant.
Et ça a été vraiment intéressant.
Donc, j'ai jointé cette start-up de la software,
j'ai fait des rues en rail,
et puis, pour les prochaines,
je dirais, 15 ans,
j'ai fait un point de vue
entre travailler sur les start-ups à l'arrivée,
des qui étaient lesquels j'ai commencé,
ou des qui j'étais un employeur sub-10,
et travailler comme consultant.
Et le path de consultant
était vraiment aidant,
parce que ça m'a permis de travailler
sur un bunch de différents projets.
Bébé comme consultant,
chaque 3 à 6,
peut-être 9 mois,
à la plus longue,
je serais en train de changer entre projets.
Donc, j'ai l'air de voir des projets
à travers les industries,
à travers les technologies,
à travers les différents bases d'usage,
et vous devez développer
des sortes de rèdits ou des processus
que vous pouvez utiliser répétituellement
dans ces situations,
parce que vous êtes construit
un nouveau produit de scratch
chaque 3 à 6 mois.
Vous devez avoir à savoir
comment se faire de la vitesse,
très rapidement.
Donc, je me suis remis en train de balancer
entre ces deux choses.
Ce qui m'a aidé à DxOS,
et où je suis là,
c'est aussi assez intéressant.
Encore, on veut remercier nos sponsors.
Sans nos sponsors,
DevTools FM n'est pas possible.
Ce week, sponsornera Raycast.
Raycast est un app pour Mac
qui est comme spotlight,
mais avec superpowers.
Ils peuvent faire tout les choses
que Spotlight maintenant fait
et peuvent faire un whole host
de choses avec leur API d'extension.
Ils ont une store d'extension
qui a tout les choses que vous voulez.
Vous devez aussi vérifier Raycast Pro.
Raycast Pro a un whole bunch
de cool features.
Le premier que j'aime le plus
est Raycast AI.
Tout le monde sait
comment les LLMs sont
et comment ils peuvent aider votre travail.
Mais avoir une LLM
juste un petit coup de coulis
explique le processus
et ne t'en prendra pas
à un état de flow.
L'une des extensions
qui m'a pris l'oeil
cette semaine est l'Arc Browser Extension.
Avec cette extension,
vous pouvez faire des choses
comme hopper sur le browser,
voir ce que les taps ont ouvert.
Mais ce qui m'excite
est de voir
deux clés de besties
collaborer.
Un futur où
toutes les apps de ma Mac
peuvent intergrer
avec mon palais de commande
serait super cool
et ça nous montre
la flexibilité
et la capacité
que Raycast a offert.
Si vous voulez apprendre plus
sur Raycast,
head over to raycast.com
ou si vous voulez un peu
plus de plus de l'exemple,
vous pouvez aller écouter l'épisode 38
où nous interviewons le CEO Thomas
sur pourquoi ils ont commencé
et où ils veulent prendre.
Vous voulez advertiser
avec DevTools FM?
Head over to devtools.fm
slash sponsor
pour appeler.
Vous voulez arrêter de entendre ces ades?
On va juste devenir un membre
sur une des différentes plateformes
que nous offre des membres.
Et si vous faites
head over to our Discord
où vous pouvez grab
un code exclusive
de discount au shop.
Et si vous n'avez pas
abonné à nos newsletters,
head over to mail.devtools.com
C'est une newsletter
weekly
qui se couvre de la news
qui a été réalisée
dans le week-end
et qui a également
fait quelques pensées
sur l'épisode
qu'on a publié cette semaine.
Nous espérons que vous nous appuyez.
Et avec ça,
on va revenir au épisode.
Je pense que 2020
a été une semaine
pour faire
une check-in

career mid-survive.
Je suis en train de
faire 20 ans
dans ma career

Je veux continuer
pour les prochaines 20 ans
de ce que je fais
pour les dernières 20 ans.
Et c'était vraiment surprise
de me faire
en train de
me méitier sur ça.
Mais la réponse
n'était pas exacte.
Je n'aurais vraiment pas
fait ça
pour 20 ans.
Et je pense que la différence
que j'ai pu capture
de ce que j'ai voulu
la différence entre
mon premier acte
de ma career
et mon deuxième acte
était
dans le premier acte
de ma career
qui était vraiment
focussé
sur
prendre les compétences
comme elles étaient
et en en prenant
comment construire
des softwares
ou des outils
des capacités
qui étaient offertes
pour moi
pour me déterminer
un problème de réel usage
et idéalement
pour faire ça
dans un business
pour que vous puissiez
continuer à faire
ce type de software.
Et j'ai développé
des frameworks
et des outils
et ce genre de choses
et j'ai fait ça
un peu de fois.
Et
ce que j'ai réalisé
sur la deuxième
partie de ma career
est que ce que j'étais
plus intéressé
dans
était
découvrir
des nouvelles capacités
ou introduire
des nouvelles capacités
pour le computer
comme
les gens qui
font des outils
pour le computer
peuvent faire
des nouvelles choses
et ouvrir
l'espace de possibilité.
C'était en 2020
donc c'est depuis
3 ans
que j'ai
fait
ce passage
et
c'est un
un circuit
comme Justin m'a dit
j'ai travaillé
un peu de choses

dans les dernières 3 ans
mais en essayant
de
déterminer
ce que est un
meilleur
computer
ce sont les
capacités
que les compétences
ont besoin
où nous
?
Quels capacités
avons-nous ?
Vous savez
ce que est
l'immediatement
le possible
comme Steven Johnson
qui se n'a pas dit
et
c'est
juste
un meeting
très cool
et
intéressante
comme Justin
et un bunch de
autres
gens
en
en





en

en
en
en

en
en

en
en
en

en
en

en




en
et finalement ici à DXOS.
Il y a beaucoup de choses à faire.
Je me résonne avec les choses académiques.
Je vais aller faire mon degree de master's.
Je veux faire mon master's ici à Cal Poly.
Je veux faire ça sur les appels de la construction
et la interaction UI.
Ce n'est pas un truc.
Qu'est-ce que tu fais ?
Je suis allé juste dans la workforce.
C'est intéressant de voir que tu as pris une autre façon.
Et avec les outils de la consultation,
je pense que c'est un autre pattern.
On a vu beaucoup ici.
Tu peux regarder le réact, le routier et le remix.
Ça a vécu d'une société de consultation.
Tu peux regarder les Martiens evils.
C'est une société de consultation qui a fait des outils de la dev.
Donc, c'est comme si tu veux avoir un bon
visage de la vie égale
en commençant à travailler avec des différentes entreprises.
Ça semble être le moyen de faire.
C'est assez intéressant.
En fait, Rails s'est réel.
Il s'est émettue d'une société de consultation.
37 signes, ils se sont construits dans ce produit.
Mais en fait, à la fois, le camp base n'a pas beaucoup.
Le camp base a été construit pour émettre leurs projets de consultation.
On a tous ces projets.
Comment émettons-nous les projets ?
Il y a une histoire très forte.
Tu es correct ? Je n'ai pas vraiment pensé à cette analogie.
Partenant de ce que tu vois,
tu vois beaucoup de codes et technologies différents.
Tu vois les deux se battent en beaucoup de différentes manières.
Tu vois que ça a travaillé et que ça n'a pas été.
Pourquoi est-ce que tu parles de ces questions ?
Je n'ai pas vraiment apprécié à mon carrière.
La direction que tu as choisi
est à l'aise de la apprendre.
C'est comme, qu'est-ce que tu fais pour l'exposition de la apprendre ?
Si tu travailles en agence ou en consulte,
tu vas travailler avec beaucoup de gens
dans un temps très long.
Tu vas travailler à travers beaucoup de codes.
Tu vas apprendre à étendre les choses rapidement.
Tu vas apprendre à orienter-vous rapidement.
Si tu travailles à une grande company de software,
c'est probablement très différent.
Tu peux travailler sur un premier produit
et un long-tail pour plusieurs années.
Mais je pense que dans cette situation,
tu vas apprendre à apprendre
à travailler avec des organisations de large
et de construire l'influence.
Ce n'est pas pour dire que tu n'as pas besoin de faire
une très, très simile chose en consultant.
Parce que tu dois travailler avec beaucoup de clients et clients.
Mais c'est juste que ton path est de apprendre très différent.
Je parle de quelqu'un de récemment
qui est juste plus tard
dans leur carrière de software engineering.
Ils sont tentant de comprendre ce que sont les next steps.
Et je me suis dit que,
il dépend du genre de journey que tu veux être.
Qu'est-ce que tu es le plus intéressé en apprendre?
C'est un moyen très fun.

C'est un des quotes d'un gars
qui est basé sur les 10, 20 ans ailleurs de moi.
Il a beaucoup de travail en software.
Vous avez 10 ans d'experience?
Où avez-vous 10 ans de l'experience?
C'est donc de l'optimisation
d'avoir une varieté de différentes expériences
c'est de faire sure que vous ne réhagez pas le même set de choses chaque année.
C'est vraiment important.
Oui, pour sûr.
Je veux parler un peu d'un peu de transition
de faire attention à un produit de construction
et de faire attention à une recherche orientée
à la pensée de la pensée de la pensée de la capacité d'adresse.
Vous êtes très actifs dans le premier local
du mouvement de software,
comme c'est le futur de l'espace de la compétition
et de faire beaucoup avec l'enuse de programmation,
de la software mêlée,
tous ces concepts qui ont été autour depuis un temps,
mais en ayant des graines,
ou bien, ça me semble,
qu'est-ce que ce qu'est-ce qu'il y a sur ces espaces
et sur ce sujet en particulier qui vous traite vraiment?
Qu'est-ce que votre motivation d'inherence?
C'est une bonne question.
Je pense que plusieurs ans plus tard,
quand je disais que je voulais inventer de nouvelles capacités,
ça ressemble bien,
mais je me sentais que j'étais en train de perdre deux choses.
En fait, je me sentais en train de perdre une grande partie de la compétition.
J'ai donc pris un bon moment
de lire les documents fondamentaux,
de entendre les paroles des pionnières de la compétition
et de me familiariser avec leur vision de l'univers,
de ce qu'ils pensaient dans les années 50, 60, 70, 80,
ce serait vrai dans les années 2020.
Et ça me fait grouter
un set d'idées qui ont été explorées,
qui n'ont pas atteint la réception massée,
et qui m'a aidé à voir les gâts.
C'est ce qu'on a aujourd'hui,
mais c'est de la même chose.
C'est un très évident chose que les gens ont parlé de depuis 1970.
Pourquoi n'avons-nous pas?
C'est une vraie question.
Pourquoi n'avons-nous pas?
Ça m'a aidé à faire une pièce historique.
Et puis, je pense que l'autre chose que j'avais à prendre du temps
était une opinion sur ce qu'un meilleur des compétitions.
Quels capacités en fait nous ont besoin?
Pourquoi nous avons besoin?
Et de faire un concret avec moi-même, c'était aidant.
Il y avait trois que j'ai vus.
C'est intéressant de regarder en...
J'ai eu une décision de l'élection.
3 ans plus tard, j'ai écrit 3 sujets.
3 points de bulletin.
J'ai écrit un peu d'un à chaque.
Et j'ai assez de temps pour le changer.
En fait, la XOS est orientée à ce point.
Et quand je reviens à ma première élection,
dans les années 20, je peux maintenant
faire un tour de la ligne.
Oh, bien sûr, je dirais ça.
Et les trois sujets pour moi étaient de la collaboration en temps réel.
2020 était...
Les curseurs en collaboration
sont finalement en train de prendre un pique
au niveau du monde de la software.
Ce n'était pas que ils allaient prendre
l'acquisition post-Figma de la software.
C'était assez tard dans ce processus.
Mais c'était assez évident que les compétitions
étaient en temps réel.
Et surtout quand vous regardez la histoire de la compétition.
Si vous regardez toute la façon de faire
Doug Engelbart's Mother of All Demo's,
il y avait une collaboration de curseurs
dans la Mother of All-Demos en 1962
ou autre chose que la Mother of All-Demos est donnée.
Il y avait une idée que j'ai ressenti
juste en début, et je me sens encore de la façon
juste en début d'explorer
en termes des ramifications de l'U.I.
Et les ramifications sociaux
pour ce que cela signifie d' collaborer
avec l'une ou l'autre dans une pièce de software.
C'est un collab de Real Time.
L'autre c'est la représentation de la connaissance de l'on.
Je me suis donné 20 ans de travailler avec les databases SQL
et de la détente de la data dans les formats S3 et les autres.
Et l'inspect était que tous ces formats sont très bons pour les compétences.
Mais les données dans ces choses sont pour les humains.
Et donc nous devons faire tout ce travail pour se transmettre
entre les compétences, les compétences appropriées à la représentation
et la représentation appropriée pour l'envisage.
Et je veux savoir, je vais essayer de explorer les moyens
que nous pouvons nous donner les deux choses plus près.
Comment nous pouvons nous battre avec des représentations de la connaissance
qui sont plus amenables pour nous de manipuler comme humains
et aussi permettre aux compétences de s'assurer que les apportances
soient puées à s'exprimer sur eux.
Donc des nouveaux types de structures, des nouveaux types de stores,
des tools pour pensées, etc.
C'est un sort d'interesse.
Donc des tools pour pensées, ces deux choses
étaient des grands députés de la connaissance.
Je veux comprendre plus de ces zones,
ou je voudrais voir les compétences être plus puissantes
dans ces mêmes espèces.
Quels explorations avez-vous fait dans cette zone
et à quel point les gens se sont excitées au monde?
Ouais, donc, des collègues en temps réel.
Je pense que si je voulais boire tout ceci
pour moi, c'est le plus important
des compétences qui devraient être plus puissantes
ou des softwares.
Je pense que le plus grand mot serait interop.
Interoperability.
En 2020, je me suis dit
que je suis allé voir des choses différentes.
Et je suis allé voir un...
Qu'est-ce que c'est-il?
Interoperable, interop, je ne sais pas le nom.
Il y a été un meetup appelé Tools for Thought Rocks
qui m'a aidé à s'organiser.
Je suis allé voir des discussions
sur interoperability.
C'est intéressant pour moi.
Je suis allé voir des meetups.
Gordon Brander a donné une présentation
très ancienne,
un gars appelé Blaine Cook
a donné une présentation
qui s'appelle At Jason.
Vous pensez à un adaptateur universal
qui vous permet d'adapter
des formats de file
entre les formats de file.
C'est un problème de translation.
C'est un problème très grand.
Les discussions
étaient toutes autour de cette idée de interoperability.

En avance, c'était le piece
que j'ai commencé à réaliser en plus de la software.
Par exemple,
nous sommes dans cette app
qui s'appelle Riverside FM.
Vous savez que la première chose que j'ai été hit avec
quand j'ai jointé Riverside FM.
Vous vous souvenez de la première chrénage?
Il dit, « type-en votre nom.
» Je suis là, je suis sur mon computer.
Je suis en train de utiliser mon système de operation.
Vous ne savez pas mon nom.
Qu'est-ce que vous avez faim?
C'est un piece de software.
C'est parce que
chaque piece de software que vous intervient
est un monde nouveau.
C'est complètement blanc.
Vous devez carrer votre nom
dans cet endroit.
Et même chose pour Riverside.
Riverside ne me connait pas de personne d'autre.
Mais c'est ridicule.
C'est mon computer.
J'ai tous les places où j'ai l'information
de moi-même.
Riverside devrait pouvoir accesser ces choses.
Peut-être que je devais donner la permission
pour accesser le data qu'il a besoin de moi.
Mais c'est la façon dont la software
devrait être chacune, pas la toute autre.
Je dois venir à la canvas
et mettre tout sur le monde.
Et puis j'ai commencé à voir les antipatterns
pour les importe et les exporte.
Je me dis,
je vais m'importer la software ici
et l'exporter ici.
Je vois tout ça.
Je vois ma femme utiliser ses phones.
Elle fait un truc et une application.
Elle doit aller au souterre.
Qu'est-ce qu'elle fait?
Elle fait un screenshot
de ce qu'elle a fait.
Et elle va aller au souterre.
Elle doit refaire la partie.
C'est fou.
C'est fou.
Tout le data est sur sa téléphone.
Mais les applications de la software
ne peuvent pas parler de l'autre.
Et c'est fou.
C'est ce que
nous faisons pour des problèmes
de software.
Il y a 4 ravatrices.
Il y a
beaucoup de choses à parler.
Je pense que
ce qui vous dit
est d'identité.
On a eu
un épisode
d'identité crypto.
Je pense
que même si la crypto a un fail
le plus intéressant
était cette idée
d'identité décentralisée
et d'être poursuivie.
Je logne au Riverside.
Je peux dire
que je peux voir qui vous êtes
et que je peux savoir votre email.
Je veux dire oui.
Je veux dire que
ce qui vous dit
c'est que
ce qui vous dit
c'est que

c'est que

c'est que




ce qui vous dit
ce qui vous dit
ce qui vous veut dire

Ça c'est ce que jeic
c'ta

n'abonne pas
dans mon browser, probablement en OPFS.
C'est ce que nous utilisons, assez vite, assez durable.
Et si nous sommes disconnectés de l'internet,
cette recording est encore là.
Elle est portée localement.
Donc c'est local, en premier.
La prochaine pièce, c'est de multiplayer.
Ce n'est pas local, seulement.
Nous voulons peut-être collaborer avec l'autre.
Et donc, l'aspect de multiplayer,
nous utilisons une structure assez commune
maintenant, appelée CRDTs,
pour réplicer tous les changements
qui sont faits localement sur ma machine,
pour tous mes propres devises,
qui sont vraiment, vraiment aidées,
comme synchronisation entre mon téléphone,
mon laptop, ce genre de choses.
Mais aussi pour les autres peers
que j'ai shared cette application avec.
Donc multiplayer, local, en premier.
Et puis la pièce interopérable est vraiment intéressante.
Et puis on va voir la dernière pièce,
qui est l'identité des utilisateurs de leur propre data.
La pièce interopérable pour DXOS
est que, il y a une pièce de single shared data
sur tous vos applications.
Et les applications demandent l'accès
pour s'y aller dans ce shared data substrate.
Et puis ils sont en train de faire collaboration
avec l'autre.
Et donc, si vous avez une application de con-bon
qui vous permet de bouger les cartes
et de parler de nouveaux items,
et que vous avez une liste de tasks
qui vous permet de faire un liste de faibles,
de ne pas faire des choses,
ces deux choses peuvent faire des choses
dans le même data.
Sans les connaissances de l'un à l'autre,
c'est la partie difficile,
pour que vous ne vous avez pas à programmer
avec d'autres pièces de software en mind.
Vous pouvez juste prendre le part du software,
ou le part que vous voulez donner
le vue pour ou l'activité pour,
et puis, vous pouvez faire des autres applications
pour que vous puissiez faire des autres pièces.
Donc, c'est la pièce interopérable.
Et puis, la pièce que vous avez demandé
est d'utiliser les données de leur propre.
Donc, l'identité est pas...
Elle est bête à l'intérieur de l'OxOd.
Quand vous commencez à faire un application d'OxOd,
la première chose que nous fais
est de dire, nous connaissons vous.
Juste comme je l'ai mentionné avec Riverside.
Riverside ne me connait pas.
Avec DXOS, nous faisons de dire,
nous faisons d'juna kingdom,
et c'est sur la かESTUE au lieu du jeu.

Nous pour les aquestares, on fait plants de kyou en tout.








on il y a des exemples,

tout ça.
et qu'ils ne peuvent pas lire ce data.
C'est la pièce d'identité.
Je pense que le caractère de votre identité avec vous
sur les applications est vraiment primaire.
Je peux dire que c'est bien connu
que c'est mon adresse, mon nom,
mon email, etc.
Et je peux donner
une application qui a l'accessité de mon data,
et aussi pour le read et le update.
C'est bien, c'est bien de voir comment ça se passe
et comment ça se passe
avec ce tour de la liste de choses
que vous avez commencé en 2020.
C'est comme ça, c'est DXOS.
C'est comme ça, c'est tout les choses.
J'adore ça pour vous.
C'est cool.
C'est vraiment drôle.
C'est un truc très drôle.
C'est un truc très drôle.
C'est le début de cette année que je travaillais sur un projet.
J'ai travaillé l'année dernière avec une company qui s'appelle Fission.
Fission, si vous n'avez pas regardé,
Fission.Codes, ils sont construits
dans des protocoles de decentralisation
et des prématives très fortes.
En travaillant avec eux sur le système de web-native
et le système de file,
ils ont des problèmes de decentralisation,
d'authentification et d'authentification.
Ils peuvent vous permettre de se faire des problèmes de l'identité
et de l'authentisation en un façon de decentralisation.
Comment nous avons été élevé d'un système de file
centralisé au OOS
pour un système de decentralisation
qui nous donne plus d'expression et de l'empowerment.
Vous pouvez.
Le système de file web est un système de file encrypted
sur le système de file,
et c'est un système de file qui est un système de file









qui est un système de file,











qui est un système de file,
qui est un système de file,
qui est un système de file,













qui est un système de file,













qui est un système de file,
qui est un système de file,

qui est un système de file,


qui est un système de file,


qui est un système de file,



qui est un système de file,
qui est un système de file,

et qui быть préféré pour prendre size
platform, ou, oh, like, you can share this on Facebook or whatever.
Or you set up a REST API.
Yes, or Zapierre.
Yeah, yeah, yeah, exactly.
Now you're into this, more into the world of like where you want it to be,
where it's like maximum interoperability.
You're thinking about data more about like how people think about data versus
like how the computer is necessarily thinking about data to some degree.
And this is something that I think about a lot.
But this seems to be very, very tailored towards like more personalized
applications or like very specific use cases.
So if we think about like, why do we use a database and put data in this particular format?
Usually it's because you have a lot of data.
It's like not that it's the ideal representation for us to read and write to it,
but it's like for the computer, it is the ideal.
And, you know, there are some trade-offs that we make, especially when you have
like many applications hitting one data source.
And, you know, I'm just sort of getting into this, that there are certainly
going to be trade-offs with a platform like this.
It is going to give you a certain kind of experience that you're not going to get
and like a siloed sort of product experience.
So my main question in here is, when do you choose to use a technology like this
and when you should, should you choose not to?
Yeah, I mean, it's a great question.
Let me start like at a smaller range of that question.
And then we can like work our way to the larger question of when, when not.
So you mentioned these use cases where
so the within DXOS, there's a couple of components that we talk about pretty frequently.
One of them is the Echo Data Store.
And basically, that's the thing that takes your state of the state of the program
and replicates that across all the peers on the peer-to-peer network.
Right now, it's peer-to-peer.
Can talk about networking as a separate thing.
But replicating that data store, that local data store across all those peers,
that particular data store has some characteristics that are important to know.
Like things it's good at, things it's not good at,
and things that we'd like it to be good at in the future.
I think one of the things that is surprising to me about the big data question
is when I got right down to thinking about how big the data that you have actually is.
When you segment the data per user, the data actually isn't very big.
So, Andrew, you're probably pretty familiar with the data model inside Descript.
So for those, I mean, I'm pretty sure most people are familiar with Descript,
but Descript's a video editor or a video and audio editor
that allows you to have this interactive experience where you're editing sort of a transcript
and it's dynamically updating the video or the audio underneath that written transcript.
Very cool, magical tool.
And so I've got projects probably and edits maybe that are stored in database.
I've got some identity stuff around my identity and that kind of thing.
I would imagine the lion's share of data is blah, right, like video and audio.
But if you pulled away the video and audio for any individual user,
Fallpark, how big is the data? All of their projects, all of their edits.
Probable, very, very small compared to the video content.
Just some JSON, really.
And I think what I've seen in looking at all the applications that I've built,
that is by far the dominant case.
When you boil down data to an individual user's data,
we're talking about a few megabytes.
It's mostly text and JSON and that kind of stuff.
And your browser can handle that just fine.
In fact, it can handle all of that.
You don't even need partial replication or anything intelligent or any lazy loading.
Just send it all.
And I started to realize that a lot of the challenges we have with big data
and that kind of stuff are because we have 100 million different users,
all of their data in one data store.
Now, that's a problem.
When you have 100 million different users in a single data store
with five megabytes or so of data each across 20 different tables,
that becomes a mess.
And so, I think I would start by challenging the idea that your data is too big
or that data is too big and just say that most personal data is actually pretty small
with the exception of blob store data.
And that is something that Echo doesn't handle at all right now.
And we're actually looking at several solutions.
That's one of the big feature requests we get when people come in and play with it,
is how do I handle storing blobs?
How do I handle passing around images and video?
Right now, our answer is stored in IPFS, which is un encrypted.
So you got to be okay with that image or video being on IPFS.
And then we'll store a reference to that image or video.
But the, I think the areas where we need to think about for Echo is that
it doesn't have the same resiliency as characteristics of a traditional SQL based data store.
Like there's not like a backup mechanism that's executing regularly that has,
and sort of like PGDoc, PGLoad,
kind of utilities that are there to like help you restore the data.
So it right now is an in memory graph data store
that looks a lot like a key value store.
And so even, yep.
And so that's kind of, I think the thing we're coasting on with Echo
is it just doesn't have to be that good of a database when data is so small.
So like what jumps out to me there is like, it's all decentralized.
So like we get a lot of new problems with decentralization.
And you said kind of how it works,
but like how does it work if I like say I'm using your composer notes app on one computer,
then I go to my parents house and log in on that computer.
If it's all like local first, like where does the data go?
How does it get from computer A to computer B?
And how does computer B, well, I guess computer B knows about me
because I have my private key.
Right.
The first thing you do is share the private key.
But I mean, so yeah, those are those are great questions.
I think one of the things that over the last few months
that has maybe even the last month,
I spent a lot of time talking with Peter van Hartenberg
from Inken switch and Jeffrey Lit from Inken switch
about the networking layer.
So they've been doing explorations into local first software for a long time.
They're the source of the original paper from 2019.
And they've been building systems on top
that are shaped very similar to DXOS for a while,
some of which are completely unpublished.
Like they're, you know, it's stuff that they've worked on in the lab,
hasn't made it into a publication yet.
And they've been really realistic about the limitations
of sort of peer to peer in the browser right now.
So peer to peer in the browser is over WebRTC.
And there are other ways, but that is the main way that you're going to do it.
And there are limitations to basically the networking layer
that allows you to appears to see each other over WebRTC.
Also WebRTC is kind of heavy.
So anyway, I say all of that.
Those are some technical details,
but I guess the greater point here is currently DXOS is peer to peer,
peer to peer.
So if you go to your parents' house
and you've been doing some work on your computer at home,
one, your computer at home needs to be online.
So if it's a laptop and you shut the laptop,
then it is no longer replicating the data on the network.
So when you get to your parents' house
and you go to connect to that peer, it's not there.
And so your computer has to be at home, has to be on,
because all network or all the data is transmitted
between peers on the network,
or at least one peer that has your data from your laptop needs to be up.
And then we do have to, because it's WebRTC
and because of the vagaries of networking,
we do have to use what's called a signaling server
and it handles these different ICE TURN and TURN protocols
for allowing peers to connect to each other
over diverse networking conditions.
So when you don't have a static IP to the internet
and you're in a coffee shop,
or you're on an airplane,
and how does it route that packet to you?
There's a signaling server that enables that,
but it's just a standard off-the-shelf signaling server.
And once those two peers are connected to each other directly via WebRTC channel,
the data goes in an encrypted channel
between your computer at your house
and your parent's computer.
And now it's living in both places.
And as long as either of those peers is online talking to each other,
all of the data is being transmitted back and forth.
And it's basically like an append-only mutation log
of every mutation gets transmitted over the network.
And then each peer knows how to take that mutation
and turn it into, apply that mutation to the local objects.
I don't know, I could answer more,
but I'll stop and let you ask more questions
about what you'd want to know.
Yeah, I think that mostly answers my question.
So yeah, definitely, research to come in this area.
One thing that also stood out to me is,
so if we do have a shared data layer,
the main reason we kind of have our own data layers
is I want to define what my data looks like.
With a shared data layer, how do we do that?
Like, if I'm making a to-do app,
and all of a sudden I want to add a new field to-dos,
but every other app that does to-dos also uses that,
like how do we grapple with that?
Yeah, I think that is probably the largest unsolved problem
in sort of decentralized systems like this.
So one of the ways that I've thought about DXOS
and other platforms like DXOS
that are providing these same primitives is...
The current sort of client-server architecture
for building web applications
est ce monde où vous, as the developer,
are responsible for solving the distributed systems problem.
You have a distributed system, you have a client and a server,
and they are inherently out of sync.
They are not the same system.
And so you have to keep them in sync
using a variety of different techniques.
And that's where we end up with things like state management systems
and the front end that say,
oh, well, this is what the state is locally,
but the state on the database could be different.
And then we have all this chatty layer in between
of making sure that we optimistically updated the UI,
assuming that this change will go through,
but then we need to hear back from the server
to find out whether we can actually apply that optimistic update.
So there's just a whole bunch of cruft
that we have to deal with as developers.
And we've built really good systems for this,
but it still sucks.
You still are solving a distributed systems problem.
You still run up against edge cases where things break.
So a platform like DXOS
takes the distributed systems problem
and it pushes it below the framework layer.
It says, just write locally to these JavaScript objects,
like update them and read them locally,
and we'll handle all of the replication synchronization for you.
We'll make sure that those events go to the right places.
We'll make sure that when events that conflict arrive,
we resolve the conflicts in a reasonable way.
And then you can just draw the UI.
As if it were drawing from local storage,
because it effectively is drawing from local storage.
So we take it and we shove the distributed systems problem
below the framework layer, which is great.
But then you trade the distributed systems problem
for the scheme of migration problem.
I'm like, okay, now what happens?
And you don't have to have a shared data substrate
to have the scheme of migration problem.
You can just have two different versions of clients,
client applications,
that are writing to the same single data store,
like normal application architecture,
not shared application architecture.
And if you want to do a data migration,
you have the same problem of the shape of the data
has changed between version one and version two
and both of them are currently writing to that
and reading from that data at the same time.
How are we going to reconcile that?
So it just becomes even more aggravated
when you have different applications
all writing to that same data store.
For those who are curious about pointers in this area,
the best thought in this area right now
has been the Cambria paper by Jeffrey Litt from Inkin Switch.
Jeff and the Inkin Switch team,
I think are going to be starting work on a Cambria 2,
basically, like addressing some of the shortcomings
of the Cambria paper.
That's taking this approach called lensing,
where you basically have a piece of code
that translates the data at the read and write time.
And those lenses would be part of your source code, as well.
And you kind of move those things forward.
There's some other work around Zod and TRPC
as these other ways of managing this sort of schema migration problem.
But it's definitely not solved.
Yeah, it's hard, because I think your data,
your schema becomes the product in some way.
It becomes the real application.
The real thing is the data.
You put it on its head,
because as a traditional silo application,
the real data is so skewed and so nonsensical
and optimized for performance and storage and all this stuff
that is not a real interface to the actual product
that's being built.
It takes all the way getting up to the front layer of the application
before the product really comes together.
And I think in this world,
where you have a simplified data abstraction,
you have less data,
you're starting to think about it more as the data is the thing.
And then all the apps on top of it are just views, right?
They're just different ways to slice that data.
This is the reason why, going back to when we were talking about
when you should use this and maybe when it's not a right fit
or thinking about product versus what this is,
I really see this as the future realm of personal software.
This is something that I've been thinking a lot about.
If you want to build a tool for yourself, it's still really hard.
Building an app for yourself is as hard as building an app
for other people you want to sell.
There is no reduction in complexity there.
Maybe there are certain features and functionalities you can ditch,
but it's still hard.
But this idea, taking the consultancy ideas,
you learn how to set up a project really quickly
and you've got all this stuff set up,
it's very similar in the notion of,
I have this data store that I'm already using
for this other tool that I built.
Building a new tool is literally just like,
I'll add some new data and entry, reuse some stuff
that I already have and write a new view.
And then I think that's a really exciting area for me
and what DXS and DXOS and things in this area sort of represent.
It's just easier, single user software.
Yeah.
Well, while we're on the subject too of things you should win to use
and win not to use DXOS,
I would say that if you're starting a startup today
and you're trying to pick a tech stack to bet your business on,
do not pick DXOS today.
We're at the port of, I guess you would call it, like Alpha,
where you can definitely build software on it today
that you use every day.
I'm using several pieces of software every day
that are built on top of DXOS.
But it's not quite ready for what I would call production use cases
and I certainly would not want you betting your startup on it today.
I'd say we're close.
We're probably a few months out from like nailing those last few things
to where we could confidently say,
yeah, go start your startup today on DXOS,
but we're not there yet.
We've got a couple of problems that we're working on right now
that are kind of interesting.
One is the schema migration problem.
So we're actually doing some active work on a schema ourselves
inspired by some of the stuff from Ink and Switch.
And then also, we're looking at giving the user,
Andrew, you mentioned this in your question,
giving the user the ability to write their own schema,
basically using an air table interface.
You can create a table and you can create columns in the table
and you can give the column's names
and then you can give the column's types.
And that's a schema.
And the types that are available
are all the types that the system knows about.
And you can define your own and that kind of stuff.
And so then, sort of, we're playing with that as an affordance.
I wouldn't say it's a solution.
It's certainly not a solution to the schema migration problem,
but it does give more agency to the user
of their ability to shape the data the way that they want to shape it.
Pretty cool.
If I were to distill what DXOS looks like to me,
when we were talking to Thomas Artman from Linear,
I asked, hey, this sync engine, real cool.
Is it a thing I can use?
And he was like, no, and it probably never will be.
What DXOS looks like to me, is that sync engine
ready and able to use for whatever app you have?
I feel like I'm not a marketer either,
but the best way to market DXOS
would be to create a best-in-class tool
that is built on these technologies.
And then you can go around being the Thomas Artman of DXOS,
being like, look at all the cool things
we did with our architecture.
Oui, oui, un best-in-class tool
qui est construit avec DXOS.
On pourrait travailler sur quelque chose comme ça.
Avant de me dire ça,
vous avez des vrais guests sur le podcast
qui sont liés à cette idée.
Steven Fawber de Liveblocks a parlé.
On parle un peu de quand vous utilisez ceci,
pourquoi ça s'est fait,
pour s'assurer que ceci soit centralisé.
Liveblocks fait un travail incroyable
pour créer ce genre de la réplication.
Ils ont décidé de faire la surface en pleine route.
C'est une bonne solution pour beaucoup de cas de utilisation.
Ça aussi évoque le pétier de peer-to-peer,
ça évoque le problème de la problématique de la décenturisation.
C'est un peu un peu un peu un peu un peu de problèmes de recherche.
Je suis à DXOS pour les problèmes de recherche.
C'est clair.
Si il n'y avait pas de problèmes de recherche, je ne serais pas ici.
Je suis un researcheur.
Je suis content de travailler sur DXOS,
mais il y a d'autres systèmes de recherche
qui sont en train de se solider.
Dans le monde réel, Liveblocks,
James Pierce de TinyBase,
il travaille sur un petit...
Il a juste pris l'écho de DXOS.
Ce serait TinyBase.
Il est un peu différent.
C'est un data store, je suppose,
un graph, un store, mais la même idée.
Et Thomas de Linear.
Il a aussi parlé de Sineal de PartiKit,
qui travaille sur le lait de réplication,
pas le lait de résistance.
Il a tous les petits problèmes de la même chose.
Paul de Gipting Space,
il travaille sur ce nouveau truc, le Y Suite,
qui est un rappeur sur YJS,
qui a juste solué le problème de synchronisation,
comme la résolution de conflits.
Il a essayé de construire des trucs de la nettoyage
et tout ça.
On a décidé de solider le whole thing.
C'est très bien,
et très horrifying,
à la même temps.
Il a couvert beaucoup de terrain.
Il a couvert beaucoup de terrain.
Alors, on dirait que dans un monde hypothétique
où vous avez construit des applications,
ou des exemples,
et on dirait hypothétiquement que vous appelez un composant,
qu'est-ce que vous appelez hypothétiquement?
En fait, en transition,
c'est l'une des choses que vous travaillez.
Vous travaillez sur ce truc qui est un composant,
qui je suis vraiment excité de voir.
C'est un framework pour construire des applications
sur le point de dire XOS.
Je voudrais vous dire un peu plus sur ce que ça fait.
Qu'est-ce que ça fait?
Oui, c'est un composant.
Je pense que l'une des choses de la conception
du composant sur XOS,
est que nous sommes intéressés
beaucoup en tant que composants,
comme les individus qui travaillent,
ou les personnes qui travaillent,
nous sommes intéressés à ces problèmes
qui sont solvants,
pour qu'on puisse construire des softwares
qui ont une forme spécifique dans le monde.
Ce n'est pas que nous voulons vraiment
se faire en ce moment exciter
sur les CRDTs.
Nous ne sommes pas des structures de données
à notre corps.
Nous avons pu résoudre tous ces problèmes
dans le monde,
mais nous sommes absolument utilisés
comme les meilleures classes
d'autres personnes,
parce que ce que nous voulons
est un système unifié
que nous pouvons ensuite construire
une software vraiment intéressante
pour nous.
C'est vraiment la mission de la compagnie
de réélever une forme d'une autre
et nous sommes intéressés
à construire ce nouveau medium.
Un des choses qui nous a permis
de composer
était de construire un bunch
d'applications sur le XOS.
Justin a commencé
à partir dans cette direction
en parlant de l'expérience
de la software personnelle.
La software pour moi,
c'est que,
quand j'ai des problèmes
qui me sont solvants,
c'est comme si je n'avais pas de temps
pour construire ce petit view
sur le data.
Je pense que,
six mois plus tard,
j'ai eu une conversation avec Linus Lee.
Linus,
comme j'ai expliqué au XOS,
a une très similaire
information
pour tous ses applications.
Ils sont tous en train de
faire le même système de file
qui est repliquée
comme le style de Dropbox.
Il replique ce système de file
dans tous ses dispositifs
et ils le réclamentent.
Je pense qu'il utilise
either Dropbox ou iCloud.
Je ne m'en souviens pas.
Il a eu des solutions
de la solution commerciale
pour repliquer ce système de file
dans tous ses machines.
Il n'a pas de soucis
sur l'auth,
parce que
si il a accès
au système de file,
il a accès à l'auth.
Il est off
par default.
Il n'a pas de
risques de plusieurs writers,
car c'est juste lui
qui ne va pas
utiliser deux machines
en même temps,
comme en éditing
dans deux places,
et avoir des collisions.
Il a donc
un data substrate
qui envoie
les commissionedurs
pour Software
et Datesわかc ark tribunes.
Il a fait
co bounded
1 km deOS
avec un
19가지


ou
Je suis allé faire mon data ici et maintenant je veux le modifier sur la table.
Il a pu plus vite commencer pour un scratch et construire un petit appétit sur le haut de la chaîne.
Et si ça ne serait pas custom pour cet outil, ajoutez un nouveau set de features pour un outil existant.
Nous avons commencé à nous faire ressortir, comme nous travaillons avec DXOS.
Nous ferions construire ces petits appétits, ils ne pourraient pas prendre très longtemps.
Nous voulions exercer ce que nous pouvions faire avec DXOS, nous ferions construire un autre appétit.
Nous avons eu toutes ces différentes appétits qui se sont mis à l'un à l'autre.
Nous avons commencé à réaliser deux choses.
L'un, c'était toujours annoncé de se faire avec tout le monde en construisant un appétit.
En PM, créé, c'est un blanc.
Vous avez toujours été en train de mettre un asset en position de poste, vous avez toujours été en train de mettre des bundles.
Tout le monde aime les bundles.
Vous avez toujours été en train de mettre des routes et tout ça.
Et quand vous regardez le fruit de la file pour cette nouvelle application,
où vous avez écrit ce petit compétit qui se trouve sur le top de DXOS,
il y a tout ce qui se trouve, TS, FIG, votre outil, tout ce genre de choses.
Vous allez dire, je ne cares pas de ce genre de choses.
Tout ce qui se trouve, je ne cares pas de ce genre de choses.
Et les plusieurs centaines de lines de code réactes et de minimum de queries database et updates database,
ce qui se trouve, je ne cares pas.
Alors, qu'est-ce qu'on pourrait faire avec ce compétit?
Devoir ce compétit et déployer le fruit de la file pour que vous puissiez juste faire des compétits et être fait.
C'était une observation.
La autre observation est que quand nous avons eu toutes ces applications à l'autre côté,
et que tout ce qui se trouve sur le top de DXOS,
c'est que nous avons pu faire des applications de la file,
et que tout ce qui se trouve sur le top de DXOS,
c'est que nous avons pu faire des applications de la file,
et que tout ce qui se trouve sur le top de DXOS,

et que tout ce qui se trouve sur le top de DXOS,
c'est que nous avons pu faire des applications de la file,
et que tout ce qui se trouve sur le top de DXOS,
c'est que nous avons pu faire des applications de la file,
et qu'ils sont allés tout de même dans ce qu'il y a une application
qui a une connectivité avec la data store,
et que ils travaillent tous dans ce framework.
Ça fait du sens?
Oui, l'une des choses que j'étais vraiment excité
quand j'ai commencé le programme, c'était que je pouvais faire mes propres limites
et c'est ce que beaucoup de mes projets sont,
et comme vous l'avez dit,
il y a un grand barrier pour ça,
d'avoir de créer une application,
d'avoir de la pensée sur la file,
la date est fermée. Oh, je l'ai offre à la chose à chaque fois.
Et c'est juste comme ça.
Il s'est piqué et piqué.
Comme les deux, les deux ones que j'ai utilisé beaucoup
sont, je l'ai fait un interface de l'interface.
Je n'ai pas l'air.
Donc, j'ai fait ma propre
où vous pouvez basically
regarder un API
comme un layer dans quelqu'un d'autre.
C'est ce que j'ai fait
beaucoup de temps.
Et puis, comme un autre,
ce que je me mantiens encore
ce jour, qui
pourrait travailler vraiment bien
dans cet environnement, c'est le Tv.
C'est comme un
automatique top 100
vidéos de musique de la web tous les jours.
Et puis,
si vous êtes sur DxOS,
je peux imaginer que vous avez
juste des blogs
que vous follow.
Et puis, mon petit budget
peut se faire sur le top de ça.
Regardez-le,
voir si il y a des postes YouTube.
Et puis, vous avez
ce petit interface.
Donc,
je pense que si on arrive à ce point

quelque chose comme ça est populaire
et que les gens peuvent juste
sortir et produire
leurs propres compagnies
et leurs propres budgets,
c'est juste l'amount de créativité
qu'on va voir.
C'est super excitant.
Je peux imaginer
quelqu'un qui a créé
un YAMP UI
pour leur SoundCloud.
C'est comme,
oui.
Oh, man.
Oui.
Non, c'est génial.
Oui, non,
c'est la vision.
Et ce que nous avons travaillé
avec Composer
est de faire
tout simplement modifiable
comme possible.
De avoir les
très peuées opinions
que nous avons
en termes de ce que vous pouvez construire.
Et donc,
Composer
n'est pas
rien mais les plug-ins.
Le tout,
l'interface entière
est de plug-ins.
Et donc,
une application de Composer
est vraiment
juste une liste de plug-ins
qui sont bloquées.
Et tout ce qui est sur le interface
est de contrôler les plug-ins.
Donc,
le point de vue
ou le menu bar
ou pas,
c'est un plug-in.
Vous voulez
faire le côté bas
ou pas, c'est un plug-in.
Vous voulez
toutes ces choses.
Et nous avons
travaillé
en faisant un plug-in
extensible
comme possible.
Le autre piece
était
de solider le drag-on-drop
pour vous.
Donc,
vous avez des prémotives
juste de la boxe.
Et vous pouvez
dire
« faites-le sur le surface,
draguez-vous
et recevez
d'autres choses
que vous avez
dans cette forme. »
Et vous avez
ces prémotives.
Et c'est cool
parce que vous vous draguez
sur le point
et ça vous donne
l'animation
de la réjection.
Non,
ce n'est pas dragueux
ou l'animation acceptée.
Et cette partie,
bien sûr,
est configurable.
Vous pouvez
configurer
votre animation
et tout.
Les plug-ins
sont très nouveaux
comme Justin
a dit
dans sa introduction.
Je pense
que nous avons
mis ça sur notre site
comme
littéralement six jours
ou cinq ou six jours
plus tard.
Et donc,
l'application et l'API
sont encore
très rapidement
et
nous ajoutons
de nouvelles prémotives
tout le temps.
Mais,
c'est super
fun.
C'est
un moment

pour
déployer
une des choses
et vous le donner.
Et ça se dévient
dans ce environ
où tous vos appels
sont déjà en train de se dévier.
Ça se dévient vraiment.
Le dragueur
s'est dévier.
Je dois dire
que
je ne sais pas
ce qu'ils pensaient
avec l'API
et pourquoi ils ont fait
ça
très difficile
mais
c'est
juste terrible.
Nous
avons
oui,
il y a un
de nos ingénieurs
qui s'appelle Will
qui a été
un expert
dans les années
et années
dans Drag & Drop.
Et donc,
on va lui demander
comme Will
ne peut-il pas
travailler comme ça
en fait
et il est
très
basé
dans ses mains
comme
non.
Je ne peux pas croire
que vous vous demandez
que ça
va être
une semaine
où il faut travailler
mais
c'est

parce que
on le solve
en un moment
et que
ça se généralise
par les plug-ins.

on va
combattre
cette fête
et puis
c'est fini.
Pas pour les ingénieurs
qui vous portent
mais je pense
que
l'un des choses que je
je veux dire
tu sais
en parlant de interop
et
en sortant
de la
composabilité
de
différentes applications
c'est que
ça vous
réutilise
beaucoup
de
infrastructure
vous avez déjà
mis ce travail
dans
c'est
comme
on va
se faire
en roulant
très rapidement
je pense
que l'autre
grande
part
est sorti
si on pense
sur
la pattern
de
la compagnonisation
de l'UI
et comment
cette sorti
de distribution

les components
et
ces
micro interactions
que vous pouvez
sorti
comme compose
dans votre app
je pense
que
ce monde

vous avez
maintenant vous avez
comme
un
écosystème
que vous pouvez
poursuivre
toutes ces
composables
poursuivre
toutes ces components
poursuivre
les UI
les pièces
et
et
nous on peut
vraiment
commencer
à couper
les app
ensemble
super super
très rapidement
par
vous savez
les
un peu de
la
code
que vous avez besoin
et puis
vous savez
poursuivre
beaucoup de
components
et ce genre
ça


l'arrière
de
comme
je peux
construire
une
app
pour moi-même
pour
vous savez
ce
product
area
et comme
vous savez
juste un peu d'hours
ce qui
qu' Porque

Für
week
es
cannot
Commander
les
de
ou
cun
Et donc tu te lèves un éditor et tu es en train de faire des changements.
Et quand tu commences ces changements, la application s'élèvent et ça devient un complet...
Tu sais, tu peux bouffer le environnement et le environnement, ce genre de choses.
Ouais, c'est...
Oh, man!
C'est vraiment excitant de travailler.
Mais je pense que la semaine...
Je veux revenir à l'utilisation contexte.
L'utilisation contexte.
Parce que je pense que Steve Krauss, de Baltown,
a parlé de ça un peu dans sa vidéo quand il parlait de Baltown.
Baltown est ce beau projet vertical.
Tu peux faire beaucoup de choses avec Baltown.
Composer a ce même sens.
Et je pense que l'un de nos défis recentement a été...
On va faire un truc vraiment bien.
Et puis faire un autre truc vraiment bien.
Et faire des choses qui sont plus en train de faire des workflows,
que nous voulons construire un set de plugins qui sont très robustes.
Parce que tout ce que nous pouvons faire, c'est ne pas faire de la raison que les gens viennent de nos computers.
Ils viennent de nos computers pour faire un truc précis.
Et donc, essayer de faire des choses qui sont plus en train de faire des utilisations,
c'est un grand focus.
C'est surtout excitant dans un monde où nous vivons avec un programme
qui peut générer ce code-là que Justin a parlé,
et qui aide les normes, même le code-2.
Oui.
Nous avons des exemples de chocs de gpT,
des exemples integrés dans la composée,
qui sont vraiment fun.
Un des components ou les plugins que vous avez en place,
et un des components qui sont offerts en place,
c'est une interface de chat.
Un chat est un component et un plugin.
Vous pouvez vous mettre en place un chat pour votre application.
On appelle ça « threads » parce que ça n'est pas juste de chat.
C'est aussi la façon dont les commentaires sont nestés dans les documents.
A chaque fois que vous avez une série de messages qui viennent de l'humain,
et qui sont en place avec un autre,
ou même avec juste eux-mêmes,
c'est un « thread » sort de un component général.
Et il y a aussi un plugin qui vous permet de chat.
Vous pouvez construire un discord.
Les nombreuses choses que vous pouvez construire dans la composée sont ridicules.
C'est pourquoi c'est important de dire
que ça doit faire une chose vraiment bien.
Je ne me souviens pas que Justin ou Andrew
a dit qu'il faut avoir une application de la meilleure class.
Vous pouvez aller autour et être le Thomas de la ligne.
Et parler de la Sinclair.
Il faut être la meilleure class.
C'est quelque chose.
Je suis très inquiétant.
Si vous pouvez construire quelque chose,
quelle serait votre fonctionnement ?
Je vais commencer là et vous m'en expliquer.
Ce serait ce qu'est le premier utilice.
Je me sens comme le premier utilice pour les personnes
qui vont construire un dashboard
de quelque sorte de ma vie.
Ça me permet de faire des tasks.
Il y a un développeur qui a créé Sizi.
Il est sur Twitter.
Il a un projet nouveau.
Il a un app pour faire des app.
Des steroids.
Il y a beaucoup de dashboards.
Je me sens comme que ce serait très simple
de se passer comme ça.
Un service immédiat
est comme un podcast pour construire un software.
C'est quelque chose que nous faisons beaucoup.
Nous endurons avec des amalgamations
de Google Sheets et d'autres trucs.
C'est comme...
Vous savez,
en fait,
c'est vraiment sympa
d'avoir un propre CRM
pour atteindre les gens
et faire un peu de choses comme ça.
En fait,
on ne peut pas construire
quelque chose pour ça.
Vous pouvez construire quelque chose de mieux pour vous-même,
mais est-ce que c'est le plus important ?
On peut utiliser des projets de GitHub
et c'est bien.
On peut aussi utiliser des choses
que nous voulons,
mais on ne peut pas se battre
parce qu'on a des projets.
Des choses qui se passent.
Est-ce que les DxOS
ont le concept
d'afficher des choses entre les places ?
Non, pas d'un composant.
Je peux dire,
ici est une boîte,
je peux plopper quelque chose,
et je peux mettre des autres components.
C'est un truc intéressant
qui t'en fait un moment.
Je vais te dire
quand vous vous faites un petit tour
dans les DxOS,
c'est un concept de transclusion.
Vous avez entendu ce terme
avant,
un terme de Ted Nelson.
C'est le truc que vous êtes
interactant avec.
C'est ici,
mais aussi dans tous ces autres places.
C'est le truc.
Ce n'est pas le type, le copier,
c'est le tout.
C'est un truc très utile,
dans tous ces places.
Un exemple grand,
c'est que
on a un truc qui se termine
un stack,
qui est un simple bloc
qui est un type
de data
qui peut être un stack,
un liste d'items.
Vous pouvez avoir des documents,
des images,
tout ça.
C'est un truc
très utile
pour faire des items disparit.
Le truc important
dans l'inside-composer
ou dans le plan de la modélisation
est que tout s'opérat
en version de contrôle.
Le stack ne sait pas
qu'importe quel type de data,
des documents, des images,
d'ailleurs,
le plan de documentation
dit que je sais comment m'en rendre
un stack.
Quand vous vous montrez le document
dans un stack, le stack
dit que vous avez le temps
de le rendre et le plugin dit que je le fais.
C'est le component.
C'est ce que vous avez dit,
vous vous rendez avec ce stack,
qui a tous ces différents items.
Et nous avons écrit
un présenter
pour ça, pour le faire.
Et ce que ça fait,
ça ne sait pas tout le stack,
le plugin.
Il sait juste
la structure de la structure,
qui est juste un liste d'objets,
un liste d'objets.
Et il fait le même chose que le stack.
Il dit, hey, je dois un document de marquage.
Est-ce que quelqu'un sait comment
rendre un document de marquage
comme un slide ?
Parce que je suis un slide-presentation
de l'application.
Et le document d'éditeur dit que je le fais.
Et c'est comme vous le fais
un slide-presentation,
qui fait un détail de md,
qui fait un fonction
pour le faire.
Vous avez deux
windows,
un stack,
un document,
et un présentation.
Comme vous le typez,
le slide
est également dynamiquement updating.
Il n'y a pas de notion de piping,
parce que c'est tout
que vous éditez le même item.
Je vous ai utilisé
comme une opportunité
d'expliquer la chose de la transition.
Comment ça se sent?
Ce n'est pas votre question
quand vous parlez de piping.
Faites-le bien que je vous demande
d'en faire une autre.
La réponse est vraiment
la façon dont vous devez
regarder.
Je pensais en un type de
nato,
ou un type de
éditeur nado.
Je voulais créer un pipeline
de petits programmes
pour faire des choses,
mais je ne veux pas
le faire.
Mais c'est comme dans le D.O.X.O.S.
C'est plus que vous devez
faire des choses,
et puis vous avez d'autres choses
qui s'opposent au point de l'opération,
plutôt que de créer un workflow.
C'est un moyen de dire.
Je pense que c'est un moyen
de jouer avec que nous n'avons pas
implementé, c'est des vues

dans le data.
Je ne veux pas changer
les données d'underlayant,
mais je veux que ça soit
réactuellement
réactuellement,
si on a un use case
où on a besoin.
Mais je pense que c'est en ligne
avec le approach
de faire des choses
en un moment où je fais un changement
et ça va changer automatiquement.
Avant de nous changer de
les outils,
il y a une question
que je veux poser.
Et quand on parle
d'un personne qui travaille
sur un produit d'open source,
et si ils travaillent sur un
lait de tooling,
la question obviante pour nous
est, comment vous faites
pour faire un business sustainable ?
Vous avez parlé
dans la vie du passé,
vous étiez très bien, vous étiez
un lait de tooling, des computers existants,
et vous étiez en train de faire
un business sustainable, et c'est
part et parcel
de la chose que nous faisons.
Comment vous pensez
que ce soit d'AXOS,
est-ce que c'est un projet de recherche actif,
et que nous avons un fondament pour ça,
et que c'est un produit qui va être
construit avec ce projet,
ou comment ça va être pensé ?
Oui, donc, d'AXOS,
c'est une company venture backed,
donc nous avons
créé une ronde de la cédure,
et nous avons un certain nombre de temps
pour prouver que les gens
veulent ce projet,
comme ils s'appellent,
en traînant la industrie,
et en démontrant que les gens veulent
construire ce projet.
Il y a un grand答et,
en termes de possibilités de revenus,
mais il y a un vrai答et,
le grand答et est,
les gens veulent
leur data être backed up
quelque part, ils n'ont pas
voulu vivre sur leur device,
et c'est un projet qu'on travaille
sur, appelé agent, qui est
en train de faire la même
client code sur un recours
de la recours que vous contrôlez,
c'est comme votre cloud personnel,
et ça enlève deux choses,
un, qui enlève un au-delà d'un
côté, de votre device,
votre data est toujours disponible
au-delà de l'autre, en tant que
vous manipulez le local, et deux,
ça permet de répliquer le cas
d'Andre, qui parle de
aller de votre maison à votre parent's
house, et si votre laptop est
fermée, c'est difficile,
si vous avez un agent en train de
rouler dans le cloud,
à la plupart du temps,
ça a été répliqué à la cloud,
et quand vous allez
mettre sur votre computer de parents,
ça va prendre ça de votre cloud personnel
plutôt que de prendre de votre laptop.
C'est un agent, c'est un terme
et ça va être un service
que vous pouvez payer, c'est aussi
un source ouvert, donc vous pouvez
faire votre propre, en fait, vous pouvez rouler
un agent aujourd'hui, c'est
le DXCLI,
mais
les gens vont juste cliquer
le bouton, je vais me donner mon backup.
Mais
les déchets sont de la comédie,
même les computers sont de la comédie,
ce n'est pas un
large
des business,
au moins vous êtes déjà à la
scale de l'AWS ou de la cloud.
L'answer
ici pour DXOS
est
pour les plateformes,
les prémotions des payments.
Donc le paiement est un autre paix
de comment je distribue
et les paies pour le software.
Et donc si les plugins
ou les applications d'application
sont utiles, nous devons
construire les mécanismes de distribution
et les mécanismes de paiement
à la plateforme de la plateforme,
comme les développeurs peuvent
payer et les utilisateurs peuvent payer
et il y a un
coup qui est pris par la plateforme.
C'est le modèle app store, avec une
exception, c'est que tout ce que nous
faisons à DXOS est construit sur un
protocole ouvert, donc Echo a un protocole,
Halo a un protocole,
c'est
la toute la preuve de la permission
de ne pas vous arrêter
d'avoir une application interopérable
avec un autre DXOS application.
C'est pas possible pour nous de vous arrêter
par design.
Le paiement de la plateforme sera la même chose
si une autre
networks de compétition
voulaient y avoir un protocole ouvert
sur le protocole ouvert.
Ce n'est pas le app store
sur votre iOS.
C'est comme le app store Mac vers le app store iOS.
Vous pouvez toujours installer
les applications sur votre Mac, vous n'avez pas
besoin d'aller au app store, si vous ne voulez pas.
Mais le app store iOS n'est pas
la même chose, c'est la même chose.
Il s'agit d'un autre problème important
pour les utilisateurs, de dire
oui, nous voulons être un business sustainable,
mais le meilleur serait que les
développeurs qui construisent les choses
avec DXOS peuvent payer.
C'est incroyable.
Ça s'occupe de tous ces mécanismes
de distribution,
qui distribuent le software
millions et millions de fois par jour,
mais les développeurs qui ont fait
tous ces choses n'ont pas été payés.
Donc, construire ça dans la plateforme
semble incroyable.
Et avec ça, on va changer les outils.
Donc, mon premier outil pour la semaine,
j'ai vu ça sur mon petit
monitor GitHub.
C'est un de la séance
de Microsoft.
C'est ce qui est basé en un outil
d'open source alternative
à FIG, qui fonctionne sur toutes les plateformes.
Donc,
si vous avez voulu une meilleure
complétion auto pour votre CLI,
qui tout le monde fait,
vous pouvez vous donner un look
parce que c'est assez bon.
C'est vraiment intéressant. Est-ce que c'est juste tué?
Est-ce que c'est...
Oui, ça ne semble pas qu'ils
font ce que FIG fait
avec l'accessibility API
et les outils de la maîtrise
pour soutenir Linux et Windows.
Mon question est la plus grande,
quand votre terminal est à la fin
de la maîtrise, quand vous avez un
fond de la maîtrise.
Donc, le choc ici
s'amuse conveniently
dans l'exercice légère,
si vous voulez.
Il s'amuse.
Ensuite, nous avons
l'AI texte.
Oui, donc, c'est juste
de la déclencher le guide
pour la speech texte.
De tous les spaces
des AI, la chose
qui est la plus excitante
est la speech texte.
J'adore consommer
les livres en particulier
par la narration.
C'est quelque chose
que je vale beaucoup.
Je suis vraiment excité pour le monde
où la narration est
plus disponible
avec un peu moins de travail.
Mais, le caveat est
que je pense aussi que les narrataires
sont aussi puits
pour leur
la puissance
et tout le effort qu'ils ont
à mettre en place. Je pense que c'est
un très skillé
et je ne veux pas voir
cette courrière se faire
parce que j'adore les narrataires.
Mais, l'AI open
a un texte de speech
et l'API texte de speech
qui est un des 1000
des personnages pour leur version régulière
et 0,03
pour leur version HD
c'est assez affordable
et c'est une bonne qualité.
Les zones où j'ai pensé
que je vais utiliser ça, je suis
un peu tinker avec un système
d'automation de la maison
qui utilise l'API
juste pour
donner
la recueillie et la speech texte
de l'API
et de l'application
d'une petite
épreuve et d'affortable
c'est assez cool.
C'est cool pour voir.
Voici, c'est un étiquette
d'éthique
et c'est pourquoi ils ne sont pas
6 voix.
C'est un truc que nous faisons
en décriptant et avoir un processus
de vérification de voix
pour ne pas cloner les autres
parce que, aujourd'hui,
il a été placé
un gars qui a un téléphone spam
qui a répondu
et c'est sa mère qui parle
et sa mère a dit, je suis kidnap,
elle a envoyé 5 000 $
et c'était sa voix
et elle a utilisé la technologie de voix
pour faire le scan
se sentir plus réel
c'est un monde fou pour aller
ils ne font pas de voix
sur les appareils de l'API
et ils ont utilisé
des utilisateurs qui sont consommés
et qui sont automatisés
et non-hémanes
c'est un bon touch.
Bien,
je vais parler d'un tool analog
ou une combination de tools analogs
et des tools digitales
qui sont mon téléphone
donc, ce call
vous avez été au-delà de mon droit
c'est vraiment pour que je le démarre
et que je le réveille
et que je vais utiliser
une autre caméra
qui est ici
que j'utilise pour
quand je veux parler
dans un téléphone
d'un autre set de light
et des trucs de light
et de la façon dont je peux
parler
en utilisant un téléphone
en un de la manière semelle
et puis, le autre avantage
est que je dois
avoir un programme
qui me permet de prendre des photos
de mon whiteboard qui ressemble à ceci
et puis, convertir-les
dans un smooth
et plus readable
et discuser-les
et tout ça
et donc, j'ai des whiteboards
en 2021
donc, plusieurs années de whiteboards
et ces endroits vont dans mes notes
et ils vont dans les emails
mais je le trouve
je trouve que
quand je suis bloqué
deux choses qui m'aident
l'une est de prendre un tour
je ne peux pas en prendre
un tour
je tourne peut-être 6 milles
et je ne fais pas assez de tour
pour les problèmes que je dois
en plus de tous les jours
en plus de tous les jours, ce n'est pas le type
c'est la bâtille
et les décisions
et puis, le autre chose qui m'a aidée
c'est que je suis en train de
faire des transitions
pour en mettre un problème
sur mon whiteboard
et en utilisant une solution
pour l'analogue pure
ça peut être l'un des plus cool des tools
que nous avons eu
sur le web de DebTools FM
c'est un set-up super cool
j'adore comment c'est
comme un Smart Whiteboard
comme vous avez l'histoire de votre whiteboard
et c'est tout fait
la dernière
tourne de
le jour
c'est un projet qui se passe bien
c'est SSHX
c'est un
collaboratif
terminal
et c'est aussi un type de canvas
c'est tout web base
vous pouvez
mettre un terminal, inviter les gens
et avoir une collaboration dans le terminal
et puis
vous pouvez aussi
utiliser un type de canvas
où vous avez plusieurs terminaux
et un canvas de terminaux
si vous avez regardé pour quelque chose comme ça
c'est un moyen de collaborer
par le terminal, peut-être
apprendre un de vos teammates
ça serait cool de vous essayer
nous avons besoin de l'interoperability
et de TL Draw
c'est drôle
nous avons TL Draw integré dans le composant
c'est génial
je l'ai utilisé tout le temps
je pense que
j'ai dit ça avant mais
mettre tout sur un canvas
comme des terminaux
il y a beaucoup de startups
et je l'ai spent un peu de temps
en travaillant dans un sèche
où j'ai des webbrowsers
et je l'ai trouvé
pour être incroyablement aidant
un collaboratif canvas
vous pouvez mettre un web page
en bas de la chaine
ou créer un cluster
en plus d'avoir un marque
vous avez un browser live
c'est ouvert à tout le monde
c'est un livre
qui est ouvert à la fin
c'est beaucoup mieux
que passer sur les URLs
et pour pouvoir collaborer
c'est incroyable
surtout avec le browser
avec une position de scroll
je peux scroller et sélectioner
je peux sélectioner
et vous voyez ce que je sélectionerai
c'est ce que je vais parler en début
en parler de collaboration
c'est le début de créer
les appréciations d'UX
pour des terminaux
et des browsers en un canvas
ce qui devrait être là
pour nous travailler bien
c'est un effet très intéressant
où vous avez
une espace spatiale
où vous pensez
que le concept que je veux est là-bas
et ce n'est pas quelque chose que vous avez
dans un environnement normal
mon dernier tip de la journée
c'est quelque chose similaire
c'est un drag & drop library
c'est déflex
c'est un de mes appareils
qui a été créé
et qui a été créé
ils tentent de être relativement performants
et de être très attentionnés
de comment ils font le dom
et les manipulations
c'est un peu trop grand
il y a peut-être des options
ce n'est pas quelque chose que je recommande
mais c'est juste quelque chose qui a été créé
ils ont fait des approches noveles
que je n'avais pas personnellement vu
c'est cool de le voir
c'est quelque chose que vous êtes intéressé
j'ai été spending beaucoup de temps dans cet environnement
et quelque chose que je recommande
c'est le drag & drop hook
le hook est très difficile
de se faire
de la termes
et de l'appire
et de tous les hooks qu'ils ont offert
mais quand vous vous entendez
c'est un drag & drop
qui a simplifié notre code
sur Belief
si vous regardez pour quelque chose
qui est accessible et qui a une bonne API
je ne peux pas arrêter de recommander le React Aria
ça fait des petits petits petits tips
merci pour les commentaires
c'était une conversation super intéressante
sur ce que les compétences peuvent être dans le futur
et j'espère que vous, les DxOS
vous êtes contents de accomplir la vision
merci Justin, merci Andrew, merci d'avoir me
c'était un plaisir
c'est toujours un plaisir de parler
je suis vraiment heureux de vous parler
de cette région de recherche
je pense que c'est important et significatif
il y a beaucoup de complexité
en softwares et en réduisant la barrière
un petit peu pour construire
ces applications plus riches
ça le fait
c'est cool de le voir
merci pour votre soutien

Les infos glanées

Je suis une fonctionnalité encore en dévelopement

Signaler une erreur

devtools.fm:DeveloperTools,OpenSource,SoftwareDevelopment

A podcast about developer tools and the people who make them. Join us as we embark on a journey to explore modern developer tooling and interview the people who make it possible. We love talking to the creators front-end frameworks (React, Solid, Svelte, Vue, Angular, etc), JavaScript and TypeScript runtimes (Node, Deno, Bun), Languages (Unison, Elixor, Rust, Zig), web tech (WASM, Web Containers, WebGPU, WebGL), database providers (Turso, Planetscale, Supabase, EdgeDB), and platforms (SST, AWS, Vercel, Netlify, Fly.io).
Tags
Card title

Lien du podcast

[{'term': 'Technology', 'label': None, 'scheme': 'http://www.itunes.com/'}]

Go somewhere