The unarchiver trust
But once we do that, there's also going to be more that we can trust about it. Now, the goal for today is to not just go as far along the abstraction spectrum as we can, but to build trust as we do so.Īt every stage, the data is going to get more complicated, and there's going to be more that we need to validate about it. But we really want to work with our own model types wherever possible. Now, our apps can stop at any point, make use of the data, however, we see fit. So, our goal for today is to take that data as far along the spectrum as we can. Raw data is the least abstract data that we're going to work with, and our own structured model types are the most abstract. Now, these forms of data in our apps, form an abstraction timeline. So, once we do that, we'll make use of this as we're going to call, structure data. Now, there's building blocks we most often want to work with, not as just primitive values, but as our own model types. Now, formatted data, on its own doesn't mean much, until we create primitive values out of it, strings, and arrays, and dictionaries that we can then use as building blocks for further algorithms. And so, once we've made sure that that data conforms to some format that we want to work with, we'll call this formatted data.
The unarchiver trust code#
And in this case, each of those code points correspond into a UTF code point, and sorry, one moment, let me make that a little bit more readable. Now, to get working with that data, we need to make sure it conforms to that known format or structure. There's not much we can tell about this data at this stage without looking at it, but this we'll call raw data. In order to talk about data, we're going to want to build a mental model of the forms that data can take within our app.Īt the most basic level, data makes its way into our app as a stream of bites. And then apply those same concepts to codable types. Then, we'll see what sort of type-level validation we can apply with the NS Secure coding protocol. So, we'll do just that by taking a look at the lifecycle of our data, and what we can validate about that data at every stage in the lifecycle. One, that the data that we're going to be using, hasn't been modified from underneath us, and two that it contains what we expect it to in the format and structure that we want.
The unarchiver trust how to#
Today, we're going to be talking about trust.Īnd specifically, we're going to be talking about how to build trust in data, by making sure of two things. Because it's not just one app that could possibly be affected, but maybe many apps. This is something to be even more cognizant of, if you're a framework author. And, in the meantime, while you're waiting, you'll get a wave of one-star reviews. This can be a bad experience for your customers who might have to wait for your app to get updated in the app store.Īnd it's an even worse experience if it's a crash on launch, because they can't even use the app. What happens when it doesn't? Usually, this means the data is corrupted, or invalid in some way and can be ignored.īut sometimes, this data can invalidate assumptions that your app makes, and it can cause your app to misbehave, or maybe even crash. In order for that data to be consumable, it has to come in some known format or structure. And then do something meaningful with that data, and then present it to your customers. In order for your apps to do something useful, they have to draw in data from external sources, like the disc, or the network, or your customers themselves. In this session, I'd like to talk to you about how the data that flows through your app can affect it, and how you can better protect your customers by building trust in that data. My name is Itai and I work on the foundation team. Thank you all for joining me, even before the coffee's kicked in.