Author Archives: Tatyana Berdan

Reflection on the Midterm and Gallery Assignment

Midterm

One of the things that struck me the most as I learned more about Wes – the web developer I profiled for the midterm – was just how much thought goes into designing a story or website. Reading though his explanation of a web documentary he helped create for NPR gave me a greater appreciation for how much research, planning, and thought go into designing something for the web and how much designers think about the user experience when they do their work. I feel like as regular internet users, we often take for granted or ignore all-together the design of a site until a part of that design stops working and we become frustrated.

I also found it interesting that in answering my questions, Wes touched on some of the topics we’ve covered in our class. His thoughts on open-source software reminded me of the WordPress software philosophy piece from our pre-readings, which touched on four core freedoms known as the “WordPress ‘bill of rights’” and encouraged “freedom of use” of the WordPress software. I know Internet freedom is a much-discussed topic, and it was interesting to get some insight from the perspective of a developer.

When I was looking for someone to profile, I also reached out and sent a couple of questions to Christian Wood, a web developer who was part of my intern class at NPR last semester, and he was kind enough to answer them for me. I’ve included his responses below the fold for anyone interested in another perspective.

I found it interesting that both Wes and Christian brought up another point we’ve touched on several times in class: that Google is sort of a web developer’s best friend. Wes’s piece of advice to beginner coders was to remember that even experienced web developers, like the founder of Ruby on Rails, still have to look up code, and Christian listed surfing the web to find bits of code as one of the duties of his job.

I like these themes of sharing and learning from each other that seem to be a part of the web development community. It makes sense that when you’re working with something that’s constantly changing, like code, you’d need to be open to constantly learning.

Gallery

As part of my work this week, I was also able to get my gallery to work by adapting Professor Linch’s code to my project. While I had my HTML and CSS set up correctly last week, I was having serious trouble with the JavaScript, and the tutorial in class definitely helped.

The final code can be seen here: https://github.com/tatyanaberdan/homepage2

Continue reading

jQuery: Seemingly Simple but Kind of Overwhelming

Midterm:

For my midterm, I plan on speaking with Wes Lindamood. He is a senior interaction designer at NPR and works on creating digital stories and projects for the organization. I interned in NPR’s Marketing, Branding, and Communications department last semester and met Wes briefly, although we did not work together.

This week’s assignment: 

One of the most challenging things about this week’s assignment was just figuring out how to begin. The Codecademy lessons were simple enough (although some of the functions, like .apend(), still confuse me in terms of what they actually do) but I struggled extremely with creating the gallery. It’s hard to know where to begin when there seem to be so many different ways you can go about creating something in JavaScript and jQuery. I looked through various tutorials in preparation, and each of them suggested a slightly different approach. Not having a clear, formulaic set of steps threw me for a loop (no pun intended). Most of the work I did this week felt like just trial and error: changing different parts of the code to see what, if any, effect it would have and if it brought me closer to the end goal.

In terms of how far I got, I was able to load the images on to the HTML page and set up my ‘divs’ easily enough – the real problem was writing the actual JavaScript code. No matter which approach I tried, I could not get the images to actually appear in the semblance of a slideshow. Either all of the pictures stayed on the page or all of them disappeared and I could not figure out where my mistake was – whether I was screwing up the way I was writing the CSS, the HTML, or the JavaScript. I also struggled with linking the JavaScript file to the HTML and am still not sure if I did it correctly. In the end, I tried to modify the JavaScript presented in the W3 Schools tutorial by playing around with some of the jQuery events like the .click or .dblclick, but none of them seemed to have any effect.

I will keep working on my code and, hopefully, before Wednesday, I’ll produce a slideshow that actually slides!

Link to GitHub work: 

https://github.com/tatyanaberdan/homepage2

JavaScript: Even More Difficult than I Thought it Would Be

Echoing the thoughts of some of my peers, I found this week’s Codecademy lessons to be the most difficult to really understand. In particular, the lessons on functions, arrays, and looping really confused me, and I needed to go over practically each hint to figure out the correct code.

I think what I am struggling with most in learning JavaScript is understanding the purpose behind some of the pieces of code we are learning. I am still not exactly sure what a function does, which is the main thing I am struggling to understand, but I also don’t quite understand the purpose of elements like .pop() and .push() – why not change the initial array to include or exclude the items you specify in .push() or .pop()? I think seeing more real-world examples, like we did last week, will help me now that I’ve gone over the basic foundation laid out by Codecademy.

Another thing I struggled with was understanding how to correctly write pieces of code inside of code. Codecademy would ask me to write a for loop inside of a for loop, and I would have no idea how to set that up or where in the code to begin. It also made it hard to differentiate where one element of the code ended and another began.

As we go along, I am interested to learn more about how JavaScript, HTML, and CSS can work together. In Codecademy, it was really cool to see how you could use all three to make elements clickable or make them disappear. I know we went over a real-world example in class, but I’m excited (and slightly scared) to delve into making the gallery for next week’s assignment. I think it will be the best way to help me understand what I’ve learned. I am also looking forward to learning more about JQuery, since anything that can make JavaScript easier to understand and execute will be a big help. 

Introduction to CSS and Designing a Page

Readings: Responsive Design

Going through this week’s readings, what stood out to me the most was the point Ethan Marcotte made in his article about the “more adaptive approach” being the way forward in web design. I think it’s important to keep in mind that technology is constantly changing, and as Marcotte points out, creating technology that adapts rather than just “tailoring disconnected designs to each of an ever-increasing number of web devices” is the only way to keep up.

Coding: CSS Intro & Homepage Prototype 

I really liked the way Codecademy introduced CSS in its lessons. For the most part, it was easy to follow along with the instructions and explanations. The trickiest lessons to understand were the last two on creating boxes and styling images. I think some of the explanations about sizing using pixels and percentages went over my head — as did the explanations about changing an element’s position on the page — and I will try to review these bits before class on Wednesday.

Despite how easy Codecademy made it seem, I had a much harder time putting together the prototype homepage than I anticipated. I thought the best way to start the process was to model my page after one of the pages from Codecademy and modify the code and content. The two things I struggled with the most were changing the color of the background and getting the text to move the way I would like. Initially, I wanted to change the background color to a plain white and fix the main image at the top of the page to have the text move over it as you scrolled. I think I did manage to change the background color after a couple of attempts, but, no matter what I tried, I couldn’t figure out how to configure the image and text to behave the way I wanted. I think my problem with the text came from not fully understanding Codecademy’s lesson on positioning.

Lastly, adding the code to GitHub also presented some challenges. Although I found the tutorial really helpful, following the steps the first couple of times, I kept receiving an error message that told me my repository failed to publish without any clear explanation about why. I finally got the files to appear on my account but am not sure exactly how I did it.

Thoughts on Coding for the First Time

GitHub assignment: https://github.com/tatyanaberdan/hello-world

Codeacademy profile: https://www.codecademy.com/tatyanaberdan

To start off, I want to reflect on my experience coding for the first time with Codeacademy. Although I’ve heard from many people (and although we said as much in class last week) that learning to code is like learning a new language, I was surprised at how true that turned out to be as I was going through the Codeacademy lessons. It felt like learning the basic sentence structure of a foreign language. I was also surprised at how easy the program made it to learn the different HTML tags, and I really like that the site gives you the ability to practice each element you learn. The Mindy McAdams reading emphasized the importance of consistent practice when it comes to learning to code — specifically, not spending more than two days without coding — and practice will definitely be key for me as I go through this process. I’m looking forward to tackling bigger projects and learning how to create more features with HTML and eventually the other languages.

I’m also excited to start using GitHub for projects so I can get a better understanding of how the site works. I found the tutorial and assignment difficult to follow without an actual project, but I think that will change once we start assignments.

In terms of the readings, the house analogy in the Rowan University course reading was the part that really stood out to me. It was a simple way of putting all of the different elements — the server, HTML, CSS, etc. — together to understand how they interact with each other. However, I’m still a little unclear about what databases are and how exactly they serve as the foundation in the house?

The reading on web inspectors also stood out as a good basic intro to using the tool. It built on a lot of what we talked about last class. While I think I understand web inspectors, I’m still confused about the definition of web scraping – what is web scraping used for? Is the data web scraping collects on the code and structure of the site or on the actual contents?

Computational Thinking and PR

Link to GitHub profile: https://github.com/tatyanaberdan

Out of this week’s readings, I want to address three that I found most interesting.

Firstly, although I am not a journalist and am looking to build a career on what many consider the opposite side of the communication spectrum (in public relations), I found many of the ideas in Professor Linch’s blogs on the connection between journalism and computational thinking applicable to the type of work PR professionals do , like debugging and defining your variables and functions.

One topic that has been touched on in every one of my classes at Georgetown so far is the fact that it is challenging for those of us in PR to prove the ROI (return on investment) for our work because it is often difficult to measure the real impact and effectiveness of PR campaigns or PR strategies. Most PR professionals draw on past experiences or instinct to guide their work rather than any type of models or systematic method. I think this approach is a major factor in why PR professionals are often not offered a seat at the table  or valued as much as those within a company that do work of a more “scientific” nature, like lawyers or even marketers. I think being able to create and use models to solve the crises PR professionals deal with and, in general, learning to look at PR work through the more structured lens of computational thinking would not only help us make better decisions but improve the credibility and public image of the PR profession.

Secondly, “The Zen of Python Language” is another reading that stood out to me, again because so many of the principles could be applied to PR work, like the idea that errors should never pass silently or that now is better than never.

Lastly, I want to highlight the “How the Internet Works In 5 Minutes” video because it was extremely helpful in giving me a better understanding of how the entire concept of the Internet and being “online” works. As someone who is completely new to the world of programming and web development, the video helped clarify terms I thought I understood but actually didn’t like server and IP address. However, the wrapped candy analogy threw me off, and I still do not quite understand how using IP addresses keep you from sending information to the wrong client?