Design Patterns: Elements of Reusable Object-Oriented Software


Erich Gamma - 1994
    Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently. Each pattern describes the circumstances in which it is applicable, when it can be applied in view of other design constraints, and the consequences and trade-offs of using the pattern within a larger design. All patterns are compiled from real systems and are based on real-world examples. Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like C++ or Smalltalk.

Content Strategy for the Web


Kristina Halvorson - 2009
    Redesigning your home page won't help. Investing in a new content management system won't fix it, either. So, where do you start? Without meaningful content, your website isn't worth much to your key audiences. But creating (and caring for) "meaningful" content is far more complicated than we're often willing to acknowledge. Content Strategy for the Web explains how to create and deliver useful, usable content for your online audiences, when and where they need it most. It also shares content best practices so you can get your next website redesign right, on time and on budget. For the first time, you'll: See content strategy (and its business value) explained in plain languageFind out why so many web projects implode in the content development phase ... and how to avoid the associated, unnecessary costs and delaysLearn how to audit and analyze your contentMake smarter, achievable decisions about which content to create and howFind out how to maintain consistent, accurate, compelling content over timeGet solid, practical advice on staffing for content-related roles and responsibilities "

Designing Web Navigation


James Kalbach - 2007
    Amid all the changes to the Web in the past decade, and all the hype about Web 2.0 and various "rich" interactive technologies, the basic problems of creating a good web navigation system remain. Designing Web Navigation demonstrates that good navigation is not about technology-it's about the ways people find information, and how you guide them. Ideal for beginning to intermediate web designers, managers, other non-designers, and web development pros looking for another perspective, Designing Web Navigation offers basic design principles, development techniques and practical advice, with real-world examples and essential concepts seamlessly folded in. How does your web site serve your business objectives? How does it meet a user's needs? You'll learn that navigation design touches most other aspects of web site development. This book:Provides the foundations of web navigation and offers a framework for navigation design Paints a broad picture of web navigation and basic human information behavior Demonstrates how navigation reflects brand and affects site credibility Helps you understand the problem you're trying to solve before you set out to design Thoroughly reviews the mechanisms and different types of navigation Explores "information scent" and "information shape" Explains "persuasive" architecture and other design concepts Covers special contexts, such as navigation design for web applications Includes an entire chapter on tagging While Designing Web Navigation focuses on creating navigation systems for large, information-rich sites serving a business purpose, the principles and techniques in the book also apply to small sites. Well researched and cited, this book serves as an excellent reference on the topic, as well as a superb teaching guide. Each chapter ends with suggested reading and a set of questions that offer exercises for experiencing the concepts in action.

User Story Mapping: Discover the Whole Story, Build the Right Product


Jeff Patton - 2012
    With this practical book, you'll explore the often-misunderstood practice of user story mapping, and learn how it can help keep your team stay focused on users and their experience throughout the development process.You and your team will learn that user stories aren't a way to write better specifications, but a way to organize and have better conversations. This book will help you understand what kinds of conversations you should be having, when to have them, and what to keep track of when you do. Learn the key concepts used to create a great story map. Understand how user stories really work, and how to make good use of them in agile and lean projects. Examine the nuts and bolts of managing stories through the development cycle. Use strategies that help you continue to learn before and after the product's release to customers and usersUser Story Mapping is ideal for agile and lean software development team members, product managers and UX practitioners in commercial product companies, and business analysts and project managers in IT organizations—whether you're new to this approach or want to understand more about it.

Essential ActionScript 3.0


Colin Moock - 2007
    The enhancements to ActionScript's performance, feature set, ease of use, cleanliness, and sophistication are considerable. Essential ActionScript 3.0 focuses on the core language and object-oriented programming, along with the Flash Player API. Essential ActionScript has become the #1 resource for the Flash and ActionScript development community, and the reason is the author, Colin Moock. Many people even refer to it simply as "The Colin Moock book."And for good reason: No one is better at turning ActionScript inside out, learning its nuances and capabilities, and then explaining everything in such an accessible way. Colin Moock is not just a talented programmer and technologist; he's also a gifted teacher.Essential ActionScript 3.0 is a radically overhauled update to Essential ActionScript 2.0. True to its roots, the book once again focuses on the core language and object-oriented programming, but also adds a deep look at the centerpiece of Flash Player's new API: display programming. Enjoy hundreds of brand new pages covering exciting new language features, such as the DOM-based event architecture, E4X, and namespaces--all brimming with real-world sample code.The ActionScript 3.0 revolution is here, and Essential ActionScript 3.0's steady hand is waiting to guide you through it.Adobe Developer Library is a co-publishing partnership between O'Reilly Media and Adobe Systems, Inc. and is designed to produce the number one information resources for developers who use Adobe technologies. Created in 2006, the Adobe Developer Library is the official source for comprehensive learning solutions to help developers create expressive and interactive web applications that can reach virtually anyone on any platform. With top-notch books and innovative online resources covering the latest in rich Internet application development, the Adobe Developer Library offers expert training and in-depth resources, straight from the source.

Universal Methods of Design: 100 Ways to Research Complex Problems, Develop Innovative Ideas, and Design Effective Solutions


Bella Martin - 2012
     Universal Methods of Design serves as an invaluable compendium of methods that can be easily referenced and used by cross-disciplinary teams in nearly any design project.   Methods and techniques are organized alphabetically for ongoing, quick reference. Each method is presented in a two-page format. The left-hand page contains a concise description of the method, accompanied by references for further reading. On the right-hand page, images and cases studies for each method are presented visually. The relevant phases for design application are highlighted as numbered icons along the right side of the page, from phases 1 (planning) through 5 (launch and monitor).Build more meaningful products with these methods and more: A/B Testing, Affinity Diagramming, Behavioral Mapping, Bodystorming, Contextual Design, Critical Incident Technique, Directed Storytelling, Flexible Modeling, Image Boards, Graffiti Walls, Heuristic Evaluation, Parallel Prototyping, Simulation Exercises, Touchstone Tours, and Weighted Matrix.  This essential guide:Dismantles the myth that user research methods are complicated, expensive, and time-consumingCreates a shared meaning for cross-disciplinary design teamsIllustrates methods with compelling visualizations and case studiesCharacterizes each method at a glanceIndicates when methods are best employed to help prioritize appropriate design research strategiesUniversal Methods of Design is an essential resource for designers of all levels and specializations.

Information Architecture: Blueprints for the Web


Christina Wodtke - 2002
    This book is useful for designers, project managers, programmers, and other information architecture practitioners.

Naked Statistics: Stripping the Dread from the Data


Charles Wheelan - 2012
    How can we catch schools that cheat on standardized tests? How does Netflix know which movies you’ll like? What is causing the rising incidence of autism? As best-selling author Charles Wheelan shows us in Naked Statistics, the right data and a few well-chosen statistical tools can help us answer these questions and more.For those who slept through Stats 101, this book is a lifesaver. Wheelan strips away the arcane and technical details and focuses on the underlying intuition that drives statistical analysis. He clarifies key concepts such as inference, correlation, and regression analysis, reveals how biased or careless parties can manipulate or misrepresent data, and shows us how brilliant and creative researchers are exploiting the valuable data from natural experiments to tackle thorny questions.And in Wheelan’s trademark style, there’s not a dull page in sight. You’ll encounter clever Schlitz Beer marketers leveraging basic probability, an International Sausage Festival illuminating the tenets of the central limit theorem, and a head-scratching choice from the famous game show Let’s Make a Deal—and you’ll come away with insights each time. With the wit, accessibility, and sheer fun that turned Naked Economics into a bestseller, Wheelan defies the odds yet again by bringing another essential, formerly unglamorous discipline to life.

Programming Collective Intelligence: Building Smart Web 2.0 Applications


Toby Segaran - 2002
    With the sophisticated algorithms in this book, you can write smart programs to access interesting datasets from other web sites, collect data from users of your own applications, and analyze and understand the data once you've found it.Programming Collective Intelligence takes you into the world of machine learning and statistics, and explains how to draw conclusions about user experience, marketing, personal tastes, and human behavior in general -- all from information that you and others collect every day. Each algorithm is described clearly and concisely with code that can immediately be used on your web site, blog, Wiki, or specialized application. This book explains:Collaborative filtering techniques that enable online retailers to recommend products or media Methods of clustering to detect groups of similar items in a large dataset Search engine features -- crawlers, indexers, query engines, and the PageRank algorithm Optimization algorithms that search millions of possible solutions to a problem and choose the best one Bayesian filtering, used in spam filters for classifying documents based on word types and other features Using decision trees not only to make predictions, but to model the way decisions are made Predicting numerical values rather than classifications to build price models Support vector machines to match people in online dating sites Non-negative matrix factorization to find the independent features in a dataset Evolving intelligence for problem solving -- how a computer develops its skill by improving its own code the more it plays a game Each chapter includes exercises for extending the algorithms to make them more powerful. Go beyond simple database-backed applications and put the wealth of Internet data to work for you. "Bravo! I cannot think of a better way for a developer to first learn these algorithms and methods, nor can I think of a better way for me (an old AI dog) to reinvigorate my knowledge of the details."-- Dan Russell, Google "Toby's book does a great job of breaking down the complex subject matter of machine-learning algorithms into practical, easy-to-understand examples that can be directly applied to analysis of social interaction across the Web today. If I had this book two years ago, it would have saved precious time going down some fruitless paths."-- Tim Wolters, CTO, Collective Intellect

A Practical Guide to Designing for the Web


Mark Boulton - 2009
    Featuring five sections, each covering a core aspect of graphic design: Getting Started, Research, Typography, Colour, and Layout. Learn solid graphic design theory that you can simply apply to your designs, making the difference from a good design to a great one.http://designingfortheweb.co.uk

Programming TypeScript: Making Your JavaScript Applications Scale


Boris Cherny - 2019
    That’s why Facebook, Google, and Microsoft invented gradual static type layers for their dynamically typed JavaScript and Python code. This practical book shows you how one such type layer, TypeScript, is unique among them: it makes programming fun with its powerful static type system.If you’re a programmer with intermediate JavaScript experience, author Boris Cherny will teach you how to master the TypeScript language. You’ll understand how TypeScript can help you eliminate bugs in your code and enable you to scale your code across more engineers than you could before.In this book, you’ll: Start with the basics: Learn about TypeScript’s different types and type operators, including what they’re for and how they’re used Explore advanced topics: Understand TypeScript’s sophisticated type system, including how to safely handle errors and build asynchronous programs Dive in hands-on: Use TypeScript with your favorite frontend and backend frameworks, migrate your existing JavaScript project to TypeScript, and run your TypeScript application in production

jQuery in Action


Bear Bibeault - 2008
    Developers of every stripe-hobbyists and professionals alike-fall in love with jQuery the minute they've reduced 20 lines of clunky JavaScript into three lines of elegant, readable code. This new, concise JavaScript library radically simplifies how you traverse HTML documents, handle events, perform animations, and add Ajax interactions to your web pages.jQuery in Action, like jQuery itself, is a concise tool designed to make you a more efficient and effective web developer. In a short 300 pages, this book introduces you to the jQuery programming model and guides you through the major features and techniques you'll need to be productive immediately. The book anchors each new concept in the tasks you'll tackle in day-to-day web development and offers unique lab pages where you immediately put your jQuery knowledge to work.There are dozens of JavaScript libraries available now, with major companies like Google, Yahoo and AOL open-sourcing their in-house tools. This book shows you how jQuery stacks up against other libraries and helps you navigate interaction with other tools and frameworks.jQuery in Action offers a rich investigation of the up-and-coming jQuery library for client-side JavaScript. This book covers all major features and capabilities in a manner focused on getting the reader up and running with jQuery from the very first sections. Web Developers reading this book will gain a deep understanding of how to use jQuery to simplify their pages and lives, as well as learn the philosophy behind writing jQuery-enhanced pages.

Things We Think About Games


Will Hindmarch - 2008
    It is essential reading for designer, critic, and straight-up rank 'n' file gamer alike." --Robin D. Laws, creator of HeroQuest and Feng Shui Will Hindmarch and Jeff Tidball think a lot about games. At their commentary website, Gameplaywright.net, they think out loud about what it means to play games, make games, sell games, and love games. They are gamers. Here, with fellow game designers and notable game players, they think out loud on paper in the first Gameplaywright book. Things We Think About Games collects dozens on dozens of bite-sized thoughts about games. From the absurd to the magnificent, the demonstrable to the dogmatic, this collection spans both the breadth of games--board, card, roleplaying and more--and the depth of gaming, offering insights about collecting, playing, critiquing, designing, and publishing.

Python for Data Analysis


Wes McKinney - 2011
    It is also a practical, modern introduction to scientific computing in Python, tailored for data-intensive applications. This is a book about the parts of the Python language and libraries you'll need to effectively solve a broad set of data analysis problems. This book is not an exposition on analytical methods using Python as the implementation language.Written by Wes McKinney, the main author of the pandas library, this hands-on book is packed with practical cases studies. It's ideal for analysts new to Python and for Python programmers new to scientific computing.Use the IPython interactive shell as your primary development environmentLearn basic and advanced NumPy (Numerical Python) featuresGet started with data analysis tools in the pandas libraryUse high-performance tools to load, clean, transform, merge, and reshape dataCreate scatter plots and static or interactive visualizations with matplotlibApply the pandas groupby facility to slice, dice, and summarize datasetsMeasure data by points in time, whether it's specific instances, fixed periods, or intervalsLearn how to solve problems in web analytics, social sciences, finance, and economics, through detailed examples

Functional JavaScript: Introducing Functional Programming with Underscore.js


Michael Fogus - 2013
    Each topic illustrated with pointed examples. You’ll also get a thorough reference to the Underscore.js library and its idioms, including:ClosuresApplicative programmingLazinessImmutabilityHigher-order functionsPurityCombinatorsCurrying and partial application