Monday, April 30, 2007
Service Reflection
Sharing my Flash Form tutorial was a positive experience. I especially found this valuable because I had spent so much of my own blood, sweat, and tears to accomplish this a few years ago -- it would've been a shame not to pass it on to curious flash designers.
My time creating promotional materials for Canopy Studio was rewarding. I spent a good amount of time working with Susan and other Canopy members to create a mailing package for a fundraising event in late April. I thought this would just be a short time commitment when I agreed and found myself spending a lot of time tracking down details! Nonetheless, I feel that I was able to contribute my skills to an organization that has done so much for me over the past 4 years.
Accessibility Requirement
The main thing I've done is to add a name, description, shortcut key, and tab index to each button and movie clip in my project. For most of these, I've simply chosen the item on my artboard and edited info in the Accessibility window. For all of the counties, I've created a separate function that adds accessibility options. This uses actionscript to add a name to each button and caption as it is initiated. This is helpful in that I don't need to go into the Accessibility panel for all 159 counties. So, when someone rolls over a county button, a text reader should read "whatever county" and then read only the number and unit included in the caption.
I've also used actionscript to add accessibility options to the form components used. Components have accessibility features included but the programmer has to enable the options.
Sunday, April 29, 2007
Week 9) Final thoughts
Between my last entry and the showcase, I made major improvements to my project and felt like I really had it up to par for the night. Major items that I fixed or added were instructions, a text area for content related to the map information, and separating map functions based on data chosen. This last item was the most difficult -- I had tried to do this about a week prior with no success. The critical piece of information to do this was knowing which value the user selected with the initial combobox. After a lot of false starts, I finally added a trace() to locate what values were being attached to the three different choices. After doing this, I could send the playhead to the right display and make a few other dynamic adjustments.
When 4-H or Print-on-Demand information is requested, the map shows counties colored by magnitude, a bar graph indicating counts, a text area to report county contact information, and the appropriate unit on the rollover captions. For the Impact Statement choice, counties are colored based by having a particular quality. The user is able to further refine the information displayed by program area and topic. The second part of this display allows the user to choose counties from the map to display associated Impact Statements.
I enjoyed talking with various folks at the showcase. I definitely saw some items that were out of place (which I've fixed since) -- as well as design choices that were not clear to the users. I especially liked chatting with folks about other uses for this and thinking of ways it could be adapted for the classroom. Almost everyone chose counties that they were familiar with, which I think struck a personal note for folks at some level.
On Friday, I met with my boss and showed her my final product. I expect that this will be online for internal usage fairly soon. I've enjoyed finding a place to use my class projects throughout the IDD program, it feels good to be able to put things to use as I learn them. I think it's also a positive for my job since my employers can get an immediate benefit too.
In sum, I've enjoyed taking 6190 again this semester and am looking forward to taking 6120 this fall. I feel more confident with my actionscript skills and willing to take some risks and experiment a bit to find solutions. After all, that is the zone I like to be in!
I've been reading Michele Dickey's article on gaming in instructional design. I am intrigued by the idea of appropriating commercial gaming techniques for educational purposes. I think this is a good departure point for me as I look towards the next semester. As a result of this degree, I would love to be involved in creating interactive games or some sort of experiential learning environment. From this reading, I really see a need to be at the crossroads where game design and learning theory converge. It's not so much the ability to program an experience like this, but to understand how to fit educational methods into an ever-more engaging and changing media (and vice-versa). I really think I'd enjoy the Second Life class this fall and am hoping that it may fit into my schedule and graduate needs.
This article does make me reflect on my own gaming experiences... the things that motivated me, the methods that I enjoyed that may be usable in other narratives. Metroid Prime and Paper Mario were the last games I really got in to in the past few years. Paper Mario was so heavy on a written narrative in the first part of the game, I nearly quit. I enjoyed the doing, the action, the exploration, and puzzle solving much more than reading a back story or practicing moves. It was the environment that was fun to me, not the rote details that set the scenes. Metroid Prime was an awesome game that did put me in the flow state for some time. This game was great as more parts unfolded the more experienced you became. Most of this was based on an ability to find tools and acquire special skills. The playing world was limited, yet I remember returning repeatedly to various places to unveil yet another layer of game play. I think this is important and I see how this builds on experience and a strong story line or end goal for motivation. In the end, I hit a foe to hard to beat and slowly lost interest based on frustration. After a while I got to the point that I knew I would have to start again from the beginning to get back to my previous skill level. I think that is also important to consider -- the critical point where a learner may proceed or completely withdraw from a gaming environment. I suppose this is the ZPD in gaming, but if acquiring a life skill depended on it (versus entertainment only), it would be crucial to keep up the student's motivation, self-efficacy, and attention.
I also remember the old, early video games. Playing pong on my friend's TV, learning how to uncover hidden secrets in Super Mario Bros. As a designer and amateur programmer, I now understand the limitations that drove some of the games I played. I hadn't thought about the limits of a scrolling screen until I read this article. Moving from Super Mario Bros. to Super Mario Bros. 2 was a big step because technology changed between the two games. Someone discovered how to scroll back! You could now retrace your steps and travel throughout a level! Of course, now, the technology is improving at a steady clip... we've moved on to truly immersive MMOG games and systems like the Nintendo Wii that require physical interaction for game play.
References:
Dickey, M. D. (2005). Engaging by design: How engagement strategies in popular computer and video games can inform instructional design. Educational Technology Research & Development, 53(2), 67-83.
Thursday, April 26, 2007
Week 8) Gaming, education, and interactive worlds
First, as a student and as an Instructional Designer in-training, I have to admit that I was shying away from this because I'd rather read than listen. Unpacking that a little bit further, I think I at least like some visual cues with my learning and information access -- this can be text to follow along with, a face to watch, etc. I have a strong aversion to audio in my individual education and pursuit of information online. I say this with my current education in mind because it seems that this is a very easy path for me to avoid and miss serving students who are better listeners than visual learners. Of course, an entertaining lecture on technology that requires little more than my comprehension of the concepts being discussed is easier fare to digest aurally than an intense how-to course with no visual, spatial, or hands on experiences.
All this being said, I enjoyed listening to Dr. Jenkins discussion and will probably return to Tech Nation for more tidbits in the future.
My discussion of my own learning does tie into this lecture, as Dr. Jenkins describes the future of entertainment and education as offering experiences across multiple media. For instance, a video game may be associated with a movie. The game does not necessarily repeat the movie but adds another dimension, timeline, and/or perspective on the storyline. The Matrix Revolutions did this with comic books, the trilogy, video game, and anime shorts.
As to education, Dr Jenkins talks about interactive games that add an immersive element to the experience of a child's education. This departs from the old drill-and-practice games that most of us, if at all, have experienced in our own primary, secondary, and (yes) post-secondary educations. I like how he brings up the notion of field trips and special situations in the course of an education that stand out because it gives the students a context and experience to hinge upon the learning, memory, and potential application. Games, when done right, can do this. Offering the learner a space to explore, make decisions, and create an experience will add to their capacity to learn the presented material.
The New Media Institute on campus is offering an undergraduate course on virtual worlds this fall. I think this would be a fascinating medium to study as a potential community for learning. For instance, what learning takes place now in virtual worlds and community-based online games? What is the educational potential for these virtual realities and online role-playing venues? How can the medium be tweaked to bring better education experiences to the table? What would a educational communication package like BlackBoard, WebCT, and other collaborative tools look like -- modified to fit in these worlds?
There are ideas of other growths for technology -- some only imagined, some being unveiled. I think of Jeff Han's interactive drafting table and how that might influence the way we interact with technology and the information we pursue/create/experience with it. I also think of Jakob Neilsen's concept of an ideal virtual world for folks with disabilities -- creating an environment that becomes 3-D for a blind user to make choices spatially instead of with a computer keyboard.
Project testing this week:References:
- Jenkins, Henry. 2004. Videogames and education. Tech Nation interview. [podcast] Available: http://www.itconversations.com/shows/detail435.html
- Nielsen, Jakob. 2003. Alternative interfaces for accessibility. [Online] Available: http://www.useit.com/alertbox/20030407.html
- Han, Jeff. 2006. Unveiling the genius of multi-touch interface design. [Online] Available: http://www.ted.com/index.php/talks/view/id/65
Putting on the polish
I've added an intro page that gives a bit of an explanation.. this page is still horribly blank though. I may add more text on the right side to explain the differences between the options that can be chosen. Another option would be to include a screen shot of the actual program with a brief "how-to".
I'm at a stopping point for the night though, I think. I want to divide the application into two different functions -- magnitude (gradient) display for 4-H and POD, and something separate for the Impact Statements. Unfortunately, I can't seem to figure out how to determine when the user has chosen the latter. So, I must hope that I can talk to Keith tomorrow with a final hour solution.
I also want to include more information about each county, such as the county office information. This is data I need to feed in. I'm not too sure if it will happen so I'll sleep on it and hope that Plan B will transpire overnight!
If I can divide the program into Impacts vs. other, I can use the link and select options on the county buttons to interface with the Impacts database. If I can't get that to work, I'll just focus on one feature only tomorrow.
I have learned two cool Photoshop effects tonight:
Tuesday, April 24, 2007
ever more refinement
It seems that when I get deep into a problem in an unknown territory, I spin my wheels about 10x greater than I effectively move forward. This is frustrating, but at some level, I know that all that wheel-spinning has its fruits as well. The dynamic multiple choice experiment I was distracted with a few weeks ago was useful recently as I tried to duplicate dynamic text boxes as movie clips.
I spent about 5 hours on Saturday trying to set up a way to switch the kind of data is displayed in the bar graph. Right now, this is showing county data relative to values in the other counties. The highest value on the chart is equivilant to the highest county value for the dataset. A different way to view this would be to frame the data as it is distributed throughout the state, so what percentage of the state data exists in a particular county? I was able to create code that would do this, partially, but it would not toggle well between the two views. After 5 hours of struggling, I had to resign myself to keeping my graph view to only one option for now. Even as a second view would be valuable, the percentages of a single county in a state of 159 are very very small and mostly evenly distributed (well, for the data I tested). This can be accomplished or further explored in my next version, the after the studio version!
I've also been struggling with labeling each of the bars in the graph with the appropriate county name. I have tried every way I can possibly imagine to generate text fields that label these bars. What I have determined is that some part of my code is taking a major chunk of processing power and the code I wrote to dynamically generate this information was dropped. I could be presumptious with this... but I've tried so many things and proven that my code works in a clean document! I had to abandon this to some degree too. What I have done to solve the problem is to create a separate flash movie that contains all of the county names at the appropriate angle, size, and order. I'm importing this movie into my graph movieclip. It works, but it would be a pain to edit later -- Georgia does change its county names from time to time, but that has to be a pretty rare event.
I've also adapted the graph to mimic the color scheme of the map. I hope this will eliminate the need to make a legend that explains what each color gradient is equivilent to. When the user rolls over the map, the value in question is focused in the center of the graph and all the other information fades into the background.
I think I can move on from the graphing feature! The only refinement point for that is to find decent placement for the scrolling arrow buttons.
Here's the file in question: barGraphASedited
The next problem I need to solve is finding a way to effectively communicate the purpose of my project with my users. I've gotten quite a few comments on this, and I know that my project is not necessarily self-explanatory. I'm exploring methods to separate the dataset choice from the map and graph page. I've got this working halfway, but my map buttons no longer work. *sigh* I'll need to comb through my actionscript a bit closer and determine what must be displayed at what time to make everything to work seamlessly.
Here's that file: barGraphGettingBetter
What else do I need to accomplish?? Well, if I can make this entry page communicate the right information, I might be able to bring back some of my concept work from earlier -- this would primarily include using the map to interface with the Impact Statements system.
Does this project need to be pretty? I'm not so sure. It won't really serve as a stand-alone item in its actual usage. It does need to be useful and non-intimidating.
Onward onward! Tomorrow is going to be a busy day.
Monday, April 23, 2007
Desk Crit #4: HueiHsien
Hi HueiHsien,
I hope you enjoyed your weekend. I've attached my desk crit for your project. For the most part, my critique addresses some usability issues. Take a look, I can clarify any points you have questions about. I think you've done a really good job with this!
Cheers,
Emily
Designer: HueiHsien Liu
Project: Epidemics and Pandemics
Project URL: http://lhh0418.myweb.uga.edu/6200project/direction.htm
Reviewer: Emily Pitts
Review date: 4/23/07
Interface:
- Subheading needs "How does" to make it a question, otherwise, no question mark.
- Page numbers would be helpful, within each major section. Maybe between the Back and Next buttons, as "page 1 of 5" or "1/5". This helps to keep an idea of where I am in the program. Alternatively, you could list the page numbers between the Back and Next buttons, and make them links to those pages... that would make all of your pages easy to access.
- At the end of each session, could you include directions to proceed to the next Session?
- Check spelling, grammar, and punctuation (you may want someone to go through this part with you, it isn’t that bad – just little things on various pages)
- It seems like a number of the figures include information or terms that aren't included in the text, at least not in the text on the page the image is on. Also, can any of these be made bigger?
- Could you name the buttons to include the subject title? For instance, instead of "Session I", write "I: Antigenic drift". This gives a constant outline of the program and reminds me what is ahead when I read (for example, at the end of the introduction you mention antigenic drift and shift, a description on the session buttons would indicate that I'll learn about this if I continue).
- Within your sessions, I think it would be more effective to place the subsections underneath the session button in the left menu. When I see these at the top of the page, I think that it will take me away and I'm not sure what will happen (I can't see the Next button unless I scroll). It also looks like I can just click whichever subsection instead of clicking next after I read "What is it?" -- this isn't right, because there are more pages in this subheading (if this is just to provide a place to skip ahead, linked page numbers would do the same trick, without diverting the first-timer's attention!)
- Can the text be broken up a bit more? Bulleting select items within the text or numbering steps will make information stand out on the page. If you had more time – this would be a great help from your SME.
- The many different buttons on the page can be distracting and confusing. If you require that the user view all of an animation or quiz before going to the next page, your last Flash frame could include the next button, to the next HTML page – by doing this, you could take off the extra next button on the pages with Flash interactions.
- Think about using different navigational language between the flash interactions and the lesson interface. For instance, instead of saying "back" in a flash quiz, you might say "try again" on the button. That way, the buttons will not conflict.
- Can you make the text darker in the Flash movies? The gray text doesn't stand out well and can be hard to read on some pages.
- Your animations look good! The only odd thing is in the Mutation of genome movie, after you zoom in to the cell, it skips to a pink box. Do you need help with this?
Content
Help
I would include this information on a single help page. If someone needs help while they are in a lesson, they will only have one page to view. (I didn’t understand where I would go with the “next” button; I thought it might take me to the introduction).
Introduction
- Include "Fig." with letters in parenthesis. Figure C seems out of place – are glycoproteins explained in the second paragraph?
- Intro p.2 -- how does "Surface of Virus" fit with content?
Session I
- add footer links (help, site map, etc.) on "What is it"
- What is "facilitating information" on the incorrect feedback? Do you mean "Hint:" or "Helpful tip:"
Session III
- The left menu has different spacing from the other pages.
- p. 2 - the image doesn't enlarge
- Exercise 2: You may want to be clearer about the two symbols above the radio buttons. I recommend just "T" and "F". (this applies to any of your true/false quizzes)
Quiz:
- #13 -- "Visit your grandparents" is pretty funny. I like that.
- #15 -- This isn't a question.
- What happens at the end? I was hoping to get a score. I think I got 4 right. :(
Ending the program
It would be helpful to have a conclusion. The program just ends abruptly after the 15th question. The conclusion could be a really short outline of what was learned or a short summary and link to the site map to review any particular section.
Thursday, April 19, 2007
Multiple Choice Quiz
This is more than just a multiple choice quiz...
This interaction keeps score for correct answers and lets users attempt to answer each question as many times as possible. Only the first attempt will count towards scoring.
View quiz
Download .fla file
Week 7) Learning by exploration
I've just been reading Dr. Stephen Draper's article More than we think. This is really interesting because he points out the differences between designing a product and using a product in the context of human-computer interface (HCI). Essentially, programmers create actions that match actual tasks that users may perform. While this will work for these specific actions -- there is little to predict how one individual will approach a specific task. So, user testing may uncover many different features of a product that are dysfunctional or inappropriately labeled. He proposes that instead of designing individual tasks for each action, that instead actions need to be viewed as being the result of sets of tasks.
This article points out a number of areas where designers may fail to grasp a user's difficulty with their product. For instance, even while the icons may be cleverly designed and logically (to the design team, no less) placed -- as user may not get this meaning. Three things can happen -- 1) the user completely ignores the icon, not recognizing its importance or function, 2) the user chooses the icon out of curiosity, frustration, or boredom when attempting a task, or 3) the user chooses the icon with no idea of its function and thereby assigns it a personal function unlike the original purpose. I find it especially interesting that users relate to an interface entirely at a personal level. There must be some similarities between groups of people as they become more experienced with a particular program or have expertise in similar fields. That aside, a user may gravitate towards and assign behaviors to interface elements based on shape, color, or location, with no regard to function! I like this because it demonstrates just how wildly diverse individual cognition can be.
This exploration of programs can be labeled as “learning by exploration”. Downe divides this concept into three groups of experience: “guessability (first time use), learnability, and EUP (experienced user performance).” It is important to grasp the range of experience and expectations that our users bring to the table when using the products we develop.
Learning by exploration is such an important concept that includes the experimentation and successive failure and triumphs we go through when approaching a new interactive program. At the somewhat meta level of this is my role as a designer of a product that will be used by a learner (for instance). Even as I am attempting to preempt how my product may be used, I am in turn interacting with a different program to complete my product! I find myself interacting with Flash like this a good bit. Sometimes I know what I’m doing and have a straight shot at a solution, other times it’s much more of a meandering path of errors and successes.
This reminds me of my methods to programming. I’ve learned my way around more dynamic code on an essential trial-and-error basis. I find myself able to communicate with the hard-core programmers yet have often been addressed as “approaching this like a designer’ (implied – not a programmer). Clearly, my own cognition for the tasks I complete has been modified by my own experience.
Project testing this week:
References:
- Draper, S. (1996). More than we think: Facing up to the plurality of goals, methods, needs, and resources in HCI. Australian Journal of Information Systems, 3(2) pp.31-35. Retrieved April 19, 2007, from http://staff.psy.gla.ac.uk/%7Esteve/oz.html
Sunday, April 15, 2007
graphing
So far, I have comparable data in the graph as is shown by the colored counties. If you roll over the counties, the graph shifts to the county value in question. I'm having problems labeling each bar, which isn't satisfactory. I'll need to look online for a solution for loading text 2 MCs deep, as well as unloading dynamically drawn items.
(Unfortunately, at the moment it appears that my dynamic information isn't loading online. I'll need to talk to Keith about this tomorrow... it's working fine on my local computer.)
Thursday, April 12, 2007
Week 6)
One of the major points that came out of the critiques of my project was the idea to include some sort of tool that really shows how each county compares to each other, or within the entire state. To that end, I've been thinking about including a bar graph in the bottom right space that can be toggled between viewing stats for the entire county and viewing stats for chosen counties. I should be able to use my "click-to-choose" mechanism to select counties for more information. The bar graph itself can be generated with the same math that colors the counties and a growing bar, like a graphic used in preloaders.
Another feature that was lacking was text to explain the project and instructions to explain how to use it. I plan on making the entire right field a console area -- this may include the bar graph, select tools, and text areas to indicate counties selected or give more information about counties as the cursor rolls over them.
I'm at a difficult decision point as to what I want to accomplish with this by the showcase and how this may be used immediately in my work. I'm torn between showing different options, illustrating the flexibility of the application, vs. sticking with one specific path. The data I use determines some of this -- the impact statement data is not quantifiable and the map is used more as a navigation tool to decide how much information to request. The monetary and demographic data is definitely quantifiable and lends itself to a more dynamic subject.
One final idea that I've had (and may not be explored until later) is to overlay the congressional districts on the counties and determine with actionscript where the districts and counties overlap. This could report data relative to the counties per district.
I've been looking at the article from Rose about the brain in learning. I find that information fascinating -- but not tying in directly with my studio experience. As it is, this has been the year of the brain, in my personal life, as my family has learned about brain functions and cognitive disabilities at a very close level. It intrigues me to learn more about how the brain functions, how we store memory, how learning shapes us, and how the brain reacts physiologically to input (the triune brain aspect I mentioned some weeks ago). I'm also fascinated by the right-left brain concept and how that really plays out. Many of these things can be generalized, yet we all function differently.
For me, I'm always intrigued by my own learning processes and appreciate the space to explore my experiences openly. My favorite activity towards accomplishing a tough problem is to mull it over a little and set it back to percolate -- then to revisit the original problem later and determine an approach. I'm definitely back in my percolate mode, waiting for the inspiration to strike on approaching the final stretch of this project.
References:
Rose, D. & Meyer, A. (2002). Teaching every student in the digital age: Universal design for learning. Alexandria, VA: Association for Supervision and Curriculum Development. [On-line] Available: http://www.cast.org/teachingeverystudent/ideas/tes/ (Chapter 2:What Brain Research Tells Us About Learner Differences)
Thursday, April 05, 2007
Desk Crit #3: Remi
Project: Fixed Rates and Floating Rates Tutorial
Project URL: http://rojo.myweb.uga.edu/fftutorial/documents/
Reviewer: Emily Pitts
Review date: 4/5/07
I had a chance to review and discuss Remi's project during the studio dress rehearsal. I thought she could really add more interest to her project by moving away from the gray monotones and adding color to spice things up. Just scanning through her program, I saw a wide variety of type treatments that would be much easier to digest if they were consistent (variations in size, spacing, etc.) We talked a little about how the buttons were labeled and how that might affect her user's choices in the program For instance, from quiz screens, the text indicated that the user "go back" to the next section of material. This could be better conveyed by saying "continue" -- indicating that the user is getting new info, not review. We also discussed basic identifying text, like subtitles for main subsections on every relevant page and adding page numbers, so the user will know where they are and how far they are in the program.
Week 5) Actionscript mathetics
I shared my file with my coworker Keith on Monday. He’s been able to connect it to our servers and feed live data to it. He’s shown me how the connection works, which I hope to have a chance to explore a bit myself.
At the moment, I’ve been preparing for the dress rehearsal tonight. I’ve been trying to solve two problems that are proving impossible to solve. Both involve trying to build an accordion type menu (sliding bars that move on a vertical axis). I’ve done it two different ways and both have some problem connecting my variable names to my buttons or movieclips. It’s hard to describe. Nonetheless, after too many hours struggling with this, I’m willing to give it up and try to use the form components that Keith has used. I hope he can tell me how they work, then I can concentrate on accomplishing this project!
Learning actionscript can be a real pain sometimes. I’m at the point again where I don’t feel like I have many places to turn for help. I can’t figure out the terms for what I’m trying to solve and it is frustrating. I guess that’s good in some way, it means I’m at the edge of my own experience and knowledge and trying to push forward. This would be relative to that gratifying, albeit painful, muscle burn after really pushing my body physically. Except now it’s my mind. My thinking muscle.
This reminds me of Papert’s article A Word for Learning. How am I learning this? What are the processes? Do I know how I’m going about it and where this comes from? I’m not so sure sometimes -- how I pick up what I do. It seems like a lot of it is hard work and other times the knowledge and solutions just fall into place. I think the latter is a result of previous hard work and really making connections between various events, facts, experiences, etc. I like having a problem to mull over. Sometimes, I just let it be for awhile and just wait for the solution to manifest itself. I know this comes from somewhere, but it can be a surprise. Patience is not always easy, nor is this method always timely.
On the method of learning and teaching people how to learn, or “mathetics”, this is a hard concept to pinpoint. Certainly there are strategies that can be shared with other people. The real learning, the moment when things crystallize, is that something that we can even describe? That to me is so innate and instinctive. Essentially, the brain constructs itself. Do you tell which part of your brain to encode new knowledge? Not really, although the environment, actions, context, and emotions surrounding the knowledge certainly have a weight in how experiences are encoded – perhaps as background, or crucial reference points for future recall. That said, an improperly tuned situation could be disastrous for encoding, and, in effect, learning and retention.
Project testing this week:
References:
Papert, S., (1996). A word for learning. In Y. Kafai & M. Resnick (Eds.), Constructionism in practice: Designing, thinking, and learning in a digital world (pp. 9-24). Mahwah, NJ: Lawrence Erlbaum Associates.
Tuesday, April 03, 2007
Progress
Connect to datasource using CF and Keith's CF know-how.
Exploring methods to connect with CF
Identifying needed data
Testing and achieving multiple select lists "on fly"
Trying to determine best method for buttons (as HTML or MCs? How do they interplay?)
Problems with scrolling (must always be "contentArea")
Problems with slidy-bars (should review old files from DFCS)
Typical, frustrating, yet comical result.
Saturday, March 31, 2007
Interface and data views
Here's the latest iteration: map_pages
I'd also like to point out, that it appears that I've achieved almost all of the concept notes I outlined three weeks ago. I do need to review the accessibility requirements and find how those fit in. I do see using the output area as a text-equivilant to the visual data displayed on the map. I would like to see if I can make the captions accessible for text-readers, but I'm not sure how that will turn out since these are loaded dynamically. It would be sweet to learn a few new accessibility techniques.
Friday, March 30, 2007
The worst problem
So, while my code appears to be splitting everything up and spitting out the right information in the right place, it's cutting a number of the topics' information off. This is evident in the "undefined" variables that are showing up at the end of some of the topics' output.
I have no idea what is going on with this. I'll have to dissect the code and try to back up enough to a place where it does work correctly. Lucky for me, I'm saving this iterations and can check to see if "map_options2" had the same problem.
--
"map_options2" is doing this to some degree, although not in a matching manner. This is frustrating. All I can tell so far is that somehow my loop to determine the counties will only go so high, per topic. Each topic is cutting off or showing different numbers of items. It's possible I've reused a variable by accident, or called the wrong array. I'll have to check.
I'm also contemplating putting my variables together in a more compact manner. I'm having serious issues with the titles that have commas in them, versus the commas I need to separate my values. I might be able to fix this if I can get my program to recognize whether the surrounding characters are numerical or not. At this point, I feel like my actionscript for this is growing out of control and a bit bulky for what I'm attempting to accomplish.
--
It's been a few frustrating hours now. I've run a lot of tests to try to isolate my problem. I've found out that my link on the topic name has the right content, but somehow it's just not passing through to the next step. Some topics pass all of their information, while others get truncated.
I just looked up the array property ".length" and see that this is used to determine how many characters are in a string. I'm thouroughly confused now, because I think I've been using it to determine how many nodes I have in my array. But, it seems like this has been returning the correct information in some instances. Needless to say, this is aggravating.
I will note that I've been referring to the chapter on "strings" in my actionscript book, for probably the past few weeks. I'm turning to the array section now. I *hope* that there will be an answer for me! Otherwise, I may determine to abandon this aspect.
--
9:54 - still struggling, although I've taken a long break! I think that I've figured out more of the problem, although I still don't know how to fix it. Essentially, I'm using "asfunction:" to pass variables when a topic is chosen. This feeds the variables to a selected function that expects a certain number of variables (1) in it's format. Since all of my data is comma-delimited... it's totally freaking out the function. I honestly can't see a method around this. I'm thinking that if I can swap out the comma for another character when the variable is passed, that this would work. I can't take the commas out of my external AS -- I've tried and broken the file on that side in addition.
Now it's me versus the machine. I think I could give this up, but I've been taken in by this problem. At least I'm learning more about scripting, so that's good. For every mistake I make, I learn how NOT to do it!
--
11:42 - Success! And relief, now I won't have to think about this particular thing anymore. I might try not to touch the map for a while and work on some other projects.
Here's the final for today: map_options_mag
What's the difference? Ah-ha, the user would never know the difference, but I do. The data is complete, no longer truncated. I ended up passing a single, relevant number and then using that number to call up the right array. I've discovered, through blood-sweat-and-tears, that there is a limit to the characters passable per string -- atleast in the context that I was doing it.
The counties on this map also link to the Impacts database. It's not relevant to the topic, yet. It is forming a new URL on the fly though, so that's cool.
I need to fix the rollover buttons so that the counties return to the right color when you roll-off.
I can't do any more today! I think I'm going to take a break. At least for a day.
--
I just had a thought. I wonder if this would be easily translatable to other political maps? If I can get the basic mechanisms down... it just might be. That would be a neat expansion.
Displaying magnitude
Here's the file in-progress: map_options3, this uses a different AS file countyDataMag
Thursday, March 29, 2007
Map + variableTest = mixed results
I've also had some success combining this with my last map iteration (ga_flashMap4). It's doing something, which is good. I'm amused that I've turned all the selected counties black. See the result: map_options Choose an item from the scrolling menu at right. This is funny because I keep turning everything black on my first attempt. I don't think I know why I keep doing this, although I've been able to fix it so far.
My next steps will be to make the counties turn the color I've assigned them and also to reset the map for each item chosen. It's good to see this coming together!
Finally, I've learned that my movies won't do anything if I don't also upload my external actionscript file.
I've fixed the county coloring issues. It is now coloring the chosen counties blue (I had a syntax error in my AS) and resetting the map when a new topic is chosen. See: map_options2
It would be interesting to experiment with colors if multiple topics are chosen, showing how topics overlay. Also, it may be possible to color the counties relevant to how often this topic has been a focus of Extension work.
Now my next step will be to produce some result when a user chooses one of the counties. For one purpose, this map is intended to be a visual interface to our state database for college Impact statements. I have the right variables that I need to pass, I just need to connect the buttons to a "getURL" action.
Desk Crit #2: HueiHsien
Project: Epidemics and Pandemics
Project URL: http://lhh0418.myweb.uga.edu/6200project/direction.htm
Reviewer: Emily Pitts
Review date: 3/29/07
On March 29, HueiHsien and I went through a few of her animations in-progress. I talked to her about improving the quality of graphics for her animations and showed her how to make edits in Fireworks. The primary crit at the time was that her graphics were becoming very bit-mapped when she zoomed in on them. This could be fixed by downloading higher-quality images. She also was working on modifying an existing graphic to animate virus encapsulation (something like that). We talked about editing her graphics to be flat consistent colors so she could add modifications to them without having to worry about matching gradients and other special effects. We also ran through the movies a number of times to look at sequencing and transitions. Instead of zooming in on the person's stomach and cutting to the viral cell view, I suggested that she zoom in on the person's hand and then transistion to the cell view. This would make a much smoother transition both visually and mentally. Since the cell is pink, it would blend in well with the skin color. As it was, it seemed like the virus had to be transmitted to the person's stomach! We also talked about other transitions and various ways to present her content.
Week 4) Design approaches
The second connotation of this title is exploring my own design approaches, as in, my approach to solving the problems I’ve laid out. In Footholds for Design, Gal describes a rock-climber as a metaphor to the design process by relating the climber’s choice of footholds on a path to a designer’s choices and accomplishments towards a goal. Each foothold grounds the climber/designer as the next step is sought, attained, or abandoned. I definitely can relate to this as I develop my project in bite-sized pieces. My approach is sometimes tedious and when I view all the files I output, it seems a bit excessive. Nonetheless, as a professor of mine taught me years ago -- start simple and make it work. This mantra carries me through. For every change I make, I usually create a new file. In that way, I can always go back and see what the difference was between the two. This creates many go-to points (footholds) in my developing project that I can return to if I abandon the successive iteration or decide to pursue a different route with a future problem. By doing this, I create a million files that, when observed much later after completion, are hard to tell apart! This time, I’m using this journal to keep me on track, at least for the major decision points and concept proofs.
I also can relate to the concept of the computer as an image foothold. I’ve been mulling over how to introduce a number of items for the user to choose from, essentially trying to figure out how to develop an interface for the map. In collecting my data, and looking for a solution to manage the data collected, I came across two items that have inspired me. First, the data that I’m using comes from a database that currently has a user interface. For the user to interact with the data, they must make choices from a number of form lists. I know that I can dynamically create some sort of form action in Flash, and was considering using the duplicateMovieClip action to create a drop down menu. When I try to think of accomplishing this, however, I know it is a daunting task that I don’t think I am up for at this time. I reviewed an older project of mine, the SBOF CD project that populated dynamic text fields with HTML formatted text. The crucial part of that solution was the ability to call Flash functions with a link. After running a few tests, I think this is my solution. I can control the information in the dynamic field and create a function to appropriately control the linked item. Plus, this has a scrolling feature, which will help maximize my file's visual space.
At this point, I have a few more concepts to test and then it’s time to bring it all together. I’ll try to keep up with my progress over the next week, to add more to my personal design footholds.
Project testing this week:
References:
Gal, S. (1996). Footholds for design. In Winograd, T. (Ed.), Bringing Design to Software (pp. 215-227). New York: Addison-Wesley
Wednesday, March 28, 2007
Importing external data
So, what can I do with this kind of information? Eventually, I'll use this info to populate specific items in my GA Flash Map. Most likely this will be some sort of button mechanism that, when chosen, will highlight the associated counties on the map.
For now, I'm back to testing, to see if I can get my functions working correctly. You can see my test file here: variableTest.html.
The actionscript on this file first imports "countyData.as" -- my external data. Then I load a function "showOutput" that will populate a hidden output area when a text button is selected.
function showOutput(b) {
outputArea.htmlText = b;
}
I populate the contentArea (in the blue box) with HTML formatted text here. This is running through my arrays in the external file and listing out the first item in each sub-array of "topic". In addition, this code ignores any arrays that do not have counties associated with it.
p=0;
while (p<topic.length) {
q = topic[p];
if (q.length>1){ // checks for topics with county data
myText = myText + "<u><a href='asfunction:showOutput," + q + "'>" + q[0] + "</a></u><br>";
}
p++;
}
contentArea.htmlText = myText;
trace(myText);
The HTML formatting allows me to easily add a function as a link. I find this is easier to control and predict than creating buttons on the fly (like attempt last week with the multiple choice file). So, the link calls the function "showOutput" and loads the text from "q" into my hidden output area.
This script works my scroll bars.
if (contentArea.maxscroll<=1) {
myScrollBar._visible = false;
} else {
myScrollBar._visible = true;
}
My next step involves cleaning up the text that is associated with my "showOutput" function. Essentially, I want to only pass the county IDs, since these will be used to color the map.
More to come!
Friday, March 23, 2007
Thursday, March 22, 2007
Dynamic multiple choice activity
Here's what's happening with this multiple choice movie. I have a basic multiple choice interaction that is available for anyone's deconstruction and reuse here: multi_plus.fla. This requires knowledge of actionscript and an ability to get inside the Flash file to manipulate the contents.
What I am trying to achieve with this dynamic multiple choice activity is the ability to hand the .swf file to someone and give them instructions on how to load in their data. This ties in with an ongoing concept of mine to make items modular and reusable. Putting more thought to this... it really becomes a SCORM type of thing.
So, I have the file working better now than it was last weekend. I am able to load a question and any number of answers into a file. The answers change a key variable, so in theory, the answers can be checked. What I haven't been able to accomplish is clearing the radio buttons. I haven't attempted to check answers or progress to the next question.
Here's the file so far: multi2.html. It looks pretty simple, but keep in mind that everything is loaded via actionscript, in such a way that it will be editable without having to know how it works.
Week 3) Interactivity and instructional design
I’ve tested a number of basic needs for the GA Flash map. What I really need to do now is work on the next level of interactivity – user choice in displayed information. In reading Sims Interactivity: A forgotten art, I would see this particular project as moving from reactive to coactive in my next development phase. This would be a departure from simply showing data (the four districts) to allowing the user to determine what data should be shown. I think I have a good example. The CAES collects impact statements each year on a number of priority areas. I can use this impact data to indicate county extension offices that have concentrated on particular topics. A problem that has been put to me is indicating counties that have taken up issues with water resources. This should be a challenge to fulfill and will add on to the next part of my project.
As to Sims, and the article on interactivity, I enjoyed this and really see that many strides have been made in this area in the past 10 years. To me, the explosion of gaming communities is a major indication for the complexity of interaction that programmers have been able to achieve. I do question Sims statement about interactivity being primarily the instructional technologists domain because there are so many interactive things in our world today that, to me, just don’t seem to be educational. I agree that humans are always adapting and therefore learning, but with an intent towards education? Not so much.
That aside, this paper excites me because I realize how far this field has come in the past ten years and how many cool technologies we have at our disposal – courtesy the entertainment and communication industries. It is a matter of instructional technologists to recognize these tools to be repurposed for educational aims. For instance, the Nintendo Wii unites entire households in gaming, getting people off couches to move their bodies with the games. This kind of technology can be repurposed to teach kids about being active and motivating them to be fit. For adults, technology like this could be utilized to make physical therapy a daily task, done from the comfort of home, with a virtual instructor. As far as simulations go, this concept has been blown out of the water with role-playing games like World of Warcraft, a constantly evolving world that brings people of all nationalities together to play. Imagine a simulated world such as that to learn in, with the ability to make mistakes and connections not possible in the physical world. It would be simply incredible.
Project testing this week:
- caption... success!
- Colored map and captions combined
- Dynamic Captions
- Importing parameters via external .as
References:
Sims, R. (1995). Interactivity: A forgotten art?. Retrieved March 22, 2007, from http://it.coe.uga.edu/itforum/paper10/paper10.html
Flash Email Form
Here is an example of a form created in Flash: emailForm.html
You can download the original Flash file here: emailForm.fla
Create your form:
- Write your form text. This is probably directions and items that describe the input fields.
- Create input text fields for your users to type their responses.
- Give each input text field a unique VARIABLE name. This is the "Var:" item in properties.
- Be sure that auto-kerning is not selected.
- Add a submit button.
Create a Thank You page
- This is not necessary, but it is useful if you want a degree of control for what your user sees AFTER they submit the form. This can include a simple message thanking them for their submission, or it may be a new page that you want to redirect them to after they complete a test.
- Once you create your thank you page and post it online, note the URL. You'll need it when you add actionscript to your form.
Power your form with Actionscript:
- Initiate your variables in the first frame and layer. In this case, the order in which you list your variables is how they will be displayed in the email. These variables are required: [see original uniform doc]. You should also list the variables for your input text fields.
- Add the submission script to your submit button. This will be the script that POSTS the form data to the UGA server. This may include the "mailSend" variable.
- If this form will be loaded on a web page, you may want to include a target for the post action. This target will load your thank you page in a separate window from your movie. This is important if you do not want your user to lose their place in your movie.
- If this form is part of a Flash projector, do not include a target for the page to load. In this case, your projector will open the user's preferred web browser and load the thank you page.
Resources:
UGA EITS: Example Using Uniform
IT COE: Dr. Rieber's Survey Template
Friday, March 16, 2007
caption... success!
This involved pushing the variable "this" to the caption function and then translating the "this" information into a string, removing extra characters and some letter-case manipulation.
So now... I need to move to the next aspect to strike off my list. I need to review my desired functions again.
ga_flashmapTest4
Wednesday, March 14, 2007
Colored map and captions combined
What I do have: a new Georgia map that has all the counties converted to MCs, code that colors the counties based on their Extension district affliation, and captions that show when any county is rolled-over (with space for county name and district).
Here's the file: ga_flashmapTest2
Once again, I've reached my limit for the evening. I had a good bit of trouble adding in the captions and getting the code to recognize my buttons.
I will say that this is becoming a stronger proof-of-concept with each step. I can dig into dynamic data pretty soon.
Just a little more tweaking of the code...
I've managed to get the caption to show unique info for each button, as well as adding a rollover effect to make the chosen county more obvious. It's still not what I want, but a bit of a relief because I've almost solved my current problem.
Here's the newest iteration: ga_flashmapTest3
Just playing with this a little, I see that I need to set some sort of boundary to keep the caption box from going off the stage. I'll need to look into this.
Code and books used:
Actionscript for Flash MX, Moock
- Character Case Conversion - .toLowerCase
- Color Class - .setTransform
Sunday, March 11, 2007
Dynamic Captions
This has taken some manipulation, but I've managed to create caption labels for each of my houses and also dynamically called the houses as buttons (this is crucial later).
So what? I'm using something from earlier, right? Not exactly. Before, I loaded the text for the caption and the button actions on each instance of the button on the stage. Not the case this time, which is exciting because this is a new leap for me. I've used my arrays to dynamically load the button names into a function. So, if I want to change what ALL the "house" buttons in my file do later... all I have to do is change the master function. This is a MAJOR step towards portability!
Here's the file so far: dynamicCaption
I'll try to deconstruct this a little here. All of this AS is in the first frame of my Flash file. Eventually, as I can compact it, the most essential parts will be left in the Flash file and the more editable values will be stored in an external AS file. Throughout the code you'll see "trace();", this is just a great way to check that functions are working and values are passing through the code.
First, these are the arrays that I'm loading for each of the following five variables. Right now, "county" and "countyButton" have the same information, minus punctuation (both forms are required in code further down). I'd like to be able to manipulate the quotes with AS but haven't been able to accomplish that yet.
var countyButton = ["",house1,house2,house3,house4];
var district = ["","NE","NW","SE","SW"];
var color = ["",0x7a287a,0x0066cc,0xff0099,0xffff00];
var county_district = ["","NE","NE","SW","SE"];
This is the function for the caption label. I gleaned it from an online tutorial a year ago... I can explain it later. But, I do need to load this function before I can call it. Reversing this order is a big no-no that just results in failure.
if (showCaption) {
_root.createEmptyMovieClip("hoverCaption",
this.getNextHighestDepth());
cap.desc.text = captionText;
cap._width = 10*cap.desc.text.length;
cap._alpha = 90;
//
if ((bName._width+bName.x+cap._width)>Stage.width){
xo = -2-cap._width;
yo = -17;
} else {
xo = 2;
yo = -17;
}
hoverCaption.onEnterFrame = function() {
cap._x = _root._xmouse+xo;
cap._y = _root._ymouse+yo;
cap._visible = true;
};
} else {
delete hoverCaption.onEnterFrame;
cap._visible = false;
}
};
This is a nested loop that assigns names to each of the MCs and then assigns color based on the MCs corresponding district. The variable in the square brackets pulls the appropriate value from the relevant array. (Say what? Ask me more if you want to know.)
while (p<county.length) {
var q = 0;
while (q<district.length) {
if (county_district[p] == district[q]) {
county_color=color[q];
set_county_color = new Color(county[p]);
set_county_color.setRGB(county_color);
// trace (district[q]);
}
q++;
}
// trace (county[p]);
p++;
}
This is my test for loading the caption label per MC. It isn't quite working because it's just loading the last value for all of the houses. I think I experienced this problem earlier and need to include it in the loop above. Aside from that, I've used a new method in this section to load the caption text by dynamically manipulating data in the county string (var countyName).
while (r<county.length) {countyName = county[r].substring(1,county[r].length);
trace (countyName);
countyButton[r].onRollOver = function() {
captionFN(true,countyName,this);
this.onRollOut = function() {
captionFN(false);
};
};
r++;
}
stop();
Fixing the caption labels
It looks like I need to add some sort of check so the AS knows to apply which caption value to which MC. I'll have to play with this a little to figure it out.
This is much more complicated than I thought. It looks like the code isn't creating a permanent caption associated with the particular MC. I think I may need to write something that duplicates and creates a new instance of the caption MC. That way, every county MC can have it's very own relative caption MC.
This description should help me remember what I'm trying to accomplish when I start combing my coding books.
Later...
This is just not coming together today. I've made some progress, duplicating the caption instance (here: dynamicCaption2) but I can't figure out how to get the dynamic clip's name into the caption function, it just won't go.
The MC duplication code is pretty simple. My caption MC is called "cap", for every duplication this should add a number to "cap" (cap1, cap2, etc.) and position the new clip about 20 pixels below the previous one.
I'm going to have to walk away from this for now. Maybe something new will happen in a few days.
I'll work on the map later. I think there's a better version of the graphics at work. No point in turning all those counties into MCs if I'm going to need an updated file.
Importing parameters via external .as
Ultimately, what I think will work is putting the load file action on a button in the map interface. When the user presses the button, it will load whatever data the author has included in the relevant file. A master .as file would contain general functions and attributes of the map, while supporting .as files would be author specific.
I feel like I'm on to something. I'll need to investigate this and try to better define how it will work. A workflow drawing should help.
More later....
Saturday, March 10, 2007
Arrays, loops, and if statements
I'm testing a small proof-of-concept, to verify that I can indeed load variables into Flash that will be processed through a custom function. The function should check the arrays for compatible variables and assign color to the appropriate movieclip. I know, a visual or code view would better relay my concept than words.
Unfortunately, I can't get this to work yet. I haven't spent too long on it or tried too many times... so back to the "code" board. I do have decent notes on paper to explain what it is I want to accomplish, it's just a matter of translating it into arrays, loops, and if statements.
Okay, here's the first semi-success: dynamicColorSwitch2_readVar. The two earlier problems were that my array names didn't match up in the code and I put "=" instead of "==" in the if statement condition.
This is not a success because if my loop worked correctly, the houses would be different colors. As it is, it looks like my conditional is crap and just assigning all the color variables to all the houses -- no compatibility check like mentioned above.
Using the "trace()" indicates that my conditional isn't catching the value after "==".
Eureka! I have it! See dynamicColorSwitch2_readVar2.
Another careless coding mistake. Since I'm loading values with arrays, I need to enclose all the values with quotation marks. This is something I always get stumped on! I'll have to watch for these tripping points later....
Here's the code:
var district = ["","NE","NW","SE","SW"];
var color = ["",0x7a287a,0x0066cc,0xff0099,0xffff00];
var county_district = ["","NE","NE","SW","SE"];
var p = 0;
while (p<county.length) {
while (q<district.length) {
if (county_district[p] == district[q]) {
set_county_color = new Color(county[p]);
set_county_color.setRGB(county_color);
trace (district[q]);
}
q++;
}
trace (county[p]);
p++;
}
Putting it together:
Here is the first iteration of the Flash map. This shows a few dynamically colored counties, based on Extension district. ga_flashmapTest
I've started an Excel spreadsheet to manage the data. I suppose at some point this could be exchanged for a database feed.
Next steps:
- turning all those Georgia counties into movieclips
- setting up control through buttons
- adding another dataset to toggle between values
Concept notes
What should this do?
- Label counties (constant or via rollover)
- Load data about counties (I need to choose specifics)
- Visually display distribution of data throughout the state
- Give user some control (of levels below, increasing in user's favor)
- Set parameters
- User-choice from given parameters
- User-initaties new parameters
(Choosing new county groups via multi-select menu or map) - User loads own data set
Possible scripting needs:
- Load external actionscript
- manage data relationships
- how can this be cf powered?
- Generate new buttons/menu for dataset/parameter selections
- Rollover labels (fr. Xeriscape project)
- Change color
- Dynamic text display per county (included w/ labels)
- Determining color, possible spectrum to indicate quantity (relevance?)
- Browse and load external data
- Accessibility compliance through standards-enabled MCs -- are these attributes mutable through AS?
I'd also like to try to create documentation for this IF it is ultimately portable. That can be part of the interface.
Yikes, this is a pretty intense list. I'll see what of it I can accomplish and how relevant these items are as the project unfolds.
Week 2) Digging In
What's different about it now? The biggest difference is my growth as a Flash developer over the past two years. I understand Actionscript better and can come up with a few different ways to solve this problem.
I still have the old files, which are helpful to try a forensics approach to my previous thought process -- but it may not be worth the time involved. Anyway, deconstructing this old file is helpful for me to know what doesn't work and head in the other direction! Luckily, I have an excellent graphic of all the counties in GA, so some of that rote work may not be necessary.
I also have some other past projects of mine that I'll try to take lessons from. For any new Flash project that I do, I usually have to look at some of my older files to remind myself how a certain task is put together. I lost a wealth of information when my computer was stolen last November.... it saddens me to not have that personal resource at my fingertips any longer.
Nevertheless, I'm also planning to deconstruct a project I did for GA Science Educators, in order to get a grasp on arrays and data management again.
After looking at these items for inspiration, I should have a better idea of what I can accomplish now and what I need to investigate to take this new project further.
When I think about how I'm operating towards my project goal, I'm reminded of the concepts presented in Clinton and Rieber's manuscript The Studio Experience at the University of Georgia: An example of constructionist learning for adults. The Studio Experience is seen as a constructionist hot-bed for generating new knowledge. I can closely identify with the necessity of learning through problem-solving, discovery, and critical thinking. For me, the very notion of having a problem to solve will typically motivate me to action. It is crucial to pick a goal that is personally relevant, or otherwise personally valuable, to sustain the level of interest to pursue and accomplish. Since I am taking 6190 for the second time, as well as having many years of tool experience behind me, I need to find a project that challenges my current abilities with Flash. The GA Flash Map concept, as I mentioned above, has eluded me before. But this time, I feel like I have the time and space to explore the concepts that may make this project possible. Were I completing this solely for work, it could quickly be de-prioritized. I'm also attempting to richly describe and document my progress and problems as they develop. I think that this journal will provide many answers to me as my project unfolds, as well as future projects that I take up.
By the process that I chose to work, explore, and solve problems, I almost feel like I'm scaffolding myself, using my past experiences to push myself past my ZPD. I'm continuously pursuing answers outside of myself (books, online forums, etc.) but also find myself deconstructing old projects and relearning how I assembled them. It's not a reuse of previous concepts though, it's helping me to refine techniques and code, as well as defining new approaches to previously impossible problems.
Project testing this week:
References:
Clinton, G., & Rieber, L.P. (2006). The Studio Experience at the University of Georgia: An example of constructionist learning for adults. Unpublished manuscript
Friday, March 09, 2007
Changing movie clip colors
Oh yea, I'm reusing some of my old graphics for testing. It's easier to just recycle, and much prettier to look at than plain squares. Plus GA has too many counties to get THAT involved for testing.
I've gotten it to work! See dynamicColorSwitch2
Here's the code on the purple button:
set_house_color = new Color("/house"); // prepares variable set_house_color to affect MC "/house"
set_house_color.setRGB(house_color); // assigns house_color to set_house_color
Thursday, March 08, 2007
Drag-and-drop
dragTest.html
dragTest.fla
It's a fairly simple set up:
- Create movie clips for your drag items and target areas.
- Add an instance name to each target area.
- Add the following actionscript to each drag item.
- Adjust as needed.
This first section initiates the drag, with "startDrag(this)" on press.
startDrag(this);
}
This code tells Flash what to do with the drag item when it's released. I use this to determine the position of the drag item based on the user's action.
stopDrag();
if (this._droptarget == "/house1"){
setProperty(this,_x,50);
setProperty(this,_y,160);
} else {
setProperty(this,_x,130);
setProperty(this,_y,50);
}
}
In this case, the first part of the if statement tells Flash to position the drag item on top of the target if dropped on it. The second part uses the original X,Y position of the drag item to snap it back to its original location if the user does not drop it on the target. (Hint: use the properties panel to find needed X and Y positions)
Finally, you may want to add a bit of code to prevent the user from moving the drag item again after it has been released. Adapt the on(press) function to use this code (the item is only movable when NOT on its target):
if (this._droptarget != "/house1"){
startDrag(this);
}
}
Importing and Controlling Sound
Here are a few things I've been working with. Each file builds on the previous.
1. Basic sound control. Loads sound. User controls play, pause, and stop.
basicPlayback.html
2. Basic sound control plus the play and pause buttons toggle between each other (note: the stop button isn't working correctly).
basicPlaybackToggle.html
3. Basic sound control w/ button toggle. In testing, provides method to trace where playhead is at pause.
playbackMoveFrames.html
Conceivably, this last item could provide the information to allow a sound item to skip ahead if the user is moving faster than the audio file with written information. (I haven't gotten to that next step).
Contact me if you'd like to get the original .fla file. These are too big to upload, plus the sound file isn't really legitimate for me to load. (I can be found on the Studio website linked at right).
Week 1) Second Wind
I'm making an interactive map of Georgia. My idea is that I'll be able to feed an external actionscript file to a "smart" flash map. The external script will contain arrays of different kinds of information throughout the state. This will primarily be used to show distribution of [some variable] or other commonalities throughout the state, by county. I have an official government code for the counties, as well as congressional districts. I'm a little wary of deviating from county lines though, as most of my data will be county specific -- not district specific.
In the end, I hope to be able to put this map to work for the College of Agricultural and Environmental Sciences. We have multiple programs that could utilize this visual representation of the state. My goal is to make the project as portable as possible, as well as making the external scripts modifiable to accept new data without gumming up the Flash file.
To start, I think I can wing it without a database backing up the actionscript. I'd rather see a proof of concept first, then I can request particular data to be dynamically pulled into actionscript later.
Not sure how much sense-making I'm doing.... feels a bit techie to me!
As to the design of this, obviously, a state map is pretty standard. I've been thinking about Donald Norman's Emotional Design presentation -- it invokes the need to make this project beyond just functional and making it emotionally appealing. I can see dressing up the space surrounding the map to accomodate a prettier user interface. The smoother this looks, the more attractive it will be to the eventual user or potential client.
Of Norman's Emotional Design discussion, I especially like the 3 aspects of the brain that he discusses or the notion of the triune brain: the visceral, the behavioral, the reflective. I'm fascinated by the concept that our brains are constantly encoding our experiences with emotions, whether we are aware of it or not. Even in reflection we might add new emotions to long-past experiences. Better yet, the brain performs a particular defense mechanism -- if the visceral brain is threatened (unsatisfied?), little information goes to the next aspect, the same with the behavioral or "emotional" brain. On the other side of this, as we learn and if we reach overload, our brains shut down in this reverse order, retreating to the visceral fight-or-flight mode as a final defense.
I digress. Okay, so my goal is to keep that higher-order thinking going. No overloading for me and hopefully, my project's outcome will not overload my audience!
References:
Norman, D. 2004. Emotional design: Presentation made at the 2004 O'Reilly Emerging Technology conference. [podcast]
Thursday, March 01, 2007
Desk Crit #1: Daisyane
Project: Poetry Pirates
Project URL: http://daisyane.myweb.uga.edu/6200/project/index.html
Reviewer: Emily Pitts
Review date: 3/1/07
I talked to Daisy after her prototype presentation in the studio. I was very impressed with her project and enjoyed the playful feel she created for it. I thought she could tie the various parts together better by integrating the map into the game (like a little path that is completed on the quiz page) and also tie the game in with the lessons by adding pirate-themed graphics to the notepages. We also talked about showing progression through the quiz by a moving character or symbol on the treasure map.
Friday, January 26, 2007
Thursday, January 18, 2007
Initial Thoughts
In other news, it will be interesting to see if I can pace myself well throughout this semester. Maybe posting early will help? I hope so.
See you next week!
Why blog?
This is my concept for the Studio Reflection Journal:
- Post everything to one blog
- Organize it all with labels (aka "topics").
- Make a home page
- Point to specific topic areas from the home page
- Watch it all brilliantly unfold
