# Proposal: Image Schema Change
## Problem
For scalability while adding personalization we have always added different wrapper keys around the main object. E.g. -
```jsonld=
{
images: {
desktop: [],
mobile: []
}
}
```
in this case if we need a different image for android or ios we will do this -
```jsonld=
{
images: {
desktop: [],
mobile: [],
android: [],
ios: []
}
}
```
## Suggestion
I propose we use the following format for all our images
```jsonld=
{
images: [
{
default:"",
ios:"",
android:"",
desktop:""
}
]
}
```
and accompanying code :
```typescript=
// Calling Code
const persKey = req.device.model
|| req.device.brand; // whatever is required
const image = doc.getImage(persKey);
// Fetch Code
getImage(personalizationKey:string): string {
return productSchema.images[personalizationKey]
|| productSchema.images.default;
}
```
### Pros
1. Ease in personalization
### Cons
1. Number of images need to be same accross devices (I think this can be solved by using `null`)