Team:Wellesley Desyne/Notebook/CassieNotebook
From 2013.igem.org
Contents |
May 30
I’m only two weeks into my summer research and I feel like I’ve already learned so much! I started a week before everyone else, along with Dan, so we’ve had a bit of time to learn how to use the zSpace and Unity. For the record, zSpace is a machine that can turn a PC into a holographic computing system, which basically means that 3D objects in zSpace actually seem tangible. With the stylus, you can pick up and rotate object to see the entirety of them. Cameras on the machine interact with 3D glasses in order to track head movement and allow the user to see the objects in 3D. In order to make programs that will run on the zSpace, one needs a program that allows them to interact with 3D objects, so we’re working with Unity, a video game development tool.
Most of the first week was spent learning Unity and getting into the flow of working at Wellesley’s HCI Lab. We watched a few tutorial videos, looked through some code, and googled a lot of terminology. Our attempts to learn Unity were so that we could build on a program that was already started by previous HCI students. The program, zMol, intends to provide an interactive way to model the building of molecules without the many plastic pieces that students use now.
After a couple of days we felt more comfortable and started trying to make the buttons on the screen of the program interactive with the zSpace stylus. We made them bigger in the GUI so that the user would have an easier time selecting them, but ultimately we were advised that our efforts were best spent elsewhere so we moved on to trying to make the atoms have double bonding capabilities.
Memorial Day weekend gave us plenty of time go to clear our minds, enjoy the nice weather, and catch up on reading. I started learning a little bit of Blender to see if understanding the tools will help with making things in Unity. I haven’t gotten very far but I’ll keep working at it. In addition to work, I spent some time in Boston running errands and spending time with friends.
Tuesday and Wednesday Daniel and I worked on double bonding and finally got our bonds to change colors. As simple as it sounds, it was a victory for us since we just really working on this code. We also had a lot of meetings since all of the other HCI students were joining us for the first time and we had to help orient them to the lab.
Thursday we went to MIT to learn more about synthetic biology. Having no biology background and very little sleep, I was frustrated by the amount of times someone said, “Remember this from when you took biology?” The answer is no, I don’t, that was 6 or 7 years ago and I had a poorly taught bio class. Anyway, I learned as much as I could from that. I felt like there were very clear directions, but the directions really didn’t teach me anything as there was no explanation on why we did what we did. Even after taking CS240, the instructions on building the simulator with the breadboard were pretty annoying. They weren’t very clear or technological. It was okay though, I learned a bit about working in a wet lab and what the environment was nice and I temporarily got to play with fire so that was cool. Afterwards, we got smoothies and then ran to the bus which proceeded to be an hour late.
Friday was commencement so I had to be there working at it. The ceremony was interesting and Orit won the Pinanski Award! I came back to the lab at about 1:30 and found out what Dan had been working on. He’d figured out how to adjust the angles of the bonds after double bonding, so we worked together on deleting the old bonds. We discovered that there was an array that kept track of bonds, so if we iterated through the array and deleted the other bonds, then we could have the correct bonds remaining in the right places. This is what we need to continue working on on Wednesday when we return from BU.
Think about these for the future:
Here are some questions you might consider:
Who is your user? What and where in the design cycle are the needs in synthetic biology? During your wet lab experience, how did you feel? Were you ever overwhelmed? How might you mediate that? What other domains and tools do you think you can refer to for your projects? Where there gestures? Sketches? Interfaces that came to mind when you were trying to deal with the experiment protocol? How could you frame synbio as a "good" thing? Where and for what reason might a synbio-ist benefit from a viz interface? Hands-free interface Multitouch tangible 3D
June 6
This week we got a break from struggling with zMol and zSpace to go to BU and learn about their project. I had to try to understand biology to learn what their project was about, so that was an interesting learning experience. We had fun with them by having lunch and going bowling. While at Boston University, I did the Sifteo Cube study with Consuelo which I thought was the best part about my trip to BU. I really liked learning about her project and some of the other uses for Sifteo Cubes. Wednesday and Thursday we returned to working on zMol and double bonding at Wellesley. We're still struggling with understanding the old zMol spaghetti code. We got Kevin, one of the previous developers of zMol to come help explain the code to us and his thought process during their development. We've experimented with double bonding enough to get bonds to change colors but it's very glitchy and crashes a lot. We're starting to understand more things, bit by bit.
June 14
We've struggled with double bonding for several days with a bit of success, but there are still many glitches. We spent a few days just getting everything in working order to present our project to BU. We were joined this week by our intern, Yoav. We're getting into more of a rhythm with our work this week. We're supposed to start thinking about our 3D representation of the periodic table of elements so we spent some time drawing up designs for the program. We're hoping to make it easy and intuitive to use. We'd like it to be searchable, colorful, and to contain as many 3D things as possible. A goal of ours is to show information about each element in the 3D space instead of on a GUI and to have all the elements interact with zMol so we can accurately allow users to create covalent bonds. We presented to BU and they liked playing with the sample programs on the zSpace, but our program didn't seem to interest them much.
June 28
The last two weeks we've been under a lot of pressure to get things working in zMol. Orit decided that we should try to submit a poster presentation for UIST, which is a really prestigious conference in Scotland. We tried really hard to get as many features in as possible, but the haptic feedback wasn't working like we thought they should. We'd created a search function, double bonding was getting better and our program didn't crash nearly as much but it wasn't good enough without the haptics. We were a bit disappointed at not getting to submit the paper, but it's okay. With the help from Barton, or "the zSpace Guy", we tried to get both of the zSpaces we have compatible with each other and with the latest versions of the zSpace packages. We thought it went well and we had a new version of zMol up and running but we still have loads of problems with it. The haptics still don't work and zSpace's support is... non-existent. It's a bit frustrating that no matter how much work we put in, a lot of the problems fall with zSpace and we can't get any support to make it better. Hopefully zSpace will develop some support or get it together soon.
Here's what the periodic table ultimately looks like.
And here's the final version of zMol (for now)!
July 7
Last week was the 4th of July! My brother and neighbor came to visit me so they occupied my week. We started working on our newest project, zTree. The idea behind zTree is to allow tree structured data to be represented in a 3D interactive way. We struggled a lot this week just to get the zSpace packages working in Unity.. and failed. After spending so much time on just that, Orit finally told us to give up on the zSpace aspects of the project for now, and just focus on functionality. We got cards to spawn in a carousel shape and the carousel spins around to allow users to select different cards.
July 14th
Story of my life: Mostly we worked on basic functionality for the zTree project. We get the most entertaining errors when trying to make things not collide. We've been developing with functionality in mind. Getting the zSpace to work with the program hasn't been going well, so we're working in 2D for a while. The mouse can click on cards, which spawns a new carousel. As a placeholder, I've been using numbers to represent the cards and whichever number is clicked on corresponds to the number of cards spawned on the next carousel. The carousels spin so you can look through your options. A struggle we've been facing is optimizing the camera viewpoint and the colors. We have all of the carousels lining up underneath each other in a centered and even way, which allows them to be easily read.
July 19th
This week flew by. Today is Yoav's last day so we've been trying to get him as much coding experience as possible this week. I've been making him drive a lot.
We split up the work between Dan and I in an attempt to get more done. He's working on the back end stuff, gathering all of the data from the Registry of Standard Biological Parts from the internet. Yoav and I have been working on getting the front end in order and making double carousels happen. In order to do this, I had to spend a whole day changing all of the data structures over to lists of lists. Ironically, we're avoiding tree data structures in Unity, as C# doesn't have any Tree classes without us writing our own. I think it's easier to think of things as lists of lists and it gives us the option in the future to make more than just two carousels spawn with very little additional work on my part. The day Yoav was absent was the day I did a lot of the switching over and I started getting double Carousels to work. Thursday and Friday we worked on many smaller projects that we thought could get done in a short amount of time, considering we had other things going on this week, such as meeting up with BU. Yoav got many useful features figured out. He adjusted the camera appropriately and made things change colors when they're clicked on.
We went to Boston to meet with BU's team, which was fun. Veggie Galaxy is definitely my new favorite restaurant and I'm going to eat there as frequently as possible from now on. SUCH. GOOD. FOOD. My friend Diana came with me because we needed to run some errands so I was glad she joined us on our adventure.
May 30
I’m only two weeks into my summer research and I feel like I’ve already learned so much! I started a week before everyone else, along with Dan, so we’ve had a bit of time to learn how to use the zSpace and Unity. For the record, zSpace is a machine that can turn a PC into a holographic computing system, which basically means that 3D objects in zSpace actually seem tangible. With the stylus, you can pick up and rotate object to see the entirety of them. Cameras on the machine interact with 3D glasses in order to track head movement and allow the user to see the objects in 3D. In order to make programs that will run on the zSpace, one needs a program that allows them to interact with 3D objects, so we’re working with Unity, a video game development tool.
Most of the first week was spent learning Unity and getting into the flow of working at Wellesley’s HCI Lab. We watched a few tutorial videos, looked through some code, and googled a lot of terminology. Our attempts to learn Unity were so that we could build on a program that was already started by previous HCI students. The program, zMol, intends to provide an interactive way to model the building of molecules without the many plastic pieces that students use now.
After a couple of days we felt more comfortable and started trying to make the buttons on the screen of the program interactive with the zSpace stylus. We made them bigger in the GUI so that the user would have an easier time selecting them, but ultimately we were advised that our efforts were best spent elsewhere so we moved on to trying to make the atoms have double bonding capabilities.
Memorial Day weekend gave us plenty of time go to clear our minds, enjoy the nice weather, and catch up on reading. I started learning a little bit of Blender to see if understanding the tools will help with making things in Unity. I haven’t gotten very far but I’ll keep working at it. In addition to work, I spent some time in Boston running errands and spending time with friends.
Tuesday and Wednesday Daniel and I worked on double bonding and finally got our bonds to change colors. As simple as it sounds, it was a victory for us since we just really working on this code. We also had a lot of meetings since all of the other HCI students were joining us for the first time and we had to help orient them to the lab.
Thursday we went to MIT to learn more about synthetic biology. Having no biology background and very little sleep, I was frustrated by the amount of times someone said, “Remember this from when you took biology?” The answer is no, I don’t, that was 6 or 7 years ago and I had a poorly taught bio class. Anyway, I learned as much as I could from that. I felt like there were very clear directions, but the directions really didn’t teach me anything as there was no explanation on why we did what we did. Even after taking CS240, the instructions on building the simulator with the breadboard were pretty annoying. They weren’t very clear or technological. It was okay though, I learned a bit about working in a wet lab and what the environment was nice and I temporarily got to play with fire so that was cool. Afterwards, we got smoothies and then ran to the bus which proceeded to be an hour late.
Friday was commencement so I had to be there working at it. The ceremony was interesting and Orit won the Pinanski Award! I came back to the lab at about 1:30 and found out what Dan had been working on. He’d figured out how to adjust the angles of the bonds after double bonding, so we worked together on deleting the old bonds. We discovered that there was an array that kept track of bonds, so if we iterated through the array and deleted the other bonds, then we could have the correct bonds remaining in the right places. This is what we need to continue working on on Wednesday when we return from BU.
Think about these for the future:
Here are some questions you might consider:
Who is your user? What and where in the design cycle are the needs in synthetic biology? During your wet lab experience, how did you feel? Were you ever overwhelmed? How might you mediate that? What other domains and tools do you think you can refer to for your projects? Where there gestures? Sketches? Interfaces that came to mind when you were trying to deal with the experiment protocol? How could you frame synbio as a "good" thing? Where and for what reason might a synbio-ist benefit from a viz interface? Hands-free interface Multitouch tangible 3D
June 6
This week we got a break from struggling with zMol and zSpace to go to BU and learn about their project. I had to try to understand biology to learn what their project was about, so that was an interesting learning experience. We had fun with them by having lunch and going bowling. While at Boston University, I did the Sifteo Cube study with Consuelo which I thought was the best part about my trip to BU. I really liked learning about her project and some of the other uses for Sifteo Cubes. Wednesday and Thursday we returned to working on zMol and double bonding at Wellesley. We're still struggling with understanding the old zMol spaghetti code. We got Kevin, one of the previous developers of zMol to come help explain the code to us and his thought process during their development. We've experimented with double bonding enough to get bonds to change colors but it's very glitchy and crashes a lot. We're starting to understand more things, bit by bit.
June 14
We've struggled with double bonding for several days with a bit of success, but there are still many glitches. We spent a few days just getting everything in working order to present our project to BU. We were joined this week by our intern, Yoav. We're getting into more of a rhythm with our work this week. We're supposed to start thinking about our 3D representation of the periodic table of elements so we spent some time drawing up designs for the program. We're hoping to make it easy and intuitive to use. We'd like it to be searchable, colorful, and to contain as many 3D things as possible. A goal of ours is to show information about each element in the 3D space instead of on a GUI and to have all the elements interact with zMol so we can accurately allow users to create covalent bonds. We presented to BU and they liked playing with the sample programs on the zSpace, but our program didn't seem to interest them much.
June 28
The last two weeks we've been under a lot of pressure to get things working in zMol. Orit decided that we should try to submit a poster presentation for UIST, which is a really prestigious conference in Scotland. We tried really hard to get as many features in as possible, but the haptic feedback wasn't working like we thought they should. We'd created a search function, double bonding was getting better and our program didn't crash nearly as much but it wasn't good enough without the haptics. We were a bit disappointed at not getting to submit the paper, but it's okay. With the help from Barton, or "the zSpace Guy", we tried to get both of the zSpaces we have compatible with each other and with the latest versions of the zSpace packages. We thought it went well and we had a new version of zMol up and running but we still have loads of problems with it. The haptics still don't work and zSpace's support is... non-existent. It's a bit frustrating that no matter how much work we put in, a lot of the problems fall with zSpace and we can't get any support to make it better. Hopefully zSpace will develop some support or get it together soon.
Here's what the periodic table ultimately looks like.
And here's the final version of zMol (for now)!
July 7
Last week was the 4th of July! My brother and neighbor came to visit me so they occupied my week. We started working on our newest project, zTree. The idea behind zTree is to allow tree structured data to be represented in a 3D interactive way. We struggled a lot this week just to get the zSpace packages working in Unity.. and failed. After spending so much time on just that, Orit finally told us to give up on the zSpace aspects of the project for now, and just focus on functionality. We got cards to spawn in a carousel shape and the carousel spins around to allow users to select different cards.
July 14th
Story of my life: Mostly we worked on basic functionality for the zTree project. We get the most entertaining errors when trying to make things not collide. We've been developing with functionality in mind. Getting the zSpace to work with the program hasn't been going well, so we're working in 2D for a while. The mouse can click on cards, which spawns a new carousel. As a placeholder, I've been using numbers to represent the cards and whichever number is clicked on corresponds to the number of cards spawned on the next carousel. The carousels spin so you can look through your options. A struggle we've been facing is optimizing the camera viewpoint and the colors. We have all of the carousels lining up underneath each other in a centered and even way, which allows them to be easily read.
July 19th
This week flew by. Today is Yoav's last day so we've been trying to get him as much coding experience as possible this week. I've been making him drive a lot.
We split up the work between Dan and I in an attempt to get more done. He's working on the back end stuff, gathering all of the data from the Registry of Standard Biological Parts from the internet. Yoav and I have been working on getting the front end in order and making double carousels happen. In order to do this, I had to spend a whole day changing all of the data structures over to lists of lists. Ironically, we're avoiding tree data structures in Unity, as C# doesn't have any Tree classes without us writing our own. I think it's easier to think of things as lists of lists and it gives us the option in the future to make more than just two carousels spawn with very little additional work on my part. The day Yoav was absent was the day I did a lot of the switching over and I started getting double Carousels to work. Thursday and Friday we worked on many smaller projects that we thought could get done in a short amount of time, considering we had other things going on this week, such as meeting up with BU. Yoav got many useful features figured out. He adjusted the camera appropriately and made things change colors when they're clicked on.
We went to Boston to meet with BU's team, which was fun. Veggie Galaxy is definitely my new favorite restaurant and I'm going to eat there as frequently as possible from now on. SUCH. GOOD. FOOD. My friend Diana came with me because we needed to run some errands so I was glad she joined us on our adventure.
July 31st
Today was the last day of work before our poster presentations. I think we got a lot done over the course of the summer and our team worked well together. In the last week, we got Daniel's back end code integrated with the front end so that the tree shows the names of the proper parts when their category is clicked on. We also got the double carousels working pretty well and the visualizations look good. We probably won't demo zTree tomorrow at the poster presenation because zMol is more functional and interesting, but I'm glad we got as far as we did with zTree in such a short time. The poster is finished and printed out now.
Some things we need to do for the future in zTree are getting the data sheets 100% working, add a search function, create an output for the cache, and a log.
Tonight we are preparing our pitch for our poster tomorrow. We've got a lot to say but we're mastering the speech and we will definitely be ready by tomorrow. I'm glad that we can finally show off all of our hard work and take a few days to recover before wrapping things up.
Post-Summer Session Update
During August, I spent a lot of time trying to get the data sheets to work as well as prepare everything for demoing. I created a 2D version of (what is now an old) zTree, and we shared that with the BU team and got feedback from them. I added the log and the cache output to the program, allowing file output for those two purposes. I attempted to fix the data sheets and was successful for a very short period of time before the parts registry changed and the program could no longer successfully read in from the site. The search feature will work when the data sheets are fixed. I struggled for about two weeks with the data sheets and they worked perfectly for a glorious 15 minutes before the site was updated and none of it worked anymore. I didn't realize that whoever started the data sheets didn't make it based on the API but on the link from the Registry, so to fix it, the back end will have to be adjusted, but it should still work with the front end regardless. I think that we can consider it mission accomplished for the summer, having produced two pieces of working software.