As we’re moving rapidly toward the point at which the class will divide into groups and begin working independently on projects, it’s time for me to break from just coding and examine practical issues with my suggested wiki-based fiction project. Our goal, first off, is simply to build fiction using the wiki platform. Our purpose in this exercise is therefore to examine the differences in the communal fiction of our wiki as well as to use it to guide writing a few traditional-form short stories — the opposite of how the practice normally works. The best example would be “A Song of Ice and Fire,” which is a deep and expansive universe. My encounters with that fictional world come from two sources: the show “Game of Thrones” and the wiki.
The practical issues involve building and hosting the wiki. As I’ve stated before, the easy way out is through Wikia, a free wiki hosting site. The obvious enticement is the “free” part, but I also wouldn’t have to build and maintain the structure supporting our content. The clear downside (beyond the whiney hipster in me going “but it’s Wikia! It’s so bad!”) is that the content is run on an existing tool and part of the group project is to build. We would still indeed be “building” in the same sense of Christine de Pizan’s city of ladies, but that’s clearly just circumnavigating the exercise, defeating its intention. However, this also means I won’t have to keep paying for the service if I find the project to be not worth showing off.
The other end is to suck it up and pay for hosting, which I need to do anyway. My idea pursuing this route is to host the wiki within a personal website (which I will build). This is effort, but I do feel it’s the right thing to do. However, I’m leery going forward in CS with the intent on “doing the right thing.” In my AI course a few years ago, my group decided this meant coding our project in LISP. This decision greatly complicated our project and resulted in a program that was not only dramatically less efficient than others in the class, but one which I barely understood (because, again, LISP is awful).
Flashbacks aside, I do know hosting is the right way to go but the decision is difficult for me.
Well it took me long enough, but I think I’m finally done with HTML and CSS, at least for now. It seems silly that I’ve stuck with only the two of them for so long, but I’m not exactly a computer person and I wanted to try and get those down as much as possible before moving on to something else. Either way, I went through the advanced tutorials for both HTML and CSS numerous times and while I don’t think I am exactly adept at either of them, I think I have learned quite a bit. I am hoping that what I have learned sticks with me, but just in case I’ll probably still practice with both codes a bit in my off time. I messed around with both of them enough to know that I am really not a fan of CSS and HTML is only better because it seems like it matters a bit more where it counts. I keep thinking back to learning C++ and I think that learning HTML has been a better experience over all than that has been, but CSS is still a mixed bag.
So with HTML and CSS finally (more or less) behind me, I decided to look into another programming language to try and learn. I decided to go with Java since that seems to be a fairly popular code to use. What the ultimate difference is on when you use one over the other I’m still not 100% sure, but I’m getting the gist. I briefly considered choosing Python over Java, but I know enough people who have taken the time out to learn Python to know that if I am going to learn it, I should probably save it for later.
So I started on the Java tutorials that I found online. My first impression: it feels like learning HTML all over again. In short, while I am getting the general feel for it, it’s still too unfamiliar for me to just jump right into. My first instinct when dealing with any kind of code nowadays is to think of it like it is HTML, which might be why my progress in CSS was so slow. In Java however, I feel like I need to just completely start from the beginning on my learning experience. I am looking at it with (sort of) a clean slate mindset and while I’m still not getting it as quickly as with HTML, I am messing around with Java and going through the basic tutorials enough that I think I will be able to make some progress on it pretty soon. If I keep up actually practicing with it and move on to the advanced tutorials faster than I did with HTML while keeping myself in the code more than a couple times a week then I think I’ll be able to make enough progress on Java to move onto something else by the end of the semester. A part of me still kind of hopes I’ll be able to learn Python for whatever reason, but I’m going to get through this first.
I’m shifting gears this time around and going into video editing. Since I’m part of the interactive fiction group, some degree of animation and editing might be part of the project requirements. I have an Adobe Suite to utilize, so if I have to focus on animation or video editing I can do that on the fly.
But for this time around I’ll be focusing on what I did with video editing and Adobe Premiere, and right now is just a simple refresher. It’s been a while, so I practiced on fading in and out, panning, zooming in and out, and slowing down and speeding up a video. I also refreshed myself on recoloring, adding filters, sound adjusting, and playing different videos simultaneously on the same track.
It’s pretty fun to get back into video editing, and while I mentioned a lot of things, all that is, as far as I’m aware, editing stuff that beginner editors probably already know. Video editing is also somewhat more time consuming because there literally is some wait time to consider while compiling the video into a format appropriate for, say, YouTube. This wait time could range anywhere from 15 minutes to several hours.
However, while I did compile a small video at the end of my practicing and refreshing, it was very low quality so it didn’t take too long to finish, around 10 minutes. I’ll be checking how to incorporate these skills into an interactive fiction (hopefully it’ll be possible), but there’s always room for scenes when it comes to visuals… right?
Since my last TLR I have stepped up my resolve to learn fewd and my belief in the importance of computer literacy. While I was previously working on the “interactive web design” course Codecademy I have been enrolled in an online fewd course through Thinkful. Thinkful is one of the most budget friendly courses among a number of paid online courses. Its been so worth the investment. Every week i spend an hour on Google Hangout with mentor provided by Thinkful. My mentor’s name is Justin and he is a web developer who is currently working from the Philippines (I have the impression is moves around a lot). He has been a great resource, he helps me move past road blocks in my projects, teaches me best practices used by developers, and points me in the direction of the best online resources. Through Thinkful I am also connected to a community of similarly driven students and together we help solve problems that were having on projects. I think the community that the course provides helps keep me motivated to continue spending time (about 10-12 hours a week) learning fewd. Below are some examples of what I have learned so far:
Chrome developer tools are AMAZING and I never thought I would be using something called a “developer tool” or that listed “rapid prototyping” among its many uses. Am I worthy?
Chrome Developer Tools allow you to see changes to a website’s code in real time. This can allow you to play with the look of a site such as the New York Times for shits and giggles, as you can see above. But it really comes in handy when your building your own site. It helps you quickly locate a problem or find a solution. You can even save changes directly to your local file after testing it out on chrome!
Below is a site that I am currently working on:
I am working to replicate a site of a business called Karma. It is a still a work in progress. For example I have created borders around all the elements to help me better visualize how the elements interact with one another.
The last few weeks have been an up and down, roller coaster ride for learning. There were successes and failures, but I think that I’m learning more about code while trying to learn about Python. Here’s the thing though; Coding in Python is a LOT more time consuming and requires a ton of logical thinking. When I was first learning HTML and CSS, I thought those languages were complex. Now that I have seen Python, it makes web-based coding seem easier. Of course it isn’t, considering that it took me ages to actually learn how to code websites properly. However, Python has a lot more things I have to remember when coding. It is almost as if I need to actually think like a computer in order to get a working piece of code. For example, in Codecademy (I ended up going back to that after I learned the basics from my book) there is a section where it wants you to try to make a simple set of actions. The slightly famous “Hello World” script. Now coding that wasn’t the problem. The real problem was when it wanted me to have it pop up after I typed a command. I had such a hard time with this. I don’t know if it was my computer not running the site correctly, or if I was just incompetent, but I had trouble getting it to work. This is the same problem I had when I first learned how to code in HTML. I couldn’t get images to work. I eventually found out that I needed the “” in order for it to display. My brain usually ignores “” so it was difficult for me.
I am learning a lot about coding and my own abilities to code. I think after I get the gist of Python, I may move into C++ as that, as I found out just a few weeks ago, is the standard in the video game industry.
Repeated use of http://scratch.mit.edu/ has taught me to create even more advanced stories games and animations. On this site you can not only view and play with the stories, games, and animations of other users but you can look at the scripts that were implemented and make your own changes to them. Learning how others have made use of these tools in their everyday lives has inspired my own creativity.
I spent a lot of time developing my own electronic greeting cards. There were several subsequent benefits to learning this skill. Unlike a greeting card from the store, an e-greeting card that I have created is free. The entertainment value in the e-greeting card is equivalent if not greater than those that can be found on store shelves. This project required greater involvement and attention to detail. Making animations appear on the page of the e-card I wanted proved difficult at first. I learned to plan ahead. I was able to make the e-cars more personal using images I had taken myself and stored on my own computer.
I’m personally interested in poetry. In an attempt to see how these tools could benefit my poetry I played around with old poems of mine. I learned to make words appear one by one and animate those I wanted to emphasize. Timing the appearance of certain words and lines in the poems was the most difficult task. What animating words added to my poetry was a greater element of suspense. Because the poem did not immediately appear before the reader and instead it was fed to them at a pace that I chose I had even more control over my poems.
Sticking with developing my poetry, I attempted to incorporate sound to the animated poems. I was able to add low playing instruments in the background. Playing in sync with the music I recorded myself reading my poetry the way I wanted it to be heard. This development gave me a new appreciation for the tools on this website. Animating text helps convey meaning better than words on a blank page do. Allowing a reader to interact with that text helps them grasp the meaning.
I continued to learn how to animate different kinds of text. Making the visual animations cohesive with the sounds were difficult. Timing the recording of my voice with the appearance of words on the screen took a lot of patience. Often words wouldn’t appear until long after I had spoken them. At first I attempted to re record my own speech, when that failed I played with the timestamps on the word appearances. I was able to make my text appear at the will of the user. However, I could not make the voiceover match the text appearance while the user was in control. I would like to gain further control over the sound involved in my animations.
There are several obvious benefits to the visual manipulation of text. http://scratch.mit.edu/ has allowed me to make my words even more influential by animating them.
As our lecture schedule draws to a close, I can’t help bouncing on the balls of my mind-feet a little in anticipation of working and building projects of my own. The IDE I’ve chosen for testing the waters of CSS and HTML5 is NetBeans, the development platform built and maintained by Oracle — the company which currently owns the Java coding languages. I’ve used NetBeans for both Java and C++ development in the past on both Windows and Ubuntu, so I was very excited to learn that the same program and environment to which I am accustomed is capable of development for the web.
The first conveniences I noticed in my building foray was the inclusion of templates. While I would generally categorize “template” as a dirty word in coding, the ones I found featured built-in Google Analytics code which track views to the page. This inclusion is both convenient and disturbing; while it is handy that Oracle’s platform comes with tools which make it easier for the layman to keep track of site metadata, it also feeds that information directly to Google.
The last convenience is the ability to preview the site in any browser installed on the computer from which NetBeans is run. On mine, for example, I can run the site-in-progress on Firefox, Chrome or — God forbid — Internet Explorer. Since different browsers interpret the source code at different levels of efficiency and in different ways, this ability is actually amazing for advanced development (if I were to go all the way or something).
That’s all I really have to say about NetBeans. It’s nice. The code is nice and color-coded. I don’t hate the interface.
Instead, I’ve been thinking about the interactive fiction project more and how the internet can build new approaches. For example, the ability of a Wiki to construct a fictional world. We use Wikipedia often to learn more about our’s, certainly, but I also use others like “A Song of Ice and Fire Wiki” or “WoWWiki” to learn about other universes. I’ve spent hour of my life in Azeroth without having play “Warcraft” (though I have played World of Warcraft) and [wherever Game of Thrones takes place] without having read “ASOIAF” and have pretty extensive catalogs of information about them. Did you know that Illidan’s blades have panda heads for hand-grips in Warcraft 3? I do, because I read it on a Wiki. So I’d like to further examine how those are structured to see if we could implement something like that into the project.
So I admit that going over the various tutorials has not been as frequent lately as it should have been. Basically, while I went over all of the tutorials that I mentioned in my previous Technical Learning Report and progressed to the advanced HTML tutorials which I had planned to talk about in my next report, I did not keep the practice and reading of those tutorials as consistent as I should have. I have spent the past couple days trying to catch up on the tutorials that I should have maintained a more consistent schedule with, but what’s done is done. At least I’m not giving up on it.
For the past few days I have been looking over the advanced HTML tutorials a second time and I realized that even the second time around I am having trouble understanding everything that I am supposed to be learning. I have gone back to the intermediate HTML tutorials a couple times in order to get reacquainted with the material that I learned weeks ago. It is taking some trial and error, as well as a lot of jumping back and forth between the intermediate pages and the advanced pages, but I think I am getting the hang of the coding of HTML if little by little. On the downside of things my computer has not been exactly cooperative lately, so when I try to toy around with HTML and something doesn’t work the way it should I honestly can’t tell if it’s because I did something wrong or if my computer just decided that it had had enough for the day. Either way, I am gradually learning HTML better and with the tutorials mostly done I’ll probably be spending a lot of my time experimenting with the code itself while using the HTML tutorial pages as a reference for when I want to try something new.
On the other side of things, CSS hasn’t made as much progress as I wanted to by now. Since I have been spending the past couple days catching up on HTML, CSS has kind of been left by the wayside. I have gone over the advanced tutorials for CSS, though in my experience with the code already I need to practice with it more than read the instruction pages. I have gone over both the advanced and intermediate tutorials on CSS again and I will probably need more time to actually figure out what they are talking about and how the code is actually supposed to work. While I have looked over the intermediate tutorials more than once and am getting familiarized with them again, the advanced tutorials are still a bit alien to me and to make matters worse I haven’t had the chance to experiment with the code that the tutorials talk about as much lately as I would like to.
HTML is coming along, slowly but surely, which is more than I can say for CSS. While I slacked off a bit with HTML, I am getting back into it and improving and will do so more with more practice and experimentation with the code. CSS on the other hand is going to take a while for me to get used to it.
For these past two weeks I’ve basically been making buttons and linking pages between each other. They seem like simple things to practice or do, but I’ve also been seeing if I can put something unique in each page, whether it’s embedding an image or a video, and while I can embed images, inputting video is giving me a bit of trouble.
I’ve been working slowly and simply because all of this is really cool. That’s kind of a bad thing because I have an addictive personality, so if I don’t work carefully there’s a chance I can completely forget time exists and work on something for long periods of time. I can’t do this because there’s plenty of other schoolwork I have to focus on more than this, so I’ve been putting at least an hour per day practicing coding.
I’m checking to see if I could possibly embed a Twitter feed or something on a specific page. I don’t know how hard this will be but I’ve been interested in doing something like this. If it’s too hard I’ll see what else I can do, maybe practice some formatting. The possibilities are endless!
Using http://scratch.mit.edu/ I practiced producing a story. Previously, I had difficulty getting my sprite to move. In my story it was important that the main character could complete different actions. After watching several tutorials, I successfully made my sprite move forward, spin, change color, dance, follow the mouse, glide, and jump. With the ability to perform these actions my sprite appeared to be interacting directly with the other components of my story.
For my story I first selected a backdrop. Creating a setting was simple. Second, I added sprites. I made two main characters. Adding dialogue to the story was more difficult than I expected it to be. I had to program the dialogue is such a way that made the two sprites to speak at the proper times. I had to properly time all of the calls and responses of both characters in order for the conversation to make sense.
After, producing a successful story, I attempted to create a simple game. I modeled my game after capture the flag. The goal of my game is for the football player to get the flag at the opposite end of the field without being touched by the football player moving in the center of the field. This is an instance when the tutorial for getting a sprite to follow the mouse came in handy. The player was able to control my football player, wherever the mouse was moved the football player went. The other football player was not controlled by the player. In the script for the game I made it so that this football player was in constant motion moving up and down the center of the field.
The website I have been using provide paint editor tips. I decided to improve my own digital artistic abilities by checking them out. From the tips I learned to make my pencil lines more smoother. In learning this I drew more natural looking settings for my story. I also learned how to edit several shapes at the same time. This allowed for more cohesive images in my game. In addition, I was learned to layer my images and in doing so created objects and settings that looked more natural together.
I still have difficulty with design. Being that my artistic abilities off of the computer are relatively non-existent I don’t expect my skill in painting on the computer to improve drastically. Using this website I have however successfully created simple shapes and figures.
I have improved greatly in understanding positioning and how my directions in a script will affect how and where a sprite will move. It still takes me several tries to properly graph and control the movement of images. The end product thus far has been adequate. I would like to produce more advanced and detailed stories and games. I’m sure in time that will occur with the development of my ability to animate.
I like scratch because it was developed for children. This is the simplest visual programming platform that I have come across. The step by step tutorials make the skills easy and quick to pick up and develop. The most a person needs to bring to the table with this website is creativity and an open mind.