PyCon Australia 2013

Schemas para el mundo real

Carina C. Zona  · 

Presentación

Vídeo

Transcripción

Extracto de la transcripción automática del vídeo realizada por YouTube.

so you heard a lot of rails in that introduction and I apologize there's not much Python and there's zero rails in this so I think we're going to be okay so interesting thing happened this morning my presentation which is 45 minutes disappeared

completely so I gave this talk in a much shorter version in Melbourne a few months ago and we're going to use that version which means that we're going to free up a whole bunch of time for Q&A afterwards it happens that I love QA and I have a lot

of stuff stuck in my head and I hope that you guys will have lots of questions so we can use that time really well so let us begin so in addition to being that developer i'm also a sex educator and i think a lot about how these two things inter lap and

they do quite a lot imagine walking through the world knowing that everyone's first assumptions about how you see yourself who you love what feels right for you that they're all completely wrong now imagine signing up for a cool website and then being

required to select an option from a drop-down menu that doesn't include anything that represents you at all you'll feel defeated you'll want to argue that whatever they think they're learning from that drop-down menu it's not really true

you'll want to tell them that they're adding to your humiliation by making you do this you'll want to tell them that they're missing a huge part of you ok so users are giving push back to assumptions that leave them out and social apps in particular

have been pressed to adjust Facebook Google others they're all dealing with these questions and have been for many years and they're still working it out so if you feel out of depth with these questions you're not alone so we're going to look

at how you can deal with that we've got this idea that normalization of data is just the bestest thing ever which works out fine if all you want our users who are among that little elite who belong to your idealized norm that you're seeking but most

of us in fact are going for a much broader user based on that right we want everyone to participate enjoy so when the objectives of database normalization is to mirror real world concepts and their interrelationships this is one of the core precepts of normalization

and when that database is in tension with the real world then it's not the user who's the one that has to change it's us so why is this stuff so hard is because at first glance it looks so easy so we're fooled we think it's just forms right

and we've done that a million times before so we get tripped up with some flawed premises first that things that are deeply personal about humans can be reduced to lists second that our assumptions are that canonical lists with these things do exist or

at least surely they can be created and the third is our faith that the first two problems here can easily be solved by just adding more list items hang on we'll get there any minute this is a real list this is British Airways they don't do this anymore

now they're down to like 20 and you notice how they had to solve this by putting the first couple of ones over again because they realize people were getting to the end and just wanted to have you know like mr. mrs. whatever doctor let's keep this

simple so they knew in their hearts that more list items wasn't the solution and they did it anyway so we know that this is not going to work and it really risks making us look foolish so that next flawed premise is that we intuitively understand the nature

of social networks that we understand that definition and when we step aside from that term that's been implemented as a technology and just think about the human concept what is a social network what do we mean by that well in real life it's our apps

being personal replicating and building upon who we are how we relate to each other what our social world is the bonds that we create and want to maintain its all that one-on-one stuff and as personal as our social lives get so in social identity is a dependency

itself so this developers we build or we break that community with each line of code what one-to-one relationships are we fostering what relationships are we inhibiting between our app between ourselves between users in real life I know your personhood better

than you do sounds so presumptuous right we do that in real life who you are is invalid sounds arrogant we do validations all the time in real life your existence isn't possible sounds pretty clueless it ignores the obvious that you are this is not what

we set out to do it's not the user experience that we want to give it's not the community that we're seeking to build we want to create things that feel cutting-edge not that seemed out of touch postelles law tells us be conservative in what you

do and be liberal and what you accept from others so how do we bring reality into the data views our logic that's by starting at schema as developers we get tugged in these two different directions we want to keep the codebase manageable but we also need

to design for reality complexity the messiness of humans so we have to get schemas into alignment and when I say schemas I mean there's two different kinds when does our mental schema it's a psychological and philosophical idea it's a belief system

about how the world works and it's personal it's our set of preconceived ideas and it's our mental framework for representing whatever aspect of the world we're trying to model in a database it's our personal filter and this has the limitations

of the individual creating it whereas database schemas are basically just the same thing manifest into SQL or whatever you're using it's just taking that idea that belief system and imprinting it on a database so here are some different front-end manifestations

of individuals of and schemas I've got a lot of variation schemas can be a foundation for expressing things that are deeply intimate self-image our identity our important relationships our sense of values and even our spirit our creativeness are very uniqueness

and by all that they're defining our user experience and this the schemas that are leaving behind that user experience but that's the part that we can fix I ask more questions like what benefit will be user notice not letting ourselves off the hook

by saying what will be great how is this feature going to be awesome and serve them well because that's coming from our bias they really need to think in terms of what they're getting out of it so we can evaluate that user perspective from a couple

of different angles and that will give us some focus for making decisions there's no point on this chart where everybody is going to see maximum benefit it's all about trade-offs so we can look at the different choices checkboxes radio buttons select

venues they all imply that every possible value is represented so we're saying your users pick the one right one if checkbox is sure maybe multiple right once but we're still saying we've got all the answers all you have to do is pick them out

it's the real world that's being rejected because it doesn't happen to look like our personal mental schema so checking a box is that one step action that's really convenient entering a text string takes more work it's not nearly as accessible

[ ... ]

Nota: se han omitido las otras 3.715 palabras de la transcripción completa para cumplir con las normas de «uso razonable» de YouTube.