proceedings of the 22nd International Symposium on Implementation and
Applications of Functional Languages, IFL 2010, held in Alphen aan den
Rijn, The Netherlands, in September 2010.
The 13 revised full papers presented were carefully reviewed and were
selected from 31 submissions. The IFL symposia bring together
researchers and practitioners that are actively engaged in the
implementation and the use of functional and function based programming
languages. Every year IFL provides a venue for the presentation and
discussion of new ideas and concepts, of work in progress, and of
Why do some games become boring quickly, while others remain fun for years? How do games serve as fundamental and powerful learning tools? Whether you’re a game developer, dedicated gamer, or curious observer, this illustrated, fully updated edition helps you understand what drives this major cultural force, and inspires you to take it further.
You’ll discover that:Games play into our innate ability to seek patterns and solve puzzlesMost successful games are built upon the same elementsSlightly more females than males now play gamesMany games still teach primitive survival skillsFictional dressing for modern games is more developed than the conceptual elementsTruly creative designers seldom use other games for inspirationGames are beginning to evolve beyond their prehistoric origins
This innovative, comprehensive book examines the user-centered design process from the perspective of a designer. With rich imagery, Interactive Design introduces the different UX players, outlines the user-centered design process from user research to user testing, and explains through various examples how user-centered design has been successfully integrated into the design process of a variety of design studios worldwide.
Using everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone who’s ever wondered about the secret inner life of computers and other smart machines.
It’s a cleverly illustrated and eminently comprehensible story—and along the way, you’ll discover you’ve gained a real context for understanding today’s world of PCs, digital media, and the Internet. No matter what your level of technical savvy, CODE will charm you—and perhaps even awaken the technophile within.
Written by the founders of Processing, this book takes you through the learning process one step at a time to help you grasp core programming concepts. You'll learn how to sketch with code -- creating a program with one a line of code, observing the result, and then adding to it. Join the thousands of hobbyists, students, and professionals who have discovered this free and educational community platform.Quickly learn programming basics, from variables to objects Understand the fundamentals of computer graphics Get acquainted with the Processing software development environment Create interactive graphics with easy-to-follow projects Use the Arduino open source prototyping platform to control your Processing graphics
The fact is your brain craves novelty. It's constantly searching, scanning, waiting for something unusual to happen. After all, that's the way it was built to help you stay alive. It takes all the routine, ordinary, dull stuff and filters it to the background so it won't interfere with your brain's real work--recording things that matter. How does your brain know what matters? It's like the creators of the Head First approach say, suppose you're out for a hike and a tiger jumps in front of you, what happens in your brain? Neurons fire. Emotions crank up. Chemicals surge.
That's how your brain knows.
And that's how your brain will learn Java. Head First Java combines puzzles, strong visuals, mysteries, and soul-searching interviews with famous Java objects to engage you in many different ways. It's fast, it's fun, and it's effective. And, despite its playful appearance, Head First Java is serious stuff: a complete introduction to object-oriented programming and Java. You'll learn everything from the fundamentals to advanced topics, including threads, network sockets, and distributed programming with RMI. And the new. second edition focuses on Java 5.0, the latest version of the Java language and development platform. Because Java 5.0 is a major update to the platform, with deep, code-level changes, even more careful study and implementation is required. So learning the Head First way is more important than ever.
If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. If you haven't, you're in for a treat. You'll see why people say it's unlike any other Java book you've ever read.
By exploiting how your brain works, Head First Java compresses the time it takes to learn and retain--complex information. Its unique approach not only shows you what you need to know about Java syntax, it teaches you to think like a Java programmer. If you want to be bored, buy some other book. But if you want to understand Java, this book's for you.
Topics include:The pros and cons of braced initialization, noexcept specifications, perfect forwarding, and smart pointer make functionsThe relationships among std::move, std::forward, rvalue references, and universal referencesTechniques for writing clear, correct, effective lambda expressionsHow std::atomic differs from volatile, how each should be used, and how they relate to C++'s concurrency APIHow best practices in "old" C++ programming (i.e., C++98) require revision for software development in modern C++
Effective Modern C++ follows the proven guideline-based, example-driven format of Scott Meyers' earlier books, but covers entirely new material.
"After I learned the C++ basics, I then learned how to use C++ in production code from Meyer's series of Effective C++ books. Effective Modern C++ is the most important how-to book for advice on key guidelines, styles, and idioms to use modern C++ effectively and well. Don't own it yet? Buy this one. Now".
-- Herb Sutter, Chair of ISO C++ Standards Committee and C++ Software Architect at Microsoft
“Artfully envisions a breathtakingly better world.” —Los Angeles Times
“Elaborate, smart and persuasive.” —The Boston Globe
“A pleasure to read.” —The Wall Street Journal
One of CBS News’s Best Fall Books of 2005 • Among St Louis Post-Dispatch’s Best Nonfiction Books of 2005 • One of Amazon.com’s Best Science Books of 2005
A radical and optimistic view of the future course of human development from the bestselling author of How to Create a Mind and The Age of Spiritual Machines who Bill Gates calls “the best person I know at predicting the future of artificial intelligence”
For over three decades, Ray Kurzweil has been one of the most respected and provocative advocates of the role of technology in our future. In his classic The Age of Spiritual Machines, he argued that computers would soon rival the full range of human intelligence at its best. Now he examines the next step in this inexorable evolutionary process: the union of human and machine, in which the knowledge and skills embedded in our brains will be combined with the vastly greater capacity, speed, and knowledge-sharing ability of our creations.
From the Trade Paperback edition.
This practical guide focuses on principles, tactics, and actionable methods for presenting your designs. Whether you design UX, websites, or products, you’ll learn how to win over anyone who has influence over the project—with the goal of creating the best experience for the end user.Walk through the process of preparing for and presenting your designsUnderstand stakeholder perspectives, and learn how to empathize with themCultivate both implicit and explicit listening skillsLearn tactics and formulas for expressing the most effective response to feedbackDiscover why the way you follow through is just as crucial as the meeting itselfEducate your stakeholders by sharing the chapter from this book on how to work with designers
A Huffington Post Definitive Tech Book of 2013
Artificial Intelligence helps choose what books you buy, what movies you see, and even who you date. It puts the "smart" in your smartphone and soon it will drive your car. It makes most of the trades on Wall Street, and controls vital energy, water, and transportation infrastructure. But Artificial Intelligence can also threaten our existence.
In as little as a decade, AI could match and then surpass human intelligence. Corporations and government agencies are pouring billions into achieving AI's Holy Grail—human-level intelligence. Once AI has attained it, scientists argue, it will have survival drives much like our own. We may be forced to compete with a rival more cunning, more powerful, and more alien than we can imagine.
Through profiles of tech visionaries, industry watchdogs, and groundbreaking AI systems, Our Final Invention explores the perils of the heedless pursuit of advanced AI. Until now, human intelligence has had no rival. Can we coexist with beings whose intelligence dwarfs our own? And will they allow us to?
Ideal for anyone involved in the process of creating websites—not just developers—this book teaches you fundamental strategies and techniques for using HTML and CSS to design websites that not only adapt to any screen size, but also use progressive enhancement to provide a better user experience based on device capabilities such as touchscreens and retina displays.Start with content strategy before creating a visual designLearn why your default design should be for the narrowest screensExplore the HTML elements and CSS properties essential for responsive web designUse media queries to display different CSS styles based on a device’s viewport widthHandle elements such as images, typography, and navigationUse performance optimization techniques to make your site lighter and faster
Whether you’re an entrepreneur, UX/UI designer, product manager, or part of an intrapreneurial team, this book teaches simple-to-advanced strategies that you can use in your work right away. Along with business cases, historical context, and real-world examples throughout, you’ll also gain different perspectives on the subject through interviews with top strategists.Define and validate your target users through provisional personas and customer discovery techniquesConduct competitive research and analysis to explore a crowded marketplace or an opportunity to create unique valueFocus your team on the primary utility and business model of your product by running structured experiments using prototypesDevise UX funnels that increase customer engagement by mapping desired user actions to meaningful metrics
—Andrew Hedges, Tapulous
vi has been the standard editor for close to 30 years. Popular on Unix and Linux, it has a growing following on Windows systems, too. Most experienced system administrators cite vi as their tool of choice. And since 1986, this book has been the guide for vi.
However, Unix systems are not what they were 30 years ago, and neither is this book. While retaining all the valuable features of previous editions, the 7th edition of Learning the vi and vim Editors has been expanded to include detailed information on vim, the leading vi clone. vim is the default version of vi on most Linux systems and on Mac OS X, and is available for many other operating systems too.
With this guide, you learn text editing basics and advanced tools for both editors, such as multi-window editing, how to write both interactive macros and scripts to extend the editor, and power tools for programmers -- all in the easy-to-follow style that has made this book a classic.
Learning the vi and vim Editors includes:
A complete introduction to text editing with vi:How to move around vi in a hurryBeyond the basics, such as using buffersvi's global search and replacementAdvanced editing, including customizing vi and executing Unix commands
How to make full use of vim:Extended text objects and more powerful regular expressionsMulti-window editing and powerful vim scriptsHow to make full use of the GUI version of vim, called gvimvim's enhancements for programmers, such as syntax highlighting, folding and extended tags
Coverage of three other popular vi clones -- nvi, elvis, and vile -- is also included. You'll find several valuable appendixes, including an alphabetical quick reference to both vi and ex mode commands for regular vi and for vim, plus an updated appendix on vi and the Internet.
Learning either vi or vim is required knowledge if you use Linux or Unix, and in either case, reading this book is essential. After reading this book, the choice of editor will be obvious for you too.
Ray Kurzweil is arguably today’s most influential—and often controversial—futurist. In How to Create a Mind, Kurzweil presents a provocative exploration of the most important project in human-machine civilization—reverse engineering the brain to understand precisely how it works and using that knowledge to create even more intelligent machines.
Kurzweil discusses how the brain functions, how the mind emerges from the brain, and the implications of vastly increasing the powers of our intelligence in addressing the world’s problems. He thoughtfully examines emotional and moral intelligence and the origins of consciousness and envisions the radical possibilities of our merging with the intelligent technology we are creating.
Certain to be one of the most widely discussed and debated science books of the year, How to Create a Mind is sure to take its place alongside Kurzweil’s previous classics which include Fantastic Voyage: Live Long Enough to Live Forever and The Age of Spiritual Machines.
From the Hardcover edition.
Jeff Hawkins, the man who created the PalmPilot, Treo smart phone, and other handheld devices, has reshaped our relationship to computers. Now he stands ready to revolutionize both neuroscience and computing in one stroke, with a new understanding of intelligence itself.
Hawkins develops a powerful theory of how the human brain works, explaining why computers are not intelligent and how, based on this new theory, we can finally build intelligent machines.
The brain is not a computer, but a memory system that stores experiences in a way that reflects the true structure of the world, remembering sequences of events and their nested relationships and making predictions based on those memories. It is this memory-prediction system that forms the basis of intelligence, perception, creativity, and even consciousness.
In an engaging style that will captivate audiences from the merely curious to the professional scientist, Hawkins shows how a clear understanding of how the brain works will make it possible for us to build intelligent machines, in silicon, that will exceed our human ability in surprising ways.
Written with acclaimed science writer Sandra Blakeslee, On Intelligence promises to completely transfigure the possibilities of the technology age. It is a landmark book in its scope and clarity.
Introducing JavaFX 8 Programming provides a fast-paced introduction to JavaFX, Java’s next-generation GUI programming tool
In this easy-to-read guide from Oracle Press, Java guru Herb Schildt presents the key topics and concepts that all Java developers will need to begin developing modern, dynamic JavaFX GUI applications. Of course, it’s written in the cohesive, yet concise format that has made Schildt an international best-selling programming author. Designed expressly for Java programmers, the book’s focus is on the new JavaFX API. As a result, all examples are written entirely in Java. The book begins with the fundamentals, including the general form of a JavaFX program. Readers then advance to event handling, controls, images, fonts, layers, effects, transforms, animation s (including 3D animations), menus, and more. Numerous complete examples are included that put key topics and techniques into action.Presents a cohesive, fast-paced overview of key facets of JavaFX 8 programming Sample code used in the text is available for download from the McGraw-Hill/Oracle Press Web site Written in Herb Schildt’s clear, crisp, uncompromising style that has made him the choice of millions worldwide
Forget dry, technical material. This book—based on the wildly popular UX Crash Course from Joel Marsh’s blog The Hipper Element—is laced with the author's snarky brand of humor, and teaches UX in a simple, practical way. Becoming a professional doesn’t have to be boring.
Follow the real-life UX process from start-to-finish and apply the skills as you learn, or refresh your memory before the next meeting. UX for Beginners is perfect for non-designers who want to become designers, managers who teach UX, and programmers, salespeople, or marketers who want to learn more.Start from scratch: the fundamentals of UXResearch the weird and wonderful things users doThe process and science of making anything user-friendlyUse size, color, and layout to help and influence usersPlan and create wireframesMake your designs feel engaging and persuasiveMeasure how your design works in the real worldFind out what a UX designer does all day
Rather than focus on design, CSS Secrets shows you how to solve problems with code. You'll learn how to apply Lea's analytical approach to practically every CSS problem you face to attain DRY, maintainable, flexible, lightweight, and standards-compliant results.
Inspired by her popular talks at over 60 international web development conferences, Lea Verou provides a wealth of information for topics including:Backgrounds and BordersShapesVisual EffectsTypographyUser ExperienceStructure and LayoutTransitions and Animations
You’ll learn how to avoid common mistakes, make informed decisions about application design, and elevate the ordinary. We’ll review three key principles that affect application design – consistency, hierarchy, and personality – and illustrate how to apply tools like typography, color, and layout to digital application design. Whether you’re a UI professional looking to fine-tune your skills, a developer who cares about making applications beautiful and usable, or someone entirely new to the design arena, Visual Usability is your one-stop, practical guide to visual design.Discover the principles and rules that underlie successful application design Learn how to develop a rationale to support design strategy and move teams forwardMaster the visual design toolkit to increase user-friendliness and make complicated processes feel straightforward for your product
Using a top down approach, Pro Android UI shows you how to design and develop the best user interface for your app, while taking into account the varying device form factors in the increasingly fragmented Android environment. Pro Android UI aims to be the ultimate reference and customization cookbook for your Android UI Design, and as such will be useful to experienced developers as well as beginners.
With Android’s powerful UI layout classes, you can easily create everything from the simplest of lists to fully tricked-out user interfaces. While using these UI classes for boring, standard user interfaces can be quite simple, customizing a unique UI design can often become extremely challenging.
You Will Learn Python!
Zed Shaw has perfected the world's best system for learning Python. Follow it and you will succeed-just like the hundreds of thousands of beginners Zed has taught to date! You bring the discipline, commitment, and persistence; the author supplies everything else.
In Learn Python the Hard Way, Third Edition, you'll learn Python by working through 52 brilliantly crafted exercises. Read them. Type their code precisely. (No copying and pasting!) Fix your mistakes. Watch the programs run. As you do, you'll learn how software works; what good programs look like; how to read, write, and think about code; and how to find and fix your mistakes using tricks professional programmers use. Most importantly, you'll learn the following, which you need to start writing excellent Python software of your own:Installing a complete Python environment Organizing and writing code Basic mathematics Variables Strings and text Interacting with users Working with files Looping and logic Data structures using lists and dictionaries Program design Object-oriented programming Inheritance and composition Modules, classes, and objects Python packaging Debugging Automated testing Basic game development Basic web development
It'll be hard at first. But soon, you'll just get it-and that will feel great!
This tutorial will reward you for every minute you put into it. Soon, you'll know one of the world's most powerful, popular programming languages. You'll be a Python programmer.
Watch Zed, too! The accompanying DVD contains 5+ hours of passionate, powerful teaching: a complete Python video course!
Covering the JavaFX API, development tools, and best practices, this book provides code examples that explore the exciting new features provided with JavaFX 8 which comes as part of Oracle's new Java (SE) 8 release. This book also contains engaging tutorials that cover virtually every facet of JavaFX development and reference materials on JavaFX that augment the JavaFX API documentation.
After reading and using this book, you'll have the authoritative knowledge that should give you an edge in your next JavaFX-based application projects for your job or your clients.
The book starts with an introduction to JavaFX and its history. It lists the system requirements and the steps to start developing JavaFX applications. It shows you how to create a Hello World application in JavaFX, explaining every line of code in the process. Later in the book, author Kishori Sharan discusses advanced topics such as 2D and 3D graphics, charts, FXML, advanced controls, and printing. Some of the advanced controls such as TableView, TreeTableView and WebView are covered at length in separate chapters.
This book provides complete and comprehensive coverage of JavaFX 8 features; uses an incremental approach to teach JavaFX, assuming no prior GUI knowledge; includes code snippets, complete programs, and pictures; covers MVC patterns using JavaFX; and covers advanced topics such as FXML, effects, transformations, charts, images, canvas, audio and video, DnD, and more. So, after reading and using this book, you'll come away with a comprehensive introduction to the JavaFX APIs as found in the new Java 8 platform.
Entirely example-based, JavaFX 8: Introduction by Example begins with the fundamentals of installing the software and creating a simple interface. From there, you'll move in progressive steps through the process of developing applications using JavaFX’s standard drawing primitives. You'll then explore images, animations, media, and web. This new edition incorporates the changes resulting from the switch to Java 8 SDK. It covers advanced topics such as custom controls, JavaFX 3D, gesture devices, and embedded systems. Best of all, the book is full of working code that you can adapt and extend to all your future projects.Entirely example-based Filled with fun and practical code examples Covers all that's new in Java 8 relating to JavaFX such as Lambda expressions and StreamsCovers gesture devices, 3D display, embedded systems, and other advanced topics
Perfect for beginning web developers, this thoroughly revised edition teaches you the basics of installing and using Rails 2.1 and the Ruby scripting language. While Rails is praised for its simplicity, there are still a few tricky steps to master along the way. Rails: Up and Running offers lots of examples and covers just about everything you need to build functional Rails applications right away. Learn how to:Create simple database-backed applications, and build dynamic user-centric web pages using Ajax and RESTExploit the Rails service frameworks to send emails and implement web servicesMap data to an imperfect table, traverse complex relationships, and build custom findersUse techniques to solve common database performance problems
See how fast you can go on Rails, and how reliable it's become with the stability and power of version 2.1. With Rails: Up and Running, you'll discover why Rails is a remarkable new way to build database-driven web applications.
The important stuff you need to know:Start with the basics. Write CSS-friendly HTML, including the HTML5 tags recognized by today’s browsers.Design for mobile devices. Create web pages that look great when visitors use them on the go.Make your pages work for you. Add animations that capture the imagination, and forms that get the job done.Take control of page layouts. Use professional design techniques such as floats and positioning.Make your layouts more flexible. Design websites with Flexbox that adjust to different devices and screen sizes.Work more efficiently. Write less CSS code and work with smaller files, using Syntactically Awesome Stylesheets (Sass).
Consistently praised as the best volume on classic elements of web site design, Web Style Guide has sold many thousands of copies and has been published around the world. This new revised edition confirms Web Style Guide as the go-to authority in a rapidly changing market. As web designers move from building sites from scratch to using content management and aggregation tools, the book’s focus shifts away from code samples and toward best practices, especially those involving mobile experience, social media, and accessibility. An ideal reference for web site designers in corporations, government, nonprofit organizations, and academic institutions, the book explains established design principles and covers all aspects of web design—from planning to production to maintenance. The guide also shows how these principles apply in web design projects whose primary concerns are information design, interface design, and efficient search and navigation.
Complete with quizzes, exercises, and helpful illustrations, this easy-to-follow, self-paced tutorial gets you started with both Python 2.7 and 3.3— the latest releases in the 3.X and 2.X lines—plus all other releases in common use today. You’ll also learn some advanced language features that recently have become more common in Python code.Explore Python’s major built-in object types such as numbers, lists, and dictionariesCreate and process objects with Python statements, and learn Python’s general syntax modelUse functions to avoid code redundancy and package code for reuseOrganize statements, functions, and other tools into larger components with modulesDive into classes: Python’s object-oriented programming tool for structuring codeWrite large programs with Python’s exception-handling model and development toolsLearn advanced Python tools, including decorators, descriptors, metaclasses, and Unicode processing
Visualize This demonstrates how to explain data visually so that you can present your information in a way that is easy to understand and appealing.
More conversions, fewer dissatisfied users, better return on investment. Can you afford not to improve your forms' user experiences?
This book will walk you through every part of designing a great forms user experience. From the words, to how the form looks, and on to interactivity, you'll learn how to design a web form that works beautifully on mobiles, laptops and desktops. Filled with practical and engaging insights, and plenty of real-world examples, both good and bad.
You'll learn answers to common queries like:Where should field labels go?What makes a question easy to understand?How do you design forms to work on small screens?How does touch impact on form design?How long can a form be?What look and feel should the form have: skeumorphic, flat, or something else?What's best practice for error messaging?
Discover the timeless techniques and strategies that help you:
Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor—or evolve—code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project
Would you like to be able to access your most important files anywhere you go? Even better, would you like to be able to do it without bringing a flash drive with the files with you? Would you like to be able to share files with anyone automatically without having to send them anything? And they would be able to do the same for you.
Dropbox lets you do all of this--and more! This revolutionary cloud technology has a multitude of benefits, many of which that will help you be more productive in your job and school work. Warren R. Sullivan has written a guide to Dropbox that is perfect for everyone, from beginners to those who are looking for more advanced ways to use Dropbox.
The important stuff you need to know:Transfer your stuff. Moving files from a PC to a Mac by cable, network, or disk is the easy part. But how do you extract your email, address book, calendar, Web bookmarks, buddy list, desktop pictures, and MP3 files? Now you’ll know.Recreate your software suite. Many of the PC programs you’ve been using are Windows-only. Discover the Mac equivalents and learn how to move data to them.Learn Yosemite. Apple’s latest operating system is faster, smarter, and more in tune with iPads and iPhones. If Yosemite has it, this book covers it.Get the expert view. Learn from Missing Manuals creator David Pogue—author of OS X Yosemite: The Missing Manual, the #1 bestselling Mac book on earth.
* Provides just enough background into the reasoning behind interface design rules that practitioners can make informed decisions in every project.
* Gives practitioners the insight they need to make educated design decisions when confronted with tradeoffs, including competing design rules, time constrictions, or limited resources.
Are you writing two websites – one for mobile and one for larger displays? Or perhaps you've already implemented your first 'RWD' but are struggling bring it all together? If so, Responsive Web Design with HTML5 and CSS3, Second Edition gives you everything you need to take your web sites to the next level.
You'll need some HTML and CSS knowledge to follow along, but everything you need to know about Responsive Design and making great websites is included in the book!What You Will LearnUnderstand what responsive design is, and why it's vital for modern web developmentHTML5 markup is cleaner, faster, and more semantically rich than anything that has come before - learn how to use it and its latest featuresIntegrate CSS3 media queries into your designs to use different styles for different media. You'll also learn about future media queries which are evolving in CSS4.Responsive images allow different images to be presented in different scenarios. We'll cover how to load different sets of images depending upon screen size or resolution and how to display different images in different contexts.Conquer forms! Add validation and useful interface elements like date pickers and range sliders with HTML5 markup alone.Implement SVGs into your responsive designs to provide resolution independent images, and learn how to adapt and animate themLearn how to use the latest features of CSS including custom fonts, nth-child selectors (and some CSS4 selectors), CSS custom properties (variables), and CSS calcIn Detail
Desktop-only websites just aren't good enough anymore. With mobile internet usage still rising, and tablets changing internet consumption habits, you need to know how to build websites that will just 'work', regardless of the devices used to access them. This second edition of Responsive Web Design with HTML5 and CSS3 explains all the key approaches necessary to create and maintain a modern responsive design.
The changing way in which we access the web means that there has never been a greater range of screen sizes and associated user experiences to consider. With these recent trends driving changes in design, typical desktop-only websites fail to meet even minimum expectations when it comes to style and usability, which can be vital when your website is central to yours or your client's brand. Responsive Web Design with HTML5 and CSS3, Second Edition is an updated and improved guide that responds to the latest challenges and trends in web design, giving you access to the most effective approaches to modern responsive design.
Learn how to build websites with a “responsive and mobile first” methodology, allowing a website to display effortlessly on every device that accesses it. Packed with examples, and a thorough explanation of modern techniques and syntax, Responsive Web Design with HTML5 and CSS3, Second Edition provides a comprehensive resource for all things 'responsive'.
This updated new edition covers all the most up-to-date techniques and tools needed to build great responsive designs, ensuring that your projects won't just be built 'right' for today, but in the future too.
Chapter example code is all hosted on rwd.education, a dedicated site for the book, built by the author, using the approaches and techniques championed throughout.Style and approach
This book should be useful in two ways: as a 'read from the beginning and learn as you go' resource but also as a reference you can come back to in the months to come – when trying to remember this or that syntax or look up a link that may help you out of a development hell-hole.
To this end, rather than follow a single design through from chapter one and build on it incrementally until the end of the book, each chapter exists in relative isolation.
This means that code and examples are particular to each chapter and don't need to be considered along with what has gone before or after.
That doesn't mean that each chapter's techniques won't work in unison; the reference site for this book, rwd.education is an example of them all working in harmony.
However, by limiting the chapter examples to the topic at hand, it should be simpler for you to understand and reference the essence of each example and topic in the future.
No prior experience in UX or design is necessary to get started. If you’re an entrepreneur or an innovator, this book puts you right to work with proven tips and tools for researching, identifying, and designing an intuitive, easy-to-use product.Determine whether people will buy your product before you build itListen to your customers throughout the product’s lifecycleUnderstand why you should design a test before you design a productGet nine tools that are critical to designing your productDiscern the difference between necessary features and nice-to-havesLearn how a Minimum Viable Product affects your UX decisionsUse A/B testing in conjunction with good UX practicesSpeed up your product development process without sacrificing quality
The Accessibility Handbook introduces you to several audiences that have difficulty using today’s complex websites, including people with blindness, hearing loss, physical disabilities, and cognitive disorders. Learn how to support assistive technologies, and understand which fonts, colors, page layouts, and other design elements work best—without having to exclude advanced functions, hire outside help, or significantly increase overhead.
Develop solutions that accommodate:Complete blindness. Create a logical document flow to support screen readersLow vision and color blindness. Optimize images and color schemes, and ensure your site enlarges gracefullyHearing impairment. Provide video captions and visual alerts for interactive featuresPhysical disabilities. Make forms, popups, and navigation easier to useCognitive disorders. Adapt fonts and text styles for dyslexic users, and design consistent, well-organized pages for people with ADHD
Each method presented provides different information about the users and their requirements (e.g., functional requirements, information architecture). The techniques can be used together to form a complete picture of the users' needs or they can be used separately throughout the product development lifecycle to address specific product questions. These techniques have helped product teams understand the value of user experience research by providing insight into how users behave and what they need to be successful. You will find brand new case studies from leaders in industry and academia that demonstrate each method in action.
This book has something to offer whether you are new to user experience or a seasoned UX professional. After reading this book, you'll be able to choose the right user research method for your research question and conduct a user research study. Then, you will be able to apply your findings to your own products.Completely new and revised edition includes 30+% new content!Discover the foundation you need to prepare for any user research activity and ensure that the results are incorporated into your products Includes all new case studies for each method from leaders in industry and academia
The gap between who designers and developers imagine their users are, and who those users really are can be the biggest problem with product development. Observing the User Experience will help you bridge that gap to understand what your users want and need from your product, and whether they'll be able to use what you've created.
Filled with real-world experience and a wealth of practical information, this book presents a complete toolbox of techniques to help designers and developers see through the eyes of their users. It provides in-depth coverage of 13 user experience research techniques that will provide a basis for developing better products, whether they're Web, software or mobile based. In addition, it's written with an understanding of how software is developed in the real world, taking tight budgets, short schedules, and existing processes into account.
·Explains how to create usable products that are still original, creative, and unique
·A valuable resource for designers, developers, project managers—anyone in a position where their work comes in direct contact with the end user.
·Provides a real-world perspective on research and provides advice about how user research can be done cheaply, quickly and how results can be presented persuasively
·Gives readers the tools and confidence to perform user research on their own designs and tune their software user experience to the unique needs of their product and its users
Designing Gestural Interfaces provides you with essential information about kinesiology, sensors, ergonomics, physical computing, touchscreen technology, and new interface patterns -- all you need to know to augment your existing skills in "traditional" web design, software, or product development. Packed with informative illustrations and photos, this book helps you:Get an overview of technologies surrounding touchscreens and interactive environmentsLearn the process of designing gestural interfaces, from documentation to prototyping to communicating to the audience what the product doesExamine current patterns and trends in touchscreen and gestural designLearn about the techniques used by practicing designers and developers todaySee how other designers have solved interface challenges in the pastLook at future trends in this rapidly evolving field
Only six years ago, the gestural interfaces introduced in the film Minority Report were science fiction. Now, because of technological, social, and market forces, we see similar interfaces deployed everywhere. Designing Gestural Interfaces will help you enter this new world of possibilities.
The ever increasing speed of advances in technology and neuroscience, coupled with the creation of super computers and enhanced body parts and artificial limbs, is paving the way for a merger of both human and machine.
Devices which were once worn on the body are now being implanted into the body, and as a result, a class of true cyborgs, who are displaying a range of skills beyond those of normal humans-beings, are being created. There are cyborgs which can see colour by hearing sound, others have the ability to detect magnetic fields, some are equipped with telephoto lenses to aid their vision or implanted computers to monitor their heart, and some use thought to communicate with a computer or to manipulate a robotic arm. This is not science-fiction, these are developments that are really happening now, and will continue to develop in the future. However, a range of legal and policy questions has arisen alongside this rise of artificial intelligence.
Cyber-Humans provides a deep and unique perspective on the technological future of humanity, and describes how law and policy will be particularly relevant in creating a fair and equal society and protecting the liberties of different life forms which will emerge in the 21st century.
Dr Woodrow (Woody) Barfield previously headed up the Sensory Engineering Laboratory, holding the position of Industrial and Systems Engineering Professor at the University of Washington. His research revolves around the design and use of wearable computers and augmented reality systems and holds both JD and LLM degrees in intellectual property law and policy. He has published over 350 articles and major presentations in the areas of computer science, engineering and law. He currently lives in Chapel Hill, NC, USA.
Inside, you'll learn about:
Interaction design and physical computingThe Arduino hardware and software development environmentBasics of electricity and electronicsPrototyping on a solderless breadboardDrawing a schematic diagram
And more. With inexpensive hardware and open-source software components that you can download free, getting started with Arduino is a snap. To use the introductory examples in this book, all you need is a USB Arduino, USB A-B cable, and an LED.
Join the tens of thousands of hobbyists who have discovered this incredible (and educational) platform. Written by the co-founder of the Arduino project, with illustrations by Elisa Canducci, Getting Started with Arduino gets you in on the fun! This 128-page book is a greatly expanded follow-up to the author's original short PDF that's available on the Arduino website.
The book begins with a summary of the nontechnical aspects of interviewing, such as common mistakes, strategies for a great interview, perspectives from the other side of the table, tips on negotiating the best offer, and a guide to the best ways to use EPI.
The technical core of EPI is a sequence of chapters on basic and advanced data structures, searching, sorting, broad algorithmic principles, concurrency, and system design. Each chapter consists of a brief review, followed by a broad and thought-provoking series of problems. We include a summary of data structure, algorithm, and problem solving patterns.
“For years now, I’ve been running around preaching to anyone who’ll listen that UX is something that everybody (not just UX people) needs to be doing. Dave has done an excellent job of explaining what developers need to know about UX, in a complete but compact, easy-to-absorb, and implementable form. Developers, come and get it!”
—Steve Krug, author of Don’t Make Me Think! A Common Sense Approach to Web Usability
Master User Experience and Interaction Design from the Developer’s Perspective
For modern developers, UX expertise is indispensable: Without outstanding user experience, your software will fail. Now, David Platt has written the first and only comprehensive developer’s guide to achieving a world-class user experience.
Quality user experience isn’t hard, but it does require developers to think in new ways. The Joy of UX shows you how, with plenty of concrete examples. Firmly grounded in reality, this guide will help you optimize usability and engagement while also coping with difficult technical, schedule, and budget constraints.
Platt’s technology-agnostic approach illuminates all the principles, techniques, and best practices you need to build great user experiences for the web, mobile devices, and desktop environments. He covers the entire process, from user personas and stories through wireframes, layouts, and execution. He also addresses key issues—such as telemetry and security—that many other UX guides ignore. You’ll find all the resources and artifacts you need: complete case studies, sample design documents, testing plans, and more.
This guide shows you how to
Recognize and avoid pitfalls that lead to poor user experiences Learn the crucial difference between design and mere decoration Put yourself in your users’ shoes—understand what they want (and where, when, and why) Quickly sketch and prototype user interfaces for easy refinement Test your sketches on real users or appropriate surrogates Integrate telemetry to capture the best possible usage information Use analytics to accurately interpret the data you’ve captured Solve unique experience problems presented by mobile environments Secure your app without compromising usability any more than necessary “Polish” your UX to eliminate user effort everywhere you can
Register your product at informit.com/register for convenient access to downloads, updates, and corrections as they become available.
“The cool thing about this book is that it’s great for keeping the programming process fresh. The book helps you to continue to grow and clearly comes from people who have been there.”—Kent Beck, author of Extreme Programming Explained: Embrace Change
“I found this book to be a great mix of solid advice and wonderful analogies!”—Martin Fowler, author of Refactoring and UML Distilled
“I would buy a copy, read it twice, then tell all my colleagues to run out and grab a copy. This is a book I would never loan because I would worry about it being lost.”—Kevin Ruland, Management Science, MSG-Logistics
“The wisdom and practical experience of the authors is obvious. The topics presented are relevant and useful.... By far its greatest strength for me has been the outstanding analogies—tracer bullets, broken windows, and the fabulous helicopter-based explanation of the need for orthogonality, especially in a crisis situation. I have little doubt that this book will eventually become an excellent source of useful information for journeymen programmers and expert mentors alike.”—John Lakos, author of Large-Scale C++ Software Design
“This is the sort of book I will buy a dozen copies of when it comes out so I can give it to my clients.”—Eric Vought, Software Engineer
“Most modern books on software development fail to cover the basics of what makes a great software developer, instead spending their time on syntax or technology where in reality the greatest leverage possible for any software team is in having talented developers who really know their craft well. An excellent book.”—Pete McBreen, Independent Consultant
“Since reading this book, I have implemented many of the practical suggestions and tips it contains. Across the board, they have saved my company time and money while helping me get my job done quicker! This should be a desktop reference for everyone who works with code for a living.”—Jared Richardson, Senior Software Developer, iRenaissance, Inc.
“I would like to see this issued to every new employee at my company....”—Chris Cleeland, Senior Software Engineer, Object Computing, Inc.
“If I’m putting together a project, it’s the authors of this book that I want. . . . And failing that I’d settle for people who’ve read their book.”—Ward Cunningham
Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process--taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how toFight software rot; Avoid the trap of duplicating knowledge; Write flexible, dynamic, and adaptable code; Avoid programming by coincidence; Bullet-proof your code with contracts, assertions, and exceptions; Capture real requirements; Test ruthlessly and effectively; Delight your users; Build teams of pragmatic programmers; and Make your developments more precise with automation.
Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.
This unique and essential guide to human visual perception and related cognitive principles will enrich courses on information visualization and empower designers to see their way forward. Its updated review of empirical research and interface design examples will do much to accelerate innovation and adoption of information visualization. New to this edition are a new chapter on visual thinking, new sections on face perception and flow visualization, and a much-expanded chapter on color and color sequences.
This book will appeal to interaction designers; graphic designers of all kinds (including web designers); financial analysts; research scientists and engineers; data miners; and managers faced with information-intensive challenges.*First work to use the science of perception to help serious designers and analysts optimize understanding and perception of their data visualizations.
* Major revision of this classic work, with a new chapter on visual thinking, new sections on face perception and flow visualization, and a much expanded chapter on color and color sequences.
*New to this edition is the full color treatment throughout, to better display over 400 illustrations.