Technology and Programming Methods

331 views
298 views

Published on

A presentation for designers that reviews a range of strategies for being successful at technology and programming projects.

This presentation uses a project I worked on as an example of how to approach technical challenges. The Infiniti Interactive Mirror was developed by Nikolai Cornell (a former student) while he was at George P. Johnson, and broke significant ground in several areas. Nikolai brought me in to develop the sensor system for the gestural interactions, and advise on the interaction design.

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
331
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
66
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Technology and Programming Methods

  1. 1. Technology & Programming Methods Philip van Allen
  2. 2. Work Smarter
  3. 3. Work Smarter There is no “right way,” but there are certainly smarter ways Ask others how they have successes Be reflective about your process and improve
  4. 4. Example Project: Infiniti Interactive Mirrors http://www.nikolaicornell.com/Infiniti-Interactive-Mirrors http://www.interactivemirror.net
  5. 5. Enjoy Constant Learning Even experienced tech people start projects not knowing how they’ll be solved No one knows everything Spend a bunch of time to learn something new for the long term
  6. 6. Enjoy Constant Learning Even experienced tech people start projects not knowing how they’ll be solved No one knows everything Spend a bunch of time to learn something new for the long term
  7. 7. Enjoy Constant Learning Get used to being in the dark and learning the new Technology changes very rapidly Learn general principles, practice just-in-time-learning Learn to “be the computer” Sometimes you have to pay-it-forward Even experienced tech people start projects not knowing how they’ll be solved No one knows everything Spend a bunch of time to learn something new for the long term
  8. 8. Break the Project Down 1.Mount and calibrate sensors 2.Get data from sensors 3.Filter noise 4.Calculate position 5.Send position to main code 6.Test in real world
  9. 9. Break the Project Down Just get started, don’t try to solve the whole thing Gather bits of code and references Find examples of how others have done something similar Create little experiments for each part Solve the easy parts first Solve the hardest parts first Rebuild once you have it figured it out 1.Mount and calibrate sensors 2.Get data from sensors 3.Filter noise 4.Calculate position 5.Send position to main code 6.Test in real world
  10. 10. Stealing is Okay I had to design a custom sensor system for the Infiniti Interactive Mirrors that involved two sensors for each mirror which triangulated the location of the hand gesture. This required some trigonometry.
  11. 11. Stealing is Okay I had to design a custom sensor system for the Infiniti Interactive Mirrors that involved two sensors for each mirror which triangulated the location of the hand gesture. This required some trigonometry.
  12. 12. Stealing is Okay Code is widely given away stackoverflow for questions/answers open source Libraries, e.g. jQuery thousands of examples/tutorials Steal from yourself Google is your friend Give back by posting what you find I had to design a custom sensor system for the Infiniti Interactive Mirrors that involved two sensors for each mirror which triangulated the location of the hand gesture. This required some trigonometry.
  13. 13. Evolve Your Design
  14. 14. Evolve Your Design Prioritize features, and don’t lock design too early Let your prototypes and failures influence the design Take advantage of discoveries / mistakes Abuse the technology Scope design to time / ability
  15. 15. Enjoy Constant Failure
  16. 16. It never works the first time Get good at debugging Anticipate and design for failures Some bugs can take days to fix :-( Enjoy Constant Failure
  17. 17. Test Constantly
  18. 18. Test Constantly Each time you make a change Have others use and abuse it You’ll need real content Schedule time for testing and bug-fixing
  19. 19. Be Persistent
  20. 20. Be Persistent Be confident there’s a way to do it When it takes way too long, you are learning Learn to work around roadblocks Set aside a problem and come back to it later
  21. 21. Keep Your Eye on the Goal
  22. 22. Keep Your Eye on the Goal Work Smarter Enjoy Constant Learning Break the Project Down Stealing is Okay Evolve Your Design Enjoy Constant Failure Test Constantly Be Persistent

×