Updates from Thom Hines Toggle Comment Threads | Keyboard Shortcuts

  • Thom Hines 1:56 am on May 16, 2011 Permalink | Reply  

    Tinker, final post 

    Tinker, the easiest way to change your website.

    A view of Tinker in action.

    Tinker in action

    And a video showing the installation and usage of Tinker. An updated version will be added later this week.

    And finally, here is the final draft of my Final Paper.

    Class posts about the project:

    Project Ideas

    DB-Free CMS Prototypes

    Prototype Triangle

    CMS Progress

    Easy Peasy CMS

    Easy CMS just got easier! (Buy now!)

    CMS with a Brand New Name: Tinker?

    Tinker Presentation

    Tinker Update

    Tinkering w/ Tinker

    Tinker gets a home

    • DriverMax null download 4:08 am on April 10, 2013 Permalink | Reply

      Link exchange is nothing else but it is just
      placing the other person’s website link on your page at suitable place and other person will also do same in favor of you.

    • abrir cuenta facebook 9:28 pm on May 8, 2013 Permalink | Reply

      Thank you for sharing your info. I truly appreciate your efforts and I will be waiting for your next write ups thank you once again.

    • http://yummber.com 7:49 am on May 31, 2013 Permalink | Reply

      Howdy I am so delighted I found your blog, I really found you by error,
      while I was looking on Google for something else, Anyhow I am here now and would just like to say thanks for a tremendous post and a all round exciting blog (I also love the theme/design), I don’t have time to browse it all at the moment but I have book-marked it and also added your RSS feeds, so when I have time I will be back to read more, Please do keep up the fantastic work.

  • Thom Hines 9:49 pm on May 9, 2011 Permalink | Reply  

    Tinker gets a home 

    On Yury’s advice, I put together a presentation that would adequately explain Tinker to a person unfamiliar with the project, and while I didn’t go through a specific user sceneario, I do call out developers and site owners in my narration, and describe how Tinker might serve them.

    Other than that, I’ve been working on further ironing out technical issues (server file systems can be very convoluted, especially when you want to make a system plug-n-play), but I’m making progress. Each iteration I do addresses plenty of technical hurdles, but hurdles that probably < 10% of people would experience. That’s good, but I want this thing to be bulletproof.

    Additionally, I created a site to house this project and to sell it a bit. The only way people will download Tinker is because they have a compelling reason, and this site’s focus is to make those reasons abundantly clear. As I release new versions, I’ll be posting them to this site, so you can always grab the latest here. Click on the link and try it out!

    Tinker site preview


  • Thom Hines 9:40 pm on May 5, 2011 Permalink | Reply  

    Tinkering w/ Tinker 

    As I mentioned last time in class, most of the work I’m doing from this point on is behind-the-scenes and addressing specific problems that I encountered in my user tests and the responses I got from some of my testers. Fortunately, I think I have already managed to capture most of the features I set out to do, and it seems each feature I try to add on opens up a new can of worms that only takes me further from my goal of having a ready to release project by next week.

    The main concerns I was getting from people were that feedback wasn’t always clear when there was a problem, either in Tinker or on the server, and it basically leaves the user stranded. I’ve tried my best to find the main points of problems and give useful feedback through the feedback mechanism in tinker. If any of my calls to the server result in an error, Tinker will either present a user-friendly message (quite often just instructions to reload the page), or if Tinker doesn’t know what happened, give the user the PHP error that was generated. Dealing with server files can be tricky, and some people are finding issues that have never come up for me, so this may be something that evolves greatly over time.

    The other issues I’ve been trying to address are some of the quirks of the interface itself. For instance, when a page has a link and the user clicks it, it acts just like normal text. The editor wants to give the user the option to edit the text of the link, but nobody could figure out how to follow the link to its target. For that, I created a small pop-up, similar to what you see when you click a link in GMail, that provides a clickable link to go to the destination. Other issues have to do with the image uploader, CSS class selector, and other options that aren’t clearly labeled or explained in the interface. I’m going to have to build in a help system, but that will be more than I can do this week.

    All in all, most people don’t seem to be asking for any more features. This could be because most people haven’t had a chance to really try to practically apply it yet, but I’d like to think it also has to do with the fact that it does it’s fairly basic job well, and that most changes that people see are not much of a problem for Tinker.

    Also, here’s the latest version of my presentation:

  • Thom Hines 10:20 pm on April 25, 2011 Permalink | Reply  

    Tinker Update 

    Making steady progress on my project. This weekend was filled with a lot of emails trying to line up more people who might be interested in my project, and as of today I’ve got Tinker installed on a few different sites, including Scott’s Transparent Band page.

    As far as the project is concerned, I’ve implemented a revision and draft system that seems to be working pretty smoothly. Every 60 seconds a draft is saved to a sub-folder in the Tinker system, which gets overwritten. If a draft from a previous session is in the system when the page is loaded, a message will alert the user that there is a draft available.

    Every time a user hits the save button, it will save their current changes to the live version of the file and save a backup of the most recent version they had published. The really cool thing about this system is that when selecting and previewing a revision, it is loaded almost instantly and shown in the browser. This works the same for loading the draft version, too.

    As soon as the user decides that they have the version they want, they can just hit save and the live version is updated right away.

    There are a lot of bug fixes and behind the scenes updates I want to make, and that will probably be what I focus on for the rest of the term. At this point, I feel like Tinker is in a fairly good place and is solid enough to start distributing more often.

    And for anybody who wants incredible new features, you can download Tinker v.0.0.5

  • Thom Hines 6:29 pm on April 21, 2011 Permalink | Reply  

    Tinker Presentation 

    Google Presentation: https://docs.google.com/present/embed?id=dftbjs8g_274g7xg73cr&size=m

    Also, for anybody who is following along with Tinker, you can grab the latest release here. To upgrade, all you have do to is overwrite the ‘core’ folder with the one that’s included in the zip file. All your settings and user info will remain.

    Stay tuned for further updates. By next week I’ll have auto-save drafts and versions!

  • Thom Hines 11:14 pm on April 14, 2011 Permalink | Reply  

    CMS with a Brand New Name: Tinker? 

    I’ve been wracking my brain about coming up with a name that epitomizes what this CMS is and what it does, and it seems like every synonym to the word simple or easy or clear has been taken. In my mind, much like Yury said the other day in class, people shouldn’t think about managing anything, but rather, that when they see their site, editing isn’t an extra step. If they are logged in, the changes they want to make are available right then, not on some other admin screen. And the fact that this will be built primarily for static or semi-static sites indicates to me that most changes will be only quick edits and simple updates. Lastly, the interface is fun and unique, and working in the system seems almost whimsical in its simplicity. Thus, I (for now) have decided on Tinker. I’d love to hear your feedback.

    On the technical end, I’ve built in a lot of the auto-install process for Tinker, and so it is ready for some early alpha-phase testing. If you want to check it out on a site of your own, you can download the files and upload them to your server. The process for getting it running is pretty simple:

    1) upload the Tinker folder to your public_html (or otherwise web-facing) on your web server

    2) Add the line:
    <?php include(“tinker/core/init.php”) ?>

    to the bottom of your HTML’s <head> section

    3) Navigate to the tinker folder in your web browser and go through the setup process.

    IT’S EASY. Also, try out the image uploader, which you can find in the image button in the toolbar. You will have to set your images folder on the admin page to make this work.

    And finally, here’s my schedule:

    Today April 14
    Ensure file structure is robust (can move around without breaking)
    Make first alpha version available

    Monday 4/18
    Develop more finely-tuned Look and Feel prototypes
    Alter login and server management for more secure account management
    Thursday 4/21
    Establish way of saving drafts of in-progress editing
    Start observed user testing
    Monday 4/25
    Create versioning system
    Apply final styles of Look and Feel
    Post project to KickStarter

    Thursday 4/28
    Rough draft of paper complete
    Release beta version
    Install CMS on my mom’s site
    Start to develop demo/distribution site

    Monday 5/2
    More user feedback on latest version
    Make further progress on demo site

    Thursday 5/5
    Final paper complete
    Launch demo site
    Release final beta

    Monday 5/9
    Final presentation

  • Thom Hines 9:46 pm on April 11, 2011 Permalink | Reply  

    Easy CMS just got easier! (Buy now!) 

    After a lot of prototypes and experiments, I managed to hack my code and TinyMCE to the point where I can now edit in the most WYSIWYG environment ever made for web content management. It still has a lot of work left to do, but the biggest hurdle I saw going into this new version of the project was the text editor interface, and I had some major breakthroughs over the weekend.

    From here, I have to get the admin interface more concretely nailed down, incorporate some sort of image uploader and media manager, and finally work on a system of installing the app so that most of the work on integrating the CMS into specific pages is handled automatically on the server.

    I’ll be posting a staging ground for other people to test soon, and if anybody has a static or simple site that they would like to manage with this, let me know and I’ll be sure to pass my source along to you in the next 1-2 weeks.

    Log in here:

    Play with it here:

    • scottpeterman 10:10 pm on April 11, 2011 Permalink | Reply

      Can’t wait to get my hands on it.

      • Thom Hines 3:52 pm on April 12, 2011 Permalink | Reply

        You’ll be among the first! I should have the whole package contained by next week. Thanks for your support, Scott!

    • Alvaro Soto 10:11 pm on April 11, 2011 Permalink | Reply

      More than suggestions,, i have like questions because I think this is very interesting and perhaps something totally new and successful, I can name several people that I know that would rather on work on a platform like this than complicated databases like WordPress.
      I dont even think that the target for this kind of applications are “moms” or ppl with very phew knowledge of technology and the Internet. to me, this follows trends like twitter and maybe Facebook where content is fast and direct. I can see writers, and group projects using this type of platforms

      • Thom Hines 3:56 pm on April 12, 2011 Permalink | Reply

        Thanks, Alvaro. I’ll definitely ask you more about any people willing to try it out next week. Moms and writers are both excellent people to focus on, and one person yesterday suggested students. It’s something I hadn’t really thought about, but picking smaller segments of the online population might help me find ways of focusing this project in ways I hadn’t thought of, and it really makes me think of a dozen other flavors this CMS can take on.

        Fast and direct are indeed key, and if you see any other ways of removing barriers, let me know! Twitter is a really good model in a lot of ways. Thanks!

    • Victor Kim 10:14 pm on April 11, 2011 Permalink | Reply

      Can you make an artist’s portfolio template such as a more customizable, but still easy to use version of Dripbook?


      • Thom Hines 3:57 pm on April 12, 2011 Permalink | Reply

        As I said to Alvaro above, I am now picturing a lot of different implementations, and a portfolio system seems like it would be perfect. We know too many people who need a portfolio not to try to tackle that problem. Thanks!

    • Chris Piuggi 1:19 pm on April 12, 2011 Permalink | Reply

      recently came across this again ~~ awesome CSS interface for your reference.


      • Thom Hines 3:58 pm on April 12, 2011 Permalink | Reply

        Nice! I saw that link the other day when you shared it for Boot Camp. It would be interesting to be able to change columns and structure on the fly… I’ll have to figure out how to work that in. Thanks, man.

  • Thom Hines 9:53 pm on April 7, 2011 Permalink | Reply  

    Easy Peasy CMS 

    I’ve developed my CMS a bit further than last time, as it now works with images and can store user settings (such as password, etc.) in a data file on the server. Since my CMS is intended to operate without a database, it’s essential that all of the information can be stored and updated on the server, but only in file format.

    See it here.
    user: thomhines
    pass: pass


    • Some sort of media manageer so that images, PDFs, etc. can be linked to easily from within the browser window.
    • A multi-user permission systems that will allow for different users to have access to only content, styling, page structure, etc.
    • A way to store drafts and/or versions
    • Smart, inline editing that will allow the content editor to feel like he/she is actually editing the page.
    • Smart phone optimization
    • Standardize theming system to allow for quick changes in style
    • Collaborative editing?
    • Automatic install process
    • Site manager

    In addition to all this, I need to get it onto a few sites and test it thoroughly. In order to make sure I can get enough testing, I’ve decided to break the development down into several sub-versions, which I will make available as I go along. I’ve also set up the file structure so that the core files are stored separately from the settings and content, so that upgrading should be as simple as replacing the core file folder and the new features should be integrated right away.


    The more research I have done, the more I can see the advantages of a system like this in certain, somewhat specific instances. First of all, MySQL and all the relational databases that drive all the common CMSs are generally slow(ish), and when operating under heavy traffic loads or on a server with sparse resources, can slow to a crawl or even crash. I ran across this an article earlier today (http://carpeaqua.com/2011/04/05/recipe-for-baked-wordpress/) that talks about how to ensure your hosted version of WordPress can survive a large influx of traffic. The advice isn’t difficult, but it is above many people’s heads, and even if it wasn’t, people clearly aren’t following it. The takeaway of the article: If you can’t or don’t want to do this, don’t bother setting up your own WordPress install.

    Furthermore, there is a movement of people who are completely against the use of MySQL in almost any capacity. Called the NoSQL movement, they think that for sites, large or small, there are better solutions, including flat file CMSs like the ones listed below:

    Prior Art

    Razor CMS

    Pluck CMS

    Pivot Blog

    Lotus CMS

    Skeleton CMS

    Cushy CMS

    Also, I found a couple of patents that are somewhat related, but not much in the way of dynamically changing flat files on a web server.

    http://www.google.com/patents/about?id=sk42AAAAEBAJ&dq=content+management+system (1981)


    http://www.google.com/patents?id=1-CDAAAAEBAJ&printsec=abstract&zoom=4#v=onepage&q&f=false (2001)

  • Thom Hines 11:53 am on April 4, 2011 Permalink | Reply  

    CMS Progress 

    After a bit more research, talking with classmates, and a bit of soul-searching, I’ve decided on a role that seems practical and purposeful. It also happens to be the reason I first thought of making this: my CMS will be the easiest way to make a plain, static HTML site into one that is dynamic and easy to edit. It is intended for people who are more comfortable with HTML than with PHP and MySQL, for people who already have a static site but are tired of relying on their web designer to make changes, and for those web designers who want to make a simple site for a client without having to convert their work into a theme for some CMS.

    As a professional web designer, there have been many times where I just wanted to make a site as quickly as possible and get it out the door. Unfortunately, taking shortcuts early on almost always meant that I would be called on for months or years after to update content on several different pages, and almost always at the most inconvenient times. The entire reason I got into writing server-side code and learning databases, and later getting into WordPress, was because I was tired of having these long-term dependencies with clients. Unfortunately, a CMS does not come without its own overhead.

    This take on data management has been touched on by other CMSs, so clearly there is a perceived need for this. Flat-file CMSs, such as phpCMS, RazorCMs and Pluck, store all of their data in files on the server to get around using a database, and others like CushyCMS and Pulse work with straight HTML to store and manipulate the content. The main thing that divides these two groupings are that all the CMSs that I’ve found that allow for direct editing of the HTML reside on a hosted server, and as such, remove a lot of control from the user and require a fee to use the service. Furthermore, by only having remote server-to-server access, it seems that the amount of control that CMS can give is very limited.

    So, seeing a need in the market and an area where I can expand and improve over the competition, I’ve pushed forward with my work on the site. I have a long list of things I need to do to get where I want it to be, but for now, I have created the ability to login and edit HTML files on the server. My next goals are image management and CMS installation. The highest priority for me is that this CMS this is as easy as possible for any user, especially for those who want the simplest experience possible.

    test site login page
    user: admin
    p/w: pass

    After you log in, you will be redirected to the test site.

  • Thom Hines 10:21 pm on March 31, 2011 Permalink | Reply  

    Prototype Triangle 

    Here is a mapping of the prototypes I posted earlier in the week here.

  • Thom Hines 5:34 pm on March 28, 2011 Permalink | Reply  

    DB-Free CMS Prototypes 


    1) CMS for Dummies (or those without a lot of administrative rights)

    While a typical db-driven CMS may be good for many people, it requires more initial setup and a bit of expertise and access to make it happen. A robust and sophisticated CMS could conceivably be built storing all the data in files instead, and using PHP or some other server-side language to put it all together in different ways. Templates and themes could be used, settings, links, and common headers, etc. could all be a part of this, and instead of using a lot of propietary code, this CMS would use standard for everything.

    2) Low-bandwidth CMS for low-tech servers

    In many places around the world, bandwidth and modern web servers with current versions of MySQL or some other database can be quite limited. Most off-the-shelf CMS’s do a lot of sophisticated work, but can be quite resource intensive. A CMS that prioritizes small transfers of data and low overhead for the servers and users could save lots of money and time over the course of the

    3) In-line Site Editor

    Many CMSs make all the data modular, and if somebody wants to update content in the sidebar, the main area, and the navigation, they may have to go to three or more places to make these changes. By moving all of the content into HTML files and allowing the links to be embedded into the files themselves, editing can occur in the browser on the same page.


    I’ve created a few prototype pages to see if I can get some of the functionality I would like in a CMS like this. In my mind, the basic phases that I have to worry about are the design phase (choosing and enabling certain objects to be editable), the edit phase (where changes can be made directly to the text) and the admin area, where files can be managed and links can be created between pages.

    Test Site

    Look and Feel

    It’s still kind of early for me in the process, but a big part of any direction I choose in this CMS, I think it is important that most of the administration happens in the browser page. It may make technical sense to manage the content away from the layout and styles, but quite often it makes more sense to the user to see the changes as they happen, and to picture the scale, position and it’s relevance as they develop it. Here are a couple of early mock-ups I’ve made:


  • Thom Hines 8:39 pm on March 24, 2011 Permalink | Reply  

    Project Ideas 

    Simulated Hive Mind

    Simulated Hive Mind

    This idea came partially from a project I was working on last semester, and partly from a series of books by Orson Scott Card. What I would like to create is an artificial lifeform that can adapt to its surroundings, and as it encounters other members of it’s ‘species’, it can communicate with them and teach them. If one creature discovers a hazardous area, or learns a more efficient way of doing something, that knowledge will spread and soon all the creatures, will have this enhanced knowledge.

    Self-Constructing Teacher

    Self-Constructed Teaching

    I have been interested in education for a long time, and after being in this program for the last several months, I’ve thought about ways of teaching students through technology. My self-constructing teacher will teach certain skills to a student, and require them to solve problems or create solutions in order to proceed. Sometimes the student will have to do outside research to accomplish these tasks, and as they progress, they will actually be creating the more advanced structures of their curriculum, and will adapt itself to the interests of the student.

    Robotic Lazer Tag

    Robotic Lazer Tag

    Whether for the solitary lazer tagger looking for an opponent or for those hobbyists who would like to move on to a more tactical version of battle bots, I want to create robots that are aware of their surroundings and their opponents, and essentially use artificial intelligence to make use of their surroundings and outthink their opponents.

    Database-free CMS

    Database-Free CMS

    After living in Beirut for a year, I realized that the we tend to take our technology for granted. While we have the benefit of fast and virtually unlimited internet, many parts of the world don’t. I propose to make a CMS that will allow for a simple and efficient way of letting somebody update their own site without having to use a database, while transferring as little data as possible.

    Arduino A/C Shield

    Arduino A/C Shield

    While most of what we have been focussing on is making things smaller and more energy efficient, there is still a need for high power devices, and the ability to control them. There are many proprietary solutions out there, but I haven’t seen any sort of open standard or universal way of communicating with certain devices remotely and simply. This device would allow for a lot of adjustment based on input from the Arduino, and provide info back to a server.

    Micro Web Server

    Micro Web Server

    The world is getting more and more connected, and so the ability to have access to information from anywhere is all the more important. A device that could detect a network, collect information, and broadcast in a small hand-held device could be incredibly useful.

    Final Project Ideas, Venn-style

  • Thom Hines 6:50 pm on March 20, 2011 Permalink | Reply  

    Light and Tempurature Logging: A Lovely Visualization of Not Much 

    Data Visualization

    The recurring theme of this class seems to be that I spend about 3-4 times as long on a given project as I expect I’ll have to put in. My initial idea for this project was to strap my thermo sensor and a light sensor to my bedroom window to track how the sunlight and temperature correlated. I wanted to learn how to hook up multiple sensors to my XBee and trasmit both pieces of data on a regular interval. It seemed like it wouldn’t be so hard to adapt the code from the book to create this project, but in the end, I couldn’t get any reliable data. It may have been how I set up my XBee in CoolTerm, or just that my Processing code was handling the API data packets from the sensor incorrectly, but as I went along, the more I tried, the further I seemed to get. Not only that, but I was going to be leaving home for a few days, and I needed to hook up my sensor to a stable power supply, so I was going to be plugging it into my computer anyway, so after many many hours of trying, I moved my whole operation to the Arduino.

    Data Logging

    Working with a combination of circuits from the book and a variation that Chris sent me a couple weeks ago, I managed to get my thermometer to return values that were pretty close to the thermometer we have in our house. And with quite a bit of luck, I got my light sensor to return values that came close to the top and bottom of the 10-bit analog range, at the lightest and darkest times of the day. So, before I left for a few days, I set up my sensor and let it go.

    Unfortunately, it seems that my thermo sensor fluctuated between two values the whole time, regardless of the fact that I know there were much larger swings of temperature in the window sill where I installed my sensors. Nevertheless, my setup managed to consistently record data, and you can see what I collected here:

    http://thomhines.com/projects/wireless_sensor/data.php (Click on one of the hour labels to see that hour in more detail)

    The data was stored in a text file on my server, and because HTML is built specifically to organize and display information, I decided to try to make a dynamic visual display using only web technologies. The HTML is built via PHP to load and print out the data. The bar graphs and colorings are all done via CSS and javascript. You can check out all the various pieces of code here:


  • Thom Hines 11:16 pm on March 10, 2011 Permalink | Reply  

    Takin’ it all the way: Sleep Mode and Direct Activation 

    Today’s lesson covers two unrelated, but very practical subjects.

    First off, we’re starting with enabling sleep mode on our end device XBee’s. This essentially will power down our remote devices on a regular cycle to save power and make our network slightly more efficient. We’re going to be using the same thermometer circuit that we worked with last week. Here is a diagram of the circuit you need to (re)build:

    Thermometer Diagram

    In order to enable sleep mode on the device, we’ll have to bring your Router into CoolTerm, and set up a few AT parameters there.

    From here, we’re going to be using the same Processing code to read all the various thermometers. Easy! Done!

    The direct activation project is basically the thermometer project in reverse. Instead of reading from each of the routers, the coordinator (hooked up to a Processing sketch) will be able to turn on and off various devices remotely. Here’s the circuit you’ll want to build:

    Actuator Diagram

    The LED on the board represents the device we’ll want to turn on and off.

    The Processing sketch we’re using can be found on the O’Reilly site here (contains several assets).

  • Thom Hines 7:42 pm on March 3, 2011 Permalink | Reply  

    Hostile Interaction Mediator & Doorbell 

    When thinking about ways of improving on the doorbell, it was hard to come up with ways in which it’s most basic purpose could be improved. But after living in apartments for a number of years, the most interesting part isn’t what happens when the doorbell rings, but rather what happens just after.

    Our front doors literally connect the interior to the exterior, but more than that, it is the one place where people tend to allow their private, inside selves to be on display to outsiders. When living near other people, it’s hard not to hear when Mr. Johnson has ordered Chinese food for the third time this week, or that Betty has very strong opinions about Jehovah’s Witnesses, or most painfully, when a couple two doors down is having a fight.

    So, in the spirit of highlighting this awkward exchange, Andy and I decided to make a doorbell that would allow two people having a fight to hash it out a bit without ever having to open the door. The device on the outside would have a standard doorbell, but also a variety of statements that would allow him/her to respond to any questions or statements by the the person on the inside.

    Hostile Interaction Mediator, Outside

    Initially we were going to give the user on the inside a keyboard to type specific questions to the person on the outside, but we were running into some serial issues and had to simplify our device to a more humorous and specific interaction. Even so, the person on the inside is in a more dominant position just by being inside already and controlling the door lock, get’s the chance to ask some pointed (albeit pre-chosen) questions of the guest.

    Hostile Interaction Mediator, Inside

    Also, the person on the inside has one extra button that the person outside does not: the FUCK YOU button. This fist-sized button will flash, in all capital letters, “Fuck You” over and over again and prevent the person on the outside from being able to send any messages back in. This implies that the conversation is over.

    The code for both of these actually sends the entire message over the XBee serial connection letter by letter. We built it this way since we were planning on sending typed messages). The code for each device is quite similar since this is a conversation and each is displaying to an LCD screen; the only difference is in the content of each message sent and that the device inside has a buzzer to indicate when somebody is at the door.

    Here is the arduino code for each:



  • Thom Hines 8:26 pm on February 17, 2011 Permalink | Reply  

    Chauncy Bigglesworth, the Aristocratic Dog Food Dispenser 

    Playing off the idea of Lee’s Nom Nom trash bin, I wanted to make a creature that was similar in functionality, but when it came to character and personality, acted as a foil. Originally, I conceived of a recycling bin that, as opposed to a nom nom, wasn’t single-mindedly focused and primitive in his expressions, but rather was conscientious and thoughtful. It seemed especially appropriate considering the difference in the motives between throwing away something and recycling it.

    But this didn’t really jibe with me personally, and I also had the problem of my recycling setup at home wasn’t really conducive for making a stand-alone character that would convey it’s own individuality in an interesting way. So, this led me to look for other things that could act as a talking bin.

    Fortunately, after a bit of looking around, I realized that my dog’s food is kept in a contraption like Lee’s trash can, and the idea of a talking dog food dispenser amused me greatly. Not only does it do the opposite of a trash bin (it provides instead of consumes), I also really liked that it could potentially talk to my dog, who seemed to be the most interested in the beeps and boops that my arduino can make. Lastly, using an upper-class British character as a model for my creatures words (I was thinking of Stephen Fry), seemed much funnier and silly and ironic on a dog food dispenser than on a recycling bin, which came across as haughty and judgmental.

    Building and coding Chauncy was fairly straight-forward. My LCD screen came together pretty much right away, but unfortunately the anode wire of the LED backlight came out just after I taped the parts into their final position. This made it so that the light no longer came on when a new message was flash, but the plus side is that it probably saved my battery a good deal of juice.

    Here’s what the electronic components looked like:

    Chauncy's insides

    And here’s a sample of the early version working:

    In order to have Chauncy’s head on the outside, but the light sensor in the can, I had to use some wire wrapping wire to extend the photoresistor. With the low light in my kitchen, I had to attach it to the side but near where the ceiling light shined brightest.

    light sensor in a can

    And here’s the finished product!

    Chauncy message 2

    If you would like to see the arduino code, feel free to download it here.

  • Thom Hines 7:28 pm on February 15, 2011 Permalink | Reply  

    Toys, Toys, Toys 

    Taking advantage of our time off from class yesterday, a large group of us went to to the Toy Fair for the greater part of the afternoon. The show was huge, almost overwhelming, and like Yuri said, just the time to walk the floor without even stopping to look would take hours. Fortunately, a lot of booths were obviously not worth stopping at, which gave a few of us guys a chance to spend more time at the fun ones.

    My favorite section was definitely where the hi-tech electronic toys were being shown. This section of the show had tons of tows that were doing new and interesting things, and seemed to be experimenting more with product character in much more interactive ways. One of the first that got me pretty excited was Tandars, a little forest creature that has a lot of functionality built into a cute, little body.

    The booth itself is actually what first attracted me to Tandars. With its forest-like appearance, it really stood out. The booth really added to the ambient feel of the toy, and it placed the creature in his natural habitat. It was perfect. The creature has sensors all over it’s body so that it detects touching and petting, and proximity sensors to detect when something or someone is nearby. It apparently has over 50 “phrases”, which combined with its eye motions and moving ears, really gives you the impression that it is alive and has emotions. Also, if you get two tandars next to each other, they detect each other through IR and communicate. The lady working the booth was obviously really happy to show him off, and she seemed to really have a bond with her Tandars.


    Around the corner from there was a game I had recently heard about but didn’t understand until I saw it. Tetris Link is essentially Tetris meets Connect 4. I played most of a round with Andy, Scott and the girl who was working the booth. It was definitely a lot of fun, a nice adaptation of a video game into the board game realm.

    Tetris Link in action

    And here we are playing with the giant tetris pieces. Scott was trying to use his piece to ruin my place in the photo, just like he tried to do in the game.

    Tetris Link booth


    And the product I saw the most potential in, as far as finding ways for the concepts and technology to be adapted and used by a variety of companies and businesses, is the video game Skylanders: Spyro’s Adventure. Instead of saving your game progress and character to the memory on the console, all of your attributes are stored in a small action figure which gets placed on the “portal” hooked up to your game machine (in this case, a Wii). As you build up your character and make advancements, those things get stored in the memory chip of the action figure itself. Then, when you go to play at a friends house or on a different system, you can just set your character on their portal and play with your character. Another interesting feature is the ability to swap out characters at any time. I can see a lot of strategic potential for using one character instead of another at different points in a game.

    The portal itself seems to have some pretty cool tech in it. Figurines only need be placed on it, and almost instantly all of the connections are made and the character is in the game. When a new figurine is placed on top, the portal changes color, depending on the type of power that character has. And with each action you make in the game, the portal seamlessly syncs up the figurine to reflect the character’s latest stats.

    Skylanders: Spyro's Adventure

    The figurines are just about three inches tall and feel like the figurines we saw all over the show, but knowing that the character in the game that you may have spent hours building up and developing makes it seem more special. It’s as if the figurine somehow was that video game character, and vice versa. One of the guys at the show booth mentioned that this development could have a deeper level of meaning, too, when kids started to trade their figurines or started collecting them. A level 7 character would be more valuable than a level 3, and perhaps the rarity or specialness of certain characters would provide a built-in sort of stock market for these characters. Could be interesting, and I really look forward to seeing where this kind of technology goes.

    Skylanders: Spyro's Adventure figures

  • Thom Hines 8:59 pm on February 10, 2011 Permalink | Reply  

    Sensor-Based Roommates 

    As part of our mid-term projects, we were tasked with creating three creatures that could live in our houses and fit into our lives. They had to use a sensor (including at least one photoresistor), and they had to encapsulate at least some aspects of what defines a living creature. Here are the three I’m came up with.

    Hey Tony!

    Hey Tony!


    The idea came to me after thinking about having a creature around the house that could help me find stuff that I occasionally lose. Things like keys and remotes were obvious examples. When I saw there was an IR sensor that could be paired with remote controls, it seemed a natural fit, until I realized that you need to use the remote in order to trigger the sensor. From there, I thought, maybe he could just let you know when you’ve already found it, which seemed kind of comical and fun.

    Tony sits by the TV, and if you lose the remote, you tell him. He’ll let you know he hasn’t seen it. However, the next time a remote is used again in his directly, he’ll kindly let you know that you’ve found your remote!




    Grumps is a little critter that lives in your medicine cabinet. He lives there because he is a neurotic hypochondriac, and he likes to be close to his meds. However, locked away in his little apartment, he often falls asleep and forgets that what he is living in is essentially a cantilevered cliff dwelling, and that everyday when you open the medicine cabinet, he gets startled and freaks out, since he is also afraid of heights. For a few seconds, he proceeds to thrash about wildly, trying to grab onto anything that would keep him from falling to his death, until he finally calms down and remembers that he is still alive and in his home.

    At first, I just wanted to make a creature that threw temper tantrums when you woke him up, but his story quickly evolved when I realized what kind of guy he would have to be to live in the medicine cabinet, and how traumatic that could be if you were woken that way.



    I have a dog at home, and a big part of having a roommate that I would actually enjoy having around the house, can basically be summed up in a lot of ways by my dog. He basically just wants to be involved in everything going on in home, but he doesn’t require all the effort of keeping up conversation or any social pressure. CopyCat will basically follow you around, speak when people are talking, and get drunk when you are (alcohol sensor), but he never really requires your attention. If you ignore him, he’ll still do his thing, and when he does, it just reinforces how important your actions are. It feels comforting.

Compose new post
Next post/Next comment
Previous post/Previous comment
Show/Hide comments
Go to top
Go to login
Show/Hide help
shift + esc