Showing posts with label design patterns. Show all posts
Showing posts with label design patterns. Show all posts

Patterns for Computer-Mediated Interaction (Wiley Software Patterns Series) Review

Patterns for Computer-Mediated Interaction (Wiley Software Patterns Series)
Average Reviews:

(More customer reviews)
Whenever I get a new book to review, I always approach it with a mixture of anticipation, curiosity, and dread, especially given the increasing number of books about patterns and, in this case, the size -- 581 pages! When I finally found a small window and sat down with "Patterns for Computer-Mediated Interaction," I was intending to hurriedly skim as much of the text as possible to get an idea of what it was like. Several hours later, I was hooked. What a surprise this book is! Yes, it's topical. The patterns are about developing software to allow people to have the best interaction experience possible. That is where the world is headed, no doubt! The patterns in this book, however, are not just about the technical aspects of these systems, the authors also address the "socio-technical" issues that are important for the people-side of this domain. What was especially interesting to me, as a long-time "patterns fan," was the intriguing and enlightening discussion of pattern languages and the close examination of the pattern language of Christopher Alexander. I've read many essays on this topic but this presentation was very special. I learned a lot. You can't ask for more than that. I can recommend this book whole-heartedly, not only for developers in this domain but also for anyone who wants to study a model pattern language and learn more about patterns and how they work together to solve problems. Two thumbs up!


Click Here to see more reviews about: Patterns for Computer-Mediated Interaction (Wiley Software Patterns Series)

Written by well-respected experts, this how-to guide provides patterns for the design of human computer human interaction (HCHI). An increasing number of applications are currently designed for use by more than one user, eg: multi-player games, interactive web sites, mobile phones, collaborative learning systems, interactive workspaces and smart environments. In these areas there is a shift from (HCI) human computer interaction to (HCHI) human computer human interaction. The role of patterns in this movement is twofold: 1st – patterns focus on the human user of the system; 2nd – patterns assist developers in the development process of groupware applications.

Buy Now

Click here for more information about Patterns for Computer-Mediated Interaction (Wiley Software Patterns Series)

Read More...

Expert PHP and MySQL (Wrox Programmer to Programmer) Review

Expert PHP and MySQL (Wrox Programmer to Programmer)
Average Reviews:

(More customer reviews)
This book is choke-full of information, examples and best practices written by some of the foremost experts in their respective fields. All of the authors clearly have extensive experience working on setups requiring expert knowledge. Best of all, they are not afraid of thinking outside the box and the solutions they present are in no way limited to pure PHP and MySQL solutions.
This book really does expect something from the reader, so perhaps a word of caution is in order: you really do need to be familiar with a range of non-beginner subjects on both PHP and MySQL. I strongly recommend that you first read Chapter 1 of the book, helpfully available on the books' website. If you are not familiar with the contents presented here, you're not likely to gain much from your purchase.
If, on the other hand, all that you read there is Known Stuff, you're really in for a treat with this book. If you write programs because you have that personal itch, this book is going to make you feel as if you've just been attacked by a horde of mosquitoes. Really. You'll be re-thinking everything about how you build your websites from now on. But you won't need any itches for this book to make you re-think how you work with PHP and MySQL.
The book is extremely information-packed. I'm not one to shy away from reading 3-400 pages of technical references in a day, but this book is so densely filled that you simply won't be able to do that. Considering the breadth of topics covered, the authors at the same time manage to dive very deeply into each subject, covering all relevant resources, options, program libraries and best practices along the way. This does not make the book hard to read, to the contrary the language is very clear and concise. Don't expect information to be repeated anywhere.
Whether it's due to the authors or excellent editing, the language is very consistent and flows very well from chapter to chapter. If it wasn't for the change in subject matter and the authors' stated focus areas in the beginning of the book, it would be hard to discern that three people have been involved in writing this book.
A wonderful trait of all the authors is that they are very frank in assessing the available technologies, and don't mind telling you which things simply don't work, and why you should stay away from them - even when those technologies are offered by their respective employers.
You'll learn not only how to make the most optimal pure-PHP and pure-MySQL solutions, you will also see how you can integrate both of these with external programs by writing your own extensions and libraries. Descriptions of best practices in subjects such as user authentication and security will probably make you want to go back and check whether something could be improved in your own code and web server setup.
The chapters on advanced caching techniques, multi-tasking, optimization and debugging considerations are all very detailed and to the point. You'll be able to immediately put the techniques presented to use, and the book will serve you not only as a great tutorial, it will also be a great reference later on when you want to tune your setup.
There are of course a few chapters that could have used a bit more work. One chapter consists of barely more than a listing of output of feature lists, another contains very lengthy outputs that the reader might as well pull up on his own screen when working with some of the products. But these examples really are exceptions in an otherwise extremely well-written, informative and above all useful book.
Another word of caution: The book is highly UNIX (Linux) centric. If all your work is done using Windows, your benefit from reading this book might be limited. Then again, reading the book and realizing the potentials just might explain to you why it is most shops deploy their PHP/MySQL solutions on Linux.


Click Here to see more reviews about: Expert PHP and MySQL (Wrox Programmer to Programmer)

Best practices and expert techniques for even the most demanding MySQL-driven PHP applications
PHP is the world's most popular, general-purpose, open-source scripting language and MySQL is the world's most popular open-source database. This expert-level book begins with a brief overview of the two technologies and quickly moves on to coverage of advanced programming techniques, as well as the exciting new features of the PHP 5.3 release.
Written by three of PHP and MySQL experts and veteran authors, this resource focuses on best practices and expert techniques that can be applied to the most difficult MySQL-driven PHP applications. The authors share design patterns and tools that they themselves have tested in order to save you valuable time usually spent on figuring things out via trial and error.
Reveals best practices and advanced techniques for handling challenges you may face with MySQL-driven PHP apps
Reviews practical data reporting techniques for separating business logic from presentation
Explains how to obtain improved performance and flexibility through caching, multi-tasking, PHP extensions, and MySQL user defined functions
Discusses security, optimization, and debugging
Shares author-tested design patterns and tools to save you time and effort

Packed with helpful examples and indispensable advice, this book shares tips and tricks that you can immediately apply to your projects.
Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.

Buy Now

Click here for more information about Expert PHP and MySQL (Wrox Programmer to Programmer)

Read More...

Closure: The Definitive Guide Review

Closure: The Definitive Guide
Average Reviews:

(More customer reviews)
I read Closure: The Definitive Guide as part of O'Reilly's rough cuts program, and I can honestly say that the book is one of the best technical books I've read in quite some time. It's clear that the author sought to leave no stone unturned in writing this book; he succeeded brilliantly. His writing style is concise but not at all confusing, leading to a great book that lends itself just as well to sit-down reading as it does a reference guide.
This book is definitely targeted towards developers, not managers. You should have at least some experience with JavaScript and the DOM before reading this. The author thankfully doesn't rehash the basics of such material before digging into Closure, but he also doesn't make the assumption that you need to have written a book on JavaScript in order to understand how to use everything. After you read the introduction chapter, you can safely skip some parts and come back to them later as you begin to understand Closure's design patterns. I thoroughly read most chapters and just skimmed others, which was great because it let me get familiar with the material without getting bogged down in all the details present in such an immense SDK.
Closure is most likely overkill if you're just building one-off websites, but if you want to build something more, do yourself a favor and buy this book and read it. Don't sell yourself short. Otherwise you'll be doomed to blindly throwing jQuery, MooTools, Prototype, or the like onto your canvas and hoping it'll work just as well for your large app -- it won't. Soon after you begin developing with Closure and reading this book, you'll experience the joy and relief that only a proper JavaScript TOOLKIT can provide.
Overall, this is a really great book that I wouldn't hesitate to recommend to any front-end developer who is tasked with building a web application that they want to be fast, browser-agnostic, and bug free.

Click Here to see more reviews about: Closure: The Definitive Guide


If you're ready to use Closure to build rich web applications with JavaScript, this hands-on guide has precisely what you need to learn this suite of tools in depth. Closure makes it easy for experienced JavaScript developers to write and maintain large and complex codebases -- as Google has demonstrated by using Closure with Gmail, Google Docs, and Google Maps.

Author and Closure contributor Michael Bolin has included numerous code examples and best practices, as well as valuable information not available publicly until now. You'll learn all about Closure's Library, Compiler, Templates, testing framework, and Inspector -- including how to minify JavaScript code with the Compiler, and why the combination of the Compiler and the Library is what sets Closure apart from other JavaScript toolkits.

Learn how the Compiler significantly reduces the amount of JavaScript users have to download when visiting your site
Discover several ways to use the Compiler as part of your build process
Learn about type expressions, primitives, and common utilities
Understand how Closure emulates classes and class-based inheritance
Use Closure Templates on the server and the client from either JavaScript or Java
Test and debug your JavaScript code, even when it's compiled


Buy Now

Click here for more information about Closure: The Definitive Guide

Read More...

The Design of Sites: Patterns for Creating Winning Web Sites (2nd Edition) Review

The Design of Sites: Patterns for Creating Winning Web Sites (2nd Edition)
Average Reviews:

(More customer reviews)
This is a book that shows how far website designing has come, since the early days of the mid 90s. Back then, texts on the subject often focused on the technical mechanics. Heavy on HTML, explaining what all those tags did. Plus much details on how to run the web servers. Those were texts for programmers.
Duyne and his co-authors give a higher level discourse. One better attuned to a true design approach. And germane to people of different skill sets than programmers. While there is still some discussion at the HTML level, nowadays you can safely assume that much of that degree of detail can be safely handed off, after the design (or a first cut of it) is done.
The text spans many aspects of a website. Like having a consistent visual style across all the pages. Or perhaps distinct styles, but each within a clear subset of pages. And the developer should always try to keep in mind what a visitor might expect. For this, a logical and easy to understand layout of the pages relative to each other is key. Along with an accompanying site map. Granted, if you are just starting out with a small site, the map may be unnecessary. But if you have ambitions for more, then designing a logical subdivision of the pages is advised.
You probably want search engines to list your site. And list it prominently. Where this applies whether you have a corporate site or a non-profit site. So a chapter offers several hints for search engine optimisation. For one thing, try having meaningful titles for each page. But perhaps the best thing you can do, if you want other websites to link to yours, is simply to write the text as fluently and interestingly as you can. Make visitors WANT to read your pages. All the technical SEO steps are important, but ultimately secondary compared to this.
The book also warns of phishing attacks against your site. Perhaps inevitable if you will be doing ecommerce, and if your site becomes popular. One key piece of advice is NOT to outsource your email subscriptions to a third party site. Not only can it make some subscribers suspicious, but it increases their vulnerability to phishing messages.

Click Here to see more reviews about: The Design of Sites: Patterns for Creating Winning Web Sites (2nd Edition)

Praise for the second edition of The Design of Sites


"In my worldwide IBM marketing role, I have the benefit of working with some of the finest international interactive agencies and internal Web teams. As I read The Design of Sites, [I see] the insight from years of professional advice has been put to paper. Nowhere have I seen such a practical, effective, and easy-to-use book to solve and avoid Internet design issues. I keep a copy of the book handy to remind me of the things I forgot and to gain fresh perspectives. It never fails to deliver."-John Cilio, marketing manager, IBM System x & z Storage Synergy

"The Design of Sites artfully brings forward the original intent of Christopher Alexander's pattern language into the user experience design arena. It is a valuable and comprehensive reference."
-George Hackman, Jr., senior director of User Experience for User Interface Guidelines, Patterns and Standards, Oracle Corporation

"The Design of Sites is one of the best tools I have in my usability toolbox. [These] Web UI design patterns make it easy for me to show my clients how to get the most usability bang for their buck."
-Claudia Alden Case, usability consultant and interaction designer, Alden Case Enterprises, Inc.

"If only biology class had been like this. Lucid text, bulletproof content, and a comprehensive taxonomy that's just as much a source of inspiration as it is a production tool. This is a really, really good book. If you build Web sites, read it."
-Marc Campbell, author of Web Design Garage

Praise for the first edition of The Design of Sites

"Stop reinventing the wheel every time you design a Web site! The Design of Sites helps you rethink your Web sites in terms of genres and patterns. Once you have identified the patterns and applied the best practices for those patterns as outlined in this book, you will reduce your design effort by 50 percent . . . at least!"
-Pawan R. Vora, vice president, Information Architecture, Seurat Company

"The content [in The Design of Sites] could make a novice into a seasoned professional over a weekend. Many companies pay a fortune for the information contained in the book's primary chapters."
-John Cilio, marketing manager, IBM System x & z Storage Synergy

"This book has many handy checklists for what you should and should not do in creating a conventional Web site. Just following the authors' suggestions would put your site in the top few percent for readability and usability."
-Jef Raskin, creator of the Macintosh computer and author of The Humane Interface

"Now that The Design of Sites has made its appearance, we won't have to put up with those poorly designed Web pages. These authors have captured patterns from successful Web designers, including their own experience in consulting and teaching, and have made this information accessible to all of us. The book is readable yet full of worthwhile information--a valuable addition to any Web designer's bookshelf."
-Linda Rising, independent consultant and author of The Patterns Handbook, The Pattern Almanac 2000, and Design Patterns in Communications Software

"[The Design of Sites] bridges the gap from theory to practice and makes it possible for people in the Web-design space to use user-centered design principles in their work—without having to undertake extensive training."
-Maya Venkatraman, human interface engineer, Sun Microsystems

"The coverage [in The Design of Sites] is excellent--issues go beyond the traditional 'design the best page' focus and do a good job of showing the context. I haven't seen any other book with the kind of breadth this has."
-Terry Winograd, professor of computer science, Stanford University, and editor of Bringing Design to Software

"With this book as a reference, you can benefit from what companies like Yahoo! have learned and apply it to your site, even if you don't have a design and research team similarly sized and staffed."
From the foreword by Irene Au, director of User Experience, Google; former vice president of User Experience and Design, Yahoo!

The Design of Sites, Second Edition, is the definitive reference for the principles, patterns, methodologies, and best practices underlying exceptional Web design. If you are involved in the creation of dynamic Web sites, this book will give you all the necessary tools and techniques to create effortless end-user Web experiences, improve customer satisfaction, and achieve a balanced approach to Web design.

After a comprehensive tutorial covering the foundations of good Web site design, you will move on to discover the thirteen major Web design pattern groups. These patterns solve recurring design problems and help design teams avoid reinventing the wheel. Patterns range from creating a solid navigation framework and the all-important home page, to instilling trust and building credibility with your customers and improving site performance through better design.

The book features

Coverage of AJAX, the Mobile Web, and online communities
Seventeen new design patterns to add to the original ninety, including the new blog site type
More than twenty significantly updated patterns
450 four-color screen shots and diagrams, including more than 150 new images
Key site elements, including site maps, style sheets, dynamic elements, and customer profiles
Clear, visual organization with color-coded sections for easy reference
A balanced approach to Web design that takes both customer and business needs into account


Buy Now

Click here for more information about The Design of Sites: Patterns for Creating Winning Web Sites (2nd Edition)

Read More...

Enterprise Rails Review

Enterprise Rails
Average Reviews:

(More customer reviews)
Dan Chak has written a really excellent introduction to enterprise web application architecture, and a worthy candidate for your technical bookshelf.
Calling it "Enterprise Rails" is a bit misleading, though. Rails only makes fleeting appearances. There's a great introduction to Rails plugin writing, which rightfully urges developers to move any decorator code to plugin modules. He talks a little about segmenting class files along Physical, Logical and Service boundaries, the point of which I have yet to understand completely. And there's a chapter on pushing Rails' application-layer polymorphism down to the data layer, which is good advice, but more on that later.
The bulk of Enterprise Rails is devoted to building a solid data layer. Again, good advice. The Rails team decided that referential integrity and validation belongs in the application layer, which Chak contends is dangerous (and I believe him). However, this is where things start to get a little hairy - enforcing referential integrity and validation in the data layer requires an early and continued adherence to SQL, and Chak makes it clear that any old SQL won't do: it's PostgreSQL or nothing.
This makes fully half of the book a dissertation on SQL domain description language from the Postgre perspective, domain data, third normal form and other data layer topics. I have greatly enjoyed the introduction to Postgres DDL, but it wasn't exactly what I expected from a Rails book.
The last few chapters are mostly about Service Oriented Architecture (which I suspect is why most people buy this book) and caching. Chak shows why he's an expert in enterprise software architecture here. But again, he takes a decidedly anti-Rails approach, emphasizing ActionWebService and XML-RPC. This is not without reason - nearly every language has an XML-RPC library. But ActionWebService, as Chak notes, isn't part of core Rails any longer.
REST is quickly reviewed, then mostly dismissed. There's a cursory example of a RESTful service. ActiveResource, Rails' useful core module for REST-oriented SOA, is never mentioned.
Pretty much every time Rails comes up in Enterprise Rails (which, as we've seen, isn't often), it's an opportunity for Chak to take it down a peg. Well, Rails deserves it. But I think that slapping the word "Rails" on the book cover is has more to do with marketing than anything else. This is really a tale about data modeling for the enterprise, with an emphasis on Postgre, told by an expert.
I'd say that this is required reading for enterprise developers, but don't take the "Rails" part of the title too seriously.

Click Here to see more reviews about: Enterprise Rails

What does it take to develop an enterprise application with Rails? Enterprise Rails introduces several time-tested software engineering principles to prepare you for the challenge of building a high-performance, scalable website with global reach. You'll learn how to design a solid architecture that ties the many parts of an enterprise website together, including the database, your servers and clients, and other services as well.
Many Rails developers think that planning for scale is unnecessary. But there's nothing worse than an application that fails because it can't handle sudden success. Throughout this book, you'll work on an example enterprise project to learn first-hand what's involved in architecting serious web applications.

With this book, you will:

Tour an ideal enterprise systems layout: how Rails fits in, and which elements don't rely on Rails
Learn to structure a Rails 2.0 application for complex websites
Discover how plugins can support reusable code and improve application clarity
Build a solid data model--a fortress--that protects your data from corruption
Base an ActiveRecord model on a database view, and build support for multiple table inheritance
Explore service-oriented architecture and web services with XML-RPC and REST
See how caching can be a dependable way to improve performance

Building for scale requires more work up front, but you'll have a flexible website that can be extended easily when your needs change. Enterprise Rails teaches you how to architect scalable Rails applications from the ground up.


Buy Now

Click here for more information about Enterprise Rails

Read More...