Home :: Books :: Computers & Internet  

Arts & Photography
Audio CDs
Audiocassettes
Biographies & Memoirs
Business & Investing
Children's Books
Christianity
Comics & Graphic Novels
Computers & Internet

Cooking, Food & Wine
Entertainment
Gay & Lesbian
Health, Mind & Body
History
Home & Garden
Horror
Literature & Fiction
Mystery & Thrillers
Nonfiction
Outdoors & Nature
Parenting & Families
Professional & Technical
Reference
Religion & Spirituality
Romance
Science
Science Fiction & Fantasy
Sports
Teens
Travel
Women's Fiction
Naked Objects

Naked Objects

List Price: $65.00
Your Price: $56.76
Product Info Reviews

<< 1 >>

Rating: 5 stars
Summary: Most thoughtful and beautiful technical book I have read
Review: Naked Objects is all about empowering the user and the designer by eliminating the tedious time spent in hand crafting user interface code, so that more time can be spent refining the system model. The basic concept is that core business classes (Customers, Orders, etc), instantiated objects and their relationships should be viewable in several different ways, with more mousing around and less typing required of the user.

This is possible if both parties will accept the idea of using a dynamically generated graphical interface. The hope is that the user's freedom to explore and navigate the database will be worth the initial shock of not being controlled by menu and function key based scripts. The benefit for the programmer is to allow us to concentrate of quickly building a successful Model of the system, and leave the View & Controller parts to the framework.

The authors present persuasive arguments that for certain kinds of applications, such as dealing with people in a customer service role, this trade off is worth pursuing. As a practioner of Extreme Programming, I am attracted to their work, even if more scripted interfaces turn out to be required.

The authors have generously provided their Java framework as open source, created a downloadable demo example, and even provided the complete text of their book online.

So why buy it?

My answer is for the sheer joy of owning a well written and designed technical book that explains not only the "how" of Naked Objects coding, but the "why".

As a business major turned programmer, I was impressed with their account of the history of work engineering, starting with Frederick Taylor, and how management concepts have influenced our application design. Reading this book is like attending a graduate seminar on why we create information systems and how we can make them better using behaviorally complete object orientation.

The book is incredibly illustrated, an unexpected surprise. The glossy paper stock presents images as well as a fashion magazine, and more attention has been paid to the lavish use of color and graphic design than is normal for books on programming.

Yes, it is priced higher than average, but this is how open source projects make up for not charging for the code. I wish all open source project teams could produce documentation at this level of quality.

... Then start to create some incredibly cool applications.

Rating: 5 stars
Summary: Brilliant argument and toolkit for informating systems
Review: The central argument of this book is that the flexibility and extensibility - the freedom from doing things in one specific way - offered by object orientation should not be for developers only, but should be extended to the end user of the information system. A system created in this way - an expressive system - not only allows, but encourages the user to experiment and increase what the system, and the user, can do.

In the first of its five chapters, the authors take a critical look at object orientation, showing its history and arguing that much of the expressiveness offered by the early implementations (such as Smalltalk) has been hidden from users - and that systems now are written to automate deterministic processes. The authors, building on long experience, builds an argument for a different approach, and illustrates this with a detailed and very informative case of a real, fairly large-scale system. The second chapter outlines the Naked Objects framework - detailing the philosophy of defining a few core objects and the role of the user as a creator of relationships between them. (The implementation of this framework is freely available from the authors' web site. In fact, the whole book is available there.) A detailed example of a travel booking system is used to demonstrate how to develop with the tools and the philosophy proposed.

The third chapter, aimed at programmers, goes into more detail about the framework and how to work in it. The casual reader may skip this chapter but a developer will find enough meat here to create a real system. A short case study at the end of the chapter gives a "how to" on how to define the central objects of a new system, and how the interaction between developer, users, and requesters can be done.

The fourth chapter is about the development process, going into detail about how to recognize which objects are important (there are seldom more than a few), providing excellent advice and relating this approach to other current tools and techniques. Again, a short case at the end illustrates the concepts.

The final chapter discusses how the Naked Objects framework can be extended and gives a final case study of an energy trading system for a Fortune 500 corporation. Three appendixes provide technical detail and some "clichè code" to cut and paste.

I find this book to be an extremely important contribution to the field of information systems and systems development, particularly for systems for people whose job it is to "solve problems". The book provides not only the argument for building systems that encourage creativity and imagination in problem solving, but also the tools to do it. It does for systems development what Stewart Brand's "How building learn" does for architecture: Shows you how to build artifacts that allows and encourages new ways of doing things, safely, rather than force you to adapt your way of working and living to the notion of the architect at one specific point in time.

Shoshana Zuboff, in "In the Age of the Smart Machine", distinguished between systems that automate and systems that informate - make the users smarter. Naked Objects is a recipe and a toolkit for building informating systems. Read this book, use its concepts - and build systems where the user controls the system rather than the other way around.

Disclaimer: I have known one of the authors, Richard Pawson, for some years, and worked with him until 1999, when he took an interest in systems development and I did other things.


<< 1 >>

© 2004, ReviewFocus or its affiliates