00:00:13.639
I haven't done this in person since 2019 in the pandemic so I don't even know how you do this anymore so um this is a
00:00:20.920
small room but still a little bit intimidating um so well I'll be talking today uh from zero to app with brid down
00:00:28.240
the rapid prototyping framework and hopefully by the end of this talk you have learned more about Bridgetown you're curious to build and try it out
00:00:35.399
and build things with it so let me Begin by introducing myself
00:00:41.360
um so my name is Alberto I'm a Staff software engineer at the centers for Medicare and Medicaid services uh which
00:00:47.800
is a division of the United States Department of Health and Human Services um so just I work for the government and
00:00:53.600
I'm here to help but um for real um and and I'm a Civic Technologies and health
00:00:58.800
it nerd and obviously I'm a ruby Enthusiast so I'm originally from Puerto Rico
00:01:06.799
so so um I know you're like really looking to hear about Bridgetown but
00:01:12.159
I'll ask you guys to bear with me so let me begin with a story I want to like connected ODS so you can see how bridon
00:01:19.799
was super helpful for us and how like maybe it can also be a tool you can adopt within your
00:01:25.960
projects so as I mentioned earlier I'm part of a team at the center for for Medicare uh we're working to transform
00:01:32.600
the US Healthcare by enabling outcome driven care and empowering decision makers with the data they need I guess
00:01:38.560
like what does that mean Point language so it means that we work with patients doctors Healthcare organizations and
00:01:44.119
even health plans and enable them with the Health Data they need right if it's a patient you can get access to your
00:01:49.840
data um if you're a doctor or an organization like a healthare organization you can probably access
00:01:55.719
your patients data right um and the idea the whole goal is to improve how Healthcare is delivered and coordinated
00:02:01.560
for all of us right through data and analytics so how do we impact patients
00:02:06.600
so we've develop an ecosystem of API products we use a standard called Fast Healthcare interoperability resources
00:02:13.680
which is the standard we use for sharing data um it allows like different systems especially in healthcare that are like all disconnected to actually integrate
00:02:21.239
um and then we Empower patients with their access to their health data and doctors and organizations and other uh
00:02:26.959
others in the healthcare space as I mentioned so um I'm going to talk to you today
00:02:33.239
about data at point of care um so this is one of our projects one of our portfolio products um so for the past
00:02:40.959
few months since February this year I've been leading this effort um and data the
00:02:46.720
point of care or DPC for CH wants a simplifi the way all of us can share and access our medical history right the idea is that we connect closer to you
00:02:53.440
know the doctor's visit at the doctor's office and like make your data available I mean you're a Medicare patient of
00:02:59.360
course like this is the the this product for Medicare uh in release so the idea is that doctors can actually see their
00:03:05.799
patients data and see what's happening in like this very disconnected a disj disjointed system um just to give an
00:03:12.840
example you know when the next Healthcare emergency happens the next pandemic imagine that having access to
00:03:18.000
this data can mean life or death for you right um so we want to augment Healthcare experience for all medical
00:03:24.200
patients through heal data and analytics and then we do this through Health Data
00:03:29.519
uh data and analytics as I mentioned right and basically these apis so we're in production we can do this today we
00:03:35.799
actually do this with a a thousands of patients but then we have a problem
00:03:40.920
right um so the problem is like we we have on boarded a a few hundreds of organizations at this point like 100
00:03:48.080
organizations and and we go through this process but there's a a real problem we going to solve which is like how do we
00:03:54.439
know someone's a doctor or they represent a doctor you know how do you know that how do you know your doctor's legit a doctor right is an honest
00:04:00.480
question so it is really hard in the United States to figure that out because of there's no centralized mechanism but
00:04:07.280
this is like in a diagram like the the problem like you know a doctor comes to us says like hey I want to access your data uh my patient data um it's like who
00:04:15.680
exactly are you it's like I'm Dr Jose it's like wait what which Jose right so
00:04:21.680
how do we answer provide an answer to these questions so in an N show this is the problem we have how can we on board
00:04:27.800
doctors using a digital and secure verification a process so I guess you wondering I said
00:04:33.639
this is working this in production we can do this with doctors but like what's stopping us so I don't know if you have heard this phrase before do things that
00:04:40.960
don't scale um this phrase is it's been coined uh by Paul Graham one of the YC
00:04:47.759
combinator Founders um and basically the idea here is that you can you should probably do things manually to some
00:04:54.199
point some extent to test your idea and figure out how to actually solve it right and this is the approach we took
00:05:00.240
the team before me like this is what they we did um we prove it's needed we prove it works we prove doctors want to
00:05:07.000
get access but now we don't know how to do this at scale right like how do we automate the process so this is a good
00:05:12.360
problem to have right basically we have product Market fit you could say um so this is why like we went to like go down
00:05:20.039
uh you know get in in a room design an amazing system and look into steps you
00:05:25.319
probably come up with like something like this or even more complicated um that's a lot of self to build right if
00:05:30.919
you want to do like an end to end solution so there's a lot of things still to figure out as I said an experiment so what if we test the
00:05:37.520
extremes what are the risky parts of this process right and how do we try that out um so we basically came up with
00:05:43.199
like this minimal viable product which is like uh our version of the portal basically it does the extremes which is
00:05:50.120
like can you create a user account register as a doctor and then if those
00:05:55.479
two things are true we give you access to this API and the data so you know there's a few answer questions we need
00:06:01.160
to answer is this a real human when a user account comes in uh are you really a doctor are you really a good doctor by
00:06:07.840
that I mean you know are you a doctor that is not committing like you know Mal practice or something that should not be
00:06:13.720
engaging with patients um so we got the team like perfect let's do it let's
00:06:19.680
build it so we got like all our tools as you usually do for sofware development um sketch figma mural all the things
00:06:25.800
right and we ended up here um it's like we fig F out there's like different systems we could use this is a
00:06:32.000
complicated domain um we're using something called login.gov we're going to use that which is uh it's a r univers
00:06:38.800
application by the way it's a block here for that team R team at the general Services Administration um this is like
00:06:44.400
Al zero but like run by the government um kind of cool um and then um basically
00:06:52.520
like they have like all these designs and all these apis and open ID connect and all these standards that we need to use right and then here we have on my
00:07:00.039
side like my team of Engineers designers product people like trying to put it all together in an experience that doesn't
00:07:05.599
really suck um so there's a lot to figure out a lot of prototyping we ended up like in this messy space of like you
00:07:13.120
know oh that screen should not be there because actually when you look into the open ID connect Center this is the what
00:07:19.199
you get that's a response what if you verify someone's and Agy and it fails and you need to like explain to you know
00:07:25.479
it needs to be understandable by designers engineers and everyone you know why the return like the thing that
00:07:31.479
an API Returns what does it translate in terms of like your user experience so Al just say designing is
00:07:38.080
hard right and I don't mean design as the act of using figma or sketch I mean design as you know the creative act of
00:07:45.840
Building Systems that depend on other systems right that have like all these inputs and outputs and
00:07:51.520
dependencies um especially when you're designing systems that you know have policies and Regulation and a bunch of
00:07:58.400
other constraints that affect those inputs and outputs of your solution right this is an image from Jessica Care
00:08:04.639
on sesy she gave a wonderful keynote drewby 2019 I encourage all of you to
00:08:10.080
watch it it's really cool and fun so um I guess this creative act of
00:08:17.520
Designing right um for me I think this this phrase resonates with me about what that
00:08:24.159
process looks like and this is from Brett Victor he's a former Apple engineer I think his title was like
00:08:30.720
human interface inventor um he gave this talk many years ago inventing on
00:08:36.599
principle and he talks about like the act of designing software and creating interfaces and he said this he said like
00:08:43.440
creators need an immediate connection with what they create you need to build and play with the ideas through this act
00:08:49.920
of creating and like seeing them and that's how like new ideas emerge and new ideas
00:08:55.560
evolve so if this resonates for you as it did for me me it's probably because
00:09:01.440
um you know code is my medium I I cannot figma well I cannot do figma well you
00:09:06.880
know um there's a lot of benefit from those tools uh I think they have a place but for me it is not really the right
00:09:13.720
tool to express these ideas I ended up like putting together like Erb templates
00:09:20.160
like a a static website generator to like come up with designs and bring this to the conversation of my team so if
00:09:26.640
you're like me right that code is your medium then I introduce you to bridg
00:09:33.560
sown we made it here so um hello rcky Mountain Ruby so this is like your
00:09:39.680
default website I mean I customize it says AO to you all wonderful people but um this is like you know uh Bridgetown I
00:09:48.800
guess we were talking last night uh at the speaker meeting and uh it came up a
00:09:54.480
couple times like the Rocky Mountain Ruby website it's a Bridgestone website right and we probably know I mean does
00:10:00.640
anybody in here have heard have you heard about bridon before a few hands not many have you
00:10:07.519
heard about jeo yes okay
00:10:13.360
um so anyway the Rocky Mountain Ruby website is actually a Bridgetown site
00:10:19.640
that is true but uh I think Bridgetown you know is the underdog of the one of
00:10:27.360
the underdogs in the ecosystem right I think I think all of us may think that it is just yet another static website
00:10:33.560
generator right uh which it is but there's a lot more hidden behind it um this is the bridg down website which you
00:10:41.120
can access at Bridgetown rb.com uh this is like the edge version because this
00:10:46.480
team is actually uh testing they're like on beta 2 of what's going to be brid down 2.0 so there's a lot of cool stuff
00:10:53.720
happening there um and as I said maybe you know bridan or you have heard about it as yet another side generator however
00:11:01.360
as you can read here like there's a lot more to that than that right um it says
00:11:06.959
it's a Next Generation Progressive side generator and full stack framework powered by
00:11:12.800
Ruby and it has like amazing like tools and and ingredients inside so as you can see the words static side are actually
00:11:20.959
absent from this description right um it it's really not there so let me tell you a little bit
00:11:27.880
about Bridgestone uh so it was created by Jared white in early 2020 uh it
00:11:34.279
started as a fork of jeo right the battle tested static side generator we'll know uh it switched the builtin
00:11:41.920
web server inside to use rack puma and Roa on top of it um some time ago and
00:11:48.480
then it started innovating on top of it so it follows the convention over configuration principle you know all of
00:11:55.360
us that have worked with with reals we we know this concept right and this idea
00:12:00.920
that Frameworks when Frameworks aim to minimize the amount of decisions we need
00:12:06.120
to make as developers we can become more productive right it's not that we don't make decisions and the framework makes
00:12:13.040
decision makes the decisions for us is that we can actually invest our time on the right decisions that we should be
00:12:18.839
making right hopefully the decisions on the project and the problem and the domain we're working on right and not
00:12:25.320
like you know getting lost into a maze of gems and other things right right um
00:12:31.199
as I said it's a great uh it's great for static content generation uh and then it
00:12:36.399
follows the jamstack framework which is basically JavaScript apis and markup right uh but it takes it to the next
00:12:43.880
level um on what they call the dream stack uh which is a funny name um and it
00:12:50.680
stands for delightful Ruby expressing API and markup right um and basically in
00:12:56.760
simple words it allows Bridgestone to breing interactivity to an application right to your old static site using
00:13:04.680
Roa so this is you know just to take a look at it real quick right this is like
00:13:09.760
has a CLI as many other tools um it's wrapped nicely around that you can create project I realize I have a a typo
00:13:17.560
at the bottom I me the Bridgestone start command copy pasting but you basically
00:13:23.440
installed the gem I'm using like the 2.0 beta 2 gem here which has some new
00:13:28.480
features uh you basically create a new site using running bstone new my my
00:13:33.519
website or my however you want to call your project you get into your project right and you run bin Bridge SL
00:13:40.040
Bridgetown start it starts up has a that like Rocky Mountain rub like template
00:13:45.720
that you saw earlier and then you know I guess just to connect the dots from like static
00:13:51.320
side generation you probably know this you've done this probably many times before it can do the same things you can
00:13:56.519
do with jeo you can create a page out of markdown website uh file right it has
00:14:01.680
this like upper portion called front matter you can add like variables and things there and then under it you have
00:14:08.680
like in this case markdown written text it gets converted to like HTML right so
00:14:14.639
out of the box it gives you most of the things jle gives you already like has Pages Post front matter collections data
00:14:21.600
files layouts static files I'll go into those because probably you know those or have played with them um but bridon new
00:14:29.920
stuff like it supports multiple template agents kind on a more like easy built-in
00:14:36.000
way so you can use like Erb Serbia and others has like plugins that can extend it um it brings this concept of
00:14:43.000
automations which is like a nice way to basically like in in uh integrate
00:14:48.160
libraries or do things within your project using Ruby um has like a nice plugin system and there's like many
00:14:54.399
plugins from like bringing turbo to using SQL and doing other things on top
00:14:59.440
of your project um I think it leverag this is not a mentioned feature on the
00:15:05.720
website but I I I put it here because the it provides the allows to use pure
00:15:11.519
Ruby files to represent data resources and other things it has a very nice way
00:15:16.839
of like embracing Ruby at its core it has an opinion take on web components
00:15:22.519
and hydration there's a lot of cool stuff um I won't be talking about it today but like that you can see Jared
00:15:28.600
and others have like recorded videos and demo it and lots more so it comes with a bunch of features and things uh but you
00:15:36.639
know there's more than meets the eye I guess you may have seen this uh meme of like three raccoons and a trench code
00:15:42.600
right um so like inside that content site generator trench code right and
00:15:49.440
maybe that's all we see all we know there's a lot of stuff hidden inside right uh first you have like rack the
00:15:56.880
Ruby web server interface right the the thing that allows rails and many of the Frameworks to exist on top of it as I
00:16:04.120
mentioned has Puma the fast concurrent web server for Ruby and rack which is like production tested right like all of
00:16:11.000
us probably use this and finally you have Roda which makes it so easy to develop
00:16:16.800
applications um has anyone here uh raise your hands again like have
00:16:22.399
you heard about Rota few hands have you heard about Sinatra
00:16:29.360
a lot more hands everyone okay um so Roa was created by Jeremy Evans and it aims
00:16:35.519
to be a simple and productive framework for building applications so basically it gives you a DSL it's kind of similar
00:16:42.040
to has a sinra esque uh look and feel and then you know usage it's very
00:16:47.639
similar it feels like that and it gives you this DSL to Define uh what's called a routing tree and you can use that to
00:16:53.560
model your API or your application right um this is a sample
00:16:59.440
uh Rota app um basically this is like a config rup Ru file as a sample this is
00:17:06.640
like one of the very basic examples from the their website you basically require
00:17:12.120
Roa you then Cate create this class class app which extends the class Roa
00:17:19.000
and that gives you like a lot of magic and superpowers right brings the CSL
00:17:24.120
that you can use to basically create this block and within this block you model your resources your end points
00:17:30.200
your kind of like your controller right um in this example for example uh if you
00:17:35.559
go to like the root of this project of this web address right if you were running it uh and you go to the root it
00:17:42.880
will like redirect you to SLO and then it defines SL hello right
00:17:48.880
it has a nice verbos way to do this and within this hello routing tree uh you
00:17:56.120
then can have slw right and it responds like hello world or it just responds
00:18:02.520
hello if you just go SL hello right so this is very basic just to give you an example what Roa looks like so if you
00:18:08.480
have used cat before this may like kind of look familiar um and then you run it right at
00:18:15.760
the at the bottom you have like run up free app basically you like start up this rack application and comes to
00:18:22.760
life so road comes with batteries um and by that what I mean is that Roa has a
00:18:30.240
ton of plugins and things that that are available out of the box plus the things
00:18:35.480
that the community have developed throughout the years um this is like the top where like the plugin section starts
00:18:42.559
under documentation it continues for a few screens down uh because it has like so many so many plugins and and other
00:18:51.080
libraries and basically if it's making sense to you right now if jul Roa had a baby it's rown right um this is kind of
00:19:00.159
like what you're getting out of it not just a static side generator it has like the genes of both if it makes sense
00:19:06.200
right you can definitely do great static site generation and have like an amazing website like the Rocky Mountain Ruby or
00:19:12.360
you can actually start doing interactive things so let's look at that like the cool stuff so server side rendering so
00:19:21.000
um this is a quote from the Bridgetown website I'm going to read it it says
00:19:26.640
like server s side rendering known as SSR has made its piece with static side generation and we're increasingly seeing
00:19:34.039
a hybrid architecture emerge in tooling throughout the web industry so this is what they're doing with um within
00:19:42.480
Bridgestone with Roa and all the other things that I mentioned so one of the first cool things that Roa gives you
00:19:49.039
it's it's called server rendered routes and basically remember that
00:19:54.120
example from Roa that I showed you earlier it's like you can bring that into your Bridgestone project right so
00:20:00.840
Bridgestone lets you create your own rot base API routes so if you go when you create your project if you go to the
00:20:07.679
server SL routes directory there um again convention over configuration this
00:20:13.240
is the way they have approaches there you can create your Ruby file in this case like preview. RB and there you
00:20:19.440
create this like class right very similar to the rad example we saw where you can basically Define a normal API
00:20:27.200
endpoint as you would do with Roa you need to use this um naming convention routes column column in this case
00:20:33.960
preview which is you know the file name and then you extend the Bridgetown rack
00:20:39.400
routes class and that gives you all the routes capabilities inside your Bridgeton project in this specific route
00:20:47.000
and then you define it with the same like DSL and code snippet you know route
00:20:52.080
to R here on SL preview right you do the thing here like this example I'm not
00:20:58.240
going to get into it but it's just using other Bridge down capabilities right about how content is generated and the
00:21:04.039
files that is producing but you can do technically anything here you can like check a database hit an API you can
00:21:12.279
anything you can do on a normal like application reals application or anything else through your controller
00:21:17.880
like you can also have that logic here wait there's more so this is one of
00:21:24.520
the coolest things that bridgstone gives you that I I really like this is like kind of very very neat uh so it's called
00:21:32.240
file based file based Dynamic routes and so bridg down gives you the ability to write what's called file based Dynamic
00:21:39.000
routes which basically allows you to integrate imagine having an Erb file where you can integrate like the Roa
00:21:46.200
definition with the view template in a single file right and then you put these files within a specific location within
00:21:53.880
your project and suddenly you have like these like different like layers of controllers and
00:21:59.080
and and vendors and stuff like happening in your
00:22:05.559
application so there's these two sections that I mentioned at the top you'll see in a
00:22:11.080
second like a rotor block section at the top right that has some special delimeter and then underneath you'll
00:22:16.840
find like the Roa the normal like Erb template uh that can use an axis right
00:22:23.159
and can be manipulated by the rot block so let me show you like with an example
00:22:28.240
here you we have so you see this Dash Das Dash minus percent um so this is
00:22:34.720
like the delimiter they came up with so this is an Erb file in this case items.
00:22:40.520
Erb and then within this Erb file this top portion it's like this Roa definition that you add it kind of
00:22:47.679
similar like the front matter concept right but for actual like Roa logic
00:22:52.919
which is kind of cool um and then you define this and you will see that you have this render with uh method here
00:23:00.480
like a part of a DSL that it gives you and basically that's what you use to inject the front matter or anything else
00:23:07.440
right within the the the renderer for your Erb file in this case the
00:23:14.600
underneath you just like do a normal Erb file as you would do right and in this case it's like iterating through this
00:23:20.799
list right um so you can see that items is available uh to the Erb View and then
00:23:27.720
it just lists the elements right so this is very simple just to give you a sense like what it would take to like print
00:23:33.600
out a list of elements but like again you can do a lot of other like more interactive uh designs with
00:23:41.360
it and last it has something new that's called colable objects basically um this
00:23:47.400
is a bridg down 2.0 feature so it's not available on Bridgetown one so it's like only available on the beta version and
00:23:54.400
basically it gives you like the ability to have like a rot C like have a cable a that within your Ro block you can um
00:24:01.720
call so let me let me show you an example so here you have this upper class my RSS feed this is like how can I
00:24:09.159
create an RSS feed right in an easy way for let's say for your website so to
00:24:14.600
keep it in that context so you create this class called my RSS feed you include Bridgetown Roc colable which is
00:24:21.559
like a model they make available and then you define this def call uh method
00:24:27.360
it has the app op debatable and then you can access requests response and many other things within the RX framework um
00:24:34.559
and Roa and then in this example you know it says like is an exercise left to the reader imagine you have a method
00:24:41.080
that get goes to a database or parses out you know at Le of elements you're want to render as an RSS feed and then
00:24:47.960
you put that into the feed XML variable which is going to be an XML in this case because of the way RSS works and then
00:24:54.679
you have a rotus snippet right below in your remember those initial serers side
00:25:01.240
render routes that I show you you can have there a route the trender that has this when you do rget to my feed my-
00:25:08.679
feed. XML it just calls that class my S my RSS feed. RNE right and it calls the
00:25:17.120
call method immediately and then it gives you that output so this is a very a composition model method here that's
00:25:23.919
pretty nice so I'm looking forward to all the things you could probably do with this within bridg down if the future haven't played it with it too
00:25:30.320
much but anyway bringing it all together so this is what I'm calling the bridge sway I don't know that they use that
00:25:36.760
term but uh this is my opinion about it so so again this is like the file structure right of what a root a project
00:25:43.919
would look like but this is this is more than just a file structure right uh this is like how convention over
00:25:49.480
configuration looks for bridg sown so you have like a config folder you have like this front folder where you can
00:25:54.919
like create components and do some cool things uh you have this server folder where you can create these routes that I
00:26:00.159
mentioned right um and create them as individual Ruby files uh because this is
00:26:05.320
using Roa um I'm not I didn't talk about it before but like you can create your own like custom Roa plugins within your
00:26:12.320
project and just like inject them to the RO application so you can like use everything that exists plus you can even
00:26:18.799
Implement your own and then within the source directory you have like components you have data which is very
00:26:24.840
similar to jeo uh your layouts you know the traditional posts for like pages and
00:26:29.880
stuff that gets automatically generated and then you have this underscore routes folder that basically allows you to use
00:26:36.120
this like file based uh Rota composition method that I show you and then output
00:26:43.600
which is like where all the output of the static site is generated and all the other configuration files for Ruby es
00:26:50.679
build and everything else so I guess the bridge down Advantage I would describe it as like you know it's a static side
00:26:57.120
generator an asteroids it's powered by Roa which gives you the server render routes it has these file
00:27:02.720
based Dynamic routes it now includes these cable objects for Roa and then you
00:27:07.880
can leverage the existing Roa plugins the new bridgs plugins and many more enhancements right and everything wrap
00:27:14.640
up in a nice command line interface with a healthy dose of convention so coming back to the story
00:27:20.080
right because I I was talking about prototyping talk to you about Healthcare I took this D Tour on Bridgetown and
00:27:27.080
where do we go now so so we built a thing so I mentioned this DPC project
00:27:32.919
right so I you remember those like different screens with designs and workflows and all those mappings um so
00:27:42.279
youing bridg down right and a lot of like file based Road renderers like we
00:27:47.760
basically built this application this started like as a static website uh just to convey some of the design decisions
00:27:53.720
that we wanted to discuss and then as I started playing with Bridgetown I started like wiring it up right and then
00:28:00.240
I actually connected this to like the login.gov sandbox and I was able to use like their identity verification in
00:28:05.360
sandbox mode and test it out and we were able to like prototype and test and like see firsthand how the experience evolv
00:28:13.240
like as you go through all the different Journeys right um so I'm going to like
00:28:18.840
for the sake of time I'm going to like fast forward this let me see I need to look over here it does all the identity
00:28:24.960
verification and then uh you it takes you back oh no
00:28:33.159
mouse takes you back to um here this is you're coming back to
00:28:40.159
our app and this is where we're checking like are you a doctor would you verify your identity we hit our internal apis
00:28:46.480
which we mock out using also like this Roa power capabilities within uh bridgstone and then we were able to like
00:28:53.360
map the interface and actually wire it in many ways to like the real soundbox apis when were available
00:29:00.279
um so I found like Roa to be super helpful and pretty quick to you know
00:29:05.519
prototype with these ideas and built it um so I guess the elephant in the room is May you're wondering like but did you
00:29:11.279
build an app with Bridgetown right which I spoke with some of you last night about this too right and we were
00:29:17.559
debating this um so not exactly we build a prototype with bridg down right um but
00:29:24.799
this is this is a more complicated decision right uh we already manage another rails application we like have
00:29:31.240
other rails other systems that could be rails application what could argue so we know that rails is a framework that
00:29:37.279
works we we building a team tours around that and so it makes sense to stay still
00:29:42.440
use um rails right for like all the things that we're doing and the things that we have right but I think there's a
00:29:49.240
a place to explore like what can all of us do with Roa or even with Bridgetown so Bridgetown allowed us
00:29:56.440
allows us to prototype ideas using code in HTML as the medium we were able to start with static design which can then
00:30:02.480
be wired up and made interactive and like really interact with other apis it allowed us to test ideas and understand
00:30:08.559
the problem our team was working on right like this this domain and then we were able to build a functional
00:30:13.679
prototype application using the power of rad out within bridg down so I mean all to say that product
00:30:19.919
develop is a creative team activity which requires like sharing ideas criticizing and involving
00:30:26.600
them has anyone seen this picture before no hands ah one hand two hands
00:30:34.360
there uh so this is a picture of tin toy this is uh one of the very early CGI
00:30:41.640
pictures short films that was ever created was created by Pixar in 1988 is it a pretty
00:30:48.880
baby not too pretty right um so Ed cadmo one of the Pixar
00:30:55.919
Founders has this idea of like ugly babies and he says ideas are like ugly babies right um if we look at this image
00:31:03.080
and we say like oh man that baby's ugly right um so like probably Pixar would
00:31:08.960
have stopped innovating uh under Technologies and ideas and like all the movies and things they have developed
00:31:15.679
and produced afterwards like we have never seen them right um so like judging this effort because it was an ugly idea
00:31:22.399
was like pretty incorrect take on it right which they didn't do they knew this uh very well
00:31:28.480
um and Ed says that ideas are like ugly babies right they're fragile like a baby
00:31:33.799
um when we're born we don't look super pretty at all we're like all swalling and stuff right um and we we all grow
00:31:41.159
and evolve right to the wonderful humans we're here and ideas should not just be judged but how them look at the early
00:31:49.679
stages so I think this is true right and I don't know if you have heard this idea also plan to build everything twice when
00:31:56.840
I was first introduced this idea it was um attributed to the mythical manm moth
00:32:02.159
um so my take is that if we assume this is true for a second right um I think that prototyping the risky and difficult
00:32:08.600
parts of your application is the more coste effective way of building some things twice right where you test it out
00:32:15.559
early you ditch it and it helps you form the right abstractions and like no what
00:32:20.600
are the trade of you're making at this particular stage and better understand things um so can I use Bridgetown to
00:32:26.600
build a serious application so I have a bestseller for you all uh from O'Reilly it
00:32:33.039
depends um so I mean as every other answer in Tech you know my answer is
00:32:38.240
like it depends I think there's two important questions to ask ourselves would anyone question whether Jal is
00:32:44.679
Battle tested I don't think anyone will question that we we use that we at scale
00:32:50.600
right everywhere go to gith her Pages netlify all those things um can you build a robust appc
00:32:57.840
appliation just using Roa yes you can there's many people that have done that you know Jeremy Evans has has talked
00:33:04.639
about this for a long time um so I think if the answer to these two questions is yes so I think yes you can the question
00:33:12.279
is you know what is the right decision for your team for your domain for your problem for what you're doing um I think
00:33:19.080
there's a real of applications small medium I don't know if large too that probably can be built using Bridgestone
00:33:26.200
leveraging all the r capability it has um maybe those small apps uh can grow
00:33:31.760
and be bigger than that we can imagine today uh so to me bridon is an example the power of Ruby right um I love Ruby
00:33:40.279
it's like this backpack that I goes with me all the time everywhere and provides me with amazing tools that I can
00:33:46.799
experiment and play with everywhere I go right so we need more Frameworks we need to
00:33:53.039
you know test out more things this is what's going to make this community uh more vibrant and and evolve and this is
00:33:59.840
what ruby does great which is making developers all of us all of you happy wherever that you can be the happiest
00:34:05.760
right whatever that framework is um so wrapping up stay tuned you can go to
00:34:11.040
dbc.ca.gov this is like a legit Government website this is our project
00:34:16.280
so if you're curious about it you can go and learn about it um we're going to we're very busy it seems very busy as I
00:34:23.119
as I'm here speaking about this uh wrapping up our implementation and development so we're looking looking forward to launch uh next year after
00:34:30.440
Christmas um and then if you're Medicare in or have family members that are uh in Medicare so talk to them and their
00:34:37.399
doctors about dated fromont care uh and the things they could be doing uh so anyway thank you and that's wrap