The motivation behind the contact book is that it aims to have a universally understandable domain that is pretty complex in where it can be expanded. The idea is that this is a launching off point for further tutorials and even guides for addons.
While for the initial tutorial the problem set is simple CRUD for plain fields, a contact book can expand to a much more complex problem and can include:
- Nested Arrays of Data `phoneNumbers: [{countryCode: '1', areaCode: '555', phone: '5555555'}]
- HasOne/HasMany Relations: messages
- Many to many relationships: addresses
- etc
Ideally, building on the ideas of @dgeb's Emberconf talk, this baseline of knowledge can be used as a comparison tool and a way to teach the growing tools in the toolbelt as you add or refactor features in the app.
For instance, in the official guides we could have steps for Ember Data and Nested Routes as separate modules. Ember Redux could implement the features incrementally replacing using Redux. Ember Animated could make a tutorial to animate transitions or other images.
We could even use this base line as a way to invite and compare implementation or features in other frameworks (though this falls far out of the scope of our first steps).